Skip to content
Snippets Groups Projects
Commit 52ffc785 authored by Václav Jelínek's avatar Václav Jelínek
Browse files

Reduce wait time after changing sensor mode for ev3-like sensors

parent de1a8c0e
No related branches found
No related tags found
No related merge requests found
Pipeline #103058 passed
......@@ -5,7 +5,7 @@
#include "ev3_sensor.h"
#define COMMAND_SIZE_LIMIT 16
#define SENSOR_SWITCH_DELAY 100
#define SENSOR_SWITCH_DELAY 1
#define SENSOR_SWITCH_MAX_ATTEMPTS 20
#define DEFAULT_WAIT_TIMEOUT_MS 3000
#define DISABLE_ID_CHECKS (-2) // -1 is returned from ev3_sensor_identify() when no sensor is present
......@@ -205,11 +205,11 @@ STATIC mp_obj_t ev3_api_read_mode(mp_obj_t self_in, mp_obj_t mode_in) {
break;
}
if (ev3_sensor_is_connected(&self->impl)) {
(void) ev3_sensor_set_mode(&self->impl, mode); // ignore: even if wq is full, in 100ms it shouldn't be
mp_hal_delay_ms(SENSOR_SWITCH_DELAY);
(void) ev3_sensor_set_mode(&self->impl, mode); // ignore: even if wq is full, try 1 ms later again to reduce wait time
} else {
mp_raise_msg(&mp_type_SensorNotReadyError, "Sensor has been unplugged");
}
mp_hal_delay_ms(SENSOR_SWITCH_DELAY);
}
if (!done) {
mp_raise_msg(&mp_type_SensorNotReadyError, "Sensor mode switch timed out");
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment