mokomoking2501/MoonECAT/hal does not have a README file
pub(open) trait ZeroCopyNic {
fn open_(String, FramePool) -> Self raise EcError
fn acquire_tx(Self) -> FrameRef raise EcError
fn tx_buffer(Self, FrameRef) -> FixedArray[Byte]
fn submit(Self, FrameRef, length~ : Int) -> Unit raise EcError
fn recv(Self, timeout~ : Duration) -> FrameRef raise EcError
fn rx_buffer(Self, FrameRef) -> FixedArray[Byte]
fn rx_length(Self, FrameRef) -> Int
fn release(Self, FrameRef) -> Unit
fn close(Self) -> Unit
}pub(all) suberror EcError {
LinkDown
SendFailed(String)
RecvTimeout
RecvFailed(String)
InvalidFrame(String)
InvalidPdu(String)
UnexpectedWkc(expected~ : Int, actual~ : Int)
EsmTransitionFailed(from~ : String, to~ : String)
EsmStateError(String)
MailboxTimeout
MailboxProtocol(String)
SdoAbort(UInt)
SiiReadFailed(String)
EsiParseFailed(String)
ConfigMismatch(String)
NotSupported(String)
Internal(String)
} derive(Debug)fn DiagnosticEvent::new(timestamp : Timestamp, severity : Severity, source : String, message : String) -> DiagnosticEventpub(all) struct FramePool {
id : Int
frames : FixedArray[FixedArray[Byte]]
states : FixedArray[FrameState]
lengths : FixedArray[Int]
capacity : Int
frame_size : Int
next_scan : Int
}pub(all) struct MutableProcessImage {
outputs : FixedArray[Byte]
inputs : FixedArray[Byte]
output_size : Int
input_size : Int
} derive(Debug)pub(all) struct SlaveConfig {
position : UInt
expected_identity : SlaveIdentity?
expected_identification : UInt?
expected_alias_address : UInt?
configured_address : UInt
presence : SlavePresence
} derive(Eq, Debug)let max_frame_size : Int