1
0
forked from me/IronOS

Track if settings were reset

This commit is contained in:
Ben V. Brown
2019-12-28 11:59:56 +11:00
parent 97f0dcae36
commit e6a562f8f4
2 changed files with 17 additions and 15 deletions

View File

@@ -6,19 +6,20 @@
#include "Setup.h"
extern uint8_t PCBVersion;
extern uint32_t currentTempTargetDegC;
extern bool settingsWereReset;
enum ButtonState {
BUTTON_NONE = 0, /* No buttons pressed / < filter time*/
BUTTON_F_SHORT = 1, /* User has pressed the front button*/
BUTTON_B_SHORT = 2, /* User has pressed the back button*/
BUTTON_F_LONG = 4, /* User is holding the front button*/
BUTTON_B_LONG = 8, /* User is holding the back button*/
BUTTON_BOTH = 16, /* User has pressed both buttons*/
BUTTON_NONE = 0, /* No buttons pressed / < filter time*/
BUTTON_F_SHORT = 1, /* User has pressed the front button*/
BUTTON_B_SHORT = 2, /* User has pressed the back button*/
BUTTON_F_LONG = 4, /* User is holding the front button*/
BUTTON_B_LONG = 8, /* User is holding the back button*/
BUTTON_BOTH = 16, /* User has pressed both buttons*/
/*
* Note:
* Pressed means press + release, we trigger on a full \__/ pulse
* holding means it has gone low, and been low for longer than filter time
*/
/*
* Note:
* Pressed means press + release, we trigger on a full \__/ pulse
* holding means it has gone low, and been low for longer than filter time
*/
};
ButtonState getButtonState();
@@ -37,7 +38,7 @@ void HAL_I2C_MasterRxCpltCallback(I2C_HandleTypeDef *hi2c);
void HAL_I2C_MemTxCpltCallback(I2C_HandleTypeDef *hi2c);
void HAL_I2C_MemRxCpltCallback(I2C_HandleTypeDef *hi2c);
void vApplicationStackOverflowHook(xTaskHandle *pxTask,
signed portCHAR *pcTaskName);
signed portCHAR *pcTaskName);
#ifdef __cplusplus
}

View File

@@ -17,6 +17,7 @@ uint8_t PCBVersion = 0;
uint32_t currentTempTargetDegC = 0; // Current temperature target in C
uint32_t lastMovementTime = 0;
int16_t idealQCVoltage = 0;
bool settingsWereReset = false;
// FreeRTOS variables
osThreadId GUITaskHandle;
@@ -70,7 +71,7 @@ int main(void) {
systemSettings.sensitivity = 0;
}
HAL_IWDG_Refresh(&hiwdg);
restoreSettings(); // load the settings from flash
settingsWereReset = restoreSettings(); // load the settings from flash
HAL_IWDG_Refresh(&hiwdg);
@@ -293,7 +294,7 @@ bool showBootLogoIfavailable() {
uint16_t temp[98];
for (uint8_t i = 0; i < (98); i++) {
temp[i] = *(uint16_t *) (FLASH_LOGOADDR + (i * 2));
temp[i] = *(uint16_t*) (FLASH_LOGOADDR + (i * 2));
}
uint8_t temp8[98 * 2];
for (uint8_t i = 0; i < 98; i++) {
@@ -310,7 +311,7 @@ bool showBootLogoIfavailable() {
if (temp8[3] != 0x0D)
return false;
OLED::drawArea(0, 0, 96, 16, (uint8_t *) (temp8 + 4));
OLED::drawArea(0, 0, 96, 16, (uint8_t*) (temp8 + 4));
OLED::refresh();
return true;
}