#[repr(C)]pub struct ec_slave {Show 63 fields
pub state: uint16,
pub ALstatuscode: uint16,
pub configadr: uint16,
pub aliasadr: uint16,
pub eep_man: uint32,
pub eep_id: uint32,
pub eep_rev: uint32,
pub Itype: uint16,
pub Dtype: uint16,
pub Obits: uint16,
pub Obytes: uint32,
pub outputs: *mut uint8,
pub Ostartbit: uint8,
pub Ibits: uint16,
pub Ibytes: uint32,
pub inputs: *mut uint8,
pub Istartbit: uint8,
pub SM: [ec_smt; 8],
pub SMtype: [uint8; 8],
pub FMMU: [ec_fmmut; 4],
pub FMMU0func: uint8,
pub FMMU1func: uint8,
pub FMMU2func: uint8,
pub FMMU3func: uint8,
pub mbx_l: uint16,
pub mbx_wo: uint16,
pub mbx_rl: uint16,
pub mbx_ro: uint16,
pub mbx_proto: uint16,
pub mbx_cnt: uint8,
pub hasdc: boolean,
pub ptype: uint8,
pub topology: uint8,
pub activeports: uint8,
pub consumedports: uint8,
pub parent: uint16,
pub parentport: uint8,
pub entryport: uint8,
pub DCrtA: int32,
pub DCrtB: int32,
pub DCrtC: int32,
pub DCrtD: int32,
pub pdelay: int32,
pub DCnext: uint16,
pub DCprevious: uint16,
pub DCcycle: int32,
pub DCshift: int32,
pub DCactive: uint8,
pub configindex: uint16,
pub SIIindex: uint16,
pub eep_8byte: uint8,
pub eep_pdi: uint8,
pub CoEdetails: uint8,
pub FoEdetails: uint8,
pub EoEdetails: uint8,
pub SoEdetails: uint8,
pub Ebuscurrent: int16,
pub blockLRW: uint8,
pub group: uint8,
pub FMMUunused: uint8,
pub islost: boolean,
pub PO2SOconfig: Option<unsafe extern "C" fn(slave: uint16) -> c_int>,
pub name: [c_char; 41],
}
Expand description
for list of ethercat slaves detected
Fields
state: uint16
state of slave
ALstatuscode: uint16
AL status code
configadr: uint16
Configured address
aliasadr: uint16
Alias address
eep_man: uint32
Manufacturer from EEprom
eep_id: uint32
ID from EEprom
eep_rev: uint32
revision from EEprom
Itype: uint16
Interface type
Dtype: uint16
Device type
Obits: uint16
output bits
Obytes: uint32
output bytes, if Obits < 8 then Obytes = 0
outputs: *mut uint8
output pointer in IOmap buffer
Ostartbit: uint8
startbit in first output byte
Ibits: uint16
input bits
Ibytes: uint32
input bytes, if Ibits < 8 then Ibytes = 0
inputs: *mut uint8
input pointer in IOmap buffer
Istartbit: uint8
startbit in first input byte
SM: [ec_smt; 8]
SM structure
SMtype: [uint8; 8]
SM type 0=unused 1=MbxWr 2=MbxRd 3=Outputs 4=Inputs
FMMU: [ec_fmmut; 4]
FMMU structure
FMMU0func: uint8
FMMU0 function
FMMU1func: uint8
FMMU1 function
FMMU2func: uint8
FMMU2 function
FMMU3func: uint8
FMMU3 function
mbx_l: uint16
length of write mailbox in bytes, if no mailbox then 0
mbx_wo: uint16
mailbox write offset
mbx_rl: uint16
length of read mailbox in bytes
mbx_ro: uint16
mailbox read offset
mbx_proto: uint16
mailbox supported protocols
mbx_cnt: uint8
Counter value of mailbox link layer protocol 1..7
hasdc: boolean
has DC capability
ptype: uint8
Physical type; Ebus, EtherNet combinations
topology: uint8
topology: 1 to 3 links
activeports: uint8
active ports bitmap : ….3210 , set if respective port is active
consumedports: uint8
consumed ports bitmap : ….3210, used for internal delay measurement
parent: uint16
slave number for parent, 0=master
parentport: uint8
port number on parent this slave is connected to
entryport: uint8
port number on this slave the parent is connected to
DCrtA: int32
DC receivetimes on port A
DCrtB: int32
DC receivetimes on port B
DCrtC: int32
DC receivetimes on port C
DCrtD: int32
DC receivetimes on port D
pdelay: int32
propagation delay
DCnext: uint16
next DC slave
DCprevious: uint16
previous DC slave
DCcycle: int32
DC cycle time in ns
DCshift: int32
DC shift from clock modulus boundary
DCactive: uint8
DC sync activation, 0=off, 1=on
configindex: uint16
link to config table
SIIindex: uint16
link to SII config
eep_8byte: uint8
1 = 8 bytes per read, 0 = 4 bytes per read
eep_pdi: uint8
0 = eeprom to master , 1 = eeprom to PDI
CoEdetails: uint8
CoE details
FoEdetails: uint8
FoE details
EoEdetails: uint8
EoE details
SoEdetails: uint8
SoE details
Ebuscurrent: int16
E-bus current
blockLRW: uint8
if >0 block use of LRW in processdata
group: uint8
group
FMMUunused: uint8
first unused FMMU
islost: boolean
Boolean for tracking whether the slave is (not) responding, not used/set by the SOEM library
PO2SOconfig: Option<unsafe extern "C" fn(slave: uint16) -> c_int>
registered configuration function PO->SO
name: [c_char; 41]
readable name