[][src]Struct ethercat_soem_sys::ec_slave

#[repr(C)]pub struct ec_slave {
    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 PO2SOconfigx: Option<unsafe extern "C" fn(context: *mut ecx_contextt, slave: uint16) -> c_int>,
    pub name: [c_char; 41],
}

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, (DEPRECATED)

PO2SOconfigx: Option<unsafe extern "C" fn(context: *mut ecx_contextt, slave: uint16) -> c_int>

registered configuration function PO->SO

name: [c_char; 41]

readable name

Trait Implementations

impl Clone for ec_slave[src]

impl Copy for ec_slave[src]

Auto Trait Implementations

impl RefUnwindSafe for ec_slave

impl !Send for ec_slave

impl !Sync for ec_slave

impl Unpin for ec_slave

impl UnwindSafe for ec_slave

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.