Skip to content

Commit

Permalink
Save settings on change only / All builds OK (Ralim#1699)
Browse files Browse the repository at this point in the history
  • Loading branch information
ia committed Jun 13, 2023
1 parent e7bcf92 commit 9911cdf
Show file tree
Hide file tree
Showing 11 changed files with 12 additions and 13 deletions.
1 change: 1 addition & 0 deletions source/Core/BSP/MHP30/configuration.h
Original file line number Diff line number Diff line change
Expand Up @@ -176,3 +176,4 @@
#endif

#define FLASH_LOGOADDR (0x08000000 + (62 * 1024))
#define SETTINGS_START_PAGE (0x08000000 + (127 * 1024))
3 changes: 0 additions & 3 deletions source/Core/BSP/MHP30/flash.c
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,6 @@
#include "stm32f1xx_hal.h"
#include "string.h"

#define SETTINGS_START_PAGE (0x08000000 + (127 * 1024))


void flash_save_buffer(const uint8_t *buffer, const uint16_t length) {
FLASH_EraseInitTypeDef pEraseInit;
pEraseInit.TypeErase = FLASH_TYPEERASE_PAGES;
Expand Down
1 change: 1 addition & 0 deletions source/Core/BSP/Miniware/configuration.h
Original file line number Diff line number Diff line change
Expand Up @@ -218,3 +218,4 @@
#endif

#define FLASH_LOGOADDR (0x08000000 + (62 * 1024))
#define SETTINGS_START_PAGE (0x08000000 + (63 * 1024))
2 changes: 0 additions & 2 deletions source/Core/BSP/Miniware/flash.c
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,6 @@
#include "stm32f1xx_hal.h"
#include "string.h"

#define SETTINGS_START_PAGE (0x08000000 + (63 * 1024))

void flash_save_buffer(const uint8_t *buffer, const uint16_t length) {
FLASH_EraseInitTypeDef pEraseInit;
pEraseInit.TypeErase = FLASH_TYPEERASE_PAGES;
Expand Down
1 change: 1 addition & 0 deletions source/Core/BSP/Pinecil/configuration.h
Original file line number Diff line number Diff line change
Expand Up @@ -166,5 +166,6 @@
#endif

#define FLASH_LOGOADDR (0x08000000 + (126 * 1024))
#define SETTINGS_START_PAGE (0x08000000 + (127 * 1024))

#define HAS_POWER_DEBUG_MENU
2 changes: 1 addition & 1 deletion source/Core/BSP/Pinecil/flash.c
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
#include "gd32vf103_libopt.h"
#include "string.h"
#define FMC_PAGE_SIZE ((uint16_t)0x400U)
#define SETTINGS_START_PAGE (0x08000000 + (127 * 1024))

void flash_save_buffer(const uint8_t *buffer, const uint16_t length) {

/* unlock the flash program/erase controller */
Expand Down
2 changes: 2 additions & 0 deletions source/Core/BSP/Pinecilv2/configuration.h
Original file line number Diff line number Diff line change
Expand Up @@ -168,3 +168,5 @@
#endif

#define FLASH_LOGOADDR (0x23000000 + (1022 * 1024))
#define FLASH_PAGE_SIZE (1024)
#define SETTINGS_START_PAGE (1023 * FLASH_PAGE_SIZE) // Hal auto offsets base addr
4 changes: 0 additions & 4 deletions source/Core/BSP/Pinecilv2/flash.c
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,6 @@
#include "hal_flash.h"
#include "string.h"

#define FLASH_PAGE_SIZE (1024)

#define SETTINGS_START_PAGE (1023 * FLASH_PAGE_SIZE) // Hal auto offsets base addr

void flash_save_buffer(const uint8_t *buffer, const uint16_t length) {
BL_Err_Type err = flash_erase(SETTINGS_START_PAGE, FLASH_PAGE_SIZE);
err = flash_write(SETTINGS_START_PAGE, buffer, length);
Expand Down
1 change: 1 addition & 0 deletions source/Core/BSP/Sequre_S60/configuration.h
Original file line number Diff line number Diff line change
Expand Up @@ -167,3 +167,4 @@
#endif

#define FLASH_LOGOADDR (0x08000000 + (62 * 1024))
#define SETTINGS_START_PAGE (0x08000000 + (63 * 1024))
2 changes: 0 additions & 2 deletions source/Core/BSP/Sequre_S60/flash.c
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,6 @@
#include "stm32f1xx_hal.h"
#include "string.h"

#define SETTINGS_START_PAGE (0x08000000 + (63 * 1024))

void flash_save_buffer(const uint8_t *buffer, const uint16_t length) {
FLASH_EraseInitTypeDef pEraseInit;
pEraseInit.TypeErase = FLASH_TYPEERASE_PAGES;
Expand Down
6 changes: 5 additions & 1 deletion source/Core/Src/Settings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,11 @@ static const SettingConstants settingsConstants[(int)SettingsOptions::SettingsOp
};
static_assert((sizeof(settingsConstants) / sizeof(SettingConstants)) == ((int)SettingsOptions::SettingsOptionsLength));

void saveSettings() { flash_save_buffer((uint8_t *)&systemSettings, sizeof(systemSettingsType)); }
void saveSettings() {
if (memcmp((void *)SETTINGS_START_PAGE, (void *)&systemSettings, sizeof(systemSettingsType))) {
flash_save_buffer((uint8_t *)&systemSettings, sizeof(systemSettingsType));
}
}

bool loadSettings() {
// We read the flash
Expand Down

0 comments on commit 9911cdf

Please sign in to comment.