Added entry access functions.
This commit is contained in:
parent
940e559c3d
commit
12287e723e
40
master/pdo.c
40
master/pdo.c
|
|
@ -229,3 +229,43 @@ int ec_pdo_equal_entries(
|
|||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
/**
|
||||
*/
|
||||
unsigned int ec_pdo_entry_count(
|
||||
const ec_pdo_t *pdo /**< Pdo. */
|
||||
)
|
||||
{
|
||||
const ec_pdo_entry_t *entry;
|
||||
unsigned int num = 0;
|
||||
|
||||
list_for_each_entry(entry, &pdo->entries, list) {
|
||||
num++;
|
||||
}
|
||||
|
||||
return num;
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
/** Finds a Pdo entry via its position in the list.
|
||||
*
|
||||
* Const version.
|
||||
*/
|
||||
const ec_pdo_entry_t *ec_pdo_find_entry_by_pos_const(
|
||||
const ec_pdo_t *pdo, /**< Pdo. */
|
||||
unsigned int pos /**< Position in the list. */
|
||||
)
|
||||
{
|
||||
const ec_pdo_entry_t *entry;
|
||||
|
||||
list_for_each_entry(entry, &pdo->entries, list) {
|
||||
if (pos--)
|
||||
continue;
|
||||
return entry;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
|||
|
|
@ -73,6 +73,9 @@ int ec_pdo_set_name(ec_pdo_t *, const char *);
|
|||
ec_pdo_entry_t *ec_pdo_add_entry(ec_pdo_t *, uint16_t, uint8_t, uint8_t);
|
||||
int ec_pdo_copy_entries(ec_pdo_t *, const ec_pdo_t *);
|
||||
int ec_pdo_equal_entries(const ec_pdo_t *, const ec_pdo_t *);
|
||||
unsigned int ec_pdo_entry_count(const ec_pdo_t *);
|
||||
const ec_pdo_entry_t *ec_pdo_find_entry_by_pos_const(
|
||||
const ec_pdo_t *, unsigned int);
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue