mokomoking2501/MoonECAT/protocol does not have a README file
pub(all) struct DlErrorCounters {
ports : FixedArray[PortErrorCounters]
ecat_pu_errors : UInt
pdi_errors : UInt
} derive(Eq, Debug)fn FrameBuilder::add(self : FrameBuilder, command : EcCommand, address : UInt, data : Bytes) -> Byte raise EcErrorpub(all) struct MutablePdoContext {
image : MutableProcessImage
mappings : Array[PdoMapping]
logical_base : UInt
logical_size : Int
} derive(Debug)fn MutablePdoContext::build(slave_mappings : Array[(SlaveMapping, UInt)], logical_base : UInt) -> MutablePdoContextfn MutablePdoContext::get_slave_inputs(self : MutablePdoContext, station : UInt) -> FixedArray[Byte] raise EcErrorfn MutablePdoContext::set_slave_outputs(self : MutablePdoContext, station : UInt, data : FixedArray[Byte]) -> Unit raise EcErrorpub(all) struct PdoContext {
image : ProcessImage
mappings : Array[PdoMapping]
logical_base : UInt
logical_size : Int
block_lrw : Bool
} derive(Debug)fn PdoContext::build(slave_mappings : Array[(SlaveMapping, UInt)], logical_base : UInt) -> PdoContextfn PdoContext::set_slave_outputs(self : PdoContext, station : UInt, data : Bytes) -> Unit raise EcErrorpub(all) struct ProcessImage {
outputs : Bytes
inputs : Bytes
output_size : Int
input_size : Int
} derive(Debug)pub(all) struct SlaveInfo {
position : Int
configured_address : UInt
identity : SlaveIdentity
al_status : EsmState
dl_status : UInt
sii : SiiData?
} derive(Debug)fn address_offset(addr : UInt) -> UIntfn address_station(addr : UInt) -> UIntfn al_status_code_description(code : UInt) -> Stringfn auto_increment_address(position : UInt) -> UIntfn broadcast_address(offset : UInt) -> UIntlet broadcast_mac : FixedArray[Byte]fn[N : Nic] clear_al_error(nic : N, station : UInt, timeout : Duration) -> EsmStatusSnapshot raise EcErrorfn[N : Nic] clear_al_error_ap(nic : N, position : UInt, timeout : Duration) -> EsmStatusSnapshot raise EcErrorfn configured_address(station : UInt, offset : UInt) -> UIntfn[N : Nic] dc_configure_linear(nic : N, stations : Array[UInt], cycle_ns : UInt, timeout : Duration, static_sync_iterations? : Int) -> DcInitResult? raise EcErrorfn[N : Nic] dc_read_port_times(nic : N, station : UInt, timeout : Duration) -> DcPortTimes raise EcErrorfn decode_pdu_response_from(buf : FixedArray[Byte], buf_len : Int, target : FixedArray[Byte], target_offset : Int, target_len : Int) -> (UInt, UInt) raise EcErrorfn decode_pdu_response_slice(buf : FixedArray[Byte], buf_len : Int, skip : Int, target : FixedArray[Byte], target_offset : Int, target_len : Int) -> (UInt, UInt) raise EcErrorlet default_master_mac : FixedArray[Byte]let dl_control_alias_enable_bit : Intlet ecat_frame_type : Intlet ecat_header_len : Intfn encode_lrw_frame_into(buf : FixedArray[Byte], dst_mac : FixedArray[Byte], src_mac : FixedArray[Byte], index : Byte, logical_addr : UInt, data : FixedArray[Byte], data_offset : Int, data_len : Int) -> Intfn encode_pdu_frame_into(buf : FixedArray[Byte], dst_mac : FixedArray[Byte], src_mac : FixedArray[Byte], command : EcCommand, index : Byte, address : UInt, data : FixedArray[Byte], data_offset : Int, data_len : Int) -> Intfn encode_zero_data_frame_into(buf : FixedArray[Byte], dst_mac : FixedArray[Byte], src_mac : FixedArray[Byte], command : EcCommand, index : Byte, address : UInt, data_len : Int) -> Intlet ethernet_header_len : Intfn[N : Nic] foe_download(nic : N, station : UInt, mb_config : MailboxConfig, rmsm : Rmsm, filename : String, password : UInt, data : Bytes, timeout : Duration) -> Unit raise EcErrorfn[N : Nic] foe_download_ap(nic : N, position : UInt, mb_config : MailboxConfig, rmsm : Rmsm, filename : String, password : UInt, data : Bytes, timeout : Duration) -> Unit raise EcErrorfn[N : Nic] foe_upload(nic : N, station : UInt, mb_config : MailboxConfig, rmsm : Rmsm, filename : String, password : UInt, timeout : Duration) -> Bytes raise EcErrorfn[N : Nic] foe_upload_ap(nic : N, position : UInt, mb_config : MailboxConfig, rmsm : Rmsm, filename : String, password : UInt, timeout : Duration) -> Bytes raise EcErrorfn logical_address(addr : UInt) -> UIntfn[N : Nic] mailbox_exchange(nic : N, station : UInt, mb_config : MailboxConfig, rmsm : Rmsm, data : Bytes, timeout : Duration) -> Bytes raise EcErrorfn[N : Nic] mailbox_exchange_ap(nic : N, position : UInt, mb_config : MailboxConfig, rmsm : Rmsm, data : Bytes, timeout : Duration) -> Bytes raise EcErrorfn[N : Nic] mailbox_poll(nic : N, station : UInt, mb_config : MailboxConfig, timeout : Duration) -> Bool raise EcErrorfn[N : Nic] mailbox_poll_ap(nic : N, position : UInt, mb_config : MailboxConfig, timeout : Duration) -> Bool raise EcErrorfn[N : Nic] mailbox_read_ap(nic : N, position : UInt, mb_config : MailboxConfig, timeout : Duration) -> Bytes raise EcErrorfn[N : Nic] mailbox_recv(nic : N, station : UInt, mb_config : MailboxConfig, timeout : Duration, max_polls? : Int) -> Bytes raise EcErrorfn[N : Nic] mailbox_recv_ap(nic : N, position : UInt, mb_config : MailboxConfig, timeout : Duration, max_polls? : Int) -> Bytes raise EcErrorfn[N : Nic] mailbox_recv_ap_rmsm(nic : N, position : UInt, mb_config : MailboxConfig, rmsm : Rmsm, timeout : Duration, max_polls? : Int) -> Bytes raise EcErrorfn[N : Nic] mailbox_recv_rmsm(nic : N, station : UInt, mb_config : MailboxConfig, rmsm : Rmsm, timeout : Duration, max_polls? : Int) -> Bytes raise EcErrorfn[N : Nic] mailbox_send(nic : N, station : UInt, mb_config : MailboxConfig, data : Bytes, timeout : Duration) -> Unit raise EcErrorfn[N : Nic] mailbox_send_ap(nic : N, position : UInt, mb_config : MailboxConfig, data : Bytes, timeout : Duration) -> Unit raise EcErrorlet max_pdus_per_frame : Intfn[N : Nic] pdo_exchange_result(nic : N, ctx : PdoContext, timeout : Duration) -> PdoExchangeResult raise EcErrorfn[N : ZeroCopyNic] pdo_exchange_zero_copy(nic : N, ctx : MutablePdoContext, timeout : Duration) -> PdoExchangeResult raise EcErrorfn[N : ZeroCopyNic] pdo_read_zero_copy(nic : N, ctx : MutablePdoContext, timeout : Duration) -> UInt raise EcErrorfn[N : ZeroCopyNic] pdo_write_zero_copy(nic : N, ctx : MutablePdoContext, timeout : Duration) -> UInt raise EcErrorfn[N : Nic] read_al_status_snapshot(nic : N, station : UInt, timeout : Duration) -> EsmStatusSnapshot raise EcErrorfn[N : Nic] read_al_status_snapshot_ap(nic : N, position : UInt, timeout : Duration) -> EsmStatusSnapshot raise EcErrorfn[N : Nic] read_dl_error_counters(nic : N, station : UInt, timeout : Duration) -> DlErrorCounters raise EcErrorfn[N : Nic] read_dl_error_counters_ap(nic : N, position : UInt, timeout : Duration) -> DlErrorCounters raise EcErrorfn[N : Nic] read_sm_watchdog_config(nic : N, station : UInt, timeout : Duration) -> SmWatchdogConfig raise EcErrorfn[N : Nic] recover_al_error_for_transition(nic : N, station : UInt, timeout : Duration) -> EsmStatusSnapshot raise EcErrorlet reg_al_status : UIntlet reg_al_status_code : UIntlet reg_dc_time0 : UIntlet reg_dl_information : UIntlet reg_dl_status : UIntlet reg_ecat_pu_error_counter : UIntlet reg_fmmu_base : UIntlet reg_fwd_rx_error_counter : UIntlet reg_lost_link_counter : UIntlet reg_rx_error_counter : UIntlet reg_sii_address : UIntlet reg_sii_data : UIntlet reg_sm_base : UIntlet reg_type : UIntlet reg_watchdog_counter_pdata : UIntlet reg_watchdog_divider : UIntlet reg_watchdog_status_pdata : UIntlet reg_watchdog_time_pdata : UIntlet reg_watchdog_time_pdi : UIntfn[N : Nic] request_state_observe(nic : N, station : UInt, target : EsmState, timeout : Duration) -> EsmStateRequestObservation raise EcErrorfn[N : Nic] request_state_with_process_data_observe(nic : N, station : UInt, target : EsmState, pdo_ctx : PdoContext, timeout : Duration) -> EsmStateRequestObservation raise EcErrorfn[N : Nic] request_state_with_process_data_snapshot(nic : N, station : UInt, target : EsmState, pdo_ctx : PdoContext, timeout : Duration) -> EsmStatusSnapshot raise EcErrorfn[N : Nic] sdo_download(nic : N, station : UInt, mb_config : MailboxConfig, rmsm : Rmsm, index : UInt, subindex : Byte, data : Bytes, timeout : Duration) -> Unit raise EcErrorfn[N : Nic] sdo_download_complete_access(nic : N, station : UInt, mb_config : MailboxConfig, rmsm : Rmsm, index : UInt, subindex : Byte, data : Bytes, timeout : Duration) -> Unit raise EcErrorfn[N : Nic] sdo_download_retry(nic : N, station : UInt, mb_config : MailboxConfig, rmsm : Rmsm, index : UInt, subindex : Byte, data : Bytes, timeout : Duration) -> Unit raise EcErrorfn[N : Nic] sdo_info_get_od_description(nic : N, station : UInt, mb_config : MailboxConfig, rmsm : Rmsm, index : UInt, timeout : Duration) -> SdoInfoObjectDescription raise EcErrorfn[N : Nic] sdo_info_get_oe_description(nic : N, station : UInt, mb_config : MailboxConfig, rmsm : Rmsm, index : UInt, subindex : Byte, value_info : Byte, timeout : Duration) -> SdoInfoEntryDescription raise EcErrorfn[N : Nic] sdo_upload(nic : N, station : UInt, mb_config : MailboxConfig, rmsm : Rmsm, index : UInt, subindex : Byte, timeout : Duration) -> Bytes raise EcErrorfn[N : Nic] sdo_upload_ap(nic : N, position : UInt, station : UInt, mb_config : MailboxConfig, rmsm : Rmsm, index : UInt, subindex : Byte, timeout : Duration) -> Bytes raise EcErrorfn[N : Nic] sdo_upload_complete_access(nic : N, station : UInt, mb_config : MailboxConfig, rmsm : Rmsm, index : UInt, subindex : Byte, timeout : Duration) -> Bytes raise EcErrorfn[N : Nic] sdo_upload_retry(nic : N, station : UInt, mb_config : MailboxConfig, rmsm : Rmsm, index : UInt, subindex : Byte, timeout : Duration) -> Bytes raise EcErrorfn[N : Nic] sdo_upload_retry_ap(nic : N, position : UInt, station : UInt, mb_config : MailboxConfig, rmsm : Rmsm, index : UInt, subindex : Byte, timeout : Duration) -> Bytes raise EcErrorfn[N : Nic] transition_through_with_timeout_policy_observe(nic : N, station : UInt, path : Array[EsmState], policy : EsmTimeoutPolicy) -> EsmStateRequestObservation? raise EcErrorfn[N : Nic] transition_to_target_strict_observe(nic : N, station : UInt, target : EsmState, timeout : Duration) -> EsmStateRequestObservation? raise EcErrorfn[N : Nic] transition_to_target_strict_with_timeout_policy_observe(nic : N, station : UInt, target : EsmState, policy : EsmTimeoutPolicy, fallback_timeout : Duration) -> EsmStateRequestObservation? raise EcError