| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 |
- /*
- *
- *
- *
- *
- */
- #ifndef _CONFIG_PROTOCAL_H_
- #define _CONFIG_PROTOCAL_H_
- ///////////////////////////////////////////////////////////////////////////////////////
- #include "bsp.h"
- ///////////////////////////////////////////////////////////////////////////////////////
- //EEROM address defination
- #define CONFIG_UART DEBUG_PORT
- #define CONFIG_UART_HANDLE &debug_UartHandle
- /////
- #define MESSAGE_QUEUE 1
- #define MAX_MESSAGE_LEN 264
- #define MESSAGE_SLOT_COUNT 64
- #if MESSAGE_SLOT_COUNT>64
- #error "ERROR in configprotocal.c: MAX_BUF_COUNT for debug must be lower than 32!!!!"
- #endif
- ///////
- #define COMMAND_FRAME_TIMEOUT (10)
- ///
- #define PROTOCAL_HEAD_LENGTH 4
- #define PROTOCAL_CHECKSUM_LENGTH 2
- #define PROTOCAL_MIN_LENGTH 3
- #define PROTOCAL_HEAD_FLAG 0x02
- #define PROTOCAL_HEAD_ENCRYPT_FLAG 0x06
- #define PROTOCAL_START_INDEX 0
- #define PROTOCAL_LENLOW_INDEX 1
- #define PROTOCAL_LENHIGH_INDEX 2
- #define PROTOCAL_CMD_INDEX 3
- #define PROTOCAL_DATASTART_INDEX 4
- #define PROTOCAL_DISTWARN_INDEX 8
- ///////////////////////////////////////////////////////////////////////////////////////
- typedef enum _bl_state_
- {
- Inactive=0,
- Active=1,
- GoApp=0xea,
- }eBootLoaderState;
- typedef enum _cfg_bl_cmd_{
- CFG_COMMAND_READMEMORY = 0x10,
- CFG_COMMAND_EARSEPAGE = 0x11,
- CFG_COMMAND_WRITESTART = 0x12,
- CFG_COMMAND_WRITEMEMORY = 0x13,
- CFG_COMMAND_WRITEFINISH = 0x14,
- CFG_COMMAND_RESETSIGN = 0x1f,
- CFG_COMMAND_GETWRPROTECTION =0x20,
- CFG_COMMAND_WRITEPROTECT = 0x21,
- CFG_COMMAND_WRITEUNPROTECT = 0x22,
- CFG_COMMAND_GETRDPROTECTION =0x28,
- CFG_COMMAND_READOUTPROTECT = 0x29,
- CFG_COMMAND_READOUTUNPROTECT = 0x2a,
- CFG_COMMAND_SETTINGRESPONES = 0x7f,
- //General information
- CFG_COMMAND_REPORTRANGE = 0x80,
- CFG_COMMAND_GETINFORM = 0x81,
- CFG_COMMAND_TIMESET = 0x82,
- CFG_COMMAND_GETTIME = 0x83,
- CFG_COMMAND_TAGCOMMAND = 0x84,
- //Download BL
- CFG_COMMAND_WRITEBLSTART = 0x90,
- CFG_COMMAND_WRITEBLMEMORY = 0x91,
- CFG_COMMAND_WRITEBLFINISH = 0x92,
- //Get config
- CFG_COMMAND_GETCONFIGRANGE = 0xb0, //DMW
- CFG_COMMAND_GETCONFIGETHDBGSERVER = 0xb3, //ETH DBG SERVER IPPORT
- CFG_COMMAND_GETCONFIGETHSERVER = 0xb4, //ETH SERVER IPPORT
- CFG_COMMAND_GETCONFIGETHLOCAL = 0xb5, //ETH LOCAL IPPORT...
- CFG_COMMAND_GETCONFIGETHMAC = 0xb6, //ETHMAC
- CFG_COMMAND_GETCONFIGAPSSID = 0xb8, //WIFI SSID
- CFG_COMMAND_GETCONFIGAPPSWD = 0xb9, //WIFI PSWD
- CFG_COMMAND_GETCONFIGWIFISERVER = 0xba, //WIFI SERVER IP/PORT
- CFG_COMMAND_GETCONFIGWIFILOCAL = 0xbb, //WIFI LOCAL IP/PORT...
- //Set config
- CFG_COMMAND_CONFIGRANGE = 0xc0, //DMW
- CFG_COMMAND_CONFIGETHDBGSERVER = 0xc3, //ETH DBG SERVER IPPORT
- CFG_COMMAND_CONFIGETHSERVER = 0xc4, //ETH SERVER IPPORT
- CFG_COMMAND_CONFIGETHLOCAL = 0xc5, //ETH LOCAL IPPORT...
- CFG_COMMAND_CONFIGETHMAC = 0xc6, //ETHMAC
- CFG_COMMAND_CONFIGAPSSID = 0xc8, //WIFI SSID
- CFG_COMMAND_CONFIGAPPSWD = 0xc9, //WIFI PSWD
- CFG_COMMAND_CONFIGWIFISERVER = 0xca, //WIFI SERVER IP/PORT
- CFG_COMMAND_CONFIGWIFILOCAL = 0xcb, //WIFI LOCAL IP/PORT...
- //Action
- CFG_COMMAND_GOAPP = 0xe0,
- CFG_COMMAND_RESET = 0xe1,
- CFG_COMMAND_STARTLOADER = 0xef,
- //Test
- CFG_COMMAND_TESTLED = 0xf0,
- CFG_COMMAND_TESTKEY = 0xf1,
- CFG_COMMAND_TESTSCREEN = 0xf2,
- CFG_COMMAND_TESTENVIROMENT = 0xf3, //ADC,temprature,...
- CFG_COMMAND_WRITEINFORMATION = 0xfe,
- CFG_COMMAND_HELP = 0xff,
- }eConfigurationCommand;
- typedef struct _bl_writememory_status
- {
- uint32_t fileAddress; // 写入地址
- uint32_t fileTotalLength; //文件总长度
- uint32_t fileLength; //文件当前写入长度
- uint32_t datapackLength; //分片的长度
- uint32_t datapackIndex; //当前分片序号
- }stWriteMemoryStatus;
- ///////////////////////////////////////////////////////////////////////////////////////
- extern volatile uint32_t cmdStartTime;
- extern uint32_t resetFlag;
- ///////////////////////////////////////////////////////////////////////////////////////
- void ProtocalRun(void);
- void DebugRun(void);
- int32_t DataPackageHeadHandler(uint8_t* buf, uint32_t len);
- int32_t DataPackageCompleteHandler(uint8_t* buf, uint32_t len, uint8_t* retbuf, uint32_t* retlen);
- void DebugMessage(uint8_t* msg);
- void ReportMessage(uint8_t* msg, uint32_t len);
- void ReportString(uint8_t* msg);
- extern uint32_t GetBootloaderStatus(void);
- extern void SetBootloaderStatus(uint8_t status);
- void ClearReceiveBuffer();
- int BuildSettingResponse(uint32_t cmd, int32_t status, uint8_t* retbuf, uint32_t* retlen);
- #endif //_CONFIG_PROTOCAL_H_
|