Skip to content
  • rahix's avatar
    feat(serial): Add serial_flush function · 86c8339e
    rahix authored
    
    
    serial_flush() allows flushing the serial buffer from anywhere in
    Epicardium.
    
    - When run from thread mode it will flush to UART, CDC-ACM and BLE.
      This is similar to what the serial task would do once it is
      rescheduled.
    - When run inside an exception handler, it will only flush to UART
      because CDC-ACM and BLE cannot be flushed from an ISR.  Note that
      characters flushed this way will never appear on the other outputs,
      even if the serial task is scheduled at some point afterwards.
    
    The main use of this function is to ensure output of messages even in
    cases of critical failures.
    
    Signed-off-by: default avatarRahix <rahix@rahix.de>
    86c8339e