123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429 |
- #ifndef __CONFIGMACROS_H
- #define __CONFIGMACROS_H
- #include "oled.h"
- #include "mba32a.h"
- #include "ml307a.h"
- #include <stdlib.h>
- #include "interface.h"
- #include <math.h>
- #define BUFFER_SIZE 256
- #define timingPush 1//定时出入库,外出测试
- #define open4G 1
- #define openBT 1
- #define openUpload 1
- #define updateMenu 1
- #define debugkeyinfo 1
- #define open16 11 //开字
- #define open16 11 //开字
- #define close16 12 //关字
- #define PDA_MODE 0x0000
- #define DTU_MODE 0x0001
-
- #define PRINT_MENU_STATUS(key) printf("--->%s pressed\t%d %d %x %d\n", key, menu.current, menu.up, (menu.next&0xf), menu.enter)
- #define PRINT_UUID(message) printf("#%s符合设置项\n",message)
- #define PRINT_NUUID(message) printf("%s不符合\n",message)
- #define Sn1InfoAddr ((uint32_t)0x8050000)
- #define Sn2InfoAddr ((uint32_t)0x80501F0)
- #define Sn3InfoAddr ((uint32_t)0x80502F0)
- #define Sn4InfoAddr ((uint32_t)0x80503F0)
- #define serialNum1Addr ((uint32_t)0x8050400)
- #define serialNum2Addr ((uint32_t)0x8050500)
- #define serialNum3Addr ((uint32_t)0x8050600)
- #define serialNum4Addr ((uint32_t)0x8050700)
- #define resetDevAddr ((uint32_t)0x8050800)
- #define SysModeAddr ((uint32_t)0x8050900)
- #define tt808serialNum ((uint32_t)0x8051000)
- #define phoneNumADDR ((uint32_t)0x8051100)
- #define ReIPAddr ((uint32_t)0x8051200)
- #define MacDbHeadAddr ((uint32_t)0x8052000) //数据库头部
- #define MacDbBodyAddr ((uint32_t)0x8052100) //数据库身体
- #define LocDbHeadStart ((uint32_t)0x8060000)
- #define LocDbBodyStart ((uint32_t)0x8060800)
- #define EveDbHeadStart ((uint32_t)0x8070000)
- #define EveDbBodyStart ((uint32_t)0x8070800)
- //*tt808
- #define JLPTIP "121.199.29.128"
- #define JLPTPORT 7342 //测试平台
- //#define JLPTPORT 9021 //正式平台
- //#define JLPTIP "118.31.22.26"//徐工平台
- //#define JLPTPORT 8901
- #define MessageID_authentication 0x0102 //鉴权
- #define MessageID_heartbeat 0x0002 //心跳
- #define MessageID_location 0x0200 //地址
- #define MessageID_Retrans 0x0704 //地址补传
- #define TCPJMFSRSA 0x001
- #define TCPJMFSNULL 0x000
- #define TT808FLAG 0x7E
- #define TCPHeadBYTE 0x2A
- #define TCPTAILBYTE 0x23
- #define XXID_pttyyd 0x8001 //通用应答
- #define XXID_ptxxtc 0x8900 //下行透传
- #define XXID_zdtyyd 0x0001 //终端通用应答
- #define YES 0x00
- #define NO 0x01
- #define phoneNum 0x000016000008
- #define phoneNumxy 0x12345699601
- /* WDI */
- #define TOGGLE_WDI_PIN(htim_instance) \
- do { \
- if ((htim_instance)->Instance == TIM2) { \
- HAL_GPIO_TogglePin(WDI_GPIO_Port, WDI_Pin); \
- } \
- } while(0)
- /* OLED显示 */
- #define OLED_DISPLAY(color, display) do { \
- OLED_Init(); \
- OLED_ColorTurn(color); \
- OLED_DisplayTurn(display); \
- } while(0)
- /* U1-U4 DMA */
- #define IDLE_DMA_UART(huart) \
- do {\
- __HAL_UART_ENABLE_IT(huart, UART_IT_IDLE); \
- } while(0)
- /* SYETEM init */
- #define START_PROCESS() \
- do { \
- printf("go\r\n"); \
- menu.current = 0xB1; \
- tipsflag = Starting; \
- Jump_interface(); \
- OLED_Refresh(); \
- } while(0)
- #define SET_MENU_STATUS(current_value, up_value, next_value, enter_value) \
- do { \
- menu.current = current_value; \
- menu.up = up_value; \
- menu.next = next_value; \
- menu.enter = enter_value; \
- refresh = true;\
- } while(0)
- typedef struct
- {
- uint8_t current; //当前状态索引号
- uint8_t up; //向下一个
- uint8_t next; //向下一个
- uint8_t enter; //确定
- uint32_t home;
- uint8_t PreNext;
-
- } Menu_table;
- #define RESET_4G_MODULE() \
- do { \
- if(reset4Gmodule) { \
- reset4Gmodule = false; \
- ML307A_Init(); \
- } \
- } while(0)
- #define TIPS_MACRO(tips) \
- do { \
- menu.current = 0xb1; \
- tipsflag = tips; \
- refresh = true; \
- } while(0)
- #define AUTORETURN_INTERFACE(wtime) \
- do { \
- if(HAL_GetTick() - enterInterface_time > wtime) { \
- ReturnInterface = true; \
- } \
- } while(0)
-
- #define SWITCH_MENU_UP4() \
- do { \
- if(menu.up != 3) { \
- menu.up += 1; \
- menu.next -= 1; \
- } else if(menu.up == 3) { \
- menu.up = 0; \
- menu.next = 3; \
- } \
- refresh = true; \
- } while(0)
-
- #define SWITCH_MENU_DOWN4() \
- do { \
- if(menu.next!=3){ \
- menu.up-=1; \
- menu.next+=1; \
- } else if(menu.next==3) { \
- menu.up=3; \
- menu.next=0; \
- } \
- refresh=true; \
- } while(0)
-
-
- #define SWITCH_MENU_UP2() \
- do { \
- if(menu.up!=1) { \
- menu.up+=1; \
- menu.next-=1; \
- } else if(menu.up==1){ \
- menu.up=0; \
- menu.next=1; \
- } \
- refresh=true; \
- } while(0)
- #define SWITCH_MENU_DOWN2() \
- do { \
- if(menu.next!=1){ \
- menu.up-=1; \
- menu.next+=1; \
- } else if(menu.next==1) { \
- menu.up=1; \
- menu.next=0; \
- } \
- refresh=true; \
- } while(0)
-
- typedef struct
- {
- uint16_t macCount;
- char MACtemp[13];
- uint8_t mactemp[6];
- //MAC
- uint16_t mac[90];
-
- } MacSet;
- typedef struct
- {
- //四位数字(施解封显示)
- char SN1name[5];
- char SN2name[5];
- char SN3name[5];
- char SN4name[5];
- char SN5name[5];
- char SN6name[5];
- char SN7name[5];
- char SN8name[5];
- //AT连接字符串
- char* SNCONN;
- char* SNED;
- char* SNDIS;
- //Status
- uint8_t L1status;
- uint8_t L2status;
- uint8_t L3status;
- uint8_t L4status;
- uint8_t L5status;
- uint8_t L6status;
- uint8_t L7status;
- uint8_t L8status;
- } LockInfo;
- typedef enum {
- Starting = 0,
- Btconn = 1,
- ConnOK = 2,
- ConnFail=3,
- Nosn =4,
- Timeout = 5,
- Working =6,
- FinshOK =7,
- Fail4G =8,
- Nosignal =9,
- Disconn = 0xA,
- NoSIM = 0xB,
- SendOK = 0xC,
- Back = 0xD
- } TipsFlag;
- struct keys
- {
- unsigned char judge_sta; //判断按键按键按下的动作到了第几步
- bool key_sta; //如果按键被按下,为0
- bool key_flag; //如果确认被按下,为1
- bool long_flag; //如果确认被按下,为1
- uint8_t key_time;
- };
- typedef struct
- {
- uint32_t serialNum1; //4字节流水号
- uint32_t serialNum2; //4字节流水号
- uint32_t serialNum3; //4字节流水号
- uint32_t serialNum4; //4字节流水号
- uint32_t userId; //4字节userid
- uint8_t Autoseal; //1字节自动施封
-
- } BtFrame;
- typedef enum {
- BtStepDefault = 0,
- UUIDS = 1,
- UUIDN = 2,
- UUIDW = 3,
- TxPower = 4
- } BtStep;
- typedef struct {
-
- uint16_t LSH;
- uint8_t Rtime[6];
- uint32_t C_Seconds;
- uint8_t L1Lockstatus;
- uint8_t L2Lockstatus;
- uint8_t L3Lockstatus;
- uint8_t L4Lockstatus;
-
- } TT808;
- typedef struct {
- uint32_t timeStamp;
-
- //*上传数据
- uint16_t alarmFlagH; //报警标志
- uint16_t alarmFlagL; //报警标志
- uint16_t statusFlagH; //状态标志
- uint16_t statusFlagL; //状态标志
- uint16_t latitudeH; //纬度
- uint16_t latitudeL; //纬度
- uint16_t longitudeH; //经度
- uint16_t longitudeL; //经度
-
- uint16_t height; //高度
- uint16_t speed; //速度
- uint16_t direction; //方向
- uint8_t timeBCD[6]; //时间戳(世纪秒)BCD
- uint8_t signalCmd; //信号关键字
- uint8_t signalCmd_len; //信号关键字长度
- uint8_t CSQ; //信号强度
- uint8_t atellitesCmd; //卫星关键字
- uint8_t atellitesCmd_len;//卫星关键字长度
- uint8_t satellitesNum; //卫星数量
- } LocationData;
- typedef struct {
- uint16_t loc_pushIndex; //入库指针
- uint16_t loc_pullIndex; //出库指针
- uint16_t loc_pushSize; //入库刻度
- uint16_t loc_pullSize; //出库刻度
- uint32_t loc_Conter; //地址总擦计数
-
- uint16_t eve_pushIndex; //入库指针
- uint16_t eve_pullIndex; //出库指针
- uint16_t eve_pushSize; //入库刻度
- uint16_t eve_pullSize; //出库刻度
- uint32_t eve_Conter; //地址总擦计数
- } Headinfo;
- typedef struct {
- uint16_t loc_pushIndex; //入库指针
- uint16_t loc_pullIndex; //出库指针
- uint16_t loc_pushSize; //入库刻度
- uint16_t loc_pullSize; //出库刻度
- uint32_t loc_Conter; //地址总擦计数
-
- uint16_t eve_pushIndex; //入库指针
- uint16_t eve_pullIndex; //出库指针
- uint16_t eve_pushSize; //入库刻度
- uint16_t eve_pullSize; //出库刻度
- uint32_t eve_Conter; //地址总擦计数
-
-
- uint16_t alarmFlagH; //报警标志
- uint16_t alarmFlagL; //报警标志
- uint16_t statusFlagH; //状态标志
- uint16_t statusFlagL; //状态标志
- uint16_t latitudeH; //纬度
- uint16_t latitudeL; //纬度
- uint16_t longitudeH; //经度
- uint16_t longitudeL; //经度
- uint16_t height; //高度
- uint16_t speed; //速度
- uint16_t direction; //方向
- uint8_t timeBCD[6]; //时间戳(世纪秒)BCD
- uint8_t signalCmd; //信号关键字
- uint8_t signalCmd_len; //信号关键字长度
- uint8_t CSQ; //信号强度
- uint8_t atellitesCmd; //卫星关键字
- uint8_t atellitesCmd_len;//卫星关键字长度
- uint8_t satellitesNum; //卫星数量
-
-
- } TestTemp;
- typedef struct {
- Headinfo headinfo;
- LocationData location;
- TestTemp temppush;
- TestTemp temppull;
- } DatabaseLoc;
- typedef struct {
- Headinfo headinfo;
- LocationData location;
- uint64_t LockSn; //锁编号
- uint16_t OperationType; //操作类型
- uint16_t OperationResults; //操作结果
- uint32_t perators; //操作人
- uint16_t ElectricityLevel; //电量
- TestTemp temppush;
- TestTemp temppull;
- } DatabaseEvent;
- typedef struct {
- uint16_t IP0;
- uint16_t IP1;
- uint16_t IP2;
- uint16_t IP3;
- uint16_t IPp;
-
- } Ipaddr;
- #endif /*__CONFIGMACROS_H*/
|