Initial commit

This commit is contained in:
2025-10-22 20:40:25 +03:00
commit 63d038ee63
57 changed files with 104378 additions and 0 deletions

67
libs/Settings.cpp Normal file
View File

@@ -0,0 +1,67 @@
/*
* Settings.cpp
*
* Created on: 12 мая 2015 г.
* Author: esaulenko
*/
#include "Settings.h"
#include "IO.h"
#include "Utils.h"
#include "CanFwInterface.h"
// строки с названиями настроек
#define SETTING(...)
#define SETTING_CAN(...)
#define SETTING_RSRV(...)
#define SETTING_NAME(name, string) \
__attribute__ ((section(".SettingsVarName"))) \
static const char name ## String[] = string;
#include SRC_SETTINGS
#undef SETTING
#undef SETTING_RSRV
#undef SETTING_ALIAS
#undef SETTING_CAN
#undef SETTING_NAME
// таблица с настройками CAN-прошивки
__attribute__ ((section(".SettingsTable")))
const CSettings::TCANSettingsTable CSettings::CanSettingsTable = {
#define SETTING(name, attr, type, def_val...) \
name, kind_ ## type, attr, sizeof(THeader)+sizeof(type), def_val,
#define SETTING_CAN(name, attr, type, def_val, description) \
name, kind_ ## type, attr, sizeof(THeader)+sizeof(type), def_val,
#define SETTING_RSRV(...) // не используется
#define SETTING_NAME(name, string) \
name, 0x1F, NotFixed, sizeof(THeader)+sizeof(char*), name ## String,
#include SRC_SETTINGS
// 0xffff //LastVal
CSettings::LastVal
};
#undef SETTING
#undef SETTING_RSRV
#undef SETTING_ALIAS
#undef SETTING_CAN
#undef SETTING_NAME
__attribute__ ((section(".SettingsCanName")))
const char * const CSettings::CanSettingsName[] = {
#define SETTING(...) // names not used
#define SETTING_CAN(name, attr, type, def_val, description) description,
#define SETTING_RSRV(...) // не используется
#define SETTING_NAME(...) // не используется
#include SRC_SETTINGS
};
#undef SETTING
#undef SETTING_RSRV
#undef SETTING_ALIAS
#undef SETTING_CAN
#undef SETTING_NAME