Skip to content
Snippets Groups Projects
  1. Nov 10, 2024
    • Jakub Vaněk's avatar
      Work around race condition when EV3 sensors are being reset · 4afe94d0
      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.
      Verified
      4afe94d0
  2. Nov 09, 2024
  3. Nov 06, 2024
  4. Nov 05, 2024
  5. Nov 03, 2024
  6. Nov 02, 2024
  7. Oct 25, 2024
  8. Oct 22, 2024
  9. Oct 18, 2024
  10. Oct 17, 2024
  11. Oct 15, 2024
Loading