Init
This commit is contained in:
commit
8e87e5f306
|
|
@ -0,0 +1,13 @@
|
|||
//
|
||||
// Created by ilya on 05.04.24.
|
||||
//
|
||||
|
||||
#ifndef SMART_COMPONENTS_DATANONVOLATATILE_PRIVATE_H
|
||||
#define SMART_COMPONENTS_DATANONVOLATATILE_PRIVATE_H
|
||||
#include "DataNonVolatile.h"
|
||||
|
||||
//void DeviceStorageInitCodec(MAX9860_ComplexAudioConfig *audioConfig);
|
||||
|
||||
void DeviceStorageInitDeviceSettings(tDeviceSettings *env);
|
||||
void DeviceStorageDefaultInitDeviceAdditionalSettings(tDeviceAdditionalSettings *env);
|
||||
#endif //SMART_COMPONENTS_DATANONVOLATATILE_PRIVATE_H
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
//
|
||||
// Created by ilya on 05.04.24.
|
||||
//
|
||||
#include <string.h>
|
||||
#include "DataNonVolatatile_Private.h"
|
||||
#include "ext_telematica.h"
|
||||
|
||||
|
||||
|
||||
void DeviceDataNonVolatile_InitDefaults(tDeviceDataNonVolatile *env) {
|
||||
DeviceStorageInitDeviceSettings(&env->device);
|
||||
vUveosGostSettingsInitDefaults(&env->gost);
|
||||
DeviceStorageDefaultInitDeviceAdditionalSettings(&env->AdditionalSettings);
|
||||
|
||||
if (EXT_ENV_ADR_TELE.META_EXT_ENV_TELE)
|
||||
EXT_ENV_ADR_TELE.tele_func(env, TELE_MODULE_COM_INT_DEFAULT);
|
||||
|
||||
// CarFlipDetection_InitSettings(&env->flip);
|
||||
EraGlonassMsdTable_Init(&env->msdTable);
|
||||
|
||||
//проверка соответствия версии хранилища
|
||||
//позволяет принудительно сбросить хранилище
|
||||
//к значениям по умолчанию вслучае установки
|
||||
//значения большее чем в придыдущих прошивках
|
||||
env->version = DEVICE_DATA_NO_VOLATILE_VERSION;
|
||||
env->DataToCan.gnss_general_ToCan = false;
|
||||
env->DataToCan.nav_data_ToCan = false;
|
||||
|
||||
String32CopyStatic(&env->modemSaveDeviceSoftVers, "");
|
||||
|
||||
String32CopyStatic(&env->gost.notGost.AMPL_CONF, "");
|
||||
}
|
||||
|
|
@ -0,0 +1,90 @@
|
|||
//
|
||||
// Created by xemon on 19.10.22.
|
||||
//
|
||||
|
||||
#ifndef UVEOS_ON_NATION_DEVICEDATANONVOLATILE_H
|
||||
#define UVEOS_ON_NATION_DEVICEDATANONVOLATILE_H
|
||||
|
||||
#include <CarFlipDetection.h>
|
||||
#include <UveosGostSettings.h>
|
||||
#include <EraGlonassMsdTable.h>
|
||||
#include <VariablesTable.h>
|
||||
#include "DataRuntime.h"
|
||||
|
||||
#define DEVICE_DATA_NO_VOLATILE_VERSION 0x77
|
||||
|
||||
typedef struct {
|
||||
bool useInternalAnt;
|
||||
|
||||
struct {
|
||||
tString16 value;
|
||||
uint16_t writeAccess;
|
||||
} serialNumber;
|
||||
|
||||
tString16 smsServiceCenter;
|
||||
bool useMutePositive;
|
||||
bool serviseMode;
|
||||
bool factoryMode;
|
||||
bool telematicaIsActive;
|
||||
float boardCalibCoef;
|
||||
|
||||
tString64 rawCodecRegisters;
|
||||
|
||||
tString32 softVers;
|
||||
tString32 hardVers;
|
||||
|
||||
tString32 modemSoftVers;
|
||||
tString32 ccid;
|
||||
tString32 ccidComers;
|
||||
tString32 simProfile;
|
||||
tString32 ECUSerialNumber;
|
||||
tString32 cgsmid;
|
||||
|
||||
uint16_t disallowWrite;
|
||||
|
||||
int16_t AccelCalibrationX;
|
||||
int16_t AccelCalibrationY;
|
||||
int16_t AccelCalibrationZ;
|
||||
uint8_t RolloverAngle;
|
||||
uint8_t RolloverTime;
|
||||
uint8_t DirectionAngle;
|
||||
bool AccelFlipEnable;
|
||||
|
||||
} tDeviceSettings;
|
||||
|
||||
typedef struct {
|
||||
uint32_t REGION_SIZE_UPDATE; // Размер обновления
|
||||
} tDeviceAdditionalSettings;
|
||||
|
||||
typedef struct {
|
||||
bool gnss_general_ToCan;
|
||||
bool nav_data_ToCan;
|
||||
} tDataToCan;
|
||||
|
||||
|
||||
typedef struct {
|
||||
uint32_t version;
|
||||
|
||||
tDeviceAdditionalSettings AdditionalSettings;
|
||||
|
||||
uint8_t dataTeledata[1024];
|
||||
|
||||
tUveosGostSettings gost;
|
||||
tDeviceSettings device;
|
||||
|
||||
tEraGlonassMsdTable msdTable;
|
||||
tDataToCan DataToCan;
|
||||
|
||||
tString32 modemSaveDeviceSoftVers;
|
||||
|
||||
} tDeviceDataNonVolatile;
|
||||
|
||||
void DeviceDataNonVolatile_InitDefaults(tDeviceDataNonVolatile *env);
|
||||
|
||||
void DeviceDataNonVolatile_AddToVarTab(
|
||||
tDeviceDataNonVolatile *env,
|
||||
tVariablesTable *variablesTable,
|
||||
uint32_t VARIABLES_GROUP
|
||||
);
|
||||
|
||||
#endif //UVEOS_ON_NATION_DEVICEDATANONVOLATILE_H
|
||||
|
|
@ -0,0 +1,105 @@
|
|||
//
|
||||
// Created by xemon on 19.12.22.
|
||||
//
|
||||
|
||||
#include "DataNonVolatatile_Private.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)
|
||||
|
||||
#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 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(BOOL, FACTORY_MODE, &env->device.factoryMode);
|
||||
ADD_VAR(BOOL, TELEMATICA_IS_ACTIVE, &env->device.telematicaIsActive);
|
||||
ADD_VAR(FLOAT32, BOARD_VOLTAGE_CALIB_COEF, &env->device.boardCalibCoef);
|
||||
ADD_VAR_STR_OBJ(STRING, SMS_CENTER, env->device.smsServiceCenter);
|
||||
ADD_VAR_STR_OBJ(STRING, GSM_CGMR, env->device.modemSoftVers);
|
||||
ADD_VAR_STR_OBJ(STRING, GSM_SIM_PROFILE, env->device.simProfile);
|
||||
ADD_VAR_STR_OBJ(STRING, ECU_SERIAL_NUMBER, env->device.ECUSerialNumber);
|
||||
|
||||
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_CCID_COMERS, env->device.ccidComers);
|
||||
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(UINT32, FLIP_DETECT_TRESHOLD_ANTIFLIGHT, &env->flip.thresholds.antiFlightMs);
|
||||
|
||||
//--------------------------------------------EGTS Server---------------------------------------------------------------
|
||||
|
||||
//Flip detection parameters
|
||||
ADD_VAR(BOOL, ACCEL_FLIP_DETECT_ENABLE, &env->device.AccelFlipEnable);
|
||||
ADD_VAR(INT16, ACCEL_CALLIBRATION_X, &env->device.AccelCalibrationX);
|
||||
ADD_VAR(INT16, ACCEL_CALLIBRATION_Y, &env->device.AccelCalibrationY);
|
||||
ADD_VAR(INT16, ACCEL_CALLIBRATION_Z, &env->device.AccelCalibrationZ);
|
||||
ADD_VAR(UINT8, ROLLOVER_ANGLE, &env->device.RolloverAngle);
|
||||
ADD_VAR(UINT8, ROLLOVER_TIME, &env->device.RolloverTime);
|
||||
ADD_VAR(UINT8, DIRECTION_ANGLE, &env->device.DirectionAngle);
|
||||
|
||||
ADD_VAR(UINT8, GNSS_GENERAL_TO_CAN, &env->DataToCan.gnss_general_ToCan);
|
||||
ADD_VAR(UINT8, NAV_DATA_TO_CAN, &env->DataToCan.nav_data_ToCan);
|
||||
}
|
||||
|
||||
#undef ADD_VAR_SIZE
|
||||
#undef ADD_VAR
|
||||
#undef ADD_VAR_STR_OBJ
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
//
|
||||
// Created by ilya on 05.04.24.
|
||||
//
|
||||
#include "DataNonVolatatile_Private.h"
|
||||
void DeviceStorageInitDeviceSettings(tDeviceSettings *env) {
|
||||
String16CopyStatic(&env->serialNumber.value, "Нет ID!");
|
||||
String16CopyStatic(&env->smsServiceCenter, "+79418100013");
|
||||
String32CopyStatic(&env->modemSoftVers, "LE11B01SIM7600M22_CUS_AS");
|
||||
String32CopyStatic(&env->simProfile, "80C2000009D3070202018110017E");
|
||||
String32CopyStatic(&env->ccidComers, "1111111111111111111");
|
||||
String32CopyStatic(&env->ccid, "1111111111111111111");
|
||||
String32CopyStatic(&env->cgsmid, "111111111111111");
|
||||
String32CopyStatic(&env->ECUSerialNumber, "");
|
||||
env->serialNumber.writeAccess = 1;
|
||||
env->disallowWrite = 0;
|
||||
env->useInternalAnt = false;
|
||||
env->useMutePositive = false;
|
||||
env->serviseMode = false;
|
||||
env->factoryMode = true;
|
||||
env->telematicaIsActive = false;
|
||||
env->boardCalibCoef = (float)8.97;
|
||||
env->AccelCalibrationX = -32768;
|
||||
env->AccelCalibrationY = -32768;
|
||||
env->AccelCalibrationZ = -32768;
|
||||
env->RolloverAngle = 255;
|
||||
env->RolloverTime = 255;
|
||||
env->DirectionAngle = 255;
|
||||
env->AccelFlipEnable = true;
|
||||
}
|
||||
|
||||
void DeviceStorageDefaultInitDeviceAdditionalSettings(tDeviceAdditionalSettings *env) {
|
||||
env->REGION_SIZE_UPDATE = 0; // Размер обновления
|
||||
}
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
{
|
||||
"dep": [
|
||||
{
|
||||
"type": "git",
|
||||
"provider": "Smart_Components_Aurus",
|
||||
"repo": "UveosGostSettings"
|
||||
},
|
||||
{
|
||||
"type": "git",
|
||||
"provider": "Smart_Components_Aurus",
|
||||
"repo": "UveosGostSettings_AddToVarsTab"
|
||||
},
|
||||
{
|
||||
"type": "git",
|
||||
"provider": "Smart_Components_Aurus",
|
||||
"repo": "CarCrashDetection"
|
||||
},
|
||||
{
|
||||
"type": "git",
|
||||
"provider": "Smart_Components_Aurus",
|
||||
"repo": "EraGlonassMsdTable"
|
||||
},
|
||||
{
|
||||
"type": "git",
|
||||
"provider": "Smart_Components_Aurus",
|
||||
"repo": "VariablesTable"
|
||||
}
|
||||
],
|
||||
"cmake": {
|
||||
"inc_dirs": [
|
||||
"./"
|
||||
],
|
||||
"srcs": [
|
||||
"./**.c"
|
||||
]
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue