///|
/// Frame ID for high-priority alarms (0xFC01).
pub let frame_id_alarm_high : Int = 0xFC01
///|
/// Frame ID for low-priority alarms (0xFE01).
pub let frame_id_alarm_low : Int = 0xFE01
///|
/// AlarmCR block type in connect request (0x0103 = 259).
pub let block_type_alarm_cr_req : Int = 259
///|
/// AlarmCR block type in connect response (0x8103 = 33027).
pub let block_type_alarm_cr_res : Int = 33027
///|
/// Default LT (EtherType) for alarm frames.
pub let alarm_lt : Int = 0x8892
///|
/// Default RTA timeout factor.
pub let default_rta_timeout_factor : Int = 1
///|
/// Default RTA retries.
pub let default_rta_retries : Int = 3
///|
/// Default maximum alarm data length.
pub let default_max_alarm_data_length : Int = 200
///|
/// Default AlarmCR tag header high (0xC000).
pub let default_alarm_cr_tag_header_high : Int = 0xC000
///|
/// Default AlarmCR tag header low (0xA000).
pub let default_alarm_cr_tag_header_low : Int = 0xA000
///|
/// RTA PDU version 1 encoded in the high nibble of PDUType.
pub let rta_pdu_version_1 : Int = 1
///|
/// RTA PDU type values encoded in the low nibble of PDUType.
pub let rta_pdu_type_data : Int = 1
///|
pub let rta_pdu_type_nack : Int = 2
///|
pub let rta_pdu_type_ack : Int = 3
///|
pub let rta_pdu_type_err : Int = 4
///|
pub let alarm_pdu_type_data : Byte = b'\x11'
///|
pub let alarm_pdu_type_ack : Byte = b'\x13'
///|
pub let alarm_pdu_type_err : Byte = b'\x14'
///|
/// Alarm types (AlarmSpecifier high nibble).
pub let alarm_type_diagnosis : Int = 1
///|
pub let alarm_type_process : Int = 2
///|
pub let alarm_type_pull : Int = 3
///|
pub let alarm_type_plug : Int = 4
///|
pub let alarm_type_status : Int = 5
///|
pub let alarm_type_update : Int = 6
///|
pub let alarm_type_redundancy : Int = 7
///|
pub let alarm_type_controlled_by_supervisor : Int = 8
///|
pub let alarm_type_released : Int = 9
///|
pub let alarm_type_plug_wrong : Int = 10
///|
pub let alarm_type_return_of_submodule : Int = 11
///|
pub fn alarm_type_label(alarm_type : Int) -> String {
match alarm_type {
1 => "Diagnosis"
2 => "Process"
3 => "Pull"
4 => "Plug"
5 => "Status"
6 => "Update"
7 => "Redundancy"
8 => "ControlledBySupervisor"
9 => "Released"
10 => "PlugWrong"
11 => "ReturnOfSubmodule"
_ => "Unknown(" + alarm_type.to_string() + ")"
}
}