소스 검색

Reworked config reset code to avoid static init that eats SRAM

tags/v1.2.0
Bertrand Lemasle 6 년 전
부모
커밋
4a94de3800
1개의 변경된 파일16개의 추가작업 그리고 21개의 파일을 삭제
  1. +16
    -21
      GpsTracker/Config.cpp

+ 16
- 21
GpsTracker/Config.cpp 파일 보기

@@ -30,12 +30,12 @@ namespace config {
//};
//value.network = c;
#endif
/*strcpy(value.version, VERSION);
/*strcpy_P(value.version, PSTR(VERSION));
value.alertBatteryLevel1 = CONFIG_DEFAULT_BATTERY_ALERT_LEVEL1;
value.alertBatteryLevel2 = CONFIG_DEFAULT_BATTERY_ALERT_LEVEL2;
value.alertBatteryLevelClear = CONFIG_DEFAULT_BATTERY_ALERT_CLEAR;
value.activeAlerts = CONFIG_DEFAULT_ACTIVE_ALERTS;
strcpy(value.contactPhone, CONFIG_DEFAULT_CONTACT_PHONE);*/
strcpy_P(config.contactPhone, PSTR(CONFIG_DEFAULT_CONTACT_PHONE));*/
}

void write() {
@@ -61,27 +61,22 @@ namespace config {
void reset() {
VERBOSE("reset");

config_t config = {
CONFIG_SEED,
VERSION,
0xFFFF,
0xFFFF,
config_t config = {};
config.seed = CONFIG_SEED;
strcpy_P(config.version, PSTR(VERSION));
config.firstEntry = config.lastEntry = 0xFFFF;
config.alertBatteryLevel1 = CONFIG_DEFAULT_BATTERY_ALERT_LEVEL1;
config.alertBatteryLevel2 = CONFIG_DEFAULT_BATTERY_ALERT_LEVEL2;
config.alertBatteryLevelClear = CONFIG_DEFAULT_BATTERY_ALERT_CLEAR;
config.activeAlerts = CONFIG_DEFAULT_ACTIVE_ALERTS;
strcpy_P(config.contactPhone, PSTR(CONFIG_DEFAULT_CONTACT_PHONE));

#if BACKUP_ENABLE_NETWORK
{
POSITIONS_CONFIG_NET_DEFAULT_SAVE_THRESHOLD,
0xFFFF,
POSITIONS_CONFIG_NET_DEFAULT_APN,
POSITIONS_CONFIG_NET_DEFAULT_URL,
},
#else
"",
config.network.saveThreshold = POSITIONS_CONFIG_NET_DEFAULT_SAVE_THRESHOLD;
config.network.lastSavedEntry = 0xFFFF;
strcpy_P(config.network.apn, PSTR(POSITIONS_CONFIG_NET_DEFAULT_APN));
strcpy_P(config.network.url, PSTR(POSITIONS_CONFIG_NET_DEFAULT_URL));
#endif
CONFIG_DEFAULT_BATTERY_ALERT_LEVEL1,
CONFIG_DEFAULT_BATTERY_ALERT_LEVEL2,
CONFIG_DEFAULT_BATTERY_ALERT_CLEAR,
CONFIG_DEFAULT_ACTIVE_ALERTS,
CONFIG_DEFAULT_CONTACT_PHONE
};

value = config;
save();


불러오는 중...
취소
저장