stm32_ota/ABM开发板(DTU透传APP源码)/YcOS版本/APPV4.0/USER/USERCMD/usercmd.h

117 lines
6.1 KiB
C
Raw Permalink Normal View History

2024-12-17 20:03:43 +08:00
#ifndef __USERCMD_H
#define __USERCMD_H
#include <string.h>
#include <stdint.h>
#include "stm32f10x.h"
#include "user_flash.h"
#include "userapp.h"
#include "ec20module.h"
/******************************************************************************
*<EFBFBD>ڲ<EFBFBD>ʹ<EFBFBD>õij<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*******************************************************************************/
/*<2A><><EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С*/
#define IAPFLASHCONFIGLEN sizeof(IAPConfig_s) //<2F><EFBFBD><EAB6A8>IAPConfig_s<5F><EFBFBD><EFBFBD><E5B3A4>
#define APPFLASHCONFIGLEN sizeof(APPConfig_s) //<2F><EFBFBD><EAB6A8>APPConfig_s<5F><EFBFBD><EFBFBD><E5B3A4>
#define FOLDER_MAXLEN 64 //<2F>ļ<EFBFBD><C4BC><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define USERNAME_MAXLEN 64 //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PASSWORD_MAXLEN 64 //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/*<2A><><EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
#define IS_IapFlag_ALL_PERIPH(PERIPH) (((PERIPH) == 0x30) || \
((PERIPH) == 0x31) ) //IAPConfig_s<5F><EFBFBD><E1B9B9><EFBFBD><EFBFBD>IapFlag<61><67><EFBFBD><EFBFBD>У<EFBFBD><D0A3>
#define IS_RunAppNum_ALL_PERIPH(PERIPH) (((PERIPH) == 0x30) || \
((PERIPH) == 0x31) || \
((PERIPH) == 0x32) || \
((PERIPH) == 0x33)) //IAPConfig_s<5F><EFBFBD><E1B9B9><EFBFBD><EFBFBD>RunAppNum<75><6D><EFBFBD><EFBFBD>У<EFBFBD><D0A3>
#define IS_JumpResult_ALL_PERIPH(JumpResult)(((PERIPH) == 0x30) || \
((PERIPH) == 0x31) ) //IAPConfig_s<5F><EFBFBD><E1B9B9><EFBFBD><EFBFBD>JumpResult<6C><74><EFBFBD><EFBFBD>У<EFBFBD><D0A3>
#define IS_VolumeRank_ALL_PERIPH(PERIPH) (((PERIPH) >= 0x31) && \
((PERIPH) <= 0x39) )
/******************************************************************************
*<EFBFBD>û<EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*******************************************************************************/
/*IAP<41><50><EFBFBD><EFBFBD>FLASH<53><EFBFBD><E6B4A2>ʽ*/
typedef struct
{
char Head ; //<2F>̶<EFBFBD><CCB6>ַ<EFBFBD><D6B7><EFBFBD>'['
char IapFlag ; //'0'\'1' //BootLoader<65><72>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>APP<50><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
uint8_t RunAppNum ; //'1'\'2'\'3' //BootLoader<65><72>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD>ת<EFBFBD><D7AA> APP<50><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>Ҫ<EFBFBD>Ĵ<EFBFBD>λ<EFBFBD><CEBB>
uint8_t JumpResult ; //'0'\'1' //APP<50><50>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>app.limitRank
char BootVers[VERSION_LEN+1] ; //<2F><>¼BootLoader<65><EFBFBD><E6B1BE>
char FtpFolder[FOLDER_MAXLEN] ; //app<70><70>bin<69>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ftp<74><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC>У<EFBFBD>boot<6F><74><EFBFBD>Ӵ<EFBFBD><D3B4>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>³<EFBFBD><C2B3><EFBFBD>
char FtpUsername[USERNAME_MAXLEN] ; //FTP<54><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>½<EFBFBD><C2BD><EFBFBD>û<EFBFBD><C3BB><EFBFBD>
char FtpPassword[PASSWORD_MAXLEN] ; //FTP<54><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>½<EFBFBD><C2BD><EFBFBD><EFBFBD>
char FtpIP[MAX_IP_LEN] ; //FTP<54><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IP
char TcpIP[MAX_IP_LEN] ; //TCP<43><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IP
char TcpPort[PORT_MAXLEN] ; //TCP<43><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>PORT
char Reserve ; //Ԥ<><D4A4>,<2C><><EFBFBD><EFBFBD>һҳFLASH<53>洢IAP<41><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB>ɸ<EFBFBD><C9B8><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>IAPConfig_s<5F><EFBFBD><E1B9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
char Tail ; //<2F>̶<EFBFBD><CCB6>ַ<EFBFBD><D6B7><EFBFBD>']'
}IAPConfig_s ; //IAP<41><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><E1B9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/*APP<50><50><EFBFBD><EFBFBD>FLASH<53><EFBFBD><E6B4A2>ʽ*///5B37333131303131
typedef struct
{
char Head ; //<2F>̶<EFBFBD><CCB6>ַ<EFBFBD><D6B7><EFBFBD>'['
uint8_t VolumeRank ; //'1'~'9' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD>ȼ<EFBFBD>
char Tail ; //<2F>̶<EFBFBD><CCB6>ַ<EFBFBD><D6B7><EFBFBD>']'
}APPConfig_s ; //APP<50><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><E1B9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/*IAP<41><50><EFBFBD><EFBFBD>FLASH<53><EFBFBD><E6B4A2>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
typedef union
{
IAPConfig_s sIapFlash ; //IAPConfig_s<5F><EFBFBD><E1B9B9><EFBFBD><EFBFBD><EFBFBD>ͱ<EFBFBD><CDB1><EFBFBD>
uint8_t iapFlashBuffer[IAPFLASHCONFIGLEN] ;
}IAPFlash_u ; //IAP<41><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/*APPP<50><50><EFBFBD><EFBFBD>FLASH<53><EFBFBD><E6B4A2>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
typedef union
{
APPConfig_s sAppFlash ; //APPConfig_s<5F><EFBFBD><E1B9B9><EFBFBD><EFBFBD><EFBFBD>ͱ<EFBFBD><CDB1><EFBFBD>
uint8_t appFlashBuffer[APPFLASHCONFIGLEN] ;
}APPFlash_u ; //APP<50><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/******************************************************************************
*<EFBFBD><EFBFBD><EFBFBD>ⲿʹ<EFBFBD>õij<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*******************************************************************************/
extern FrameQueue_s sUsercmdQueue ; //<2F><><EFBFBD><EFBFBD>֡<EFBFBD><D6A1><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>FLASH<53>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ*/
extern IAPFlash_u uIapFlash ; //<2F><><EFBFBD><EFBFBD>IAPFlash_u<5F><75><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
extern APPFlash_u uAppFlash ; //<2F><><EFBFBD><EFBFBD>APPFlash_u<5F><75><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/*****************************************
*<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD>ʹ<EFBFBD>õĺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
****************************************/
void InitIapFlashConfig( IAPFlash_u *config ) ; //<2F>ȴ<EFBFBD>FLASH<53><48><EFBFBD><EFBFBD>IAPFlash<73><68>Ϣ<EFBFBD><CFA2>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD>IAPFlash_u<5F><75><EFBFBD>͵<EFBFBD>ȫ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4>FLASH<53><48>
void InitAppFlashConfig( APPFlash_u *config ) ; //<2F>ȴ<EFBFBD>FLASH<53><48><EFBFBD><EFBFBD>APPFlash<73><68>Ϣ<EFBFBD><CFA2>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD>APPFlash_u<5F><75><EFBFBD>͵<EFBFBD>ȫ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4>FLASH<53><48>
char RestartCmdProcess( char *cmdBuf, int bufLen ) ; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶβ<D6B6><CEB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
char GetConfigCmdProcess(char *cmdBuf, int bufLen) ; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>GET_IAP<41><50><EFBFBD>ֶβ<D6B6><CEB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:<3A><>ȡ<EFBFBD><EFBFBD><E6B4A2><EFBFBD>ڲ<EFBFBD>flash<73><68>IAPCONFIG_AREA_ADDR<44><52>ַ<EFBFBD><D6B7>IAP<41><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
char IapFlagCmdProcess(char *cmdBuf, int bufLen) ; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IapFlag<61><67><EFBFBD>ֶβ<D6B6><CEB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
char RunAppNumCmdProcess( char *cmdBuf, int bufLen ) ; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>RunAppNum<75><6D><EFBFBD>ֶβ<D6B6><CEB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
char FtpFolderCmdProcess( char *cmdBuf, int bufLen ) ; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>FtpFolder<65><72><EFBFBD>ֶβ<D6B6><CEB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
char FtpUsernameCmdProcess( char *cmdBuf, int bufLen ) ;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>FtpUsername<6D><65><EFBFBD>ֶβ<D6B6><CEB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
char FtpPasswordCmdProcess( char *cmdBuf, int bufLen ) ;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>FtpPassword<72><64><EFBFBD>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD>
char FtpIPCmdProcess( char *cmdBuf, int bufLen ) ; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>FtpIP<49><50><EFBFBD>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD>
char TcpIPCmdProcess( char *cmdBuf, int bufLen ) ; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>TcpIP<49><50><EFBFBD>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD>
char TcpPortCmdProcess( char *cmdBuf, int bufLen ) ; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>TcpPort<72><74><EFBFBD>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD>
char VolumeRankCmdProcess(void) ;
/*****************************************
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿں<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
****************************************/
extern void Get_uIapFlash(IAPFlash_u *config) ; //<2F><><EFBFBD>ڲ<EFBFBD>flash<73><68>IAPCONFIG_AREA_ADDR<44><52>ַ<EFBFBD><D6B7>ȡһҳ<D2BB><D2B3><EFBFBD><EFBFBD>ȡFLASH<53>е<EFBFBD>IAP<41><50>Ϣ
extern void Set_uIapFlash(IAPFlash_u *config); //<2F><><EFBFBD>µ<EFBFBD>IAP<41><50>Ϣд<CFA2><D0B4>FLASH
extern void Get_uAppFlash(APPFlash_u *config) ; //<2F><><EFBFBD>ڲ<EFBFBD>flash<73><68>APPFLASHCONFIGLEN<45><4E>ַ<EFBFBD><D6B7>ȡһҳ<D2BB><D2B3><EFBFBD><EFBFBD>ȡFLASH<53>е<EFBFBD>APP<50><50>Ϣ
extern void Set_uAppFlash(APPFlash_u *config) ; //<2F><><EFBFBD>µ<EFBFBD>APP<50><50>Ϣд<CFA2><D0B4>FLASH
extern void Cmd_Process( char *cmdBuf, int bufLen ) ; //<2F><><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD>
extern RunResult CmdResponse(char *cmdBuf, char *backBuf) ; //Ӳ<><D3B2><EFBFBD>ظ<EFBFBD><D8B8>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֡
#endif