Epicardium Error Management
There are a lot of sources for errors in Epicardium. Right now, most of them are handled by printing error messages, halting the respective task, or aborting everything. This is bad for a variety of reasons.
Instead, we need a central error management facility with the following features:
- Making the user aware of the error in a useful way. UART printfs are not enough as most people won't have a debugger connected anyway (Maybe displaying a warning symbol?)
- Dealing with errors of different severities in appropriate ways. This means providing ways to restart card10, or just certain subsystems (Especially looking at bluetooth here).
- Restarting the core 1 payload