Skip to content
Snippets Groups Projects
  1. Apr 03, 2020
  2. Feb 02, 2020
  3. Jan 24, 2020
  4. Jan 20, 2020
  5. Jan 04, 2020
  6. Jan 03, 2020
  7. Dec 31, 2019
  8. Dec 29, 2019
    • rahix's avatar
      fix(ws2812): Fix first write making the first pixel green · 6fec4e00
      rahix authored
      
      The first epic_ws2812_write() call will set the first pixel to 0x008000
      (bright green).  This is caused by the GPIO line being pulled down on
      mode-setting (epic_gpio_set_pin_mode).  Wait before writing the values
      to reset the bus and thus properly set the pixels to the correct colors
      on first write.
      
      Signed-off-by: default avatarRahix <rahix@rahix.de>
      6fec4e00
    • rahix's avatar
      fix(bhi160): Disable driver on critical error · 23b4a9ed
      rahix authored
      
      If initialization fails, bhi160 API calls should not infinitely block
      waiting for it to complete; they should fail immediately with an error
      stating that something went wrong.
      
      Add a flag that indicates the driver to not accept API requests because
      initialization was not finished properly.
      
      Signed-off-by: default avatarRahix <rahix@rahix.de>
      23b4a9ed
  9. Dec 28, 2019
  10. Dec 26, 2019
  11. Dec 22, 2019
    • rahix's avatar
      chore(max30001): Port to new mutex and hw-lock APIs · 6da4644e
      rahix authored
      
      Using a FreeRTOS mutex directly is deprecated.  Replace it with a
      `struct mutex`.  Similarly, the deprecated `hwlock_acquire_timeout()`
      is replaced with `hwlock_acquire()`.
      
      Signed-off-by: default avatarRahix <rahix@rahix.de>
      6da4644e
    • rahix's avatar
      feat(hw-locks): Introduce new hw-lock API · 605d5e56
      rahix authored
      
      Re-add a `hwlock_acquire()` method, but this time without a timeout
      parameter.  From a functional point of view, this is just a wrapper
      around `mutex_lock()`.
      
      Additionally, add `hwlock_acquire_nonblock()` which behaves like
      `mutex_trylock()`.
      
      Signed-off-by: default avatarRahix <rahix@rahix.de>
      605d5e56
    • rahix's avatar
      chore(hw-locks): Rename to hwlock_acquire_timeout · 610a3048
      rahix authored
      
      Rename hwlock_acquire() to hwlock_acquire_timeout() in preparation for
      future changes to the hw-lock API.  Change all uses of the hw-lock API
      to reflect this change.
      
      This commit does not introduce any functional changes, except getting
      rid of the timeout usage warnings.  This change is no-op, because the
      hwlock_acquire() implementation already replaces any non-zero timeout
      value with portMAX_DELAY.
      
      Signed-off-by: default avatarRahix <rahix@rahix.de>
      610a3048
    • rahix's avatar
      feat(hw-locks): hwlock_release() should return void · 18202736
      rahix authored
      
      With the switch to the new mutex API, hwlock_release() cannot fail under
      any circumstances.  To emphasize this, make it return void instead of
      int (Previously it just always returned 0).
      
      Signed-off-by: default avatarRahix <rahix@rahix.de>
      18202736
    • rahix's avatar
      feat(hw-locks): Switch to new mutex API · d93c7f00
      rahix authored
      
      Reimplement the hw-lock module to use the new mutex API.  This slightly
      changes the semantics of locking a hw-lock as the new mutex API does not
      allow timeouts.  When a hwlock_acquire() with a (non-infinite) timeout
      is attempted, a warning is printed to the serial console.
      
      Additionally, instead of returning -EINVAL on use of a non-existent
      hardware lock, the new implementation triggers a firmware panic.
      
      Signed-off-by: default avatarRahix <rahix@rahix.de>
      d93c7f00
  12. Dec 10, 2019
  13. Dec 06, 2019
  14. Dec 05, 2019
  15. Nov 25, 2019
Loading