UveosOnNation_VEGA_DataNonV.../DeviceDataNonVolatile_AddTo...

64 lines
2.9 KiB
C

//
// Created by xemon on 19.12.22.
//
#include "DeviceDataNonVolatilePrivate.h"
#include "UveosGostSettings_AddToVarsTab.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 DeviceDataNonVolatile_AddToVarTab(
tDeviceDataNonVolatile *env,
tVariablesTable *variablesTable,
uint32_t group
) {
//Uveos Gost Settings
UveosGostSettings_AddToVarsTab(&env->gost, variablesTable, group);
//Flip detection parameters
ADD_VAR(FLOAT32, FLIP_DETECT_GRAVITY_X, &env->flip.gravity.x);
ADD_VAR(FLOAT32, FLIP_DETECT_GRAVITY_Y, &env->flip.gravity.y);
ADD_VAR(FLOAT32, FLIP_DETECT_GRAVITY_Z, &env->flip.gravity.z);
ADD_VAR(BOOL, FLIP_DETECT_ENABLE, &env->flip.enabled);
ADD_VAR(FLOAT32, FLIP_DETECT_TRESHOLD_ANGLE_COS, &env->flip.thresholds.angleCos);
ADD_VAR(UINT32, FLIP_DETECT_TRESHOLD_ANTIFLIGHT, &env->flip.thresholds.antiFlightMs);
//Devices
ADD_VAR_STR_OBJ(STRING, DEVICE_ID, env->device.serialNumber.value);
VariablesTable_GetLast(variablesTable)->writeAttempts = &env->device.serialNumber.writeAccess;
ADD_VAR(BOOL, USE_INTERNAL_ANT, &env->device.useInternalAnt);
ADD_VAR(BOOL, USE_MUTE_POSITIVE, &env->device.useMutePositive);
ADD_VAR_STR_OBJ(STRING, SMS_CENTER, env->device.smsServiceCenter);
ADD_VAR_STR_OBJ(STRING, SOFTWARE_VERS, env->device.softVers);
VariablesTable_GetLast(variablesTable)->writeAttempts = &env->device.disallowWrite;
ADD_VAR_STR_OBJ(STRING, HARDWARE_VERS, env->device.hardVers);
VariablesTable_GetLast(variablesTable)->writeAttempts = &env->device.disallowWrite;
ADD_VAR_STR_OBJ(STRING, GSM_CCID, env->device.ccid);
VariablesTable_GetLast(variablesTable)->writeAttempts = &env->device.disallowWrite;
ADD_VAR_STR_OBJ(STRING, GSM_CGSN, env->device.cgsmid);
VariablesTable_GetLast(variablesTable)->writeAttempts = &env->device.disallowWrite;
ADD_VAR_STR_OBJ(STRING, CODEC_CONF, env->device.codecConf);
}
#undef ADD_VAR_SIZE
#undef ADD_VAR
#undef ADD_VAR_STR_OBJ