SMART_COMPONENTS_DataStorag.../DataStorage.c

315 lines
27 KiB
C
Raw Permalink 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 cfif on 20.06.2024.
//
#include "DataStorage.h"
#include "Certs.h"
#include "EgtsProcessing.h"
#include "Certs.h"
#include "ComIntCmd/XFCPROT_FILE.h"
#include "ld_adr.h"
extern tFirmwareLoader FIRMWARE_TELE_LOADER;
#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)
#define ADD_VAR_WITH_ID_SIZE(TYPE, NAME, VALUE, LEN, ID, LIMIT, GROUP) \
VariablesTableWithIdAdd( \
variablesTable, \
#NAME, \
sizeof (#NAME)-1, \
VARIABLE_TYPE_##TYPE, \
(VALUE), \
(LEN), \
(ID), \
(LIMIT), \
0, \
GROUP \
)
#define ADD_WITH_ID_VAR(TYPE, NAME, VALUE, ID) ADD_VAR_WITH_ID_SIZE(TYPE, NAME, VALUE, 0, ID, 0, group)
#define ADD_WITH_ID_VAR_STR_OBJ(TYPE, NAME, VALUE, ID, LIMIT) ADD_VAR_WITH_ID_SIZE(TYPE, NAME, &(VALUE).data, &(VALUE).length, ID, LIMIT, group)
void DataStorage_AddToVarTab(
tDeviceTeledataStorageData *env,
tVariablesTable *variablesTable,
uint32_t group
) {
// Сервер обновления УВЭОС
ADD_VAR_STR_OBJ(STRING, UPDATE_SERVER_ADDRESS, env->telematica.UPDATE_SERVER_ADDRESS);
// Количество попыток соединения с сервером обновления УВЭОС
ADD_VAR(UINT32, UPDATE_SERVER_CHECK_IN_PERIOD, &env->telematica.UPDATE_SERVER_CHECK_IN_PERIOD);
// Время между попытками установить соединение с сервером обновления УВЭОС (сек)
ADD_VAR(UINT32, UPDATE_SERVER_CHECK_IN_ATTEMPTS, &env->telematica.UPDATE_SERVER_CHECK_IN_ATTEMPTS);
ADD_VAR(BOOL, UPDATE_UVEOS_UPDATE, &env->telematica.UPDATE_UVEOS_UPDATE);
memcpy(env->telematica.EGTS_TELE_VERS.data, (void *) FIRMWARE_TELE_LOADER.main.metadata.name, *FIRMWARE_TELE_LOADER.main.metadata.nameLength);
env->telematica.EGTS_TELE_VERS.length = *FIRMWARE_TELE_LOADER.main.metadata.nameLength;
ADD_VAR_STR_OBJ(STRING, EGTS_SOFTWARE_TELE_VERS, env->telematica.EGTS_TELE_VERS);
VariablesTable_GetLast(variablesTable)->writeAttempts = &env->disallowWrite;
// Скорость CAN1 (бит/сек)
ADD_WITH_ID_VAR(UINT32, EGTS_UNIT_CAN1_BAUD_RATE, &env->telematica.EGTS_UNIT_CAN1_BAUD_RATE, 0x050E);
// Скорость CAN2 (бит/сек)
ADD_WITH_ID_VAR(UINT32, EGTS_UNIT_CAN2_BAUD_RATE, &env->telematica.EGTS_UNIT_CAN2_BAUD_RATE, 0x0510);
// Адрес:порт сервера №1
ADD_WITH_ID_VAR_STR_OBJ(STRING, EGTS_SERVER_ADDRESS, env->telematica.EGTS_SERVER_ADDRESS, 0x0204, 32);
// Включение поддержки SSL
ADD_WITH_ID_VAR(BOOL, EGTS_SERVER_SSL_ENABLE, &env->telematica.EGTS_SERVER_SSL_ENABLE, 0xFAD0);
// Адрес:порт сервера №2
ADD_WITH_ID_VAR_STR_OBJ(STRING, EGTS_ALT_SERVER_ADDRESS, env->telematica.EGTS_ALT_SERVER_ADDRESS,
0x0501, 32);
// APN
ADD_WITH_ID_VAR_STR_OBJ(STRING, EGTS_GPRS_APN, env->telematica.EGTS_GPRS_APN, 0x0203, 32);
// APN USER
ADD_WITH_ID_VAR_STR_OBJ(STRING, EGTS_GPRS_USER, env->telematica.EGTS_GPRS_USER, 0x051A, 32);
// APN PASS
ADD_WITH_ID_VAR_STR_OBJ(STRING, EGTS_GPRS_PASS, env->telematica.EGTS_GPRS_PASS, 0x051B, 32);
// идентификационный номер терминала
ADD_WITH_ID_VAR(UINT32, EGTS_UNIT_ID, &env->telematica.EGTS_UNIT_ID, 0x0404);
// Время ожидания загрузки обновления
// ADD_WITH_ID_VAR(UINT32, EGTS_TIME_WAIT_FIRMWARE, &env->telematica.EGTS_TIME_WAIT_FIRMWARE, 0xFAD1);
// Состояние последнего удаленного включения телематики
ADD_VAR(BOOL, EGTS_SERVER_ENABLE_TELEMATICA, &env->telematica.EGTS_SERVER_ENABLE_TELEMATICA);
// Время между попытками установить соединение с сервером (сек)
ADD_WITH_ID_VAR(UINT32, EGTS_SERVER_CHECK_IN_PERIOD, &env->telematica.EGTS_SERVER_CHECK_IN_PERIOD, 0x0413);
// Количество попыток соединения с сервером
ADD_WITH_ID_VAR(UINT32, EGTS_SERVER_CHECK_IN_ATTEMPTS, &env->telematica.EGTS_SERVER_CHECK_IN_ATTEMPTS, 0x0414);
// Время ожидания ответа от сервера (сек)
ADD_WITH_ID_VAR(UINT32, EGTS_SERVER_PACKET_TOUT, &env->telematica.EGTS_SERVER_PACKET_TOUT, 0x0415);
// Количество попыток отправки неподтвержденного пакета на сервер
ADD_WITH_ID_VAR(UINT32, EGTS_SERVER_PACKET_RETRANSMIT_ATTEMPTS,
&env->telematica.EGTS_SERVER_PACKET_RETRANSMIT_ATTEMPTS, 0x0416);
// Таймер передачи данных при включенном зажигании (сек)
ADD_WITH_ID_VAR(UINT32, EGTS_FLEET_IGN_ON_PERIOD, &env->telematica.EGTS_FLEET_IGN_ON_PERIOD, 0x0262);
// Таймер передачи данных при выключенном зажигании (сек)
ADD_WITH_ID_VAR(UINT32, EGTS_FLEET_IGN_OFF_PERIOD, &env->telematica.EGTS_FLEET_IGN_OFF_PERIOD, 0x0263);
// Таймер передачи данных при экстренном слежении (сек)
ADD_WITH_ID_VAR(UINT32, EGTS_FLEET_EM_MON_PERIOD, &env->telematica.EGTS_FLEET_EM_MON_PERIOD, 0x026B);
// Изменение курсового угла после которого нужно послать данные (градусы)
ADD_WITH_ID_VAR(UINT32, EGTS_FLEET_COURSE_THRESHOLD, &env->telematica.EGTS_FLEET_COURSE_THRESHOLD, 0x0265);
// Скорость ниже которой не учитывается изменение курсового угла (км/ч)
ADD_WITH_ID_VAR(UINT32, EGTS_GNSS_COURSE_SPEED, &env->telematica.EGTS_GNSS_COURSE_SPEED, 0x0517);
// Изменение дистанции после которого нужно послать данные (100 метров)
ADD_WITH_ID_VAR(UINT32, EGTS_FLEET_DIST_THRESHOLD, &env->telematica.EGTS_FLEET_DIST_THRESHOLD, 0x0264);
// Вкл/Выкл функции диагностики ЭБУ автомобиля
ADD_WITH_ID_VAR(BOOL, EGTS_DIAG_UDS_ON, &env->telematica.EGTS_DIAG_UDS_ON, 0x0551);
//начало----НЕ РЕАЛИЗОВАНЫ------------------------------------------------------------------------------------------
ADD_WITH_ID_VAR(UINT32, EGTS_SIM_PIN, &env->telematica.EGTS_SIM_PIN, 0x0205); // 0x0205 Pin-код (SIM1) int32 0
ADD_WITH_ID_VAR(BOOL, EGTS_AUTOMATIC_REGISTRATION, &env->telematica.EGTS_AUTOMATIC_REGISTRATION, 0x0207); // 0x0207 Автоматическая регистрация в сети сотовой связи bool true
ADD_WITH_ID_VAR(UINT32, EGTS_FLEET_MIN_BATTERY_VOLTAGE, &env->telematica.EGTS_FLEET_MIN_BATTERY_VOLTAGE, 0x0268); // 0x0268 Напряжение внешней АКБ ниже которого прибор должен уходить в глубокий сон (0.1В) int32 123
ADD_WITH_ID_VAR(UINT32, EGTS_FLEET_POS_ACCEL_THRESHOLD, &env->telematica.EGTS_FLEET_POS_ACCEL_THRESHOLD, 0x0269); // 0x0269 Порог после которого ускорение считается резким (0.001g) int32 300
ADD_WITH_ID_VAR(UINT32, EGTS_FLEET_NEG_ACCEL_THRESHOLD, &env->telematica.EGTS_FLEET_NEG_ACCEL_THRESHOLD, 0x026A); // 0x026A Порог после которого торможение считается резким (0.001g) int32 300
ADD_WITH_ID_VAR(UINT32, EGTS_FLEET_NAVI_TRB_THRESHOLD, &env->telematica.EGTS_FLEET_NAVI_TRB_THRESHOLD, 0x026C); // 0x026C Порог частоты прерывания навигационного решения (1/час) int32 6
ADD_WITH_ID_VAR(UINT32, EGTS_FLEET_CONN_TRB_THRESHOLD, &env->telematica.EGTS_FLEET_CONN_TRB_THRESHOLD, 0x026D); // 0x026D Порог частоты прерывания соединения с сервером (1/час) int32 20
ADD_WITH_ID_VAR(UINT32, EGTS_FLEET_GSM_REG_TRB_THRESHOLD, &env->telematica.EGTS_FLEET_GSM_REG_TRB_THRESHOLD, 0x026E); // 0x026E Порог частоты прерывания наличия сотовой связи (1/час) int32 5
ADD_WITH_ID_VAR(UINT32, EGTS_GNSS_POWER_OFF_TIME, &env->telematica.EGTS_GNSS_POWER_OFF_TIME, 0x0301); // 0x0301 время после выключения зажигания через которое выключается ГНСС (миллисекунды) int32 5000
ADD_WITH_ID_VAR(UINT32, EGTS_GNSS_DATA_RATE, &env->telematica.EGTS_GNSS_DATA_RATE, 0x0302);; // 0x0302 Темп выдачи навигационного решения приемником (герц) int32 1
ADD_WITH_ID_VAR(UINT32, EGTS_GNSS_MIN_ELEVATION, &env->telematica.EGTS_GNSS_MIN_ELEVATION, 0x0303); // 0x0303 Минимальная высота возвышения используемых НКА (градусы) int32 5
ADD_WITH_ID_VAR(UINT32, EGTS_GNSS_MAX_ALTITUDE, &env->telematica.EGTS_GNSS_MAX_ALTITUDE, 0x0304); // 0x0304 Максимальная высота после которой навигационное решение является невалидным (метр) int32 1000
ADD_WITH_ID_VAR(UINT32, EGTS_UNIT_VENDOR_ID, &env->telematica.EGTS_UNIT_VENDOR_ID, 0x0403); // 0x0403 Идентификатор поставщика устройства int32 0
ADD_WITH_ID_VAR_STR_OBJ(STRING, EGTS_ALT_GPRS_APN, env->telematica.EGTS_ALT_GPRS_APN, 0x0500, 32); // 0x0500 APN (SIM2) String (32) internet
ADD_WITH_ID_VAR(UINT32, EGTS_ALT_SIM_PIN, &env->telematica.EGTS_ALT_SIM_PIN, 0x0502); // 0x0502 Pin-код (SIM2) int32 0
ADD_WITH_ID_VAR_STR_OBJ(STRING, EGTS_GPRS_USER, env->telematica.EGTS_GPRS_USER, 0x051A, 32); // 0x051A APN пользователь SIM1 String (16) gdata
ADD_WITH_ID_VAR_STR_OBJ(STRING, EGTS_GPRS_PASS, env->telematica.EGTS_GPRS_PASS, 0x051B, 32); // 0x051B APN пароль SIM1 String (16) gdata
ADD_WITH_ID_VAR_STR_OBJ(STRING, EGTS_ALT_GPRS_USER, env->telematica.EGTS_ALT_GPRS_USER, 0x051C, 32); // 0x051C APN пользователь SIM2 String (16) gdata
ADD_WITH_ID_VAR_STR_OBJ(STRING, EGTS_ALT_GPRS_PASS, env->telematica.EGTS_ALT_GPRS_PASS, 0x051D, 32); // 0x051D APN пароль SIM2 String (16) gdata
ADD_WITH_ID_VAR(UINT32, EGTS_SLEEP_TIME, &env->telematica.EGTS_SLEEP_TIME, 0x051E); // 0x051E время после снижения напряжения АКБ до заданного значения после которого устройство уходит в глубокий сон (миллисекунды) int32 60000
ADD_WITH_ID_VAR(BOOL, EGTS_GNSS_ERAG_ASSIST, &env->telematica.EGTS_GNSS_ERAG_ASSIST, 0x0559); // 0x0559 Вкл/вВыкл использования навигации от ЭРА-ГЛОНАСС bool true
ADD_WITH_ID_VAR_STR_OBJ(STRING, EGTS_MSISDN, env->telematica.EGTS_MSISDN, 0x0560, 32); // 0x0560 Номер телефона сим-карты String (15) 7999
ADD_WITH_ID_VAR(BOOL, EGTS_GPS_ON, &env->telematica.EGTS_GPS_ON, 0x0561); // 0x0561 Вкл/Выкл ГНСС-приемник bool true
ADD_WITH_ID_VAR(BOOL, EGTS_LOCATION_SHARE, &env->telematica.EGTS_LOCATION_SHARE, 0x0562); // 0x0562 Вкл/Выкл передачу координат на сервер bool true
ADD_WITH_ID_VAR(BOOL, EGTS_USB_ON, &env->telematica.EGTS_USB_ON, 0x0563); // 0x0563 Вкл/Выкл порт USB bool true
ADD_WITH_ID_VAR(UINT32, EGTS_DS_WAIT_AFTER_ENG_STOP, &env->telematica.EGTS_DS_WAIT_AFTER_ENG_STOP, 0x0564); // 0x0564 время после выключения зажигания после которого устройство уходит в глубокий сон (минуты) int32 2880
ADD_WITH_ID_VAR(UINT32, EGTS_DS_WAKE_UP_PERIOD, &env->telematica.EGTS_DS_WAKE_UP_PERIOD, 0x0565); // 0x0565 таймер просыпания в режиме глубокого сна (минуты) int32 1440
ADD_WITH_ID_VAR(UINT32, EGTS_DS_WAKE_UP_DURATION, &env->telematica.EGTS_DS_WAKE_UP_DURATION, 0x0566); // 0x0566 длительность просыпания в режиме глубокого сна (минуты) int32 5
ADD_WITH_ID_VAR(UINT32, EGTS_TIME_WAIT_LTE_CONNECT, &env->telematica.EGTS_TIME_WAIT_LTE_CONNECT, 0x0568); // 0x0568 длительность отсутствия связи для перехода в режим глубокого сна (минуты) int32 10
ADD_WITH_ID_VAR(UINT32, EGTS_TIME_SLEEP_LTE_NO_CONNECT, &env->telematica.EGTS_TIME_SLEEP_LTE_NO_CONNECT, 0x0569); // 0x0569 периодичность просыпания при уходе в глубокий сон из-за отсутствия связи (минуты) int32 360
ADD_WITH_ID_VAR(UINT32, EGTS_HIGH_BATTERY_VOLTAGE, &env->telematica.EGTS_HIGH_BATTERY_VOLTAGE, 0x0579); // 0x0579 Высокое напряжение при котором устройство выходит из глубокого сна (0.1В) int32 135
ADD_WITH_ID_VAR(UINT32, EGTS_DRV_SCORE_DIFF_SPD_UP, &env->telematica.EGTS_DRV_SCORE_DIFF_SPD_UP, 0x0585); // 0x0585 Разница в скорости для фиксирования быстрого разгона (км/ч) int32 15
ADD_WITH_ID_VAR(UINT32, EGTS_DRV_SCORE_DIFF_SPD_DOWN, &env->telematica.EGTS_DRV_SCORE_DIFF_SPD_DOWN, 0x0586); // 0x0586 Разница в скорости для фиксирования быстрого торможения (км/ч) int32 15
ADD_WITH_ID_VAR(UINT32, EGTS_DRV_SCORE_LETERAL_ACC, &env->telematica.EGTS_DRV_SCORE_LETERAL_ACC, 0x058A); // 0x058A Боковое ускорение фиксируемое как резкое (0.001g) int32 300
ADD_WITH_ID_VAR(UINT32, EGTS_DRV_SCORE_HIGH_SPEED, &env->telematica.EGTS_DRV_SCORE_HIGH_SPEED, 0x058B); // 0x058B Опасная скорость (км/ч) int32 130
ADD_WITH_ID_VAR(UINT32, EGTS_DRV_SCORE_ACC_CALC_TIME, &env->telematica.EGTS_DRV_SCORE_ACC_CALC_TIME, 0x0587); // 0x0587 Промежуток времени для подсчета продольных ускорений (секунды) int32 3
//конец-----НЕ РЕАЛИЗОВАНЫ------------------------------------------------------------------------------------------
}
void DeviceStorageInitTelematicaSettings(tDeviceSettingsTelematica *env) {
/*
String32CopyStatic(&env->EGTS_SERVER_ADDRESS, "shatl-t.ru:64329"); // Адрес:порт сервера №1
env->EGTS_SERVER_SSL_ENABLE = 1; // Включение поддержки SSL
String32CopyStatic(&env->EGTS_ALT_SERVER_ADDRESS, "sky.shatl-t.ru:33329"); // Адрес:порт сервера №2
String64CopyStatic(&env->EGTS_GPRS_APN, "internet.mts.ru"); // APN
env->EGTS_UNIT_ID = 3000; // идентификационный номер терминала
*/
String32CopyStatic(&env->EGTS_SERVER_ADDRESS, "uaz.shatl-t.ru:1112"); // Адрес:порт сервера №1
env->EGTS_SERVER_SSL_ENABLE = 1; // Включение поддержки SSL
String32CopyStatic(&env->EGTS_ALT_SERVER_ADDRESS, "uaz.shatl-t.ru:1111"); // Адрес:порт сервера №2
// String64CopyStatic(&env->EGTS_GPRS_APN, "internet.mts.ru"); // APN
String64CopyStatic(&env->EGTS_GPRS_APN, "m2m.mts.ru"); // APN
String32CopyStatic(&env->EGTS_GPRS_USER, "mts"); // 0x051A APN пользователь SIM1 String (16) gdata
String32CopyStatic(&env->EGTS_GPRS_PASS, "mts"); // 0x051B APN пароль SIM1 String (16) gdata
env->EGTS_UNIT_ID = 0; // идентификационный номер терминала
env->EGTS_UNIT_CAN1_BAUD_RATE = 500000; // Скорость CAN1 (бит/сек)
env->EGTS_UNIT_CAN2_BAUD_RATE = 500000; // Скорость CAN2 (бит/сек)
env->EGTS_SERVER_CHECK_IN_PERIOD = 30; // Время между попытками установить соединение с сервером (сек)
env->EGTS_SERVER_CHECK_IN_ATTEMPTS = 5; // Количество попыток соединения с сервером
env->EGTS_SERVER_PACKET_TOUT = 5; // Время ожидания ответа от сервера (сек)
env->EGTS_SERVER_PACKET_RETRANSMIT_ATTEMPTS = 3; // Количество попыток отправки неподтвержденного пакета на сервер
env->EGTS_FLEET_IGN_ON_PERIOD = 100; // Таймер передачи данных при включенном зажигании (сек)
env->EGTS_FLEET_IGN_OFF_PERIOD = 100; // Таймер передачи данных при выключенном зажигании (сек)
env->EGTS_FLEET_EM_MON_PERIOD = 0; // Таймер передачи данных при экстренном слежении (сек)
env->EGTS_FLEET_COURSE_THRESHOLD = 7; // Изменение курсового угла после которого нужно послать данные (градусы)
env->EGTS_GNSS_COURSE_SPEED = 5; // Скорость ниже которой не учитывается изменение курсового угла (км/ч)
env->EGTS_FLEET_DIST_THRESHOLD = 10; // Изменение дистанции после которого нужно послать данные (100 метров)
env->EGTS_DIAG_UDS_ON = 1; // Вкл/Выкл функции диагностики ЭБУ автомобиля
//начало----НЕ РЕАЛИЗОВАНЫ------------------------------------------------------------------------------------------
env->EGTS_SIM_PIN = 0; // 0x0205 Pin-код (SIM1) int32 0
env->EGTS_AUTOMATIC_REGISTRATION = true; // 0x0207 Автоматическая регистрация в сети сотовой связи bool true
env->EGTS_FLEET_MIN_BATTERY_VOLTAGE = 123; // 0x0268 Напряжение внешней АКБ ниже которого прибор должен уходить в глубокий сон (0.1В) int32 123
env->EGTS_FLEET_POS_ACCEL_THRESHOLD = 300; // 0x0269 Порог после которого ускорение считается резким (0.001g) int32 300
env->EGTS_FLEET_NEG_ACCEL_THRESHOLD = 300; // 0x026A Порог после которого торможение считается резким (0.001g) int32 300
env->EGTS_FLEET_NAVI_TRB_THRESHOLD = 6; // 0x026C Порог частоты прерывания навигационного решения (1/час) int32 6
env->EGTS_FLEET_CONN_TRB_THRESHOLD = 20; // 0x026D Порог частоты прерывания соединения с сервером (1/час) int32 20
env->EGTS_FLEET_GSM_REG_TRB_THRESHOLD = 5; // 0x026E Порог частоты прерывания наличия сотовой связи (1/час) int32 5
env->EGTS_GNSS_POWER_OFF_TIME = 5000; // 0x0301 время после выключения зажигания через которое выключается ГНСС (миллисекунды) int32 5000
env->EGTS_GNSS_DATA_RATE = 1; // 0x0302 Темп выдачи навигационного решения приемником (герц) int32 1
env->EGTS_GNSS_MIN_ELEVATION = 5; // 0x0303 Минимальная высота возвышения используемых НКА (градусы) int32 5
env->EGTS_GNSS_MAX_ALTITUDE = 1000; // 0x0304 Максимальная высота после которой навигационное решение является невалидным (метр) int32 1000
env->EGTS_UNIT_VENDOR_ID = 0; // 0x0403 Идентификатор поставщика устройства int32 0
String32CopyStatic(&env->EGTS_ALT_GPRS_APN, ""); // 0x0500 APN (SIM2) String (32) internet
env->EGTS_ALT_SIM_PIN = 0; // 0x0502 Pin-код (SIM2) int32 0
String32CopyStatic(&env->EGTS_ALT_GPRS_USER, ""); // 0x051C APN пользователь SIM2 String (16) gdata
String32CopyStatic(&env->EGTS_ALT_GPRS_PASS, ""); // 0x051D APN пароль SIM2 String (16) gdata
env->EGTS_SLEEP_TIME = 60000; // 0x051E время после снижения напряжения АКБ до заданного значения после которого устройство уходит в глубокий сон (миллисекунды) int32 60000
env->EGTS_GNSS_ERAG_ASSIST = true; // 0x0559 Вкл/вВыкл использования навигации от ЭРА-ГЛОНАСС bool true
String32CopyStatic(&env->EGTS_MSISDN, "7999"); // 0x0560 Номер телефона сим-карты String (15) 7999
env->EGTS_GPS_ON = true; // 0x0561 Вкл/Выкл ГНСС-приемник bool true
env->EGTS_LOCATION_SHARE = true; // 0x0562 Вкл/Выкл передачу координат на сервер bool true
env->EGTS_USB_ON = true; // 0x0563 Вкл/Выкл порт USB bool true
env->EGTS_DS_WAIT_AFTER_ENG_STOP = 2880; // 0x0564 время после выключения зажигания после которого устройство уходит в глубокий сон (минуты) int32 2880
env-> EGTS_DS_WAKE_UP_PERIOD = 1440; // 0x0565 таймер просыпания в режиме глубокого сна (минуты) int32 1440
env->EGTS_DS_WAKE_UP_DURATION = 5; // 0x0566 длительность просыпания в режиме глубокого сна (минуты) int32 5
env->EGTS_TIME_WAIT_LTE_CONNECT = 10; // 0x0568 длительность отсутствия связи для перехода в режим глубокого сна (минуты) int32 10
env->EGTS_TIME_SLEEP_LTE_NO_CONNECT = 360; // 0x0569 периодичность просыпания при уходе в глубокий сон из-за отсутствия связи (минуты) int32 360
env->EGTS_HIGH_BATTERY_VOLTAGE = 135; // 0x0579 Высокое напряжение при котором устройство выходит из глубокого сна (0.1В) int32 135
env->EGTS_DRV_SCORE_DIFF_SPD_UP = 15; // 0x0585 Разница в скорости для фиксирования быстрого разгона (км/ч) int32 15
env->EGTS_DRV_SCORE_DIFF_SPD_DOWN = 15; // 0x0586 Разница в скорости для фиксирования быстрого торможения (км/ч) int32 15
env->EGTS_DRV_SCORE_LETERAL_ACC = 300; // 0x058A Боковое ускорение фиксируемое как резкое (0.001g) int32 300
env->EGTS_DRV_SCORE_HIGH_SPEED = 130; // 0x058B Опасная скорость (км/ч) int32 130
env->EGTS_DRV_SCORE_ACC_CALC_TIME = 3; // 0x0587 Промежуток времени для подсчета продольных ускорений (секунды) int32 3
//конец-----НЕ РЕАЛИЗОВАНЫ------------------------------------------------------------------------------------------
String64CopyStatic(&env->UPDATE_SERVER_ADDRESS, "http://firmware.ficom-it.info/intelcom/file.php"); // Сервер обновления УВЭОС
env->UPDATE_SERVER_CHECK_IN_PERIOD = 10; // Количество попыток соединения с сервером обновления УВЭОС
env->UPDATE_SERVER_CHECK_IN_ATTEMPTS = 30; // Время между попытками установить соединение с сервером обновления УВЭОС (сек)
env->UPDATE_UVEOS_UPDATE = 0; // Признак обновления УВЭОС
env->EGTS_SERVER_ENABLE_TELEMATICA = false;
env->EGTS_DRV_SCORE_RFR_SPEED = 50; // 0x0588 Эталонная скорость
}
#define FIRMWARE_MAIN_ADDR (0x08000000 + BOOT_AREA_LENGTH)
#define FIRMWARE_MAIN_RECOVERY_ADDR (FIRMWARE_MAIN_ADDR + FIRMWARE_MAIN_AREA_LENGTH)
extern tFirmwareLoader FIRMWARE_LOADER;
void ComIntTelematica(tXfcProtTable *protTab) {
XfcProtTable_AddStatic(protTab, "FILE_TABLE", XfcProtMethod_FileTable, NULL);
XfcProtTable_AddStatic(protTab, "FILE_INIT", XfcProtMethod_FileInit, &FIRMWARE_LOADER);
XfcProtTable_AddStatic(protTab, "FILE_WRITE_BLOCK", XfcProtMethod_FileWriteBlock, &FIRMWARE_LOADER);
XfcProtTable_AddStatic(protTab, "FILE_DONE", XfcProtMethod_FileDone, &FIRMWARE_LOADER);
XfcProtMethodsAdd_Certs(protTab, &egtsProcessing.certs, EXT_ENV_TELE.gsmAt);
tDeviceTeledataStorageData *deviceTeledataStorageData = (tDeviceTeledataStorageData *) EXT_ENV_TELE.store.dataTeledata;
if (deviceTeledataStorageData->telematica.version != DEVICE_DATA_NO_VOLATILE_TELE_VERSION) {
deviceTeledataStorageData->telematica.version = DEVICE_DATA_NO_VOLATILE_TELE_VERSION;
DeviceStorageInitTelematicaSettings(&deviceTeledataStorageData->telematica);
EraGlonassUveosDumper_ForceDump(EXT_ENV_TELE.store.uveosDumper);
}
// Количество попыток соединения с сервером
if (deviceTeledataStorageData->telematica.EGTS_SERVER_CHECK_IN_ATTEMPTS < 1)
deviceTeledataStorageData->telematica.EGTS_SERVER_CHECK_IN_ATTEMPTS = 1;
// Количество попыток отправки неподтвержденного пакета на сервер
if (deviceTeledataStorageData->telematica.EGTS_SERVER_PACKET_RETRANSMIT_ATTEMPTS < 1)
deviceTeledataStorageData->telematica.EGTS_SERVER_PACKET_RETRANSMIT_ATTEMPTS = 1;
// Время ожидания ответа от сервера (сек)
if (deviceTeledataStorageData->telematica.EGTS_SERVER_PACKET_TOUT < 5)
deviceTeledataStorageData->telematica.EGTS_SERVER_PACKET_TOUT = 5;
// Таймер передачи данных при включенном зажигании (сек)
// if (deviceTeledataStorageData->telematica.EGTS_FLEET_IGN_ON_PERIOD < 1)
// deviceTeledataStorageData->telematica.EGTS_FLEET_IGN_ON_PERIOD = 1;
// Таймер передачи данных при выключенном зажигании (сек)
// if (deviceTeledataStorageData->telematica.EGTS_FLEET_IGN_OFF_PERIOD < 1)
// deviceTeledataStorageData->telematica.EGTS_FLEET_IGN_OFF_PERIOD = 1;
DataStorage_AddToVarTab(
deviceTeledataStorageData,
EXT_ENV_TELE.store.publicVariablesTable,
1
);
}
void ComIntTelematicaDefault() {
tDeviceTeledataStorageData *deviceStorageData = (tDeviceTeledataStorageData *) EXT_ENV_TELE.store.dataTeledata;
DeviceStorageInitTelematicaSettings(&deviceStorageData->telematica);
}