60 lines
2.4 KiB
C
60 lines
2.4 KiB
C
/**
|
|
* @file globals.h
|
|
*
|
|
* @brief Header file for global variables and enums in the ChainLube application.
|
|
*
|
|
* This file contains declarations for global variables and enums used in the ChainLube application.
|
|
* It includes enums for system status and EEPROM-related requests, as well as a struct for global variables.
|
|
* The file also defines a struct for constants and initializes it with firmware and required flash version information.
|
|
*
|
|
* @author Marcel Peterkau
|
|
* @date 09.01.2024
|
|
*/
|
|
|
|
#ifndef _GLOBALS_H_
|
|
#define _GLOBALS_H_
|
|
|
|
#include <Arduino.h>
|
|
#include "config.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 */
|
|
uint16_t purgePulses = 0; /**< Number of purge pulses */
|
|
EERequest_t requestEEAction = EE_IDLE;; /**< EEPROM-related request */
|
|
char DeviceName[33]; /**< Device name */
|
|
char FlashVersion[10]; /**< Flash version */
|
|
uint16_t eePersistanceAdress; /**< EEPROM persistence address */
|
|
uint8_t TankPercentage; /**< Tank percentage */
|
|
bool hasDTC; /**< Flag indicating the presence of Diagnostic Trouble Codes (DTC) */
|
|
bool measurementActive; /**< Flag indicating active measurement */
|
|
uint32_t measuredPulses; /**< Number of measured pulses */
|
|
} 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,4, // Firmware_Version
|
|
1,4, // Required Flash Version
|
|
GIT_REV // Git-Hash-String
|
|
};
|
|
|
|
/**
|
|
* @brief Initializes global variables.
|
|
*/
|
|
void initGlobals();
|
|
|
|
#endif // _GLOBALS_H_
|