Skip to content
Snippets Groups Projects
Jakub Vaněk's avatar
Jakub Vaněk authored
This works around an unexpected crash that would happen when you run the
following code:

```
cs = <EV3 color sensor instance>
# start sensor reset
cs.start_reset()
# wait for sensor reset and return new reading
cs.reflection()
```

The cs.reflection() call would raise SensorNotReadyError with the
message "Sensor has been unplugged". However, ideally, the call should
block up to 3 seconds until the sensor has rebooted.

It seems to me that the problem is caused by the fact that immediately
after cs.start_reset() is called, cs.is_ready() will still return true.
This confuses the waiting loop in read_raw_mode() - it will think that
the sensor has unexpectedly disappeared a ~millisecond later.

This commit fixes the issue by checking for the reset condition
in the is_ready() and similar functions.
4afe94d0
History
Name Last commit Last update