Issue #18: Implement writing and reading boot status structure from backup RAM

This commit is contained in:
2020-09-05 16:32:31 +02:00
parent 7434554319
commit 3df0631ffc
3 changed files with 59 additions and 5 deletions

View File

@@ -51,7 +51,8 @@ struct safety_memory_header {
struct safety_memory_boot_status {
uint32_t reboot_to_bootloader;
uint32_t code_updated;
uint32_t code_updated;
uint32_t reset_from_panic;
};
enum safety_memory_state {
@@ -67,7 +68,7 @@ enum safety_memory_error_entry_type {
struct error_memory_entry {
enum safety_memory_error_entry_type type;
uint16_t flag_num;
uint8_t flag_num;
};
enum config_override_entry_type {
@@ -79,11 +80,11 @@ struct config_override {
enum config_override_entry_type type;
union {
struct {
uint16_t flag;
uint8_t flag;
uint8_t weight;
} weight_override;
struct {
uint16_t flag;
uint8_t flag;
uint8_t persistance;
} persistance_override;
} entry;
@@ -95,6 +96,8 @@ int safety_memory_reinit(enum safety_memory_state *found_state);
int safety_memory_get_boot_status(struct safety_memory_boot_status *status);
int safety_memory_set_boot_status(const struct safety_memory_boot_status *status);
int safety_memory_get_error_entry_count(uint32_t *count);
int safety_memory_check(void);