Skip to content
Snippets Groups Projects
Select Git revision
  • master
  • hauke/ble-cleanups
  • genofire/leds_rgb_get_state
  • genofire/rockets-state
  • plaetzchen/ios-workaround
  • schneider/max30001-pycardium
  • schneider/max30001-epicaridum
  • schneider/max30001
  • schneider/stream-locks
  • ios-workarounds
  • schneider/fundamental-test
  • schneider/ble-buffers
  • schneider/maxim-sdk-update
  • rahix/simple_menu
  • ch3/splashscreen
  • koalo/bhi160-works-but-dirty
  • koalo/wip/i2c-for-python
  • renze/safe_mode
  • renze/hatchery_apps
  • koalo/factory-reset
  • v1.6
  • v1.5
  • v1.4
  • v1.3
  • v1.2
  • v1.1
  • v1.0
  • release-1
  • bootloader-v1
  • v0.0
30 results

epicardium

  • Clone with SSH
  • Clone with HTTPS
  • Forked from card10 / firmware
    1038 commits behind, 1 commit ahead of the upstream repository.
    Rahix's avatar
    rahix authored
    Sometimes during initialization, one `log_msg()` intercepts another one,
    leading to a whole lot of weird issues in other modules (like I2C).  I
    suspect this to be memory corruption of some kind.  The issues can be
    fixed by performing serial prints in a critical section, thus ensuring
    atomicity of prints.  Note that this does not mean log messages will not
    interleave.
    
    The CDC-ACM and BLE-Serial writes cannot be put into a critical section
    and are thus a point where this code can still fail.  For now, however,
    this fix ensures the race-conditions during startup, where USB and BLE
    are not yet running, don't happen anymore.
    
    Signed-off-by: default avatarRahix <rahix@rahix.de>
    32681478
    History