#ifndef _GLOBALS_H_ #define _GLOBALS_H_ #include #include "eeprom.h" #include "common.h" typedef struct Globals_s { tSystem_Status systemStatus = sysStat_Startup; /**< Current system status */ tSystem_Status resumeStatus = sysStat_Startup; /**< Status to resume after rain mode */ char systemStatustxt[16] = ""; /**< Text representation of system status */ EERequest_t requestEEAction = EE_IDLE; /**< EEPROM-related request */ char DeviceName[33]; /**< Device name */ char FlashVersion[10]; /**< Flash version */ uint16_t eePersistanceAdress; /**< EEPROM persistence address */ bool hasDTC; int loadvoltage_mV = 0; int battery_level = 0; bool timer_disabled = false; } Globals_t; extern Globals_t globals; /**< Global variable struct */ typedef struct Constants_s { uint8_t FW_Version_major; /**< Firmware version major number */ uint8_t FW_Version_minor; /**< Firmware version minor number */ uint8_t Required_Flash_Version_major; /**< Required flash version major number */ uint8_t Required_Flash_Version_minor; /**< Required flash version minor number */ char GitHash[11]; /**< Git hash string */ } Constants_t; const Constants_t constants PROGMEM = { 1, 5, // Firmware_Version 1, 5, // Required Flash Version GIT_REV // Git-Hash-String }; /** * @brief Initializes global variables. */ void initGlobals(); #endif // _GLOBALS_H_