mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2024-12-10 18:24:11 +01:00
f886af186d
After 3 failed warm start attempts, the init sequence will force the RAM version of the HWSettings object to its defaults. This should allow a user to regain connectivity to a board that is continually faulting during init. This is accomplished by: - Incrementing a boot counter that is stored in the STM32 BKP registers. These registers survive a warm start but are cleared on a cold start (ie. powerup). - On multiple failures, force hwsettings to defaults and raise the (new) BootFault alarm to prevent arming. - Resetting the boot counter whenever the system manages to successfully run the System Module task. NOTE: This does not actually change the hwsettings object in flash. That's up to the user. This is intended to catch ONLY faults during early initialization. It should not be used to recover from faults after the application is up and running.
12 lines
809 B
XML
12 lines
809 B
XML
<xml>
|
|
<object name="SystemAlarms" singleinstance="true" settings="false">
|
|
<description>Alarms from OpenPilot to indicate failure conditions or warnings. Set by various modules.</description>
|
|
<field name="Alarm" units="" type="enum" options="Uninitialised,OK,Warning,Error,Critical"
|
|
elementnames="OutOfMemory,StackOverflow,CPUOverload,EventSystem,SDCard,Telemetry,ManualControl,Actuator,Attitude,Stabilization,Guidance,AHRSComms,Battery,FlightTime,I2C,GPS,BootFault" defaultvalue="Uninitialised"/>
|
|
<access gcs="readwrite" flight="readwrite"/>
|
|
<telemetrygcs acked="true" updatemode="onchange" period="0"/>
|
|
<telemetryflight acked="true" updatemode="onchange" period="0"/>
|
|
<logging updatemode="periodic" period="1000"/>
|
|
</object>
|
|
</xml>
|