[FL-2675] /int space reservation (#1448)
* storage: added global #defines for /int, /ext & /any * storage: introduced PATH_EXT, PATH_INT& PATH_ANY macros * core apps: moved hardcoded config files names to separate headers; prefixed them with "."; updater: added file name migration to new naming convention on backup extraction * storage: fixed storage_merge_recursive handling of complex directory structures; storage_move_to_sd: changed data migration logic to all non-dot files & all folders * core: added macro aliases for core record names * Bumped protobuf commit pointer * storage: reserved 5 pages in /int; denying write&creation of non-dot files when running out of free space Co-authored-by: あく <alleteam@gmail.com>
This commit is contained in:
@@ -155,7 +155,7 @@ static void dolphin_update_clear_limits_timer_period(Dolphin* dolphin) {
|
||||
int32_t dolphin_srv(void* p) {
|
||||
UNUSED(p);
|
||||
Dolphin* dolphin = dolphin_alloc();
|
||||
furi_record_create("dolphin", dolphin);
|
||||
furi_record_create(RECORD_DOLPHIN, dolphin);
|
||||
|
||||
dolphin_state_load(dolphin->state);
|
||||
xTimerReset(dolphin->butthurt_timer, portMAX_DELAY);
|
||||
|
@@ -9,6 +9,8 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define RECORD_DOLPHIN "dolphin"
|
||||
|
||||
typedef struct Dolphin Dolphin;
|
||||
|
||||
typedef struct {
|
||||
|
@@ -1,5 +1,7 @@
|
||||
#include "dolphin_state.h"
|
||||
#include "dolphin/helpers/dolphin_deed.h"
|
||||
#include "dolphin_state_filename.h"
|
||||
|
||||
#include <stdint.h>
|
||||
#include <storage/storage.h>
|
||||
#include <furi.h>
|
||||
@@ -8,7 +10,8 @@
|
||||
#include <toolbox/saved_struct.h>
|
||||
|
||||
#define TAG "DolphinState"
|
||||
#define DOLPHIN_STATE_PATH "/int/dolphin.state"
|
||||
|
||||
#define DOLPHIN_STATE_PATH INT_PATH(DOLPHIN_STATE_FILE_NAME)
|
||||
#define DOLPHIN_STATE_HEADER_MAGIC 0xD0
|
||||
#define DOLPHIN_STATE_HEADER_VERSION 0x01
|
||||
#define LEVEL2_THRESHOLD 735
|
||||
|
3
applications/dolphin/helpers/dolphin_state_filename.h
Normal file
3
applications/dolphin/helpers/dolphin_state_filename.h
Normal file
@@ -0,0 +1,3 @@
|
||||
#pragma once
|
||||
|
||||
#define DOLPHIN_STATE_FILE_NAME ".dolphin.state"
|
@@ -95,12 +95,12 @@ int32_t passport_app(void* p) {
|
||||
|
||||
ViewPort* view_port = view_port_alloc();
|
||||
|
||||
Dolphin* dolphin = furi_record_open("dolphin");
|
||||
Dolphin* dolphin = furi_record_open(RECORD_DOLPHIN);
|
||||
DolphinStats stats = dolphin_stats(dolphin);
|
||||
furi_record_close("dolphin");
|
||||
furi_record_close(RECORD_DOLPHIN);
|
||||
view_port_draw_callback_set(view_port, render_callback, &stats);
|
||||
view_port_input_callback_set(view_port, input_callback, semaphore);
|
||||
Gui* gui = furi_record_open("gui");
|
||||
Gui* gui = furi_record_open(RECORD_GUI);
|
||||
gui_add_view_port(gui, view_port, GuiLayerFullscreen);
|
||||
view_port_update(view_port);
|
||||
|
||||
@@ -108,7 +108,7 @@ int32_t passport_app(void* p) {
|
||||
|
||||
gui_remove_view_port(gui, view_port);
|
||||
view_port_free(view_port);
|
||||
furi_record_close("gui");
|
||||
furi_record_close(RECORD_GUI);
|
||||
furi_semaphore_free(semaphore);
|
||||
|
||||
return 0;
|
||||
|
Reference in New Issue
Block a user