Skip to content

Commit 0b0c156

Browse files
authored
Merge pull request #10 from soburi/copilot/sub-pr-4-one-more-time
Fix ADC_PINS and PWM_PINS compilation in global-GPIO mode
2 parents 0acfbb4 + dd8a0c3 commit 0b0c156

2 files changed

Lines changed: 14 additions & 0 deletions

File tree

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
11
rust/Cargo.lock
2+
_codeql_build_dir/
3+
_codeql_detected_source_root

cores/arduino/zephyrCommon.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,10 +226,16 @@ void handleGpioCallback(const struct device *port, struct gpio_callback *cb, uin
226226
#ifdef CONFIG_PWM
227227

228228
#define PWM_DT_SPEC(n,p,i) PWM_DT_SPEC_GET_BY_IDX(n, i),
229+
#if DT_NODE_HAS_PROP(DT_PATH(zephyr_user), digital_pin_gpios)
229230
#define PWM_PINS(n, p, i) \
230231
DIGITAL_PIN_GPIOS_FIND_PIN( \
231232
DT_REG_ADDR(DT_PHANDLE_BY_IDX(DT_PATH(zephyr_user), p, i)), \
232233
DT_PHA_BY_IDX(DT_PATH(zephyr_user), p, i, pin)),
234+
#else
235+
#define PWM_PINS(n, p, i) \
236+
ZARD_GLOBAL_GPIO_NUM(DT_PHANDLE_BY_IDX(DT_PATH(zephyr_user), p, i)) + \
237+
DT_PHA_BY_IDX(DT_PATH(zephyr_user), p, i, pin),
238+
#endif
233239
#define PWM_CONN_CHANNEL_DT(n, p, i) \
234240
COND_CODE_1(DT_NODE_HAS_STATUS_OKAY(DT_MAP_ENTRY_PARENT_BY_IDX(n, p, i)), \
235241
({ .dev = DEVICE_DT_GET(DT_MAP_ENTRY_PARENT_BY_IDX(n, p, i)), \
@@ -272,10 +278,16 @@ size_t pwm_pin_index(pin_size_t pinNumber) {
272278
#ifdef CONFIG_ADC
273279

274280
#define ADC_DT_SPEC(n,p,i) ADC_DT_SPEC_GET_BY_IDX(n, i),
281+
#if DT_NODE_HAS_PROP(DT_PATH(zephyr_user), digital_pin_gpios)
275282
#define ADC_PINS(n, p, i) \
276283
DIGITAL_PIN_GPIOS_FIND_PIN( \
277284
DT_REG_ADDR(DT_PHANDLE_BY_IDX(DT_PATH(zephyr_user), p, i)), \
278285
DT_PHA_BY_IDX(DT_PATH(zephyr_user), p, i, pin)),
286+
#else
287+
#define ADC_PINS(n, p, i) \
288+
ZARD_GLOBAL_GPIO_NUM(DT_PHANDLE_BY_IDX(DT_PATH(zephyr_user), p, i)) + \
289+
DT_PHA_BY_IDX(DT_PATH(zephyr_user), p, i, pin),
290+
#endif
279291
#define ADC_CH_CFG(n,p,i) arduino_adc[i].channel_cfg,
280292
#define ADC_CONN_CHANNEL_CFG(n, p, i) \
281293
COND_CODE_1(DT_NODE_HAS_STATUS_OKAY(DT_MAP_ENTRY_PARENT_BY_IDX(n, p, i)), \

0 commit comments

Comments
 (0)