unleashed-firmware/applications/services/desktop/desktop_settings.h

87 lines
2.0 KiB
C
Raw Normal View History

#pragma once
#include "desktop_settings_filename.h"
#include <furi_hal.h>
#include <stdint.h>
#include <stdbool.h>
#include <toolbox/saved_struct.h>
#include <storage/storage.h>
2023-08-17 13:04:40 +03:00
#define DESKTOP_SETTINGS_VER (13)
2024-07-15 20:02:45 +03:00
#define DESKTOP_SETTINGS_PATH INT_PATH(DESKTOP_SETTINGS_FILE_NAME)
#define DESKTOP_SETTINGS_MAGIC (0x17)
2024-07-15 20:02:45 +03:00
#define PIN_MAX_LENGTH 12
#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)
2024-07-15 20:02:45 +03:00
#define MAX_PIN_SIZE 10
#define MIN_PIN_SIZE 4
#define MAX_APP_LENGTH 128
2024-07-15 20:02:45 +03:00
#define DISPLAY_BATTERY_BAR 0
#define DISPLAY_BATTERY_PERCENT 1
2023-01-09 17:15:00 +03:00
#define DISPLAY_BATTERY_INVERTED_PERCENT 2
2024-07-15 20:02:45 +03:00
#define DISPLAY_BATTERY_RETRO_3 3
#define DISPLAY_BATTERY_RETRO_5 4
#define DISPLAY_BATTERY_BAR_PERCENT 5
2023-01-09 17:15:00 +03:00
2023-08-17 13:04:40 +03:00
typedef enum {
FavoriteAppLeftShort = 0,
FavoriteAppLeftLong,
FavoriteAppRightShort,
FavoriteAppRightLong,
FavoriteAppNumber,
} FavoriteAppShortcut;
typedef enum {
DummyAppLeft = 0,
2023-08-17 13:40:55 +03:00
DummyAppLeftLong,
2023-08-17 13:04:40 +03:00
DummyAppRight,
2023-08-17 13:40:55 +03:00
DummyAppRightLong,
DummyAppUpLong,
2023-08-17 13:04:40 +03:00
DummyAppDown,
2023-08-17 13:40:55 +03:00
DummyAppDownLong,
2023-08-17 13:04:40 +03:00
DummyAppOk,
2023-08-17 13:40:55 +03:00
DummyAppOkLong,
2023-08-17 13:04:40 +03:00
DummyAppNumber,
} DummyAppShortcut;
typedef struct {
InputKey data[MAX_PIN_SIZE];
uint8_t length;
} PinCode;
typedef struct {
char name_or_path[MAX_APP_LENGTH];
} FavoriteApp;
typedef struct {
PinCode pin_code;
uint32_t auto_lock_delay_ms;
2022-09-08 18:24:25 +03:00
uint8_t displayBatteryPercentage;
uint8_t dummy_mode;
2023-05-23 22:47:15 +03:00
uint8_t display_clock;
2023-08-17 13:04:40 +03:00
FavoriteApp favorite_apps[FavoriteAppNumber];
FavoriteApp dummy_apps[DummyAppNumber];
} DesktopSettings;