@@ -257,27 +257,33 @@ void noTone(pin_size_t pinNumber) {
257
257
gpio_pin_set_dt (&arduino_pins[pinNumber], 0 );
258
258
}
259
259
260
- void delay (unsigned long ms) { k_sleep (K_MSEC (ms)); }
260
+ void delay (unsigned long ms) {
261
+ k_sleep (K_MSEC (ms));
262
+ }
261
263
262
- void delayMicroseconds (unsigned int us) { k_sleep (K_USEC (us)); }
264
+ void delayMicroseconds (unsigned int us) {
265
+ k_busy_wait (us);
266
+ }
263
267
264
268
unsigned long micros (void ) {
265
269
return k_cyc_to_us_floor32 (k_cycle_get_32 ());
266
270
}
267
271
268
- unsigned long millis (void ) { return k_uptime_get_32 (); }
272
+ unsigned long millis (void ) {
273
+ return k_uptime_get_32 ();
274
+ }
269
275
270
276
#ifdef CONFIG_PWM
271
277
272
278
void analogWrite (pin_size_t pinNumber, int value)
273
279
{
274
280
size_t idx = pwm_pin_index (pinNumber);
275
281
276
- if (! pwm_is_ready_dt (& arduino_pwm[idx] )) {
282
+ if (idx >= ARRAY_SIZE ( arduino_pwm)) {
277
283
return ;
278
284
}
279
285
280
- if (idx >= ARRAY_SIZE ( arduino_pwm) ) {
286
+ if (! pwm_is_ready_dt (& arduino_pwm[idx]) ) {
281
287
return ;
282
288
}
283
289
@@ -407,8 +413,6 @@ long random(long max) {
407
413
408
414
#endif
409
415
410
- #ifdef CONFIG_GPIO_GET_DIRECTION
411
-
412
416
unsigned long pulseIn (pin_size_t pinNumber, uint8_t state, unsigned long timeout) {
413
417
struct k_timer timer;
414
418
int64_t start, end, delta = 0 ;
@@ -421,10 +425,6 @@ unsigned long pulseIn(pin_size_t pinNumber, uint8_t state, unsigned long timeout
421
425
goto cleanup;
422
426
}
423
427
424
- if (!gpio_pin_is_input_dt (spec)) {
425
- goto cleanup;
426
- }
427
-
428
428
while (gpio_pin_get_dt (spec) == state && k_timer_status_get (&timer) == 0 );
429
429
if (k_timer_status_get (&timer) > 0 ) {
430
430
goto cleanup;
@@ -449,8 +449,6 @@ unsigned long pulseIn(pin_size_t pinNumber, uint8_t state, unsigned long timeout
449
449
return (unsigned long )delta;
450
450
}
451
451
452
- #endif // CONFIG_GPIO_GET_DIRECTION
453
-
454
452
void enableInterrupt (pin_size_t pinNumber) {
455
453
struct gpio_port_callback *pcb = find_gpio_port_callback (arduino_pins[pinNumber].port );
456
454
0 commit comments