100 lines
5.5 KiB
C
100 lines
5.5 KiB
C
![]() |
#ifndef _EC20MODULE_H
|
|||
|
#define _EC20MODULE_H
|
|||
|
#include <stdbool.h>
|
|||
|
#include "usart.h"
|
|||
|
#include "syslib.h"
|
|||
|
|
|||
|
/*****************************************
|
|||
|
*ec20module<EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
****************************************/
|
|||
|
#define EC20_UART COM1 //STM32<33><32>EC20ͨ<30>Ŵ<EFBFBD><C5B4>ڵ<EFBFBD>ӳ<EFBFBD><D3B3>
|
|||
|
#define MODULE_CMDPACK_LEN 1288 //EC20 module<6C><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define SIM_ICCID_LEN 25 //<2F><><EFBFBD><EFBFBD> SIM<49><4D>ICCID<49><44> <20><><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><C4B3><EFBFBD>
|
|||
|
#define EC20_VER_LEN 20 //<2F>ַ<EFBFBD>EC20ģ<30><C4A3> <20><><EFBFBD><EFBFBD><EFBFBD>汾<EFBFBD><E6B1BE> <20><><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><C4B3><EFBFBD>
|
|||
|
#define EC20_VOL_LEN 4 //<2F><><EFBFBD><EFBFBD>EC20ģ<30><C4A3><EFBFBD><EFBFBD>ѹ <20><><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><C4B3><EFBFBD>
|
|||
|
#define CSQ_LEN 3 //<2F><><EFBFBD><EFBFBD>EC20ģ<30><C4A3><EFBFBD>ź<EFBFBD><C5BA><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><C4B3><EFBFBD>
|
|||
|
|
|||
|
/*EC20 3.6V<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹƬʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><EFBFBD>ߵ<EFBFBD>ƽʹ<EFBFBD><EFBFBD>*/
|
|||
|
#define EC20_POW_PORT PE
|
|||
|
#define EC20_POW_PIN PIN15
|
|||
|
#define EC20_POW PEout(EC20_POW_PIN)
|
|||
|
|
|||
|
/*EC20 Ӳ<><D3B2><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD>̬<EFBFBD>͵<EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD>ߵ<EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD>帴λEC20*/
|
|||
|
#define EC20_RST_PORT PE //PE15
|
|||
|
#define EC20_RST_PIN PIN11
|
|||
|
#define EC20_RST PEout(EC20_RST_PIN)
|
|||
|
|
|||
|
/*****************************************
|
|||
|
*ec20module<EFBFBD>û<EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
****************************************/
|
|||
|
typedef enum
|
|||
|
{
|
|||
|
AT_MODE = 0 , //AT<41><54><EFBFBD><EFBFBD>ģʽ
|
|||
|
USER_MODE = 1 , //<2F><><EFBFBD><EFBFBD>sever<65>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>ģʽ
|
|||
|
} EC20RECMODE_e ; //EC20<32><30><EFBFBD>ڹ<EFBFBD><DAB9><EFBFBD>ģʽ
|
|||
|
|
|||
|
typedef struct
|
|||
|
{
|
|||
|
uint8_t cmdNum ; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
char *cmdStr ; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
|
|||
|
uint16_t timeout ; //<2F><><EFBFBD>ջ<EFBFBD><D5BB>볬ʱʱ<CAB1><CAB1>t=revTimeout*100ms
|
|||
|
char *trueStr ; //<2F><>ȷ<EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD>Ӵ<EFBFBD>
|
|||
|
volatile int trueOffset ; //<2F><>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7>Ӵ<EFBFBD><D3B4><EFBFBD>ec20AtBuf<75>е<EFBFBD>ƫ<EFBFBD>Ƶ<EFBFBD>ַ
|
|||
|
char *falseStr ; //ָ<><EFBFBD><EEB4A6>ʧ<EFBFBD>ܷ<EFBFBD><DCB7>ص<EFBFBD><D8B5>ַ<EFBFBD><D6B7><EFBFBD>ָ<EFBFBD><D6B8>
|
|||
|
RunResult revResult ; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
uint8_t rtyNum ; //ʧ<>ܺ<EFBFBD><DCBA>ط<EFBFBD><D8B7><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
}EC20_CMD_DATA_s; //ec20ͨ<30><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>շ<EFBFBD><D5B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ṹ<EFBFBD><E1B9B9>
|
|||
|
|
|||
|
typedef struct
|
|||
|
{
|
|||
|
char ec20SoftVer[EC20_VER_LEN+1] ; //<2F><><EFBFBD><EFBFBD>EC20ģ<30><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>汾
|
|||
|
char ec20Voltage[EC20_VOL_LEN+1] ; //<2F><><EFBFBD><EFBFBD>EC20ģ<30><C4A3><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD><EFBFBD><EFBFBD>ѹ
|
|||
|
char csq[CSQ_LEN+1] ; //3+1bytes <20><><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD><C5BA><EFBFBD><EFBFBD><EFBFBD>CSQ
|
|||
|
char simICCID[SIM_ICCID_LEN+1] ; //25+1bytes <20><><EFBFBD><EFBFBD>SIM<49><4D><EFBFBD><EFBFBD>ICCID<49><44>
|
|||
|
}ModuleParam_s ; //EC20<32><30><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ľṹ<C4BD><E1B9B9>
|
|||
|
|
|||
|
/*****************************************
|
|||
|
*ec20<EFBFBD>ɹ<EFBFBD><EFBFBD>ⲿʹ<EFBFBD>õij<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
****************************************/
|
|||
|
#define MAX_IP_LEN 16 //IPV4 IP<49><50>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define PORT_MAXLEN 6 //IPV4 <20>˿ڵ<CBBF><DAB5><EFBFBD><EFBFBD>ȣ<F3B3A4B6>0-65535<33><35>
|
|||
|
#define EC20_ATBUF_LEN 320 //ec20AtBuf<75><66><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define EC20_HTTPBUF_LEN 320 //ec20AtBuf<75><66><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define EC20_FTPBUF_LEN (2048+256) //ec20FtpBuf<75><66><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
extern ModuleParam_s sEc20Param ; //<2F><><EFBFBD><EFBFBD>ModuleParam_s<5F>ṹ<EFBFBD><E1B9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>sEc20Param<61><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>EC20һЩ<D2BB><D0A9>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD>ϲ<EFBFBD><CFB2><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
extern volatile bool httpDataMode ; //<2F><><EFBFBD><EFBFBD>ģʽ<C4A3><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>http<74><70><EFBFBD><EFBFBD>ģʽ
|
|||
|
extern volatile bool ftpDataMode ; //<2F><><EFBFBD><EFBFBD>ģʽ<C4A3><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ftp<74><70><EFBFBD><EFBFBD>ģʽ
|
|||
|
extern char ec20AtBuf[EC20_ATBUF_LEN] ; //EC20 AT<41><54><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
extern char ec20HttpBuf[EC20_HTTPBUF_LEN] ; //EC20 AT<41><54><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
extern char ec20FtpBuf[EC20_FTPBUF_LEN] ; //EC20 FTP<54><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD><DDB4>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
extern volatile int ec20FtpBufIndex ; //ec20FtpBuf<75><66><EFBFBD><EFBFBD><EFBFBD><EFBFBD>дָ<D0B4><D6B8>
|
|||
|
extern FrameQueue_s sTcpQueue ; //<2F><><EFBFBD><EFBFBD>֡<EFBFBD><D6A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>洢ģ<E6B4A2>鷵<EFBFBD>ص<EFBFBD>tcp<63><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
extern FrameQueue_s sUrcQueue ; //<2F><><EFBFBD><EFBFBD>֡<EFBFBD><D6A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>洢ģ<E6B4A2>鷵<EFBFBD>ص<EFBFBD>URC<52><43><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
/*****************************************
|
|||
|
*<EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
****************************************/
|
|||
|
RunResult EC20_SendModuleCmd( uint8_t cmdNum, char *format,... ) ; // EC20ͨ<30><CDA8><EFBFBD><EFBFBD><EFBFBD>ڷ<EFBFBD><DAB7><EFBFBD>module<6C><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
void EC20_Uart_Init(void) ; //<2F><>ʼ<EFBFBD><CABC>EC20_UART
|
|||
|
void EC20_GPIO_Init( void ) ; //<2F><>ʼ<EFBFBD><CABC>EC20<32><30><EFBFBD>ؿ<EFBFBD><D8BF><EFBFBD>IO
|
|||
|
void EC20_POWON(void) ; //EC20 3.6V<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹƬʹ<EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>
|
|||
|
void EC20_POWOFF(void) ; //EC20 3.6V<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹƬʧ<EFBFBD>ܶϵ<EFBFBD>
|
|||
|
RunResult EC20_START(void) ; //EC20<32><30><EFBFBD><EFBFBD><EFBFBD>ϵ硢<CFB5>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD>ڡ<EFBFBD>RDY<44><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
RunResult EC20_Handshake( void ) ; //mcu<63><75>EC20ͨ<30><CDA8>EC20_UART<52><54><EFBFBD><EFBFBD>
|
|||
|
RunResult EC20_CloseEcho(void) ; //<2F>ر<EFBFBD>EC20 AT<41><54><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD>
|
|||
|
void Ec20ReceiveFrameCallback(char *recvBuf, uint16_t recvLen) ; //EC20_UART<52><54><EFBFBD><EFBFBD>֡<EFBFBD>жϻص<CFBB><D8B5><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
/*****************************************
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿں<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
****************************************/
|
|||
|
extern void Ec20AtBufReset(void) ; //ec20AtBuf<75><66><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ʼ<EFBFBD><CABC>
|
|||
|
extern void Ec20HttpBufReset(void) ; //ec20HttpBuf<75><66><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ʼ<EFBFBD><CABC>
|
|||
|
extern void Ec20FtpBufReset(void) ; //ec20FtpBuf<75><66><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>
|
|||
|
extern RunResult EC20_CLOSE(void) ; //EC20<32>ػ<EFBFBD><D8BB><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ػ<EFBFBD>+<2B>ϵ<EFBFBD>
|
|||
|
extern RunResult EC20_Query_SoftRelese(char *version) ; //<2F><>ȡEC20<32><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>汾<EFBFBD><E6B1BE>
|
|||
|
extern RunResult EC20_Query_Voltage(char *voltage) ; //<2F><>ȡEC20<32>Ĺ<EFBFBD><C4B9><EFBFBD><EFBFBD><EFBFBD>ѹ
|
|||
|
extern RunResult EC20_Module_Init( void ) ; //EC20ģ<30><C4A3><EFBFBD><EFBFBD><EFBFBD>س<EFBFBD>ʼ<EFBFBD><CABC>
|
|||
|
|
|||
|
#endif
|