Main Page | Modules | Data Structures | Directories | File List | Data Fields | Globals | Related Pages

master.c File Reference


Detailed Description

EtherCAT master methods.

Definition in file master.c.

Go to the source code of this file.

Functions

void ec_master_clear (struct kobject *kobj)
 Clear and free master.
void ec_master_destroy_domains (ec_master_t *master)
 Destroy all domains.
void ec_master_sync_io (ec_master_t *master)
 Sends queued datagrams and waits for their reception.
void ec_master_idle_run (void *data)
 Idle mode function.
void ec_master_eoe_run (unsigned long data)
 Does the Ethernet-over-EtherCAT processing.
void ec_master_check_sdo (unsigned long data)
int ec_master_measure_bus_time (ec_master_t *master)
 Measures the time, a frame is on the bus.
ssize_t ec_show_master_attribute (struct kobject *kobj,struct attribute *attr,char *buffer)
 Formats attribute data for SysFS read access.
ssize_t ec_store_master_attribute (struct kobject *kobj,struct attribute *attr,const char *buffer,size_t size)
 Formats attribute data for SysFS write access.
int ec_master_init (ec_master_t *master, unsigned int index, unsigned int eoeif_count)
 Master constructor.
void ec_master_destroy (ec_master_t *master)
 Master destructor.
void ec_master_destroy_slaves (ec_master_t *master)
 Destroy all slaves.
void ec_master_flush_sdo_requests (ec_master_t *master)
 Flushes the SDO request queue.
int ec_master_enter_idle_mode (ec_master_t *master)
void ec_master_leave_idle_mode (ec_master_t *master)
int ec_master_enter_operation_mode (ec_master_t *master)
void ec_master_leave_operation_mode (ec_master_t *master)
void ec_master_queue_datagram (ec_master_t *master, ec_datagram_t *datagram)
 Places a datagram in the datagram queue.
void ec_master_send_datagrams (ec_master_t *master)
 Sends the datagrams in the queue.
void ec_master_receive_datagrams (ec_master_t *master, const uint8_t *frame_data, size_t size)
 Processes a received frame.
void ec_master_output_stats (ec_master_t *master)
 Output statistics in cyclic mode.
void ec_sync_config (const ec_sii_sync_t *sync, const ec_slave_t *slave, uint8_t *data)
 Initializes a sync manager configuration page with EEPROM data.
void ec_fmmu_config (const ec_fmmu_t *fmmu, const ec_slave_t *slave, uint8_t *data)
 Initializes an FMMU configuration page.
ssize_t ec_master_info (ec_master_t *master, char *buffer)
 Formats master information for SysFS read access.
void ec_master_eoe_start (ec_master_t *master)
 Starts Ethernet-over-EtherCAT processing on demand.
void ec_master_eoe_stop (ec_master_t *master)
 Stops the Ethernet-over-EtherCAT processing.
void ec_master_calc_addressing (ec_master_t *master)
 Calculates Advanced Position Adresses.
ec_domain_tecrt_master_create_domain (ec_master_t *master)
 Creates a domain.
int ecrt_master_activate (ec_master_t *master)
 Configures all slaves and leads them to the OP state.
void ecrt_master_deactivate (ec_master_t *master)
 Resets all slaves to INIT state.
void ecrt_master_send (ec_master_t *master)
 Asynchronous sending of datagrams.
void ecrt_master_receive (ec_master_t *master)
 Asynchronous receiving of datagrams.
void ecrt_master_prepare (ec_master_t *master)
 Prepares synchronous IO.
void ecrt_master_run (ec_master_t *master)
 Does all cyclic master work.
ec_slave_tecrt_master_get_slave (const ec_master_t *master, const char *address)
 Translates an ASCII coded bus-address to a slave pointer.
void ecrt_master_callbacks (ec_master_t *master, int(*request_cb)(void *), void(*release_cb)(void *), void *cb_data)
 Sets the locking callbacks.


Function Documentation

void ec_master_clear struct kobject *  kobj  ) 
 

Clear and free master.

This method is called by the kobject, once there are no more references to it.

Parameters:
kobj  kobject of the master

Definition at line 243 of file master.c.

void ec_master_sync_io ec_master_t  ) 
 

Sends queued datagrams and waits for their reception.

Parameters:
master  EtherCAT master

Definition at line 1357 of file master.c.

void ec_master_idle_run void *   ) 
 

Idle mode function.

Parameters:
data  master pointer

Definition at line 727 of file master.c.

void ec_master_eoe_run unsigned  long  ) 
 

Does the Ethernet-over-EtherCAT processing.

Parameters:
data  master pointer

Definition at line 1082 of file master.c.

void ec_master_check_sdo unsigned  long  ) 
 

Parameters:
data  master pointer

Definition at line 1143 of file master.c.

int ec_master_measure_bus_time ec_master_t master  ) 
 

Measures the time, a frame is on the bus.

Returns:
0 in case of success, else < 0

Definition at line 1196 of file master.c.

ssize_t ec_show_master_attribute struct kobject *  kobj,
struct attribute *  attr,
char *  buffer
 

Formats attribute data for SysFS read access.

Returns:
number of bytes to read
Parameters:
kobj  kobject
attr  attribute
buffer  memory to store data

Definition at line 901 of file master.c.

ssize_t ec_store_master_attribute struct kobject *  kobj,
struct attribute *  attr,
const char *  buffer,
size_t  size
 

Formats attribute data for SysFS write access.

Returns:
number of bytes processed, or negative error code
Parameters:
kobj  slave's kobject
attr  attribute
buffer  memory with data
size  size of data to store

Definition at line 928 of file master.c.

int ec_master_init ec_master_t master,
unsigned int  index,
unsigned int  eoeif_count
 

Master constructor.

Returns:
0 in case of success, else < 0
Parameters:
master  EtherCAT master
index  master index
eoeif_count  number of EoE interfaces

Definition at line 103 of file master.c.

void ec_master_destroy ec_master_t master  ) 
 

Master destructor.

Clears the kobj-hierarchy bottom up and frees the master.

Parameters:
master  EtherCAT master

Definition at line 225 of file master.c.

int ec_master_enter_idle_mode ec_master_t master  ) 
 

Parameters:
master  EtherCAT master

Definition at line 325 of file master.c.

void ec_master_leave_idle_mode ec_master_t master  ) 
 

Parameters:
master  EtherCAT master

Definition at line 337 of file master.c.

int ec_master_enter_operation_mode ec_master_t master  ) 
 

Parameters:
master  EtherCAT master

Definition at line 354 of file master.c.

void ec_master_leave_operation_mode ec_master_t master  ) 
 

Parameters:
master  EtherCAT master

Definition at line 408 of file master.c.

void ec_master_queue_datagram ec_master_t master,
ec_datagram_t datagram
 

Places a datagram in the datagram queue.

Parameters:
master  EtherCAT master
datagram  datagram

Definition at line 461 of file master.c.

void ec_master_send_datagrams ec_master_t master  ) 
 

Sends the datagrams in the queue.

Returns:
0 in case of success, else < 0
Parameters:
master  EtherCAT master

Definition at line 489 of file master.c.

void ec_master_receive_datagrams ec_master_t master,
const uint8_t *  frame_data,
size_t  size
 

Processes a received frame.

This function is called by the network driver for every received frame.

Returns:
0 in case of success, else < 0
Parameters:
master  EtherCAT master
frame_data  frame data
size  size of the received data

Definition at line 604 of file master.c.

void ec_master_output_stats ec_master_t master  ) 
 

Output statistics in cyclic mode.

This function outputs statistical data on demand, but not more often than necessary. The output happens at most once a second.

Parameters:
master  EtherCAT master

Definition at line 693 of file master.c.

void ec_sync_config const ec_sii_sync_t sync,
const ec_slave_t slave,
uint8_t *  data
 

Initializes a sync manager configuration page with EEPROM data.

The referenced memory (data) must be at least EC_SYNC_SIZE bytes.

Parameters:
sync  sync manager
slave  EtherCAT slave
data  > configuration memory

Definition at line 763 of file master.c.

void ec_fmmu_config const ec_fmmu_t fmmu,
const ec_slave_t slave,
uint8_t *  data
 

Initializes an FMMU configuration page.

The referenced memory (data) must be at least EC_FMMU_SIZE bytes.

Parameters:
fmmu  FMMU
slave  EtherCAT slave
data  > configuration memory

Definition at line 792 of file master.c.

ssize_t ec_master_info ec_master_t master,
char *  buffer
 

Formats master information for SysFS read access.

Returns:
number of bytes written
Parameters:
master  EtherCAT master
buffer  memory to store data

Definition at line 828 of file master.c.

void ec_master_eoe_start ec_master_t master  ) 
 

Starts Ethernet-over-EtherCAT processing on demand.

Parameters:
master  EtherCAT master

Definition at line 983 of file master.c.

void ec_master_eoe_stop ec_master_t master  ) 
 

Stops the Ethernet-over-EtherCAT processing.

Parameters:
master  EtherCAT master

Definition at line 1053 of file master.c.

void ec_master_calc_addressing ec_master_t master  ) 
 

Calculates Advanced Position Adresses.

Parameters:
master  EtherCAT master

Definition at line 1163 of file master.c.


Generated on Tue Nov 7 15:03:37 2006 for IgH EtherCAT master by  doxygen 1.4.4