SMART_COMPONENTS_DataRuntime/DataRuntime.c

49 lines
2.0 KiB
C

//
// Created by xemon on 19.12.22.
//
#include "DataRuntime.h"
//#include "FirmwareMetadataSection.h"
#include "FirmwareUveosMetadataSection.h"
void DeviceDataRuntime_InitDefaults(tDeviceDataRuntime *env) {
env->enableGnssUpdate = true;
env->EGTS_FLEET_ON = false;
env->disallowWrite = 0;
env->telematicaServerIsActive = false;
env->telematicaCloseConnect = false;
env->telematicaWaitConnect = false;
}
#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(BOOL, TELEMATICA_SERVER_IS_ACTIVE, &env->telematicaServerIsActive);
ADD_VAR_SIZE(STRING, DEV_VERSION, (void *) META_FW_NAME, (void *) &META_FW_NAME_SIZE, VARIABLES_GROUP);
VariablesTable_GetLast(variablesTable)->writeAttempts = &env->disallowWrite;
}
#undef ADD_VAR_SIZE
#undef ADD_VAR
#undef ADD_VAR_STR_OBJ