// // 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); }