///|
/// Stable accessors for frame values used by host integrations.
pub fn Frame::kind(self : Frame) -> FrameKind {
self.kind
}
///|
pub fn Frame::send_sequence(self : Frame) -> Int {
self.send_sequence
}
///|
pub fn Frame::receive_sequence(self : Frame) -> Int {
self.receive_sequence
}
///|
pub fn Frame::control(self : Frame) -> UInt16 {
self.control
}
///|
pub fn Frame::payload(self : Frame) -> Bytes {
self.payload
}
///|
pub fn Frame::is_information(self : Frame) -> Bool {
self.kind == Information
}
///|
pub fn Frame::is_supervisory(self : Frame) -> Bool {
self.kind == Supervisory
}
///|
pub fn Frame::is_unnumbered(self : Frame) -> Bool {
self.kind == Unnumbered
}
///|
pub fn TypeId::is_known(self : TypeId) -> Bool {
match self {
Unknown(_) => false
_ => true
}
}
///|
pub fn TypeId::name(self : TypeId) -> String {
match self {
SinglePoint => "M_SP_NA_1"
DoublePoint => "M_DP_NA_1"
NormalizedValue => "M_ME_NA_1"
ShortFloat => "M_ME_NC_1"
BitString32 => "M_BO_NA_1"
Unknown(_) => "UNKNOWN"
}
}
///|
pub fn AsduHeader::count(self : AsduHeader) -> Int {
self.variable_count
}
///|
pub fn AsduHeader::type_id(self : AsduHeader) -> TypeId {
self.type_id
}
///|
pub fn AsduHeader::cause(self : AsduHeader) -> Int {
self.cause
}
///|
pub fn AsduHeader::common_address(self : AsduHeader) -> Int {
self.common_address
}
///|
pub fn AsduHeader::is_sequence(self : AsduHeader) -> Bool {
self.sequence
}
///|
pub fn Cause::is_activation(self : Cause) -> Bool {
self == Activation
}
///|
pub fn Cause::is_termination(self : Cause) -> Bool {
self == ActivationTermination
}
///|
pub fn Cause::is_spontaneous(self : Cause) -> Bool {
self == Spontaneous
}
///|
pub fn LinkState::is_connected(self : LinkState) -> Bool {
self == Started || self == TestPending
}
///|
pub fn LinkState::is_terminal(self : LinkState) -> Bool {
self == Disconnected || self == Stopped
}
///|
pub fn type_id_examples() -> Array[TypeId] {
[
SinglePoint,
DoublePoint,
NormalizedValue,
ShortFloat,
BitString32,
Unknown(255),
]
}