settings.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. #pragma once
  2. #include <avr/eeprom.h>
  3. #include "working_modes.h"
  4. /* u8 list - max 15 */
  5. #define CONF_U8_GNSS_MODE 0
  6. #define CONF_U8_SKIP_POINTS 1
  7. #define CONF_U8_AUTO_PAUSE_TIME 2
  8. #define CONF_U8_AUTO_PAUSE_DIST 3
  9. #define CONF_U8_MIN_SATS 4
  10. #define CONF_U8_AUTO_PAUSE_SPEED 5
  11. #define CONF_U8_UART_LOG_MODE 6
  12. #define CONF_U8_LAST 6
  13. #define CONFFLAG_LAST CONFFLAG_VERBOSE_LOG
  14. /* UART_LOG_MODE_*, CONFFLAG_*, GNSS_MODE_*, and struct config_s are in
  15. * common.h (included via main.h, before this file - see main.h's include
  16. * order) - shared byte-for-byte with the PC test tool. */
  17. extern const __flash unsigned char limits_max_u8[];
  18. extern const __flash unsigned char limits_min_u8[];
  19. extern __flash const char *gnss_names[];
  20. extern __flash const char *uart_log_mode_names[];
  21. extern __flash const struct menu_struct settings_menu;
  22. unsigned char settings_load(void); /* 0 - ok, 1 - error */
  23. void settings_store(void);
  24. unsigned char check_config_data(void); /* 0 - ok, 1 - error */
  25. void settings_display_and_modify_bool(unsigned char mindex, unsigned char k);
  26. void settings_display_and_modify_u8(unsigned char mindex, unsigned char k);
  27. unsigned char get_flag(unsigned char index);
  28. void set_flag(unsigned char index, unsigned char val);
  29. void settings_bool_disp_default(unsigned char val);
  30. void display_current_uart_log_mode(void);