Skip to content

Commit 1565d9b

Browse files
authored
Merge branch 'next' into improve_tone
2 parents 963a1ab + f5dbe52 commit 1565d9b

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
@@ -273,27 +273,33 @@ void noTone(pin_size_t pinNumber) {
273273
gpio_pin_set_dt(spec, 0);
274274
}
275275

276-
void delay(unsigned long ms) { k_sleep(K_MSEC(ms)); }
276+
void delay(unsigned long ms) {
277+
k_sleep(K_MSEC(ms));
278+
}
277279

278-
void delayMicroseconds(unsigned int us) { k_sleep(K_USEC(us)); }
280+
void delayMicroseconds(unsigned int us) {
281+
k_busy_wait(us);
282+
}
279283

280284
unsigned long micros(void) {
281285
return k_cyc_to_us_floor32(k_cycle_get_32());
282286
}
283287

284-
unsigned long millis(void) { return k_uptime_get_32(); }
288+
unsigned long millis(void) {
289+
return k_uptime_get_32();
290+
}
285291

286292
#ifdef CONFIG_PWM
287293

288294
void analogWrite(pin_size_t pinNumber, int value)
289295
{
290296
size_t idx = pwm_pin_index(pinNumber);
291297

292-
if (!pwm_is_ready_dt(&arduino_pwm[idx])) {
298+
if (idx >= ARRAY_SIZE(arduino_pwm)) {
293299
return;
294300
}
295301

296-
if (idx >= ARRAY_SIZE(arduino_pwm) ) {
302+
if (!pwm_is_ready_dt(&arduino_pwm[idx])) {
297303
return;
298304
}
299305

@@ -423,8 +429,6 @@ long random(long max) {
423429

424430
#endif
425431

426-
#ifdef CONFIG_GPIO_GET_DIRECTION
427-
428432
unsigned long pulseIn(pin_size_t pinNumber, uint8_t state, unsigned long timeout) {
429433
struct k_timer timer;
430434
int64_t start, end, delta = 0;
@@ -437,10 +441,6 @@ unsigned long pulseIn(pin_size_t pinNumber, uint8_t state, unsigned long timeout
437441
goto cleanup;
438442
}
439443

440-
if (!gpio_pin_is_input_dt(spec)) {
441-
goto cleanup;
442-
}
443-
444444
while(gpio_pin_get_dt(spec) == state && k_timer_status_get(&timer) == 0);
445445
if (k_timer_status_get(&timer) > 0) {
446446
goto cleanup;
@@ -465,8 +465,6 @@ unsigned long pulseIn(pin_size_t pinNumber, uint8_t state, unsigned long timeout
465465
return (unsigned long)delta;
466466
}
467467

468-
#endif // CONFIG_GPIO_GET_DIRECTION
469-
470468
void enableInterrupt(pin_size_t pinNumber) {
471469
struct gpio_port_callback *pcb = find_gpio_port_callback(arduino_pins[pinNumber].port);
472470

0 commit comments

Comments
 (0)