Skip to content

Commit 9e7c084

Browse files
authored
Merge branch 'next' into comment_end_of_namespace
2 parents 1300bf4 + f5dbe52 commit 9e7c084

File tree

1 file changed

+11
-13
lines changed

1 file changed

+11
-13
lines changed

cores/arduino/zephyrCommon.cpp

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -257,27 +257,33 @@ void noTone(pin_size_t pinNumber) {
257257
gpio_pin_set_dt(&arduino_pins[pinNumber], 0);
258258
}
259259

260-
void delay(unsigned long ms) { k_sleep(K_MSEC(ms)); }
260+
void delay(unsigned long ms) {
261+
k_sleep(K_MSEC(ms));
262+
}
261263

262-
void delayMicroseconds(unsigned int us) { k_sleep(K_USEC(us)); }
264+
void delayMicroseconds(unsigned int us) {
265+
k_busy_wait(us);
266+
}
263267

264268
unsigned long micros(void) {
265269
return k_cyc_to_us_floor32(k_cycle_get_32());
266270
}
267271

268-
unsigned long millis(void) { return k_uptime_get_32(); }
272+
unsigned long millis(void) {
273+
return k_uptime_get_32();
274+
}
269275

270276
#ifdef CONFIG_PWM
271277

272278
void analogWrite(pin_size_t pinNumber, int value)
273279
{
274280
size_t idx = pwm_pin_index(pinNumber);
275281

276-
if (!pwm_is_ready_dt(&arduino_pwm[idx])) {
282+
if (idx >= ARRAY_SIZE(arduino_pwm)) {
277283
return;
278284
}
279285

280-
if (idx >= ARRAY_SIZE(arduino_pwm) ) {
286+
if (!pwm_is_ready_dt(&arduino_pwm[idx])) {
281287
return;
282288
}
283289

@@ -407,8 +413,6 @@ long random(long max) {
407413

408414
#endif
409415

410-
#ifdef CONFIG_GPIO_GET_DIRECTION
411-
412416
unsigned long pulseIn(pin_size_t pinNumber, uint8_t state, unsigned long timeout) {
413417
struct k_timer timer;
414418
int64_t start, end, delta = 0;
@@ -421,10 +425,6 @@ unsigned long pulseIn(pin_size_t pinNumber, uint8_t state, unsigned long timeout
421425
goto cleanup;
422426
}
423427

424-
if (!gpio_pin_is_input_dt(spec)) {
425-
goto cleanup;
426-
}
427-
428428
while(gpio_pin_get_dt(spec) == state && k_timer_status_get(&timer) == 0);
429429
if (k_timer_status_get(&timer) > 0) {
430430
goto cleanup;
@@ -449,8 +449,6 @@ unsigned long pulseIn(pin_size_t pinNumber, uint8_t state, unsigned long timeout
449449
return (unsigned long)delta;
450450
}
451451

452-
#endif // CONFIG_GPIO_GET_DIRECTION
453-
454452
void enableInterrupt(pin_size_t pinNumber) {
455453
struct gpio_port_callback *pcb = find_gpio_port_callback(arduino_pins[pinNumber].port);
456454

0 commit comments

Comments
 (0)