UveosOnNation_VEGA_DataNonV.../DeviceDataNonVolatile_AddTo...

102 lines
5.6 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//
// 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);
#ifdef UVEOS_ADD_TELEMATICA
//Telematic
ADD_VAR_STR_OBJ(STRING, EGTS_PROFILE_SIM_ERA, env->deviceTeledataStorageData.telematica.EGTS_PROFILE_SIM_ERA);
ADD_VAR_STR_OBJ(STRING, EGTS_PROFILE_SIM_INTERNET, env->deviceTeledataStorageData.telematica.EGTS_PROFILE_SIM_INTERNET);
// Адрес:порт сервера №1
ADD_VAR_STR_OBJ(STRING, EGTS_SERVER_ADDRESS, env->deviceTeledataStorageData.telematica.EGTS_SERVER_ADDRESS);
ADD_VAR_STR_OBJ(STRING, EGTS_GPRS_APN, env->deviceTeledataStorageData.telematica.EGTS_GPRS_APN);
// Включение телематики
ADD_VAR(BOOL, TELEMATICA_IS_ACTIVE, &env->deviceTeledataStorageData.telematica.telematicaIsActive);
// идентификационный номер терминала
ADD_VAR(UINT32, EGTS_UNIT_ID, &env->deviceTeledataStorageData.telematica.EGTS_UNIT_ID);
// Время между попытками установить соединение с сервером (сек)
ADD_VAR(UINT32, EGTS_SERVER_CHECK_IN_PERIOD, &env->deviceTeledataStorageData.telematica.EGTS_SERVER_CHECK_IN_PERIOD);
// Количество попыток соединения с сервером
ADD_VAR(UINT32, EGTS_SERVER_CHECK_IN_ATTEMPTS, &env->deviceTeledataStorageData.telematica.EGTS_SERVER_CHECK_IN_ATTEMPTS);
// Время ожидания ответа от сервера (сек)
ADD_VAR(UINT32, EGTS_SERVER_PACKET_TOUT, &env->deviceTeledataStorageData.telematica.EGTS_SERVER_PACKET_TOUT);
// Количество попыток отправки неподтвержденного пакета на сервер
ADD_VAR(UINT32, EGTS_SERVER_PACKET_RETRANSMIT_ATTEMPTS,
&env->deviceTeledataStorageData.telematica.EGTS_SERVER_PACKET_RETRANSMIT_ATTEMPTS);
// Таймер передачи данных при включенном зажигании (сек)
ADD_VAR(UINT32, EGTS_FLEET_IGN_ON_PERIOD, &env->deviceTeledataStorageData.telematica.EGTS_FLEET_IGN_ON_PERIOD);
// Таймер передачи данных при выключенном зажигании (сек)
ADD_VAR(UINT32, EGTS_FLEET_IGN_OFF_PERIOD, &env->deviceTeledataStorageData.telematica.EGTS_FLEET_IGN_OFF_PERIOD);
// Таймер передачи данных при экстренном слежении (сек)
ADD_VAR(UINT32, EGTS_FLEET_EM_MON_PERIOD, &env->deviceTeledataStorageData.telematica.EGTS_FLEET_EM_MON_PERIOD);
// Изменение курсового угла после которого нужно послать данные (градусы)
ADD_VAR(UINT32, EGTS_FLEET_COURSE_THRESHOLD, &env->deviceTeledataStorageData.telematica.EGTS_FLEET_COURSE_THRESHOLD);
#endif
}
#undef ADD_VAR_SIZE
#undef ADD_VAR
#undef ADD_VAR_STR_OBJ