mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
sys/saul_reg: add saul_reg_find_type_and_name
This commit is contained in:
parent
672a9affc7
commit
9bc7dd04e6
@ -90,7 +90,7 @@ int saul_reg_add(saul_reg_t *dev);
|
||||
int saul_reg_rm(saul_reg_t *dev);
|
||||
|
||||
/**
|
||||
* @brief Find a device by it's position in the registry
|
||||
* @brief Find a device by its position in the registry
|
||||
*
|
||||
* @param[in] pos position to look up
|
||||
*
|
||||
@ -100,9 +100,9 @@ int saul_reg_rm(saul_reg_t *dev);
|
||||
saul_reg_t *saul_reg_find_nth(int pos);
|
||||
|
||||
/**
|
||||
* @brief Find the first device of the given type in the registry
|
||||
* @brief Find the first device by its type in the registry
|
||||
*
|
||||
* @param[in] type device type to look for
|
||||
* @param[in] type the device type to look for
|
||||
*
|
||||
* @return pointer to the first device matching the given type
|
||||
* @return NULL if no device of that type could be found
|
||||
@ -110,7 +110,7 @@ saul_reg_t *saul_reg_find_nth(int pos);
|
||||
saul_reg_t *saul_reg_find_type(uint8_t type);
|
||||
|
||||
/**
|
||||
* @brief Find a device by its name
|
||||
* @brief Find the first device by its name in the registry
|
||||
*
|
||||
* @param[in] name the name to look for
|
||||
*
|
||||
@ -119,6 +119,17 @@ saul_reg_t *saul_reg_find_type(uint8_t type);
|
||||
*/
|
||||
saul_reg_t *saul_reg_find_name(const char *name);
|
||||
|
||||
/**
|
||||
* @brief Find the first device by its type and name in the registry
|
||||
*
|
||||
* @param[in] type the device type to look for
|
||||
* @param[in] name the name to look for
|
||||
*
|
||||
* @return pointer to the first device matching the given type and name
|
||||
* @return NULL if no device with that type and name could be found
|
||||
*/
|
||||
saul_reg_t *saul_reg_find_type_and_name(uint8_t type, const char *name);
|
||||
|
||||
/**
|
||||
* @brief Read data from the given device
|
||||
*
|
||||
|
@ -113,6 +113,19 @@ saul_reg_t *saul_reg_find_name(const char *name)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
saul_reg_t *saul_reg_find_type_and_name(uint8_t type, const char *name)
|
||||
{
|
||||
saul_reg_t *tmp = saul_reg;
|
||||
|
||||
while (tmp) {
|
||||
if (tmp->driver->type == type && strcmp(tmp->name, name) == 0) {
|
||||
return tmp;
|
||||
}
|
||||
tmp = tmp->next;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
int saul_reg_read(saul_reg_t *dev, phydat_t *res)
|
||||
{
|
||||
if (dev == NULL) {
|
||||
|
Loading…
Reference in New Issue
Block a user