common_config.h 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. #ifndef COMMON_CONFIG_H
  2. #define COMMON_CONFIG_H
  3. #include "at32f403a_407.h"
  4. #ifdef DEBUG
  5. #define DBG
  6. #else
  7. #undef DBG
  8. #define DBG if (0)
  9. #endif
  10. /**
  11. * @brief Маркер ревизии платы для валидации *.bin файла
  12. *
  13. */
  14. #define HW_REV_LEN 16
  15. #define HW_REV_OFFSET 0x1F0
  16. #define HW_REV "MT_M03"
  17. /**
  18. * @brief Название модели устройства
  19. */
  20. #define MODEL "Метролог M3"
  21. /**
  22. * @brief Производитель
  23. */
  24. #define MANUFACTURER "АО \"НПК РоТеК\""
  25. /**
  26. * @brief Версия прошивки
  27. */
  28. #define VERSION "1.01t"
  29. /**
  30. * @brief MD5 CRC
  31. */
  32. #define MD5_CRC "BF704428A06FE45359B2037ADBAA2C6E"
  33. /**
  34. * @brief Адрес сектора настроек
  35. */
  36. #define SETTINGS_SECTOR 0x08020000
  37. /**
  38. * @brief Адрес CRC настроек
  39. */
  40. #define CRC_ADDRESS 0x080207FC
  41. /**
  42. * @brief Адрес сектора системных настроек
  43. */
  44. #define SYS_SECTOR 0x08020800
  45. /**
  46. * @brief Адрес CRC системных настроек
  47. */
  48. #define SYS_CRC_ADDRESS 0x08020FFC
  49. /**
  50. * @brief Слово для контроля целостности структуры настроек
  51. */
  52. #define SETTINGS_CONTROL_WORD 123456789
  53. /**
  54. * @brief Число (-1) попыток загрузки основной прошивки
  55. */
  56. #define BOOT_TRY 26
  57. /**
  58. * @brief Таймаут возврата в основное ПО, сек.
  59. */
  60. #define UPDATE_TIMEOUT 120
  61. #define USER_FLASH_FIRST_PAGE_ADDRESS 0x08021000
  62. #define USER_FLASH_END_ADDRESS 0x080C0FFF
  63. #define USER_FLASH_CRC_ADDRESS 0x080C0FFC
  64. #define FLASH_SECTOR_SIZE 0x800
  65. #define IAP_FLASH_FIRST_PAGE_ADDRESS 0x08000000 // Only as example see comment
  66. #define IAP_FLASH_CRC_ADDRESS 0x0801FFFC
  67. #define SYSTEMTICK_PERIOD_MS 1
  68. //
  69. #define MQTT_CLIENT
  70. // LwIP Software watchdog
  71. //#define SOFTWARE_LWIP_WATCHDOG
  72. //
  73. #define USB_RNDIS
  74. /**
  75. * @brief Название файла прошивки
  76. */
  77. #define MAIN_FW_NAME "MT_M03.bin"
  78. /**
  79. * @brief Название файла прошивки (backup)
  80. */
  81. #define BACKUP_MAIN_FW_NAME "BACKUP.bin"
  82. /**
  83. * @brief Вкл/выкл лог
  84. */
  85. #define LOG_ENABLE
  86. /**
  87. * @brief Название файла лога
  88. */
  89. #define LOG_NAME "LOG.txt"
  90. //#define FLASH_TYPE_AT25SF161
  91. #define FLASH_TYPE_MX25L1606E
  92. // -------------------------------------------------------------------------- //
  93. typedef enum
  94. {
  95. MB_REV_0 = 0,
  96. MB_REV_1 = 1,
  97. MB_REV_2 = 2,
  98. MB_REV_3 = 3,
  99. MB_REV_4 = 4,
  100. MB_REV_5 = 5,
  101. MB_REV_6 = 6,
  102. MB_REV_7 = 7,
  103. } MBOARD_REV_t;
  104. typedef enum
  105. {
  106. DB_ABS = 0,
  107. DB_REV_1 = 1,
  108. DB_REV_2 = 2,
  109. DB_REV_3 = 3,
  110. DB_REV_4 = 4,
  111. DB_REV_5 = 5,
  112. DB_REV_6 = 6,
  113. DB_REV_7 = 7,
  114. DB_REV_8 = 8,
  115. DB_REV_9 = 9,
  116. DB_REV_10 = 10,
  117. } DBOARD_REV_t;
  118. typedef enum
  119. {
  120. ADC_PWR_MEAS = 0,
  121. ADC_DB_REV = 1,
  122. ADC_MB_REV = 2,
  123. } ADC_REV_CH_t;
  124. extern uint8_t mboard_rev; // Ревизия основной платы
  125. extern uint8_t dboard_rev; // Ревизия дочерней платы
  126. #endif /* #ifndef COMMON_CONFIG_H */
  127. /********************************* (C) РОТЕК **********************************/