#[repr(C)]
#[derive(Clone, Copy, PartialEq, Eq)]
pub enum Exception {
ILLEGAL_FUNCTION = 1,
ILLEGAL_DATA_ADDRESS,
ILLEGAL_DATA_VALUE,
SLAVE_OR_SERVER_FAILURE,
ACKNOWLEDGE,
SLAVE_OR_SERVER_BUSY,
NEGATIVE_ACKNOWLEDGE,
MEMORY_PARITY,
NOT_DEFINED,
GATEWAY_PATH,
GATEWAY_TARGET,
}
#[repr(C)]
#[derive(Clone, Copy, PartialEq, Eq)]
pub enum FunctionCode {
READ_COILS = 1,
READ_DISCRETE_INPUTS = 2,
READ_HOLDING_REGISTERS = 3,
READ_INPUT_REGISTERS = 4,
WRITE_SINGLE_COIL = 5,
WRITE_SINGLE_REGISTER = 6,
READ_EXCEPTION_STATUS = 7,
WRITE_MULTIPLE_COILS = 15,
WRITE_MULTIPLE_REGISTERS = 16,
REPORT_SLAVE_ID = 17,
MASK_WRITE_REGISTER = 22,
WRITE_AND_READ_REGISTERS = 23,
}
#[repr(u32)]
#[derive(Clone, Copy, PartialEq, Eq)]
pub enum ErrorRecoveryMode {
NONE = 0,
LINK = 2,
PROTOCOL = 4,
}