| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- #ifndef _PUBLIC_H_
- #define _PUBLIC_H_
- #include "../User/gd32f10x_it.h"
- #include "../Hardware/boardinit.h"
- extern uint8_t g_bhavePrice;
- #define DEV_TYPE 0x0904
- #define APP_VERSION 0x0904302F
- #define BROADCAST_SN 0xFFFFFFFF // 广播地址
- #define BROADCAST_TYPE 0xFFFF // 广播设备类型
- #define CRC_INIT_VALUE 0x0000
- enum { // workMode
- WORK_NOINIT = 0x01, // 未初始化模式
- WORK_NORMAL = 0x02, // 正常模式
- WORK_UPDATE = 0x03, // 升级模式
- };
- enum {
- B4G_NOHAVE = 0x00, // 无4G模块
- B4G_HAVE = 0x01, // 有4G模块
- };
- typedef struct _dev_msg_{
- uint16_t devType; // 主设备类型
- uint32_t devSn; // 主设备SN
- uint16_t devTypeS; // 从设备类型
- uint32_t devSnS; // 从设备SN
- uint8_t bHave4G; // 是否有4G模块
- uint8_t baskIdentity; // 是否询问自己的身份
- uint8_t workMode;
- uint8_t ledred; // 红灯状态
- uint8_t ledgreen; //绿灯状态
- uint8_t bhavePrice; // 是否用单价屏
- uint8_t bHYdev; // 是否是鸿洋的设备
- }__attribute__((packed))DevMsg;
- extern DevMsg g_devMsg;
- typedef struct _dev_firm_msg_{
- uint32_t bootVer; // bootloader版本
- uint32_t ptVer; // pt版本
- uint32_t appVer; // app版本
- uint8_t uuid[12]; // UUID
- }__attribute__((packed))DevFirmMsg;
- extern DevFirmMsg g_devfirmMsg;
- enum {
- LOG_TYPE_NULL = 0x00, // 默认类型
- LOG_TYPE_7SEG = 0x01, // 错误去重七段码上报
- LOG_TYPE_LOG = 0x02, // 日志
- };
- typedef struct _log_msg_{
- uint8_t blogOpen; // 日志是否打开 0:未打开, 1:打开
- uint8_t logType; // 日志类型
- timeout_t timer; // 超时计时器
- }LogMsg;
- extern LogMsg g_logMsg;
- #define NODE_MAX_SIZE 8
- #define OFF_LINE_COUNT 5 // 5次读取不到,则判断为离线
- typedef struct _node_msg_{
- uint16_t devType;
- uint32_t devSn;
- uint8_t status;
- uint8_t readCount; // 读取次数
- uint8_t bSelf; // 是自己的设备类型和SN
- }__attribute__((packed))nodeMsg_t;
- typedef struct _node_run_info_{
- nodeMsg_t nodMsg[NODE_MAX_SIZE];
- uint8_t nIndex;
- uint8_t slaveNum; // 从的个数
- }__attribute__((packed))nodeRun_t;
- extern nodeRun_t g_runNode;
- typedef uint32_t u32;
- typedef uint16_t u16;
- typedef uint8_t u8;
- typedef const uint32_t uc32; /*!< Read Only */
- typedef const uint16_t uc16; /*!< Read Only */
- typedef const uint8_t uc8; /*!< Read Only */
- typedef __IO uint32_t vu32;
- typedef __IO uint16_t vu16;
- typedef __IO uint8_t vu8;
- typedef __I uint32_t vuc32; /*!< Read Only */
- typedef __I uint16_t vuc16; /*!< Read Only */
- typedef __I uint8_t vuc8; /*!< Read Only */
- extern void init_dev_msg(void);
- extern uint8_t check_dev_type_sn(uint16_t devType, uint32_t devSn);
- extern uint8_t check_dev_type_sn01(uint16_t devType, uint32_t devSn);
- extern uint16_t crc16_get(uint8_t *data, uint8_t size);
- extern uint16_t _crc16_get(uint8_t *_buff,uint32_t _len);
- extern int _ytsf_data_code(uint8_t *buff, uint8_t *len);
- extern int _ytsf_data_decode(uint8_t *buff, uint8_t *len);
- extern void printf_dev_msg(void);
- extern uint16_t set_updata_state(uint16_t data);
- extern uint8_t updata_state_cmp(uint16_t data);
- extern void app_check_crc(uint32_t addr, uint32_t len, uint32_t *checkdata);
- extern void epprom_read_reset_num(void);
- extern void epprom_init_config_table(void);
- extern void epprom_read_config_table(void);
- extern void epprom_write_config_table(uint8_t *data, uint8_t len);
- extern void epprom_init_com_config(void);
- extern void epprom_read_com_config(void);
- extern void epprom_write_com_config(uint8_t *data, uint8_t len);
- extern void epprom_init_pin_config(void);
- extern void epprom_read_pin_config(void);
- extern void epprom_write_pin_config(uint8_t *data, uint16_t len);
- extern void epprom_power_up_deal(void);
- extern void reset_work_mode(void);
- extern void uart_pt_task(uint8_t *data,uint16_t len);
- #endif
|