FOSSASAT-1B
Loading...
Searching...
No Matches
persistent_storage.cpp
2
3void Persistent_Storage_Wipe() {
4 // wipe EEPROM
5 FOSSASAT_DEBUG_PRINTLN('W');
6 for (uint16_t i = 0; i < EEPROM.length(); i++) {
8 }
9
10 // set default variable values
11
12 // set deployment counter to 0
14
15 // set default power configuration
16 powerConfig.bits.lowPowerModeActive = LOW_POWER_MODE_ACTIVE;
17 powerConfig.bits.lowPowerModeEnabled = LOW_POWER_MODE_ENABLED;
18 powerConfig.bits.mpptTempSwitchEnabled = MPPT_TEMP_SWITCH_ENABLED;
19 powerConfig.bits.mpptKeepAliveEnabled = MPPT_KEEP_ALIVE_ENABLED;
20 powerConfig.bits.transmitEnabled = TRANSMIT_ENABLED;
21 Power_Control_Save_Configuration();
22
23 // reset first run flag
25
26 // set reset counter to 0
28
29 // set default receive window lengths
32
33 // reset uptime counter
35
36 // reset loop counter
38
39 // reset frame counters
44
45 // set default callsign
46 System_Info_Set_Callsign((char*)"FOSSASAT-1B");
47
48 // reset stats
51 }
52
53}
54
55void Persistent_Storage_Increment_Counter(uint16_t addr) {
57}
58
59void Persistent_Storage_Increment_Frame_Counter(bool valid) {
61 if(currentModem == MODEM_LORA) {
62 if(!valid) {
63 addr += 2;
64 }
65 } else {
66 if(valid) {
67 addr += 4;
68 } else {
69 addr += 6;
70 }
71 }
72
73 Persistent_Storage_Increment_Counter(addr);
74}
#define MPPT_KEEP_ALIVE_ENABLED
#define TRANSMIT_ENABLED
#define LOW_POWER_MODE_ENABLED
#define MPPT_TEMP_SWITCH_ENABLED
#define LOW_POWER_MODE_ACTIVE
#define EEPROM_LORA_INVALID_COUNTER_ADDR
#define EEPROM_LORA_RECEIVE_LEN_ADDR
#define EEPROM_CHARGING_VOLTAGE_STATS_ADDR
#define EEPROM_FSK_INVALID_COUNTER_ADDR
#define EEPROM_UPTIME_COUNTER_ADDR
#define EEPROM_LOOP_COUNTER
Loop counter - only used to determine when to transmit full Morse beacon, so it doesn't matter when i...
#define EEPROM_LORA_VALID_COUNTER_ADDR
#define EEPROM_FIRST_RUN_ADDR
#define EEPROM_FSK_RECEIVE_LEN_ADDR
#define EEPROM_RESTART_COUNTER_ADDR
#define EEPROM_FSK_VALID_COUNTER_ADDR
#define EEPROM_MCU_TEMP_STATS_ADDR
#define EEPROM_DEPLOYMENT_COUNTER_ADDR
#define EEPROM_FIRST_RUN
#define EEPROM_RESET_VALUE
uint8_t currentModem
#define LORA_RECEIVE_WINDOW_LENGTH
#define FSK_RECEIVE_WINDOW_LENGTH
This module controls access to the EEPROM.
T Persistent_Storage_Read(uint16_t addr)
This function reads a value of type T from EEPROM.