Files
buzzer/firmware/include/utils.h
2026-03-07 08:51:50 +01:00

26 lines
955 B
C

#ifndef UTILS_H
#define UTILS_H
#include <zephyr/kernel.h>
enum RebootStatus {
REBOOT_STATUS_NORMAL = 0x00,
REBOOT_STATUS_FIRMWARE_UPDATE = 0xA1,
REBOOT_STATUS_FIRMWARE_CONFIRMED = 0xB2
};
/**
* @brief Reboots the controller with a specific status code.
* On reboot, you can read this status code in the bootloader to determine the reason for the reboot (e.g., normal restart, firmware update, error state).
* @param status_code A user-defined code indicating the reason for the reboot.
*/
void reboot_with_status(uint8_t status_code);
/**
* @brief Retrieves the reboot status code set before the last reboot.
* This can be used in the bootloader to determine why the device was rebooted and take appropriate actions (e.g., enter firmware update mode if the status indicates a failed update).
* @return The reboot status code set before the last reboot, or 0 if no status was set.
*/
uint8_t get_reboot_status();
#endif // UTILS_H