Skip to content
Snippets Groups Projects
Commit 6185b0de authored by Florian Pose's avatar Florian Pose
Browse files

Fixed 2 bugs in new Pdo mapping function.

parent 07219258
No related branches found
No related tags found
No related merge requests found
...@@ -453,8 +453,8 @@ int ecrt_slave_config_pdo_entry( ...@@ -453,8 +453,8 @@ int ecrt_slave_config_pdo_entry(
*/ */
int ecrt_slave_config_mapping( int ecrt_slave_config_mapping(
ec_slave_config_t *sc, /**< Slave configuration. */ ec_slave_config_t *sc, /**< Slave configuration. */
unsigned int n_entries, /**< Number of Pdos in \a pdos to map. */ unsigned int n_infos, /**< Number of Pdo infos in \a pdo_infos. */
const ec_pdo_info_t pdos[] /**< List with Pdo mapping. */ const ec_pdo_info_t pdo_infos[] /**< List with Pdo mapping. */
); );
/** Registers a Pdo entry for process data exchange in a domain. /** Registers a Pdo entry for process data exchange in a domain.
......
...@@ -122,8 +122,8 @@ uint16_t ec_pdo_mapping_total_size( ...@@ -122,8 +122,8 @@ uint16_t ec_pdo_mapping_total_size(
*/ */
ec_pdo_t *ec_pdo_mapping_add_pdo( ec_pdo_t *ec_pdo_mapping_add_pdo(
ec_pdo_mapping_t *pm, /**< Pdo mapping. */ ec_pdo_mapping_t *pm, /**< Pdo mapping. */
uint16_t index, /**< Pdo index. */ ec_direction_t dir, /**< Direction. */
ec_direction_t dir /**< Direction. */ uint16_t index /**< Pdo index. */
) )
{ {
ec_pdo_t *pdo; ec_pdo_t *pdo;
......
...@@ -64,8 +64,8 @@ void ec_pdo_mapping_clear(ec_pdo_mapping_t *); ...@@ -64,8 +64,8 @@ void ec_pdo_mapping_clear(ec_pdo_mapping_t *);
void ec_pdo_mapping_clear_pdos(ec_pdo_mapping_t *); void ec_pdo_mapping_clear_pdos(ec_pdo_mapping_t *);
ec_pdo_t *ec_pdo_mapping_add_pdo(ec_pdo_mapping_t *, uint16_t, ec_pdo_t *ec_pdo_mapping_add_pdo(ec_pdo_mapping_t *, ec_direction_t,
ec_direction_t); uint16_t);
int ec_pdo_mapping_add_pdo_copy(ec_pdo_mapping_t *, const ec_pdo_t *); int ec_pdo_mapping_add_pdo_copy(ec_pdo_mapping_t *, const ec_pdo_t *);
int ec_pdo_mapping_copy(ec_pdo_mapping_t *, const ec_pdo_mapping_t *); int ec_pdo_mapping_copy(ec_pdo_mapping_t *, const ec_pdo_mapping_t *);
......
...@@ -512,7 +512,7 @@ int ecrt_slave_config_pdo(ec_slave_config_t *sc, ec_direction_t dir, ...@@ -512,7 +512,7 @@ int ecrt_slave_config_pdo(ec_slave_config_t *sc, ec_direction_t dir,
EC_DBG("Adding Pdo 0x%04X to mapping for dir %u, config %u:%u.\n", EC_DBG("Adding Pdo 0x%04X to mapping for dir %u, config %u:%u.\n",
index, dir, sc->alias, sc->position); index, dir, sc->alias, sc->position);
if (!(pdo = ec_pdo_mapping_add_pdo(pm, index, dir))) if (!(pdo = ec_pdo_mapping_add_pdo(pm, dir, index)))
return -1; return -1;
ec_slave_config_load_default_pdo_config(sc, pdo); ec_slave_config_load_default_pdo_config(sc, pdo);
...@@ -557,16 +557,16 @@ int ecrt_slave_config_pdo_entry(ec_slave_config_t *sc, uint16_t pdo_index, ...@@ -557,16 +557,16 @@ int ecrt_slave_config_pdo_entry(ec_slave_config_t *sc, uint16_t pdo_index,
/*****************************************************************************/ /*****************************************************************************/
int ecrt_slave_config_mapping(ec_slave_config_t *sc, unsigned int n_entries, int ecrt_slave_config_mapping(ec_slave_config_t *sc, unsigned int n_infos,
const ec_pdo_info_t pdo_infos[]) const ec_pdo_info_t pdo_infos[])
{ {
unsigned int i; unsigned int i, j;
const ec_pdo_info_t *pi; const ec_pdo_info_t *pi;
ec_pdo_mapping_t *pm; ec_pdo_mapping_t *pm;
ec_pdo_t *pdo; ec_pdo_t *pdo;
const ec_pdo_entry_info_t *ei; const ec_pdo_entry_info_t *ei;
for (i = 0; i < n_entries; i++) { for (i = 0; i < n_infos; i++) {
pi = &pdo_infos[i]; pi = &pdo_infos[i];
pm = &sc->mapping[pi->dir]; pm = &sc->mapping[pi->dir];
...@@ -579,7 +579,8 @@ int ecrt_slave_config_mapping(ec_slave_config_t *sc, unsigned int n_entries, ...@@ -579,7 +579,8 @@ int ecrt_slave_config_mapping(ec_slave_config_t *sc, unsigned int n_entries,
} }
if (sc->master->debug_level) if (sc->master->debug_level)
EC_DBG("Adding Pdo 0x%04X to mapping.\n", pi->index); EC_DBG("Adding Pdo 0x%04X to mapping for dir %u, config %u:%u.\n",
pi->index, pi->dir, sc->alias, sc->position);
if (!(pdo = ec_pdo_mapping_add_pdo(pm, pi->dir, pi->index))) if (!(pdo = ec_pdo_mapping_add_pdo(pm, pi->dir, pi->index)))
return -1; return -1;
...@@ -588,8 +589,8 @@ int ecrt_slave_config_mapping(ec_slave_config_t *sc, unsigned int n_entries, ...@@ -588,8 +589,8 @@ int ecrt_slave_config_mapping(ec_slave_config_t *sc, unsigned int n_entries,
if (sc->master->debug_level) if (sc->master->debug_level)
EC_DBG(" Pdo configuration information provided.\n"); EC_DBG(" Pdo configuration information provided.\n");
for (i = 0; i < pi->n_entries; i++) { for (j = 0; j < pi->n_entries; j++) {
ei = &pi->entries[i]; ei = &pi->entries[j];
if (!ec_pdo_add_entry(pdo, ei->index, ei->subindex, if (!ec_pdo_add_entry(pdo, ei->index, ei->subindex,
ei->bit_length)) ei->bit_length))
return -1; return -1;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment