FindMy: Save and load state from file

This commit is contained in:
Willy-JL
2024-03-08 21:35:59 +00:00
parent 7c48c6164a
commit 5d45d6abb8
6 changed files with 110 additions and 29 deletions

View File

@@ -2,16 +2,25 @@
#include <extra_beacon.h>
typedef struct {
uint8_t mac[EXTRA_BEACON_MAC_ADDR_SIZE];
uint8_t data[EXTRA_BEACON_MAX_DATA_SIZE];
GapExtraBeaconConfig config;
#define FINDMY_STATE_HEADER "FindMy Flipper State"
#define FINDMY_STATE_VER 1
#define FINDMY_STATE_DIR EXT_PATH("apps_data/findmy")
#define FINDMY_STATE_PATH FINDMY_STATE_DIR "/findmy_state.txt"
typedef struct {
bool beacon_active;
uint8_t broadcast_interval;
uint8_t transmit_power;
uint8_t mac[EXTRA_BEACON_MAC_ADDR_SIZE];
uint8_t data[EXTRA_BEACON_MAX_DATA_SIZE];
// Generated from the other state values
GapExtraBeaconConfig config;
} FindMyState;
bool findmy_state_load(FindMyState* out_state);
void findmy_state_apply(FindMyState* state);
void findmy_state_save(FindMyState* state);