54 lines
2.7 KiB
C
54 lines
2.7 KiB
C
//
|
|
// Created by villuton on 16.09.2025.
|
|
//
|
|
#include "DataFlashPrivate.h"
|
|
|
|
#define ADD_VAR_SIZE(TYPE, NAME, VALUE, LEN, GROUP) \
|
|
VariablesTableAdd( \
|
|
variablesTable, \
|
|
#NAME, \
|
|
sizeof (#NAME)-1, \
|
|
VARIABLE_TYPE_##TYPE, \
|
|
(VALUE), \
|
|
(LEN), \
|
|
0, \
|
|
GROUP \
|
|
)
|
|
|
|
#define ADD_VAR(TYPE, NAME, VALUE) ADD_VAR_SIZE(TYPE, NAME, VALUE, 0, group)
|
|
#define ADD_VAR_STR_OBJ(TYPE, NAME, VALUE) ADD_VAR_SIZE(TYPE, NAME, &(VALUE).data, &(VALUE).length,group)
|
|
|
|
// Добавление переменных в таблицу
|
|
void DataFlash_AddToVarTab(
|
|
tDeviceDataNonVolatile *env,
|
|
tVariablesTable *variablesTable,
|
|
uint32_t group
|
|
) {
|
|
//Devices
|
|
ADD_VAR_STR_OBJ(STRING, DEVICE_ID, env->device.serialNumber.value);
|
|
VariablesTable_GetLast(variablesTable)->writeAttempts = &env->device.serialNumber.writeAccess;
|
|
|
|
ADD_VAR(FLOAT32, VOLTAGE_REFERENCE, &env->device.vReference);
|
|
ADD_VAR(FLOAT32, DEVIDER_RATIO, &env->device.dividerRatio);
|
|
ADD_VAR(FLOAT32, VOLTAGE_BAT_CONNECT, &env->device.voltageBatteryConnectThreshold);
|
|
ADD_VAR(FLOAT32, VOLTAGE_BAT_LOADED, &env->device.voltageBatteryLoadedThreshold);
|
|
|
|
ADD_VAR(FLOAT32, CALIBRAION_FACTOR_CH1, &env->device.chanelCalibrationFactor[CHRG_Ch1]);
|
|
ADD_VAR(FLOAT32, CALIBRAION_FACTOR_CH2, &env->device.chanelCalibrationFactor[CHRG_Ch2]);
|
|
ADD_VAR(FLOAT32, CALIBRAION_FACTOR_CH3, &env->device.chanelCalibrationFactor[CHRG_Ch3]);
|
|
ADD_VAR(FLOAT32, CALIBRAION_FACTOR_CH4, &env->device.chanelCalibrationFactor[CHRG_Ch4]);
|
|
ADD_VAR(FLOAT32, CALIBRAION_FACTOR_CH5, &env->device.chanelCalibrationFactor[CHRG_Ch5]);
|
|
ADD_VAR(FLOAT32, CALIBRAION_FACTOR_CH6, &env->device.chanelCalibrationFactor[CHRG_Ch6]);
|
|
ADD_VAR(FLOAT32, CALIBRAION_FACTOR_CH7, &env->device.chanelCalibrationFactor[CHRG_Ch7]);
|
|
ADD_VAR(FLOAT32, CALIBRAION_FACTOR_CH8, &env->device.chanelCalibrationFactor[CHRG_Ch8]);
|
|
ADD_VAR(FLOAT32, CALIBRAION_FACTOR_CH9, &env->device.chanelCalibrationFactor[CHRG_Ch9]);
|
|
ADD_VAR(FLOAT32, CALIBRAION_FACTOR_CH10, &env->device.chanelCalibrationFactor[CHRG_Ch10]);
|
|
|
|
}
|
|
|
|
|
|
|
|
#undef ADD_VAR_SIZE
|
|
#undef ADD_VAR
|
|
#undef ADD_VAR_STR_OBJ
|