Move setting files to sd card

This commit is contained in:
Willy-JL
2023-03-25 20:12:48 +00:00
parent d3792dc7bb
commit 5facf6dc89
9 changed files with 90 additions and 29 deletions

View File

@@ -8,7 +8,7 @@
#define CALIBRATION_DATA_VER (1) #define CALIBRATION_DATA_VER (1)
#define CALIBRATION_DATA_FILE_NAME ".calibration.data" #define CALIBRATION_DATA_FILE_NAME ".calibration.data"
#define CALIBRATION_DATA_PATH INT_PATH(CALIBRATION_DATA_FILE_NAME) #define CALIBRATION_DATA_PATH EXT_PATH(CALIBRATION_DATA_FILE_NAME)
#define CALIBRATION_DATA_MAGIC (0x23) #define CALIBRATION_DATA_MAGIC (0x23)
#define CALIBRATION_DATA_SAVE(x) \ #define CALIBRATION_DATA_SAVE(x) \

View File

@@ -126,6 +126,10 @@ Bt* bt_alloc() {
bt_settings_save(&bt->bt_settings); bt_settings_save(&bt->bt_settings);
} }
// Keys storage // Keys storage
Storage* storage = furi_record_open(RECORD_STORAGE);
storage_common_copy(storage, BT_KEYS_STORAGE_OLD_PATH, BT_KEYS_STORAGE_PATH);
storage_common_remove(storage, BT_KEYS_STORAGE_OLD_PATH);
furi_record_close(RECORD_STORAGE);
bt->keys_storage = bt_keys_storage_alloc(BT_KEYS_STORAGE_PATH); bt->keys_storage = bt_keys_storage_alloc(BT_KEYS_STORAGE_PATH);
// Alloc queue // Alloc queue
bt->message_queue = furi_message_queue_alloc(8, sizeof(BtMessage)); bt->message_queue = furi_message_queue_alloc(8, sizeof(BtMessage));

View File

@@ -20,7 +20,8 @@
#include "bt_keys_filename.h" #include "bt_keys_filename.h"
#define BT_KEYS_STORAGE_PATH INT_PATH(BT_KEYS_STORAGE_FILE_NAME) #define BT_KEYS_STORAGE_OLD_PATH INT_PATH(BT_KEYS_STORAGE_FILE_NAME)
#define BT_KEYS_STORAGE_PATH EXT_PATH(BT_KEYS_STORAGE_FILE_NAME)
#define BT_API_UNLOCK_EVENT (1UL << 0) #define BT_API_UNLOCK_EVENT (1UL << 0)

View File

@@ -4,15 +4,27 @@
#include <lib/toolbox/saved_struct.h> #include <lib/toolbox/saved_struct.h>
#include <storage/storage.h> #include <storage/storage.h>
#define BT_SETTINGS_PATH INT_PATH(BT_SETTINGS_FILE_NAME) #define BT_SETTINGS_OLD_PATH INT_PATH(BT_SETTINGS_FILE_NAME)
#define BT_SETTINGS_PATH EXT_PATH(BT_SETTINGS_FILE_NAME)
#define BT_SETTINGS_VERSION (0) #define BT_SETTINGS_VERSION (0)
#define BT_SETTINGS_MAGIC (0x19) #define BT_SETTINGS_MAGIC (0x19)
bool bt_settings_load(BtSettings* bt_settings) { bool bt_settings_load(BtSettings* bt_settings) {
furi_assert(bt_settings); furi_assert(bt_settings);
return saved_struct_load( bool ret = saved_struct_load(
BT_SETTINGS_PATH, bt_settings, sizeof(BtSettings), BT_SETTINGS_MAGIC, BT_SETTINGS_VERSION); BT_SETTINGS_PATH, bt_settings, sizeof(BtSettings), BT_SETTINGS_MAGIC, BT_SETTINGS_VERSION);
if(!ret) {
Storage* storage = furi_record_open(RECORD_STORAGE);
storage_common_copy(storage, BT_SETTINGS_OLD_PATH, BT_SETTINGS_PATH);
storage_common_remove(storage, BT_SETTINGS_OLD_PATH);
furi_record_close(RECORD_STORAGE);
ret = saved_struct_load(
BT_SETTINGS_PATH, bt_settings, sizeof(BtSettings), BT_SETTINGS_MAGIC, BT_SETTINGS_VERSION);
}
return ret;
} }
bool bt_settings_save(BtSettings* bt_settings) { bool bt_settings_save(BtSettings* bt_settings) {

View File

@@ -0,0 +1,22 @@
#include "desktop_settings.h"
bool DESKTOP_SETTINGS_SAVE(DesktopSettings* x) {
return saved_struct_save(
DESKTOP_SETTINGS_PATH, x, sizeof(DesktopSettings), DESKTOP_SETTINGS_MAGIC, DESKTOP_SETTINGS_VER);
}
bool DESKTOP_SETTINGS_LOAD(DesktopSettings* x) {
bool ret = saved_struct_load(
DESKTOP_SETTINGS_PATH, x, sizeof(DesktopSettings), DESKTOP_SETTINGS_MAGIC, DESKTOP_SETTINGS_VER);
if(!ret) {
Storage* storage = furi_record_open(RECORD_STORAGE);
storage_common_copy(storage, DESKTOP_SETTINGS_OLD_PATH, DESKTOP_SETTINGS_PATH);
storage_common_remove(storage, DESKTOP_SETTINGS_OLD_PATH);
furi_record_close(RECORD_STORAGE);
ret = saved_struct_load(
DESKTOP_SETTINGS_PATH, x, sizeof(DesktopSettings), DESKTOP_SETTINGS_MAGIC, DESKTOP_SETTINGS_VER);
}
return ret;
}

View File

@@ -11,28 +11,13 @@
#define DESKTOP_SETTINGS_VER (7) #define DESKTOP_SETTINGS_VER (7)
#define DESKTOP_SETTINGS_PATH INT_PATH(DESKTOP_SETTINGS_FILE_NAME) #define DESKTOP_SETTINGS_OLD_PATH INT_PATH(DESKTOP_SETTINGS_FILE_NAME)
#define DESKTOP_SETTINGS_PATH EXT_PATH(DESKTOP_SETTINGS_FILE_NAME)
#define DESKTOP_SETTINGS_MAGIC (0x17) #define DESKTOP_SETTINGS_MAGIC (0x17)
#define PIN_MAX_LENGTH 12 #define PIN_MAX_LENGTH 12
#define DESKTOP_SETTINGS_RUN_PIN_SETUP_ARG "run_pin_setup" #define DESKTOP_SETTINGS_RUN_PIN_SETUP_ARG "run_pin_setup"
#define DESKTOP_SETTINGS_SAVE(x) \
saved_struct_save( \
DESKTOP_SETTINGS_PATH, \
(x), \
sizeof(DesktopSettings), \
DESKTOP_SETTINGS_MAGIC, \
DESKTOP_SETTINGS_VER)
#define DESKTOP_SETTINGS_LOAD(x) \
saved_struct_load( \
DESKTOP_SETTINGS_PATH, \
(x), \
sizeof(DesktopSettings), \
DESKTOP_SETTINGS_MAGIC, \
DESKTOP_SETTINGS_VER)
#define MAX_PIN_SIZE 10 #define MAX_PIN_SIZE 10
#define MIN_PIN_SIZE 4 #define MIN_PIN_SIZE 4
#define MAX_APP_LENGTH 128 #define MAX_APP_LENGTH 128
@@ -55,3 +40,7 @@ typedef struct {
uint32_t auto_lock_delay_ms; uint32_t auto_lock_delay_ms;
bool auto_lock_with_pin; bool auto_lock_with_pin;
} DesktopSettings; } DesktopSettings;
bool DESKTOP_SETTINGS_SAVE(DesktopSettings* x);
bool DESKTOP_SETTINGS_LOAD(DesktopSettings* x);

View File

@@ -11,7 +11,8 @@
#define TAG "DolphinState" #define TAG "DolphinState"
#define DOLPHIN_STATE_PATH INT_PATH(DOLPHIN_STATE_FILE_NAME) #define DOLPHIN_STATE_OLD_PATH INT_PATH(DOLPHIN_STATE_FILE_NAME)
#define DOLPHIN_STATE_PATH EXT_PATH(DOLPHIN_STATE_FILE_NAME)
#define DOLPHIN_STATE_HEADER_MAGIC 0xD0 #define DOLPHIN_STATE_HEADER_MAGIC 0xD0
#define DOLPHIN_STATE_HEADER_VERSION 0x01 #define DOLPHIN_STATE_HEADER_VERSION 0x01
@@ -61,6 +62,19 @@ bool dolphin_state_load(DolphinState* dolphin_state) {
DOLPHIN_STATE_HEADER_MAGIC, DOLPHIN_STATE_HEADER_MAGIC,
DOLPHIN_STATE_HEADER_VERSION); DOLPHIN_STATE_HEADER_VERSION);
if(!success) {
Storage* storage = furi_record_open(RECORD_STORAGE);
storage_common_copy(storage, DOLPHIN_STATE_OLD_PATH, DOLPHIN_STATE_PATH);
storage_common_remove(storage, DOLPHIN_STATE_OLD_PATH);
furi_record_close(RECORD_STORAGE);
success = saved_struct_load(
DOLPHIN_STATE_PATH,
&dolphin_state->data,
sizeof(DolphinStoreData),
DOLPHIN_STATE_HEADER_MAGIC,
DOLPHIN_STATE_HEADER_VERSION);
}
if(success) { if(success) {
if((dolphin_state->data.butthurt > BUTTHURT_MAX) || if((dolphin_state->data.butthurt > BUTTHURT_MAX) ||
(dolphin_state->data.butthurt < BUTTHURT_MIN)) { (dolphin_state->data.butthurt < BUTTHURT_MIN)) {

View File

@@ -0,0 +1,22 @@
#include "power_settings.h"
bool SAVE_POWER_SETTINGS(uint32_t* x) {
return saved_struct_save(
POWER_SETTINGS_PATH, x, sizeof(uint32_t), POWER_SETTINGS_MAGIC, POWER_SETTINGS_VER);
}
bool LOAD_POWER_SETTINGS(uint32_t* x) {
bool ret = saved_struct_load(
POWER_SETTINGS_PATH, x, sizeof(uint32_t), POWER_SETTINGS_MAGIC, POWER_SETTINGS_VER);
if(!ret) {
Storage* storage = furi_record_open(RECORD_STORAGE);
storage_common_copy(storage, POWER_SETTINGS_OLD_PATH, POWER_SETTINGS_PATH);
storage_common_remove(storage, POWER_SETTINGS_OLD_PATH);
furi_record_close(RECORD_STORAGE);
ret = saved_struct_load(
POWER_SETTINGS_PATH, x, sizeof(uint32_t), POWER_SETTINGS_MAGIC, POWER_SETTINGS_VER);
}
return ret;
}

View File

@@ -4,13 +4,10 @@
#define POWER_SETTINGS_VER (1) #define POWER_SETTINGS_VER (1)
#define POWER_SETTINGS_PATH INT_PATH(POWER_SETTINGS_FILE_NAME) #define POWER_SETTINGS_OLD_PATH INT_PATH(POWER_SETTINGS_FILE_NAME)
#define POWER_SETTINGS_PATH EXT_PATH(POWER_SETTINGS_FILE_NAME)
#define POWER_SETTINGS_MAGIC (0x21) #define POWER_SETTINGS_MAGIC (0x21)
#define SAVE_POWER_SETTINGS(x) \ bool SAVE_POWER_SETTINGS(uint32_t* x);
saved_struct_save( \
POWER_SETTINGS_PATH, (x), sizeof(uint32_t), POWER_SETTINGS_MAGIC, POWER_SETTINGS_VER)
#define LOAD_POWER_SETTINGS(x) \ bool LOAD_POWER_SETTINGS(uint32_t* x);
saved_struct_load( \
POWER_SETTINGS_PATH, (x), sizeof(uint32_t), POWER_SETTINGS_MAGIC, POWER_SETTINGS_VER)