Renamed ec_fsm_mapping_t to ec_fsm_pdo_mapping_t.
This commit is contained in:
parent
5f62803760
commit
2d0c48dbce
|
|
@ -35,8 +35,8 @@ obj-m := ec_master.o
|
|||
|
||||
ec_master-objs := module.o master.o device.o pdo.o sync.o fmmu_config.o \
|
||||
slave.o slave_config.o pdo_mapping.o datagram.o domain.o mailbox.o \
|
||||
canopen.o fsm_sii.o fsm_change.o fsm_coe.o fsm_coe_map.o fsm_mapping.o \
|
||||
fsm_pdo_config.o fsm_slave.o fsm_master.o xmldev.o
|
||||
canopen.o fsm_sii.o fsm_change.o fsm_coe.o fsm_coe_map.o \
|
||||
fsm_pdo_mapping.o fsm_pdo_config.o fsm_slave.o fsm_master.o xmldev.o
|
||||
|
||||
ifeq (@ENABLE_EOE@,1)
|
||||
ec_master-objs += ethernet.o
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ EXTRA_DIST = \
|
|||
fsm_change.c fsm_change.h \
|
||||
fsm_coe.c fsm_coe.h \
|
||||
fsm_coe_map.c fsm_coe_map.h \
|
||||
fsm_mapping.c fsm_mapping.h \
|
||||
fsm_pdo_mapping.c fsm_pdo_mapping.h \
|
||||
fsm_pdo_config.c fsm_pdo_config.h \
|
||||
fsm_slave.c fsm_slave.h \
|
||||
fsm_master.c fsm_master.h \
|
||||
|
|
|
|||
|
|
@ -42,25 +42,25 @@
|
|||
#include "mailbox.h"
|
||||
#include "slave_config.h"
|
||||
|
||||
#include "fsm_mapping.h"
|
||||
#include "fsm_pdo_mapping.h"
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
void ec_fsm_mapping_state_start(ec_fsm_mapping_t *);
|
||||
void ec_fsm_mapping_state_zero_count(ec_fsm_mapping_t *);
|
||||
void ec_fsm_mapping_state_add_pdo(ec_fsm_mapping_t *);
|
||||
void ec_fsm_mapping_state_pdo_count(ec_fsm_mapping_t *);
|
||||
void ec_fsm_mapping_state_end(ec_fsm_mapping_t *);
|
||||
void ec_fsm_mapping_state_error(ec_fsm_mapping_t *);
|
||||
void ec_fsm_pdo_mapping_state_start(ec_fsm_pdo_mapping_t *);
|
||||
void ec_fsm_pdo_mapping_state_zero_count(ec_fsm_pdo_mapping_t *);
|
||||
void ec_fsm_pdo_mapping_state_add_pdo(ec_fsm_pdo_mapping_t *);
|
||||
void ec_fsm_pdo_mapping_state_pdo_count(ec_fsm_pdo_mapping_t *);
|
||||
void ec_fsm_pdo_mapping_state_end(ec_fsm_pdo_mapping_t *);
|
||||
void ec_fsm_pdo_mapping_state_error(ec_fsm_pdo_mapping_t *);
|
||||
|
||||
void ec_fsm_mapping_next_sync(ec_fsm_mapping_t *);
|
||||
void ec_fsm_pdo_mapping_next_sync(ec_fsm_pdo_mapping_t *);
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
/** Constructor.
|
||||
*/
|
||||
void ec_fsm_mapping_init(
|
||||
ec_fsm_mapping_t *fsm, /**< mapping state machine */
|
||||
void ec_fsm_pdo_mapping_init(
|
||||
ec_fsm_pdo_mapping_t *fsm, /**< mapping state machine */
|
||||
ec_fsm_coe_t *fsm_coe /**< CoE state machine to use */
|
||||
)
|
||||
{
|
||||
|
|
@ -72,8 +72,8 @@ void ec_fsm_mapping_init(
|
|||
|
||||
/** Destructor.
|
||||
*/
|
||||
void ec_fsm_mapping_clear(
|
||||
ec_fsm_mapping_t *fsm /**< mapping state machine */
|
||||
void ec_fsm_pdo_mapping_clear(
|
||||
ec_fsm_pdo_mapping_t *fsm /**< mapping state machine */
|
||||
)
|
||||
{
|
||||
}
|
||||
|
|
@ -82,13 +82,13 @@ void ec_fsm_mapping_clear(
|
|||
|
||||
/** Start PDO mapping configuration state machine.
|
||||
*/
|
||||
void ec_fsm_mapping_start(
|
||||
ec_fsm_mapping_t *fsm, /**< mapping state machine */
|
||||
void ec_fsm_pdo_mapping_start(
|
||||
ec_fsm_pdo_mapping_t *fsm, /**< mapping state machine */
|
||||
ec_slave_t *slave /**< slave to configure */
|
||||
)
|
||||
{
|
||||
fsm->slave = slave;
|
||||
fsm->state = ec_fsm_mapping_state_start;
|
||||
fsm->state = ec_fsm_pdo_mapping_state_start;
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
@ -97,12 +97,12 @@ void ec_fsm_mapping_start(
|
|||
*
|
||||
* \return false, if state machine has terminated
|
||||
*/
|
||||
int ec_fsm_mapping_running(
|
||||
const ec_fsm_mapping_t *fsm /**< mapping state machine */
|
||||
int ec_fsm_pdo_mapping_running(
|
||||
const ec_fsm_pdo_mapping_t *fsm /**< mapping state machine */
|
||||
)
|
||||
{
|
||||
return fsm->state != ec_fsm_mapping_state_end
|
||||
&& fsm->state != ec_fsm_mapping_state_error;
|
||||
return fsm->state != ec_fsm_pdo_mapping_state_end
|
||||
&& fsm->state != ec_fsm_pdo_mapping_state_error;
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
@ -114,12 +114,12 @@ int ec_fsm_mapping_running(
|
|||
*
|
||||
* \return false, if state machine has terminated
|
||||
*/
|
||||
int ec_fsm_mapping_exec(
|
||||
ec_fsm_mapping_t *fsm /**< mapping state machine */
|
||||
int ec_fsm_pdo_mapping_exec(
|
||||
ec_fsm_pdo_mapping_t *fsm /**< mapping state machine */
|
||||
)
|
||||
{
|
||||
fsm->state(fsm);
|
||||
return ec_fsm_mapping_running(fsm);
|
||||
return ec_fsm_pdo_mapping_running(fsm);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
@ -128,11 +128,11 @@ int ec_fsm_mapping_exec(
|
|||
*
|
||||
* \return true, if the state machine terminated gracefully
|
||||
*/
|
||||
int ec_fsm_mapping_success(
|
||||
const ec_fsm_mapping_t *fsm /**< mapping state machine */
|
||||
int ec_fsm_pdo_mapping_success(
|
||||
const ec_fsm_pdo_mapping_t *fsm /**< mapping state machine */
|
||||
)
|
||||
{
|
||||
return fsm->state == ec_fsm_mapping_state_end;
|
||||
return fsm->state == ec_fsm_pdo_mapping_state_end;
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
|
|
@ -141,25 +141,25 @@ int ec_fsm_mapping_success(
|
|||
|
||||
/** Start mapping configuration.
|
||||
*/
|
||||
void ec_fsm_mapping_state_start(
|
||||
ec_fsm_mapping_t *fsm /**< mapping state machine */
|
||||
void ec_fsm_pdo_mapping_state_start(
|
||||
ec_fsm_pdo_mapping_t *fsm /**< mapping state machine */
|
||||
)
|
||||
{
|
||||
if (!fsm->slave->config) {
|
||||
fsm->state = ec_fsm_mapping_state_end;
|
||||
fsm->state = ec_fsm_pdo_mapping_state_end;
|
||||
return;
|
||||
}
|
||||
|
||||
fsm->sync = NULL;
|
||||
ec_fsm_mapping_next_sync(fsm);
|
||||
ec_fsm_pdo_mapping_next_sync(fsm);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
/** Process mapping of next sync manager.
|
||||
*/
|
||||
void ec_fsm_mapping_next_sync(
|
||||
ec_fsm_mapping_t *fsm /**< mapping state machine */
|
||||
void ec_fsm_pdo_mapping_next_sync(
|
||||
ec_fsm_pdo_mapping_t *fsm /**< mapping state machine */
|
||||
)
|
||||
{
|
||||
ec_direction_t dir;
|
||||
|
|
@ -190,7 +190,7 @@ void ec_fsm_mapping_next_sync(
|
|||
if (fsm->slave->master->debug_level)
|
||||
EC_DBG("Pdo mapping finished for slave %u.\n",
|
||||
fsm->slave->ring_position);
|
||||
fsm->state = ec_fsm_mapping_state_end;
|
||||
fsm->state = ec_fsm_pdo_mapping_state_end;
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -207,7 +207,7 @@ void ec_fsm_mapping_next_sync(
|
|||
if (fsm->slave->master->debug_level)
|
||||
EC_DBG("Setting PDO count to zero for SM%u.\n", fsm->sync->index);
|
||||
|
||||
fsm->state = ec_fsm_mapping_state_zero_count;
|
||||
fsm->state = ec_fsm_pdo_mapping_state_zero_count;
|
||||
ec_fsm_coe_download(fsm->fsm_coe, fsm->slave, &fsm->sdodata);
|
||||
ec_fsm_coe_exec(fsm->fsm_coe); // execute immediately
|
||||
}
|
||||
|
|
@ -216,8 +216,8 @@ void ec_fsm_mapping_next_sync(
|
|||
|
||||
/** Process mapping of next PDO.
|
||||
*/
|
||||
ec_pdo_t *ec_fsm_mapping_next_pdo(
|
||||
const ec_fsm_mapping_t *fsm, /**< mapping state machine */
|
||||
ec_pdo_t *ec_fsm_pdo_mapping_next_pdo(
|
||||
const ec_fsm_pdo_mapping_t *fsm, /**< mapping state machine */
|
||||
const struct list_head *list /**< current PDO list item */
|
||||
)
|
||||
{
|
||||
|
|
@ -231,8 +231,8 @@ ec_pdo_t *ec_fsm_mapping_next_pdo(
|
|||
|
||||
/** Add a Pdo to the mapping.
|
||||
*/
|
||||
void ec_fsm_mapping_add_pdo(
|
||||
ec_fsm_mapping_t *fsm /**< mapping state machine */
|
||||
void ec_fsm_pdo_mapping_add_pdo(
|
||||
ec_fsm_pdo_mapping_t *fsm /**< mapping state machine */
|
||||
)
|
||||
{
|
||||
fsm->sdodata.subindex = fsm->pdo_count;
|
||||
|
|
@ -243,7 +243,7 @@ void ec_fsm_mapping_add_pdo(
|
|||
EC_DBG("Mapping PDO 0x%04X at position %u.\n",
|
||||
fsm->pdo->index, fsm->sdodata.subindex);
|
||||
|
||||
fsm->state = ec_fsm_mapping_state_add_pdo;
|
||||
fsm->state = ec_fsm_pdo_mapping_state_add_pdo;
|
||||
ec_fsm_coe_download(fsm->fsm_coe, fsm->slave, &fsm->sdodata);
|
||||
ec_fsm_coe_exec(fsm->fsm_coe); // execute immediately
|
||||
}
|
||||
|
|
@ -252,8 +252,8 @@ void ec_fsm_mapping_add_pdo(
|
|||
|
||||
/** Set the number of mapped PDOs to zero.
|
||||
*/
|
||||
void ec_fsm_mapping_state_zero_count(
|
||||
ec_fsm_mapping_t *fsm /**< mapping state machine */
|
||||
void ec_fsm_pdo_mapping_state_zero_count(
|
||||
ec_fsm_pdo_mapping_t *fsm /**< mapping state machine */
|
||||
)
|
||||
{
|
||||
if (ec_fsm_coe_exec(fsm->fsm_coe)) return;
|
||||
|
|
@ -261,32 +261,32 @@ void ec_fsm_mapping_state_zero_count(
|
|||
if (!ec_fsm_coe_success(fsm->fsm_coe)) {
|
||||
EC_ERR("Failed to clear PDO mapping for slave %u.\n",
|
||||
fsm->slave->ring_position);
|
||||
fsm->state = ec_fsm_mapping_state_error;
|
||||
fsm->state = ec_fsm_pdo_mapping_state_error;
|
||||
return;
|
||||
}
|
||||
|
||||
// map all PDOs belonging to the current sync manager
|
||||
|
||||
// find first PDO
|
||||
if (!(fsm->pdo = ec_fsm_mapping_next_pdo(fsm, &fsm->mapping->pdos))) {
|
||||
if (!(fsm->pdo = ec_fsm_pdo_mapping_next_pdo(fsm, &fsm->mapping->pdos))) {
|
||||
if (fsm->slave->master->debug_level)
|
||||
EC_DBG("No PDOs to map for SM%u of slave %u.\n",
|
||||
fsm->sync->index, fsm->slave->ring_position);
|
||||
ec_fsm_mapping_next_sync(fsm);
|
||||
ec_fsm_pdo_mapping_next_sync(fsm);
|
||||
return;
|
||||
}
|
||||
|
||||
// add first PDO to mapping
|
||||
fsm->pdo_count = 1;
|
||||
ec_fsm_mapping_add_pdo(fsm);
|
||||
ec_fsm_pdo_mapping_add_pdo(fsm);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
/** Add a PDO to the sync managers mapping.
|
||||
*/
|
||||
void ec_fsm_mapping_state_add_pdo(
|
||||
ec_fsm_mapping_t *fsm /**< mapping state machine */
|
||||
void ec_fsm_pdo_mapping_state_add_pdo(
|
||||
ec_fsm_pdo_mapping_t *fsm /**< mapping state machine */
|
||||
)
|
||||
{
|
||||
if (ec_fsm_coe_exec(fsm->fsm_coe)) return;
|
||||
|
|
@ -294,12 +294,12 @@ void ec_fsm_mapping_state_add_pdo(
|
|||
if (!ec_fsm_coe_success(fsm->fsm_coe)) {
|
||||
EC_ERR("Failed to map PDO 0x%04X for SM%u of slave %u.\n",
|
||||
fsm->pdo->index, fsm->sync->index, fsm->slave->ring_position);
|
||||
fsm->state = ec_fsm_mapping_state_error;
|
||||
fsm->state = ec_fsm_pdo_mapping_state_error;
|
||||
return;
|
||||
}
|
||||
|
||||
// find next PDO
|
||||
if (!(fsm->pdo = ec_fsm_mapping_next_pdo(fsm, &fsm->pdo->list))) {
|
||||
if (!(fsm->pdo = ec_fsm_pdo_mapping_next_pdo(fsm, &fsm->pdo->list))) {
|
||||
// no more PDOs to map. write PDO count
|
||||
fsm->sdodata.subindex = 0;
|
||||
EC_WRITE_U8(&fsm->sdo_value, fsm->pdo_count);
|
||||
|
|
@ -309,7 +309,7 @@ void ec_fsm_mapping_state_add_pdo(
|
|||
EC_DBG("Setting number of mapped PDOs to %u.\n",
|
||||
fsm->pdo_count);
|
||||
|
||||
fsm->state = ec_fsm_mapping_state_pdo_count;
|
||||
fsm->state = ec_fsm_pdo_mapping_state_pdo_count;
|
||||
ec_fsm_coe_download(fsm->fsm_coe, fsm->slave, &fsm->sdodata);
|
||||
ec_fsm_coe_exec(fsm->fsm_coe); // execute immediately
|
||||
return;
|
||||
|
|
@ -317,15 +317,15 @@ void ec_fsm_mapping_state_add_pdo(
|
|||
|
||||
// add next PDO to mapping
|
||||
fsm->pdo_count++;
|
||||
ec_fsm_mapping_add_pdo(fsm);
|
||||
ec_fsm_pdo_mapping_add_pdo(fsm);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
/** Set the number of mapped PDOs.
|
||||
*/
|
||||
void ec_fsm_mapping_state_pdo_count(
|
||||
ec_fsm_mapping_t *fsm /**< mapping state machine */
|
||||
void ec_fsm_pdo_mapping_state_pdo_count(
|
||||
ec_fsm_pdo_mapping_t *fsm /**< mapping state machine */
|
||||
)
|
||||
{
|
||||
if (ec_fsm_coe_exec(fsm->fsm_coe)) return;
|
||||
|
|
@ -333,7 +333,7 @@ void ec_fsm_mapping_state_pdo_count(
|
|||
if (!ec_fsm_coe_success(fsm->fsm_coe)) {
|
||||
EC_ERR("Failed to set number of mapped PDOs for slave %u.\n",
|
||||
fsm->slave->ring_position);
|
||||
fsm->state = ec_fsm_mapping_state_error;
|
||||
fsm->state = ec_fsm_pdo_mapping_state_error;
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -342,7 +342,7 @@ void ec_fsm_mapping_state_pdo_count(
|
|||
fsm->sync->index, fsm->slave->ring_position);
|
||||
|
||||
// mapping configuration for this sync manager complete.
|
||||
ec_fsm_mapping_next_sync(fsm);
|
||||
ec_fsm_pdo_mapping_next_sync(fsm);
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
|
|
@ -351,8 +351,8 @@ void ec_fsm_mapping_state_pdo_count(
|
|||
|
||||
/** State: ERROR.
|
||||
*/
|
||||
void ec_fsm_mapping_state_error(
|
||||
ec_fsm_mapping_t *fsm /**< mapping state machine */
|
||||
void ec_fsm_pdo_mapping_state_error(
|
||||
ec_fsm_pdo_mapping_t *fsm /**< mapping state machine */
|
||||
)
|
||||
{
|
||||
}
|
||||
|
|
@ -361,8 +361,8 @@ void ec_fsm_mapping_state_error(
|
|||
|
||||
/** State: END.
|
||||
*/
|
||||
void ec_fsm_mapping_state_end(
|
||||
ec_fsm_mapping_t *fsm /**< mapping state machine */
|
||||
void ec_fsm_pdo_mapping_state_end(
|
||||
ec_fsm_pdo_mapping_t *fsm /**< mapping state machine */
|
||||
)
|
||||
{
|
||||
}
|
||||
|
|
@ -38,23 +38,27 @@
|
|||
|
||||
/*****************************************************************************/
|
||||
|
||||
#ifndef __EC_FSM_MAPPING__
|
||||
#define __EC_FSM_MAPPING__
|
||||
#ifndef __EC_FSM_PDO_MAPPING__
|
||||
#define __EC_FSM_PDO_MAPPING__
|
||||
|
||||
#include "../include/ecrt.h"
|
||||
|
||||
#include "globals.h"
|
||||
#include "../include/ecrt.h"
|
||||
#include "datagram.h"
|
||||
#include "fsm_coe.h"
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
typedef struct ec_fsm_mapping ec_fsm_mapping_t; /**< \see ec_fsm_mapping */
|
||||
/**
|
||||
* \see ec_fsm_pdo_mapping
|
||||
*/
|
||||
typedef struct ec_fsm_pdo_mapping ec_fsm_pdo_mapping_t;
|
||||
|
||||
/** Pdo mapping state machine.
|
||||
*/
|
||||
struct ec_fsm_mapping
|
||||
struct ec_fsm_pdo_mapping
|
||||
{
|
||||
void (*state)(ec_fsm_mapping_t *); /**< State function. */
|
||||
void (*state)(ec_fsm_pdo_mapping_t *); /**< State function. */
|
||||
ec_fsm_coe_t *fsm_coe; /**< CoE state machine to use. */
|
||||
ec_slave_t *slave; /**< Slave the FSM runs on. */
|
||||
|
||||
|
|
@ -69,12 +73,12 @@ struct ec_fsm_mapping
|
|||
|
||||
/*****************************************************************************/
|
||||
|
||||
void ec_fsm_mapping_init(ec_fsm_mapping_t *, ec_fsm_coe_t *);
|
||||
void ec_fsm_mapping_clear(ec_fsm_mapping_t *);
|
||||
void ec_fsm_pdo_mapping_init(ec_fsm_pdo_mapping_t *, ec_fsm_coe_t *);
|
||||
void ec_fsm_pdo_mapping_clear(ec_fsm_pdo_mapping_t *);
|
||||
|
||||
void ec_fsm_mapping_start(ec_fsm_mapping_t *, ec_slave_t *);
|
||||
int ec_fsm_mapping_exec(ec_fsm_mapping_t *);
|
||||
int ec_fsm_mapping_success(const ec_fsm_mapping_t *);
|
||||
void ec_fsm_pdo_mapping_start(ec_fsm_pdo_mapping_t *, ec_slave_t *);
|
||||
int ec_fsm_pdo_mapping_exec(ec_fsm_pdo_mapping_t *);
|
||||
int ec_fsm_pdo_mapping_success(const ec_fsm_pdo_mapping_t *);
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
|
|
@ -92,8 +92,8 @@ void ec_fsm_slave_init(ec_fsm_slave_t *fsm, /**< slave state machine */
|
|||
ec_fsm_sii_init(&fsm->fsm_sii, fsm->datagram);
|
||||
ec_fsm_change_init(&fsm->fsm_change, fsm->datagram);
|
||||
ec_fsm_coe_init(&fsm->fsm_coe, fsm->datagram);
|
||||
ec_fsm_mapping_init(&fsm->fsm_map, &fsm->fsm_coe);
|
||||
ec_fsm_pdo_config_init(&fsm->fsm_pdo, &fsm->fsm_coe);
|
||||
ec_fsm_pdo_mapping_init(&fsm->fsm_pdo_map, &fsm->fsm_coe);
|
||||
ec_fsm_pdo_config_init(&fsm->fsm_pdo_conf, &fsm->fsm_coe);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
@ -106,8 +106,8 @@ void ec_fsm_slave_clear(ec_fsm_slave_t *fsm /**< slave state machine */)
|
|||
ec_fsm_sii_clear(&fsm->fsm_sii);
|
||||
ec_fsm_change_clear(&fsm->fsm_change);
|
||||
ec_fsm_coe_clear(&fsm->fsm_coe);
|
||||
ec_fsm_mapping_clear(&fsm->fsm_map);
|
||||
ec_fsm_pdo_config_clear(&fsm->fsm_pdo);
|
||||
ec_fsm_pdo_mapping_clear(&fsm->fsm_pdo_map);
|
||||
ec_fsm_pdo_config_clear(&fsm->fsm_pdo_conf);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
@ -941,8 +941,8 @@ void ec_fsm_slave_conf_enter_mapping(
|
|||
{
|
||||
// start configuring PDO mapping
|
||||
fsm->state = ec_fsm_slave_conf_state_mapping;
|
||||
ec_fsm_mapping_start(&fsm->fsm_map, fsm->slave);
|
||||
ec_fsm_mapping_exec(&fsm->fsm_map); // execute immediately
|
||||
ec_fsm_pdo_mapping_start(&fsm->fsm_pdo_map, fsm->slave);
|
||||
ec_fsm_pdo_mapping_exec(&fsm->fsm_pdo_map); // execute immediately
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
@ -955,9 +955,9 @@ void ec_fsm_slave_conf_state_mapping(
|
|||
ec_fsm_slave_t *fsm /**< slave state machine */
|
||||
)
|
||||
{
|
||||
if (ec_fsm_mapping_exec(&fsm->fsm_map)) return;
|
||||
if (ec_fsm_pdo_mapping_exec(&fsm->fsm_pdo_map)) return;
|
||||
|
||||
if (!ec_fsm_mapping_success(&fsm->fsm_map)) {
|
||||
if (!ec_fsm_pdo_mapping_success(&fsm->fsm_pdo_map)) {
|
||||
EC_ERR("PDO mapping configuration failed for slave %u.\n",
|
||||
fsm->slave->ring_position);
|
||||
fsm->slave->error_flag = 1;
|
||||
|
|
@ -967,8 +967,8 @@ void ec_fsm_slave_conf_state_mapping(
|
|||
|
||||
// Start Pdo configuration
|
||||
fsm->state = ec_fsm_slave_conf_state_pdo_conf;
|
||||
ec_fsm_pdo_config_start(&fsm->fsm_pdo, fsm->slave);
|
||||
ec_fsm_pdo_config_exec(&fsm->fsm_pdo); // execute immediately
|
||||
ec_fsm_pdo_config_start(&fsm->fsm_pdo_conf, fsm->slave);
|
||||
ec_fsm_pdo_config_exec(&fsm->fsm_pdo_conf); // execute immediately
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
@ -981,9 +981,9 @@ void ec_fsm_slave_conf_state_pdo_conf(
|
|||
ec_fsm_slave_t *fsm /**< slave state machine */
|
||||
)
|
||||
{
|
||||
if (ec_fsm_pdo_config_exec(&fsm->fsm_pdo)) return;
|
||||
if (ec_fsm_pdo_config_exec(&fsm->fsm_pdo_conf)) return;
|
||||
|
||||
if (!ec_fsm_pdo_config_success(&fsm->fsm_pdo)) {
|
||||
if (!ec_fsm_pdo_config_success(&fsm->fsm_pdo_conf)) {
|
||||
EC_ERR("Pdo configuration failed for slave %u.\n",
|
||||
fsm->slave->ring_position);
|
||||
fsm->slave->error_flag = 1;
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@
|
|||
#include "fsm_sii.h"
|
||||
#include "fsm_change.h"
|
||||
#include "fsm_coe.h"
|
||||
#include "fsm_mapping.h"
|
||||
#include "fsm_pdo_mapping.h"
|
||||
#include "fsm_pdo_config.h"
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
@ -70,8 +70,8 @@ struct ec_fsm_slave
|
|||
ec_fsm_sii_t fsm_sii; /**< SII state machine. */
|
||||
ec_fsm_change_t fsm_change; /**< State change state machine. */
|
||||
ec_fsm_coe_t fsm_coe; /**< CoE state machine. */
|
||||
ec_fsm_mapping_t fsm_map; /**< PDO mapping state machine. */
|
||||
ec_fsm_pdo_config_t fsm_pdo; /**< PDO configuration state machine. */
|
||||
ec_fsm_pdo_mapping_t fsm_pdo_map; /**< Pdo mapping state machine. */
|
||||
ec_fsm_pdo_config_t fsm_pdo_conf; /**< Pdo configuration state machine. */
|
||||
};
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
|||
Loading…
Reference in New Issue