UveosOnNation_VEGA_DataRuntime/DeviceDataRuntime.c

52 lines
1.9 KiB
C

//
// Created by xemon on 19.12.22.
//
#include "DeviceDataRuntime.h"
#include "FirmwareMetadataSection.h"
void DeviceDataRuntime_InitDefaults(tDeviceDataRuntime *env) {
env->enableGnssUpdate = true;
env->disallowWrite = 0;
#ifdef UVEOS_ADD_TELEMATICA
env->EGTS_FLEET_ON = false;
#endif
}
#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, VARIABLES_GROUP)
#define ADD_VAR_STR_OBJ(TYPE, NAME, VALUE) ADD_VAR_SIZE(TYPE, NAME, &(VALUE).data, &(VALUE).length,VARIABLES_GROUP)
// Добавление переменных в таблицу
void DeviceDataRuntime_AddToVarTab(
tDeviceDataRuntime *env,
tVariablesTable *variablesTable,
uint32_t VARIABLES_GROUP
) {
ADD_VAR(BOOL, ENABLE_GNSS_UPDATE, &env->enableGnssUpdate);
ADD_VAR(BOOL, EGTS_FLEET_ON, &env->EGTS_FLEET_ON);
ADD_VAR_SIZE(STRING, DEV_VERSION, (void *) META_FW_NAME, (void *) &META_FW_NAME_SIZE, VARIABLES_GROUP);
VariablesTable_GetLast(variablesTable)->writeAttempts = &env->disallowWrite;
#ifdef UVEOS_ADD_TELEMATICA
// ADD_VAR(BOOL, EGTS_FLEET_ON, &env->EGTS_FLEET_ON);
#endif
}
#undef ADD_VAR_SIZE
#undef ADD_VAR
#undef ADD_VAR_STR_OBJ