Function libmodbus_rs::set_bits_from_bytes
[−]
[src]
pub fn set_bits_from_bytes(
dest: &mut [u8],
index: u32,
num_bit: u16,
bytes: &[u8]
)
set_bits_from_bytes - set many bits from an array of bytes
The set_bits_from_bytes() function shall set many bits from a single byte.
All 8 bits from the byte value will be written to dest array starting at index position.
Parameters
dest - destination slice
index - starting position where the bit should written
num_bit - how many bits should written
bytes - All the bits of the bytes parameter, read from the first position of the vec bytes are written as
bits in the dest vec,
starting at position index
Examples
use libmodbus_rs::{Modbus, ModbusMapping, ModbusTCP}; let modbus = Modbus::new_tcp("127.0.0.1", 1502).unwrap(); let modbus_mapping = ModbusMapping::new(5, 5, 5, 5).unwrap(); assert_eq!(modbus_mapping.get_input_bits_mut(), [0u8, 0, 0, 0, 0]); libmodbus_rs::set_bits_from_bytes(modbus_mapping.get_input_bits_mut(), 0, 2, &[0b0000_1111]); assert_eq!(modbus_mapping.get_input_bits_mut(), [1u8, 1, 0, 0, 0]);