embox
1/**
2* @file
3* @brief
4* @author Denis Deryugin <deryugin.denis@gmail.com>
5* @version
6* @date 13.08.2022
7*/
8
9#include <drivers/servo/servo.h>
10
11ARRAY_SPREAD_DEF(const struct servo_dev, __servo_device_registry);
12
13struct servo_dev *servo_dev_by_id(int id) {
14struct servo_dev *servo_dev;
15int i = 0;
16
17if (id < 0 || id >= ARRAY_SPREAD_SIZE(__servo_device_registry)) {
18return NULL;
19}
20
21array_spread_foreach_ptr(servo_dev, __servo_device_registry) {
22if (i++ == id) {
23return servo_dev;
24}
25}
26
27return NULL;
28}
29