use chrono::{DateTime, Local};
use open_protocol_codec_proc_macro::{OpenProtocolDecode, OpenProtocolEncode, OpenProtocolMessage};
#[derive(Debug, Default, Eq, PartialEq, OpenProtocolEncode, OpenProtocolDecode)]
pub enum ToolReadyStatus {
#[default]
#[open_protocol_value(number = 0)]
NOK,
#[open_protocol_value(number = 1)]
OK
}
#[derive(Debug, Default, Eq, PartialEq, OpenProtocolEncode, OpenProtocolDecode)]
pub enum ControllerReadyStatus {
#[default]
#[open_protocol_value(number = 0)]
NOK,
#[open_protocol_value(number = 1)]
OK
}
#[derive(Debug, Default, Eq, PartialEq, OpenProtocolEncode, OpenProtocolDecode)]
pub enum AlarmStatus {
#[default]
#[open_protocol_value(number = 0)]
NoAlarm,
#[open_protocol_value(number = 1)]
AlarmActive
}
#[derive(Debug, Default, Eq, PartialEq, OpenProtocolEncode, OpenProtocolDecode, OpenProtocolMessage)]
#[open_protocol_message(MID = 70, revision = 1)]
pub struct MID0070rev1 {
}
#[derive(Debug, Default, Eq, PartialEq, OpenProtocolEncode, OpenProtocolDecode, OpenProtocolMessage)]
#[open_protocol_message(MID = 71, revision = 1)]
pub struct MID0071rev1 {
#[open_protocol_field(length = 4)]
pub error_code: String,
#[open_protocol_field(length = 1)]
pub controller_ready_status: ControllerReadyStatus,
#[open_protocol_field(length = 1)]
pub tool_ready_status: ToolReadyStatus,
#[open_protocol_field(length = 19)]
pub timestamp: DateTime<Local>,
}
#[derive(Debug, Default, Eq, PartialEq, OpenProtocolEncode, OpenProtocolDecode, OpenProtocolMessage)]
#[open_protocol_message(MID = 72, revision = 1)]
pub struct MID0072rev1 {
}
#[derive(Debug, Default, Eq, PartialEq, OpenProtocolEncode, OpenProtocolDecode, OpenProtocolMessage)]
#[open_protocol_message(MID = 73, revision = 1)]
pub struct MID0073rev1 {
}
#[derive(Debug, Default, Eq, PartialEq, OpenProtocolEncode, OpenProtocolDecode, OpenProtocolMessage)]
#[open_protocol_message(MID = 74, revision = 1)]
pub struct MID0074rev1 {
#[open_protocol_field(length = 4)]
pub error_code: String,
}
#[derive(Debug, Default, Eq, PartialEq, OpenProtocolEncode, OpenProtocolDecode, OpenProtocolMessage)]
#[open_protocol_message(MID = 75, revision = 1)]
pub struct MID0075rev1 {
}
#[derive(Debug, Default, Eq, PartialEq, OpenProtocolEncode, OpenProtocolDecode, OpenProtocolMessage)]
#[open_protocol_message(MID = 76, revision = 1)]
pub struct MID0076rev1 {
#[open_protocol_field(length = 1)]
pub alarm_status: AlarmStatus,
#[open_protocol_field(length = 4)]
pub error_code: String,
#[open_protocol_field(length = 1)]
pub controller_ready_status: ControllerReadyStatus,
#[open_protocol_field(length = 1)]
pub tool_ready_status: ToolReadyStatus,
#[open_protocol_field(length = 19)]
pub timestamp: DateTime<Local>,
}
#[derive(Debug, Default, Eq, PartialEq, OpenProtocolEncode, OpenProtocolDecode, OpenProtocolMessage)]
#[open_protocol_message(MID = 77, revision = 1)]
pub struct MID0077rev1 {
}
#[derive(Debug, Default, Eq, PartialEq, OpenProtocolEncode, OpenProtocolDecode, OpenProtocolMessage)]
#[open_protocol_message(MID = 78, revision = 1)]
pub struct MID0078rev1 {
#[open_protocol_field(length = 4)]
pub error_code: String,
}
#[derive(Debug, Default, Eq, PartialEq, OpenProtocolEncode, OpenProtocolDecode, OpenProtocolMessage)]
#[open_protocol_message(MID = 1000, revision = 1)]
pub struct MID1000rev1 {
#[open_protocol_field(length = 5)]
pub error_code: String,
#[open_protocol_field(length = 19)]
pub timestamp: DateTime<Local>,
#[open_protocol_field(length = 3)]
pub number_of_data_fields: u16,
#[open_protocol_field(list, amount = "number_of_data_fields")]
pub data_fields: Vec<u8>,
}
#[derive(Debug, Default, Eq, PartialEq, OpenProtocolEncode, OpenProtocolDecode, OpenProtocolMessage)]
#[open_protocol_message(MID = 1001, revision = 1)]
pub struct MID1001rev1 {
}