desktop_settings.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #pragma once
  2. #include "desktop_settings_filename.h"
  3. #include <furi_hal.h>
  4. #include <stdint.h>
  5. #include <stdbool.h>
  6. #include <toolbox/saved_struct.h>
  7. #include <storage/storage.h>
  8. #define DESKTOP_SETTINGS_VER (5)
  9. #define DESKTOP_SETTINGS_PATH INT_PATH(DESKTOP_SETTINGS_FILE_NAME)
  10. #define DESKTOP_SETTINGS_MAGIC (0x17)
  11. #define PIN_MAX_LENGTH 12
  12. #define DESKTOP_SETTINGS_RUN_PIN_SETUP_ARG "run_pin_setup"
  13. #define DESKTOP_SETTINGS_SAVE(x) \
  14. saved_struct_save( \
  15. DESKTOP_SETTINGS_PATH, \
  16. (x), \
  17. sizeof(DesktopSettings), \
  18. DESKTOP_SETTINGS_MAGIC, \
  19. DESKTOP_SETTINGS_VER)
  20. #define DESKTOP_SETTINGS_LOAD(x) \
  21. saved_struct_load( \
  22. DESKTOP_SETTINGS_PATH, \
  23. (x), \
  24. sizeof(DesktopSettings), \
  25. DESKTOP_SETTINGS_MAGIC, \
  26. DESKTOP_SETTINGS_VER)
  27. #define MAX_PIN_SIZE 10
  28. #define MIN_PIN_SIZE 4
  29. typedef struct {
  30. InputKey data[MAX_PIN_SIZE];
  31. uint8_t length;
  32. } PinCode;
  33. typedef struct {
  34. uint16_t favorite_primary;
  35. uint16_t favorite_secondary;
  36. PinCode pin_code;
  37. uint8_t is_locked;
  38. uint32_t auto_lock_delay_ms;
  39. uint8_t dummy_mode;
  40. } DesktopSettings;