Skip to content

Commit 4763faa

Browse files
committed
x
1 parent 1df12d9 commit 4763faa

File tree

2 files changed

+12
-12
lines changed

2 files changed

+12
-12
lines changed

cores/arduino/Arduino.h

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,30 +14,30 @@
1414
#include <zephyr/drivers/pwm.h>
1515
#include <zephyr/kernel.h>
1616

17-
#define SUM_NGPIOS(i, n, p) DT_PROP(DT_PROP_BY_IDX(n, p, i), ngpios) +
18-
#define ACCUM_NGPIOS(n, p, i) LISTIFY(i, SUM_NGPIOS, (), n, p)
17+
#define ADD_NGPIOS(i, n, p) DT_PROP(DT_PROP_BY_IDX(n, p, i), ngpios) +
18+
#define ACCUM_NGPIOS(n, p, i) LISTIFY(i, ADD_NGPIOS, (), n, p)
1919
#define ACCUM_NGPIOS_CHECK(n, p, i, node) \
20-
COND_CODE_1(DT_SAME_NODE(DT_PROP_BY_IDX(n, p, i), node), \
21-
(ACCUM_NGPIOS(n, p, i)), ())
20+
COND_CODE_1(DT_SAME_NODE(DT_PROP_BY_IDX(n, p, i), node), (ACCUM_NGPIOS(n, p, i)), ())
2221
#define FIND_GPIO_IDX(node) \
2322
DT_FOREACH_PROP_ELEM_VARGS(DT_PATH(zephyr_user), gpios, ACCUM_NGPIOS_CHECK, node)
2423

25-
#ifndef LED_BUILTIN
24+
#define PROP_NGPIOS(n, p, i) DT_PROP(DT_PROP_BY_IDX(n, p, i), ngpios)
25+
26+
#define GPIO_PIN_NUMS \
27+
(DT_FOREACH_PROP_ELEM_SEP(DT_PATH(zephyr_user), gpios, PROP_NGPIOS, (+)))
2628

29+
#ifndef LED_BUILTIN
2730
#if DT_NODE_HAS_PROP(DT_PATH(zephyr_user), builtin_led_gpios) && \
2831
(DT_PROP_LEN(DT_PATH(zephyr_user), builtin_led_gpios) > 0)
29-
3032
#define LED_BUILTIN \
3133
(FIND_GPIO_IDX(DT_PHANDLE_BY_IDX(DT_PATH(zephyr_user), builtin_led_gpios, 0)) \
3234
DT_PHA_BY_IDX(DT_PHANDLE_BY_IDX(DT_PATH(zephyr_user), builtin_led_gpios, 0), \
3335
pin))
34-
/* If digital-pin-gpios is not defined, tries to use the led0 alias */
3536
#elif DT_NODE_EXISTS(DT_ALIAS(led0))
3637
#define LED_BUILTIN \
3738
(FIND_GPIO_IDX(DT_PHANDLE(DT_ALIAS(led0), gpios)) DT_PHA(DT_ALIAS(led0), gpios, pin))
38-
#endif // builtin_led_gpios
39-
40-
#endif // LED_BUILTIN
39+
#endif
40+
#endif
4141

4242
#define DN_ENUMS(n, p, i) \
4343
D##i = FIND_GPIO_IDX(DT_PHANDLE_BY_IDX(n, p, i)) DT_PHA_BY_IDX(n, p, i, pin)

cores/arduino/zephyrCommon.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -207,8 +207,8 @@ PinStatus digitalRead(pin_size_t pinNumber) {
207207
return (gpio_pin_get_dt(&spec) == 1) ? HIGH : LOW;
208208
}
209209

210-
struct k_timer arduino_pin_timers[pin_num];
211-
struct k_timer arduino_pin_timers_timeout[pin_num];
210+
struct k_timer arduino_pin_timers[GPIO_PIN_NUMS];
211+
struct k_timer arduino_pin_timers_timeout[GPIO_PIN_NUMS];
212212

213213
void tone_expiry_cb(struct k_timer *timer) {
214214
const struct gpio_dt_spec *spec = (gpio_dt_spec*)k_timer_user_data_get(timer);

0 commit comments

Comments
 (0)