123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260 |
- #ifndef COMMON_CONFIG_H
- #define COMMON_CONFIG_H
- #include "at32f403a_407.h"
- #define METROLOG_M3
- /**
- * @brief Маркер ревизии платы для валидации *.bin файла
- *
- */
- #define HW_REV_LEN 16
- #define HW_REV_OFFSET 0x1F0
- #define HW_REV "MT_M03"
- /**
- * @brief Название модели устройства
- */
- #define MODEL "Метролог M3"
- /**
- * @brief Производитель
- */
- #define MANUFACTURER "АО \"НПК РоТеК\""
- /**
- * @brief Версия прошивки
- */
- #define VERSION "1.01t"
- /**
- * @brief MD5 CRC
- */
- #define MD5_CRC "BF704428A06FE45359B2037ADBAA2C6E"
-
- /**
- * @brief Адрес сектора настроек
- */
- #define SETTINGS_SECTOR 0x08020000
- /**
- * @brief Адрес CRC настроек
- */
- #define CRC_ADDRESS 0x080207FC
- /**
- * @brief Адрес сектора системных настроек
- */
- #define SYS_SECTOR 0x08020800
- /**
- * @brief Адрес CRC системных настроек
- */
- #define SYS_CRC_ADDRESS 0x08020FFC
- /**
- * @brief Слово для контроля целостности структуры настроек
- */
- #define SETTINGS_CONTROL_WORD 123456789
- /**
- * @brief Число (-1) попыток загрузки основной прошивки
- */
- #define BOOT_TRY 26
- /**
- * @brief Таймаут возврата в основное ПО, сек.
- */
- #define UPDATE_TIMEOUT 120
- #define USER_FLASH_FIRST_PAGE_ADDRESS 0x08021000
- #define USER_FLASH_END_ADDRESS 0x080C0FFF
- #define USER_FLASH_CRC_ADDRESS 0x080C0FFC
- #define FLASH_SECTOR_SIZE 0x800
- #define IAP_FLASH_FIRST_PAGE_ADDRESS 0x08000000 // Only as example see comment
- #define IAP_FLASH_CRC_ADDRESS 0x0801FFFC
- #define SYSTEMTICK_PERIOD_MS 1
-
- //
- #define MQTT_CLIENT
- // LwIP Software watchdog
- //#define SOFTWARE_LWIP_WATCHDOG
- //
- #define USB_RNDIS
- /**
- * @brief Название файла прошивки
- */
- #define MAIN_FW_NAME "MT_M03.bin"
- /**
- * @brief Название файла прошивки (backup)
- */
- #define BACKUP_MAIN_FW_NAME "BACKUP.bin"
- /**
- * @brief Вкл/выкл лог
- */
- #define LOG_ENABLE
- /**
- * @brief Название файла лога
- */
- #define LOG_NAME "LOG.txt"
- //#define FLASH_TYPE_AT25SF161
- #define FLASH_TYPE_MX25L1606E
- // -------------------------------------------------------------------------- //
- typedef enum
- {
- MB_REV_0 = 0,
- MB_REV_1 = 1,
- MB_REV_2 = 2,
- MB_REV_3 = 3,
- MB_REV_4 = 4,
- MB_REV_5 = 5,
- MB_REV_6 = 6,
- MB_REV_7 = 7,
-
- } MBOARD_REV_t;
- typedef enum
- {
- DB_ABS = 0,
- DB_REV_1 = 1,
- DB_REV_2 = 2,
- DB_REV_3 = 3,
- DB_REV_4 = 4,
- DB_REV_5 = 5,
- DB_REV_6 = 6,
- DB_REV_7 = 7,
- DB_REV_8 = 8,
- DB_REV_9 = 9,
- DB_REV_10 = 10,
-
- } DBOARD_REV_t;
- typedef enum
- {
- ADC_PWR_MEAS = 0,
- ADC_DB_REV = 1,
- ADC_MB_REV = 2,
-
- } ADC_REV_CH_t;
- extern uint8_t mboard_rev; // Ревизия основной платы
- extern uint8_t dboard_rev; // Ревизия дочерней платы
- // -------------------------------------------------------------------------- //
- // Вывод DEBUG
- //#define SETTINGS_DEBUG // Настройки
- //#define CM_DEBUG // Connection manager
- //#define CM_PING_DEBUG
- //#define FS_DEBUG // SPI FLASH и файловая система
- //#define GSM_DEBUG // GSM
- //#define MQTT__DEBUG // MQTT
- //#define POWER_DEBUG // Power manager
- //#define BOOT_DEBUG // Bootloader
- #define USB_DEBUG // USB RNDIS
-
- #ifdef DEBUG
- #ifdef SETTINGS_DEBUG
- #define SDBG
- #else
- #define SDBG if (0)
- #endif
- #ifdef CM_DEBUG
- #define CMDBG
- #else
- #define CMDBG if (0)
- #endif
- #ifdef CM_PING_DEBUG
- #define CMPDBG
- #else
- #define CMPDBG if (0)
- #endif
- #ifdef FS_DEBUG
- #define FSDBG
- #else
- #define FSDBG if (0)
- #endif
- #ifdef GSM_DEBUG
- #define GDBG
- #else
- #define GDBG if (0)
- #endif
- #ifdef MQTT__DEBUG
- #define MQDBG
- #else
- #define MQDBG if (0)
- #endif
- #ifdef POWER_DEBUG
- #define PMDBG
- #else
- #define PMDBG if (0)
- #endif
-
- #ifdef BOOT_DEBUG
- #define BOOTDBG
- #else
- #define BOOTDBG if (0)
- #endif
-
- #ifdef USB_DEBUG
- #define UDBG
- #else
- #define UDBG if (0)
- #endif
-
- #else
- #define SDBG if (0)
- #define CMDBG if (0)
- #define FSDBG if (0)
- #define GDBG if (0)
- #define MQDBG if (0)
- #define CMPDBG if (0)
- #define PMDBG if (0)
- #define BOOTDBG if (0)
- #define UDBG if (0)
- #endif
- #endif /* #ifndef COMMON_CONFIG_H */
- /********************************* (C) РОТЕК **********************************/
|