mokomoking2501/MoonECAT/mailbox does not have a README file
pub(all) enum EoeResponse {
EoeFragment(frame_type~ : EoeFrameType, last_fragment~ : Bool, frag_number~ : UInt, frame_offset~ : UInt, frame_number~ : UInt, data~ : Bytes)
EoeIpResponse(result~ : EoeResult, data~ : Bytes)
} derive(Eq, Debug)pub(all) struct FmmuConfig {
logical_start : UInt
length : UInt
logical_start_bit : Byte
logical_end_bit : Byte
physical_start : UInt
physical_start_bit : Byte
direction : FmmuDirection
activate : Bool
} derive(Eq, Debug)pub(all) enum FoeResponse {
FoeData(packet_number~ : UInt, data~ : Bytes)
FoeAck(packet_number~ : UInt)
FoeError(code~ : FoeErrorCode, text~ : String)
FoeBusy
} derive(Eq, Debug)pub(all) struct MailboxHeader {
length : UInt
address : UInt
channel : Byte
priority : Byte
mb_type : MailboxType
counter : Byte
} derive(Eq, Debug)fn MailboxRepeatState::apply_to_pdi_control_byte(self : MailboxRepeatState, pdi_control : Byte) -> Bytefn MailboxRepeatState::from_sync_manager_bytes(activate : Byte, pdi_control : Byte) -> MailboxRepeatStatepub(all) struct Rmsm {
counter : MailboxCounter
state : RmsmState
max_retries : Int
retries : Int
last_recv_counter : Byte
repeat_request : Bool
awaiting_repeat_ack : Bool
} derive(Debug)pub(all) struct SdoRequest {
index : UInt
subindex : Byte
command : SdoCommand
data : Bytes
complete_access : Bool
} derive(Eq, Debug)pub(all) struct SdoResponse {
index : UInt
subindex : Byte
command : SdoCommand
data : Bytes
segmented : Bool
toggle : Bool
last_segment : Bool
complete_size : UInt?
} derive(Eq, Debug)pub(all) struct SdoTransaction {
counter : Byte
station : UInt
request : SdoRequest
} derive(Eq, Debug)pub(all) struct SiiCategoryEntry {
category : SiiCategory
type_code : UInt
data : BytesView
} derive(Eq, Debug)pub(all) struct SiiData {
vendor_id : UInt
product_code : UInt
revision : UInt
serial : UInt
bootstrap_rx_offset : UInt
bootstrap_rx_size : UInt
bootstrap_tx_offset : UInt
bootstrap_tx_size : UInt
mailbox_rx_offset : UInt
mailbox_rx_size : UInt
mailbox_tx_offset : UInt
mailbox_tx_size : UInt
mailbox_protocols : UInt
firmware_version : UInt
hardware_version : UInt
production_date_raw : UInt
pdi_control_1 : Byte
esc_config_b0 : Byte
pdi_config_1 : UInt
pdi_config_1_ext : UInt
esc_config_b4 : UInt
esc_config_b5 : UInt
esc_config_b6 : UInt
checksum_b : UInt
esc_config_b_present : Bool
} derive(Eq, Debug)pub(all) struct SiiFullInfo {
eeprom : BytesView
preamble : SiiPreamble
standard : SiiStandardMetadata
header : SiiData
categories : Array[SiiCategoryEntry]
strings : Array[String]
general : SiiGeneral?
timeouts : SiiTimeouts?
fmmu : Array[FmmuDirection]
fmmu_ex : Array[SiiFmmuEx]
sync_managers : Array[SiiSmEntry]
sync_units : Array[SiiSyncUnit]
tx_pdo : Array[SiiPdo]
rx_pdo : Array[SiiPdo]
dc_clocks : Array[SiiDcClock]
} derive(Debug)pub(all) struct SiiGeneral {
group_idx : Byte
image_idx : Byte
order_idx : Byte
name_idx : Byte
coe_details : Byte
foe_supported : Bool
eoe_supported : Bool
soe_supported : Bool
soe_channels : Byte
ds402_channels : Byte
sysman_class : Byte
flags : Byte
current_on_ebus : Int
group_idx_dup : Byte
physical_port_0 : Byte
physical_port_1 : Byte
physical_port_2 : Byte
physical_port_3 : Byte
physical_memory_address : UInt
} derive(Eq, Debug)pub(all) struct SiiOverlayCandidate {
scope : SiiOverlayScope
type_code : UInt
data : BytesView
} derive(Eq, Debug)pub(all) struct SiiPdo {
pdo_index : UInt
entry_count : Byte
sync_manager : Byte
synchronization : Byte
name_idx : Byte
flags : UInt
entries : Array[SiiPdoEntry]
} derive(Eq, Debug)pub(all) enum SoeResponse {
SoeReadData(drive_no~ : UInt, element_flags~ : Byte, idn~ : UInt, incomplete~ : Bool, data~ : Bytes)
SoeWriteAck(drive_no~ : UInt, element_flags~ : Byte, idn~ : UInt)
SoeError(drive_no~ : UInt, idn~ : UInt, error_code~ : UInt)
SoeNotification(drive_no~ : UInt, idn~ : UInt, data~ : Bytes)
} derive(Eq, Debug)fn build_sdo_download(counter : Byte, station : UInt, index : UInt, subindex : Byte, data : Bytes) -> SdoTransactionfn build_sdo_download_ca(counter : Byte, station : UInt, index : UInt, subindex : Byte, data : Bytes) -> SdoTransactionfn build_sdo_download_segment_request(counter : Byte, station : UInt, toggle : Bool, last_segment : Bool, segment : Bytes) -> Bytes raise EcErrorfn build_sdo_info_get_od_list_request(counter : Byte, station : UInt, list_type : UInt) -> Bytesfn build_sdo_info_get_od_request(counter : Byte, station : UInt, index : UInt) -> Bytesfn build_sdo_info_get_oe_request(counter : Byte, station : UInt, index : UInt, subindex : Byte, value_info : Byte) -> Bytesfn build_sdo_upload(counter : Byte, station : UInt, index : UInt, subindex : Byte) -> SdoTransactionfn build_sdo_upload_ca(counter : Byte, station : UInt, index : UInt, subindex : Byte) -> SdoTransactionfn build_sdo_upload_segment_request(counter : Byte, station : UInt, toggle : Bool) -> Bytesfn calculate_fmmu_configs(fmmu_directions : Array[FmmuDirection], sm_configs : Array[SmConfig], logical_base : UInt) -> (Array[FmmuConfig], Int, Int)fn calculate_sm_configs(sii_header : SiiData, sii_sm_entries : Array[SiiSmEntry]) -> Array[SmConfig]fn decode_sdo_info_od_description_payload(payload : Bytes) -> SdoInfoObjectDescription raise EcErrorfn encode_eoe_fragment(counter : Byte, port : UInt, last_fragment : Bool, frag_number : UInt, frame_offset : UInt, frame_number : UInt, data : Bytes) -> Bytesfn encode_eoe_get_ip_req(counter : Byte, port : UInt) -> Bytesfn encode_eoe_set_ip_req(counter : Byte, port : UInt, ip : Bytes, subnet : Bytes, gateway : Bytes) -> Bytesfn encode_foe_ack(counter : Byte, packet_number : UInt) -> Bytesfn encode_foe_data(counter : Byte, packet_number : UInt, data : Bytes) -> Bytesfn encode_foe_read(counter : Byte, password : UInt, filename : String) -> Bytesfn encode_foe_write(counter : Byte, password : UInt, filename : String) -> Bytesfn encode_soe_read_req(counter : Byte, drive_no : UInt, element_flags : Byte, idn : UInt) -> Bytesfn encode_soe_write_req(counter : Byte, drive_no : UInt, element_flags : Byte, idn : UInt, data : Bytes) -> Bytesfn sdo_abort_code_description(code : UInt) -> String