Functions | Variables
nicdrv.h File Reference

Headerfile for nicdrv.c. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

int ec_closenic (void)
uint8 ec_getindex (void)
int ec_outframe (uint8 idx, int sock)
int ec_outframe_red (uint8 idx)
void ec_setbufstat (uint8 idx, int bufstat)
void ec_setupheader (void *p)
int ec_setupnic (const char *ifname, int secondary)
int ec_srconfirm (uint8 idx, int timeout)
int ec_waitinframe (uint8 idx, int timeout)

Variables

int ec_errcnt
int ec_incnt
int ec_redstate
ec_bufT ec_rxbuf [EC_MAXBUF]
ec_bufT ec_txbuf [EC_MAXBUF]
ec_bufT ec_txbuf2
int ec_txbuflength [EC_MAXBUF]
int ec_txbuflength2
int hlp_rxtime
int hlp_txtime
const uint16 priMAC [3]
const uint16 secMAC [3]
int sockhandle
int sockhandle2

Detailed Description

Headerfile for nicdrv.c.

Definition in file nicdrv.h.


Function Documentation

int ec_closenic ( void  )

Close sockets used

Returns:
0

Definition at line 257 of file nicdrv.c.

uint8 ec_getindex ( void  )

Get new frame identifier index and allocate corresponding rx buffer.

Returns:
new index.

Definition at line 288 of file nicdrv.c.

int ec_outframe ( uint8  idx,
int  stacknumber 
)

Transmit buffer over socket (non blocking).

Parameters:
[in]idx= index in tx buffer array
[in]stacknumber= 0=Primary 1=Secondary stack
Returns:
socket send result

Definition at line 336 of file nicdrv.c.

int ec_outframe_red ( uint8  idx)

Transmit buffer over socket (non blocking).

Parameters:
[in]idx= index in tx buffer array
Returns:
socket send result

Definition at line 353 of file nicdrv.c.

void ec_setbufstat ( uint8  idx,
int  bufstat 
)

Set rx buffer status.

Parameters:
[in]idx= index in buffer array
[in]bufstat= status to set

Definition at line 325 of file nicdrv.c.

void ec_setupheader ( void *  p)

Fill buffer with ethernet header structure. Destination MAC is allways broadcast. Ethertype is allways ETH_P_ECAT.

Parameters:
[out]p= buffer

Definition at line 272 of file nicdrv.c.

int ec_setupnic ( const char *  ifname,
int  secondary 
)

Basic setup to connect NIC to socket.

Parameters:
[in]ifname= Name of NIC device, f.e. "eth0"
[in]secondary= if >0 then use secondary stack instead of primary
Returns:
>0 if succeeded

Definition at line 190 of file nicdrv.c.

int ec_srconfirm ( uint8  idx,
int  timeout 
)

Blocking send and recieve frame function. Used for non processdata frames. A datagram is build into a frame and transmitted via this function. It waits for an answer and returns the workcounter. The function retries if time is left and the result is WKC=0 or no frame received.

The function calls ec_outframe_red() and ec_waitinframe_red().

Parameters:
[in]idx= index of frame
[in]timeout= timeout in us
Returns:
Workcounter or EC_NOFRAME

Definition at line 625 of file nicdrv.c.

int ec_waitinframe ( uint8  idx,
int  timeout 
)

Blocking receive frame function. Calls ec_waitinframe_red().

Parameters:
[in]idx= requested index of frame
[in]timeout= timeout in us
Returns:
Workcounter if a frame is found with corresponding index, otherwise EC_NOFRAME.

Definition at line 595 of file nicdrv.c.


Variable Documentation

int ec_errcnt

global error packet counter, ie non EtherCAT packets

Definition at line 158 of file nicdrv.c.

int ec_incnt

global rx packet counter, counts only EtherCAT packets

Definition at line 156 of file nicdrv.c.

current redundancy state

Definition at line 160 of file nicdrv.c.

primary rx buffers

Definition at line 114 of file nicdrv.c.

transmit buffers

Definition at line 134 of file nicdrv.c.

temporary tx buffer

Definition at line 138 of file nicdrv.c.

transmit buffer lenghts

Definition at line 136 of file nicdrv.c.

temporary tx buffer length

Definition at line 140 of file nicdrv.c.

global helper var ri count time used in rx socket

Definition at line 165 of file nicdrv.c.

global helper var to count time used in tx socket

Definition at line 163 of file nicdrv.c.

const uint16 priMAC[3]

Primary source MAC address used for EtherCAT. This address is not the MAC address used from the NIC. EtherCAT does not care about MAC addressing, but it is used here to differentiate the route the packet traverses through the EtherCAT segment. This is needed to find out the packet flow in redundant configurations.

Definition at line 172 of file nicdrv.c.

const uint16 secMAC[3]

Secondary source MAC address used for EtherCAT.

Definition at line 174 of file nicdrv.c.

primary socket handle

Definition at line 143 of file nicdrv.c.

secondary socket handle

Definition at line 145 of file nicdrv.c.



youbot_driver
Author(s): Jan Paulus
autogenerated on Mon Oct 6 2014 09:08:03