Track if settings were reset
This commit is contained in:
@@ -6,19 +6,20 @@
|
|||||||
#include "Setup.h"
|
#include "Setup.h"
|
||||||
extern uint8_t PCBVersion;
|
extern uint8_t PCBVersion;
|
||||||
extern uint32_t currentTempTargetDegC;
|
extern uint32_t currentTempTargetDegC;
|
||||||
|
extern bool settingsWereReset;
|
||||||
enum ButtonState {
|
enum ButtonState {
|
||||||
BUTTON_NONE = 0, /* No buttons pressed / < filter time*/
|
BUTTON_NONE = 0, /* No buttons pressed / < filter time*/
|
||||||
BUTTON_F_SHORT = 1, /* User has pressed the front button*/
|
BUTTON_F_SHORT = 1, /* User has pressed the front button*/
|
||||||
BUTTON_B_SHORT = 2, /* User has pressed the back button*/
|
BUTTON_B_SHORT = 2, /* User has pressed the back button*/
|
||||||
BUTTON_F_LONG = 4, /* User is holding the front button*/
|
BUTTON_F_LONG = 4, /* User is holding the front button*/
|
||||||
BUTTON_B_LONG = 8, /* User is holding the back button*/
|
BUTTON_B_LONG = 8, /* User is holding the back button*/
|
||||||
BUTTON_BOTH = 16, /* User has pressed both buttons*/
|
BUTTON_BOTH = 16, /* User has pressed both buttons*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Note:
|
* Note:
|
||||||
* Pressed means press + release, we trigger on a full \__/ pulse
|
* Pressed means press + release, we trigger on a full \__/ pulse
|
||||||
* holding means it has gone low, and been low for longer than filter time
|
* holding means it has gone low, and been low for longer than filter time
|
||||||
*/
|
*/
|
||||||
};
|
};
|
||||||
|
|
||||||
ButtonState getButtonState();
|
ButtonState getButtonState();
|
||||||
@@ -37,7 +38,7 @@ void HAL_I2C_MasterRxCpltCallback(I2C_HandleTypeDef *hi2c);
|
|||||||
void HAL_I2C_MemTxCpltCallback(I2C_HandleTypeDef *hi2c);
|
void HAL_I2C_MemTxCpltCallback(I2C_HandleTypeDef *hi2c);
|
||||||
void HAL_I2C_MemRxCpltCallback(I2C_HandleTypeDef *hi2c);
|
void HAL_I2C_MemRxCpltCallback(I2C_HandleTypeDef *hi2c);
|
||||||
void vApplicationStackOverflowHook(xTaskHandle *pxTask,
|
void vApplicationStackOverflowHook(xTaskHandle *pxTask,
|
||||||
signed portCHAR *pcTaskName);
|
signed portCHAR *pcTaskName);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ uint8_t PCBVersion = 0;
|
|||||||
uint32_t currentTempTargetDegC = 0; // Current temperature target in C
|
uint32_t currentTempTargetDegC = 0; // Current temperature target in C
|
||||||
uint32_t lastMovementTime = 0;
|
uint32_t lastMovementTime = 0;
|
||||||
int16_t idealQCVoltage = 0;
|
int16_t idealQCVoltage = 0;
|
||||||
|
bool settingsWereReset = false;
|
||||||
// FreeRTOS variables
|
// FreeRTOS variables
|
||||||
|
|
||||||
osThreadId GUITaskHandle;
|
osThreadId GUITaskHandle;
|
||||||
@@ -70,7 +71,7 @@ int main(void) {
|
|||||||
systemSettings.sensitivity = 0;
|
systemSettings.sensitivity = 0;
|
||||||
}
|
}
|
||||||
HAL_IWDG_Refresh(&hiwdg);
|
HAL_IWDG_Refresh(&hiwdg);
|
||||||
restoreSettings(); // load the settings from flash
|
settingsWereReset = restoreSettings(); // load the settings from flash
|
||||||
|
|
||||||
HAL_IWDG_Refresh(&hiwdg);
|
HAL_IWDG_Refresh(&hiwdg);
|
||||||
|
|
||||||
@@ -293,7 +294,7 @@ bool showBootLogoIfavailable() {
|
|||||||
uint16_t temp[98];
|
uint16_t temp[98];
|
||||||
|
|
||||||
for (uint8_t i = 0; i < (98); i++) {
|
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];
|
uint8_t temp8[98 * 2];
|
||||||
for (uint8_t i = 0; i < 98; i++) {
|
for (uint8_t i = 0; i < 98; i++) {
|
||||||
@@ -310,7 +311,7 @@ bool showBootLogoIfavailable() {
|
|||||||
if (temp8[3] != 0x0D)
|
if (temp8[3] != 0x0D)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
OLED::drawArea(0, 0, 96, 16, (uint8_t *) (temp8 + 4));
|
OLED::drawArea(0, 0, 96, 16, (uint8_t*) (temp8 + 4));
|
||||||
OLED::refresh();
|
OLED::refresh();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user