config.h 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #ifndef __CONFIG_H
  2. #define __CONFIG_H
  3. #include "stm32g4xx_hal.h"
  4. #define FW_VERSION "1.0"
  5. #define SETTINGS_ADDR 0x08000000 + (63 * 2048) //0x01F7FF
  6. // Ключ для контроля сектора настроек
  7. #define SETTINGS_KEY 123456789
  8. // Страница настроек
  9. #define SETTINGS_PAGE 63
  10. // Возвращает адрес страницы по номеру страницы
  11. #define GET_PAGE_ADDR(x) ((uint32_t)(0x08000000 + 0x800 * (x)))
  12. // Возвращает адрес настроек по номеру страницы
  13. #define GET_SETTINGS_ADDR(x) (GET_PAGE_ADDR(SETTINGS_PAGE + 1) - 4)
  14. // Возвращает адрес ключа настроек по номеру страницы
  15. #define GET_SETTINGS_KEY_ADDR(x) (GET_PAGE_ADDR(SETTINGS_PAGE + 1) - 16)
  16. // Возвращает адрес CRC структуры настроек во флеш памяти по номеру страницы
  17. #define GET_SETTINGS_CRC_ADDR(x) (GET_PAGE_ADDR(SETTINGS_PAGE + 1) - 8)
  18. /* @note All the executable code is mapped in SRAM1 area */
  19. #define FLASH_USER_START_ADDR ADDR_FLASH_PAGE_0 /* Start @ of user Flash area */
  20. #define FLASH_USER_END_ADDR (ADDR_FLASH_PAGE_63 + FLASH_PAGE_SIZE - 1) /* End @ of user Flash area */
  21. // Софтверный фильтр для энкодера в меню
  22. #define ENC_SOFT_FILTER_CNT 3
  23. // Фильтр антидребезга для кнопки энкодера
  24. #define BUTTON_GLICH_TIMEOUT 50
  25. // Выводменю в консоль
  26. // Стрелки клавиатуры "a", "s", "d" управляют меню в консоли
  27. #define KEYBOARD_MENU
  28. // Вывод на экран
  29. #define SCREEN_MENU
  30. // Коэффициент 1, верхний порог
  31. #define FACTOR_1_UP_THR 1050
  32. // Коэффициент 1, нижний порог
  33. #define FACTOR_1_DOWN_THR 950
  34. // Коэффициент 2, верхний порог
  35. #define FACTOR_2_UP_THR 2050
  36. // Коэффициент 2, нижний порог
  37. #define FACTOR_2_DOWN_THR 1950
  38. // Интерфейс экрана
  39. //#define I2C_BRIDGE
  40. // Интерфейс экрана
  41. #define SPI_BRIDGE
  42. #endif /* #ifndef __CONFIG_H */