// // Created by villuton on 16.09.2025. // #ifndef CHARGER_DATAFLASH_H #define CHARGER_DATAFLASH_H #include "ChargerConfig.h" #include #include "BaseTypes/Strings.h" #define DEVICE_DATA_NO_VOLATILE_VERSION 0x10 typedef struct { struct { tString16 value; uint16_t writeAccess; } serialNumber; /// Значение напряжения, подаваемого на вход АКБ в момент калибровки канала float vReference; /// Массив калибровочных коэффициентов ждя расчета напряжения на канале float chanelCalibrationFactor[STORAGE_CALIB_CHANEL_NUM]; /// Коэффициент соотношения делителя напряжения, /// в случае, если калибровочного значения для канала нет, расчет ведется по нему float dividerRatio; /// Порог напряжения, при котором мы считаем, что аккумулятор отключен float voltageBatteryConnectThreshold; /// Порог напряжения, при котором мы считаем, что аккумулятор заряжен float voltageBatteryLoadedThreshold; } tDeviceSettings; typedef struct { uint32_t version; tDeviceSettings device; } tDeviceDataNonVolatile; void DeviceDataNonVolatile_InitDefaults(tDeviceDataNonVolatile *env); void DataFlash_AddToVarTab( tDeviceDataNonVolatile *env, tVariablesTable *variablesTable, uint32_t group ); #endif //CHARGER_DATAFLASH_H