@@ -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
280284unsigned 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
288294void 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-
428432unsigned 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-
470468void enableInterrupt (pin_size_t pinNumber) {
471469 struct gpio_port_callback *pcb = find_gpio_port_callback (arduino_pins[pinNumber].port );
472470
0 commit comments