This commit is contained in:
cfif 2024-12-04 13:10:47 +03:00
commit 83739fd62e
3 changed files with 90 additions and 0 deletions

43
DeviceDataRuntime.c Normal file
View File

@ -0,0 +1,43 @@
//
// Created by xemon on 19.12.22.
//
#include "DeviceDataRuntime.h"
#include "FirmwareMetadataSection.h"
void DeviceDataRuntime_InitDefaults(tDeviceDataRuntime *env) {
env->enableGnssUpdate = true;
env->disallowWrite = 0;
}
#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, VARIABLES_GROUP)
#define ADD_VAR_STR_OBJ(TYPE, NAME, VALUE) ADD_VAR_SIZE(TYPE, NAME, &(VALUE).data, &(VALUE).length,VARIABLES_GROUP)
// Добавление переменных в таблицу
void DeviceDataRuntime_AddToVarTab(
tDeviceDataRuntime *env,
tVariablesTable *variablesTable,
uint32_t VARIABLES_GROUP
) {
ADD_VAR(BOOL, ENABLE_GNSS_UPDATE, &env->enableGnssUpdate);
ADD_VAR_SIZE(STRING, DEV_VERSION, (void *) META_FW_NAME, (void *) &META_FW_NAME_SIZE, VARIABLES_GROUP);
VariablesTable_GetLast(variablesTable)->writeAttempts = &env->disallowWrite;
}
#undef ADD_VAR_SIZE
#undef ADD_VAR
#undef ADD_VAR_STR_OBJ

30
DeviceDataRuntime.h Normal file
View File

@ -0,0 +1,30 @@
//
// Created by xemon on 19.12.22.
//
#ifndef UVEOS_ON_NATION_DEVICEDATARUNTIME_H
#define UVEOS_ON_NATION_DEVICEDATARUNTIME_H
#include <BaseTypes.h>
#include <stdbool.h>
#include <VariablesTable.h>
typedef struct {
bool enableGnssUpdate;
uint16_t disallowWrite;
bool EGTS_FLEET_ON;
bool telematicaServerIsActive;
bool telematicaCloseConnect;
bool telematicaWaitConnect;
} tDeviceDataRuntime;
void DeviceDataRuntime_InitDefaults(tDeviceDataRuntime *env);
void DeviceDataRuntime_AddToVarTab(
tDeviceDataRuntime *env,
tVariablesTable *variablesTable,
uint32_t VARIABLES_GROUP
);
#endif //UVEOS_ON_NATION_DEVICEDATARUNTIME_H

17
modular.json Normal file
View File

@ -0,0 +1,17 @@
{
"dep": [
{
"type": "git",
"provider": "NAVIGATOR_UVEOS_NATION_TELIT",
"repo": "VariablesTable"
}
],
"cmake": {
"inc_dirs": [
"./"
],
"srcs": [
"./**.c"
]
}
}