SOEM v1.2.5
Data Structures | Defines | Functions | Variables

ethercatconfig.c File Reference

Configuration module for EtherCAT master. More...

#include <stdio.h>
#include <string.h>
#include <sys/time.h>
#include <unistd.h>
#include "ethercattype.h"
#include "nicdrv.h"
#include "ethercatbase.h"
#include "ethercatmain.h"
#include "ethercatcoe.h"
#include "ethercatsoe.h"
#include "ethercatconfig.h"
#include "ethercatconfiglist.h"

Data Structures

struct  ec_configlist_t

Defines

#define EC_PRINT(...)   do {} while (0)
#define EC_DEFAULTMBXSM0   0x00010026
#define EC_DEFAULTMBXSM1   0x00010022
#define EC_DEFAULTDOSM0   0x00010044

Functions

int ec_findconfig (uint32 man, uint32 id)
int ec_config_init (uint8 usetable)
int ec_config_map_group (void *pIOmap, uint8 group)
int ec_config_map (void *pIOmap)
int ec_config (uint8 usetable, void *pIOmap)
int ec_recover_slave (uint16 slave)
int ec_reconfig_slave (uint16 slave)

Variables

static ec_eepromSMt ec_SM
static ec_eepromFMMUt ec_FMMU

Detailed Description

Configuration module for EtherCAT master.

After successful initialisation with ec_init() or ec_init_redundant() the slaves can be auto configured with this module.


Define Documentation

#define EC_DEFAULTDOSM0   0x00010044

standard SM0 flags configuration for digital output slaves

#define EC_DEFAULTMBXSM0   0x00010026

standard SM0 flags configuration for mailbox slaves

#define EC_DEFAULTMBXSM1   0x00010022

standard SM1 flags configuration for mailbox slaves

#define EC_PRINT (   ...)    do {} while (0)

Function Documentation

int ec_config ( uint8  usetable,
void *  pIOmap 
)

Enumerate / map and init all slaves.

Parameters:
[in]usetable= TRUE when using configtable to init slaves, FALSE otherwise
[out]pIOmap= pointer to IOmap
Returns:
Workcounter of slave discover datagram = number of slaves found
int ec_config_init ( uint8  usetable)

Enumerate and init all slaves.

Parameters:
[in]usetable= TRUE when using configtable to init slaves, FALSE otherwise
Returns:
Workcounter of slave discover datagram = number of slaves found
int ec_config_map ( void *  pIOmap)

Map all PDOs from slaves to IOmap.

Parameters:
[out]pIOmap= pointer to IOmap
Returns:
IOmap size
int ec_config_map_group ( void *  pIOmap,
uint8  group 
)

Map all PDOs in one group of slaves to IOmap.

Parameters:
[out]pIOmap= pointer to IOmap
[in]group= group to map, 0 = all groups
Returns:
IOmap size
int ec_findconfig ( uint32  man,
uint32  id 
)

Find slave in standard configuration list ec_configlist[]

Parameters:
[in]man= manufacturer
[in]id= ID
Returns:
index in ec_configlist[] when found, otherwise 0
int ec_reconfig_slave ( uint16  slave)

Reconfigure slave.

Parameters:
[in]slave= slave to reconfigure
Returns:
Slave state
int ec_recover_slave ( uint16  slave)

Recover slave.

Parameters:
[in]slave= slave to recover
Returns:
>0 if successful

Variable Documentation

buffer for EEPROM FMMU data

ec_eepromSMt ec_SM [static]

buffer for EEPROM SM data