| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- #ifndef __BSP_H__
- #define __BSP_H__
- #include "gd32f10x.h"
- #include "queue.h"
- ///////////////////////////////////////////////////////////
- extern sequeue_t *uart0_rx_sq;
- extern sequeue_t *uart3_rx_sq;
- #ifdef TY_0901
- #define DEV_TYPE 0x0901
- #define SOFTWARE_VERSION_PT 0X09012002
- #elif defined TY_0902
- #define DEV_TYPE 0x0902
- #define SOFTWARE_VERSION_PT 0X09022002
- #elif defined TY_0904
- #define DEV_TYPE 0x0904
- #define SOFTWARE_VERSION_PT 0X09042001
- #endif
- //读芯片内部信息地址
- #define GD32F10X_ID_ADDR 0x1FFFF7E8
- #define GD32F30X_ID_ADDR 0x1FFFF7E8
- #define GD32F10X_TYPE_ADDR 0xE0042000
- #define FRAM_FIRST_POWER_ON 0 // 是否是第一次上电 2个字节
- #define FRAM_VERSION (FRAM_FIRST_POWER_ON+sizeof(uint16_t)) // EEPROM 版本 1个字节
- #define DEVICE_PUBLIC_INFO_ADDR 0x00 //公共信息存储地址
- #define DEVICE_VERSION_INFO_ADDR 0x100 //版本信息存储地址
- #define FRAM_MQTT_MSG 0x4C0 //mqtt信息存储地址
- //#define IMEI_ADDR 0x40
- /* 网关固件信息存储 这个只有在产测时写入,要程序中不再写入*/
- typedef struct _GATEWAY_HARDWARE_MSG_{
- uint16_t firstPowerUp; // 是否为第一次上电 0x5A5A 说明已经上过电
- uint8_t eepromVer; // eeprom 的版本
- uint8_t bInit; // 是否初始化过
- uint32_t device_sn; // 网关的sn
- uint16_t devicType; // 类型
- uint16_t factoryMsg; // 厂家信息
- uint16_t seqNo ; // 生产批次号
- uint32_t data; // 生产日期
- uint8_t pcbVersion; // 硬件(PCB)版本
- // uint32_t sqare; //备用
- }__attribute__((packed)) GateHareWareMsg;
- /* 网关的版本信息*/
- typedef struct _GATEWAY_VERSION_MSG_{
- uint32_t bootloaderVr; //网关的bootloaderVr
- uint32_t pt_version; // 产测版本
- uint32_t appVr; // appt版本
- uint32_t appVr2; // app2的版本
- uint32_t appVr3; // app3的版本
- }__attribute__((packed)) GateVersionMsg;
- typedef struct _GATEWAY_MSG_{
- GateHareWareMsg hardwareMsg; //
- GateVersionMsg verMsg; // 版本信息
- uint32_t gate_resetnum; //复位次数
- uint8_t gate_resetType; //最后一次复位类型
- uint32_t gate_runTime; // 运行时长
- uint8_t Uuid[12];//UUID
- uint8_t Imei[15]; //IMEI
- uint8_t Iccid1[20];//ICCID1
- uint8_t Iccid2[20];//ICCID2
- uint8_t Iccid3[20];//ICCID3
- uint16_t devicTypeID; // 103 303 这个是读取上来的
- }__attribute__((packed)) GateWayMsg;
- /* mqtt IP地址 端口号*/
- typedef struct _MQTT_IP_PORT_{
- uint8_t flag;
- char port[6]; // 端口号
- char ip[32]; //IP地址
- char admin[8]; // 用户名
- char password[16]; // 密码
- }__attribute__((packed)) MqttIdPort;
- typedef struct _FIRMWARE_MSG_{ // 固件信息存储
- GateWayMsg gatewayMsg; // 网关的信息
- MqttIdPort mqttidport; // mqtt的IP地址和端口
- }__attribute__((packed)) FirmwareMsg;
- extern FirmwareMsg g_firmwareMsg; // 网关 采集器固件信息存储
- void creat_uart_queue(void);
- void get_mcu_uuid(void);
- void get_mcu_TypeIdcode(void);
- void fram_init(void);
- void fram_write_eeprom_powerUpFlag(void);
- uint16_t fram_read_eeprom_powerUpFlag(void);
- void fram_write_eeprom_version(void);
- uint8_t fram_read_eeprom_version(void);
- void fram_init_mqtt_msg(void);
- void fram_write_mqtt_msg(void);
- void fram_read_mqtt_msg(void);
- void fram_read_hardware_msg(void);
- void fram_write_hardware_msg(void);
- void fram_init_version(void);
- void fram_write_version(void);
- void fram_read_version(void);
- ///////////////////////////////////////////////////////////
- #endif
|