#ifndef _WIRELESS_REMOTE_COMM_H_
|
#define _WIRELESS_REMOTE_COMM_H_
|
#include "define_all.h"
|
#include "system_general_para.h"
|
|
// Ô¶´«µçÔ´
|
#define WRC_PWR_PORT GPIOE
|
#define WRC_PWR_PIN GPIO_Pin_6
|
|
#define WRC_PWR_ON GPIO_SetBits(WRC_PWR_PORT, WRC_PWR_PIN)
|
#define WRC_PWR_OFF GPIO_ResetBits(WRC_PWR_PORT, WRC_PWR_PIN)
|
|
//3V8¿ª¹Ø
|
#define PWR_3V8_O_PORT GPIOE
|
#define PWR_3V8_O_PIN GPIO_Pin_7
|
|
#define PWR_3V8_ON GPIO_SetBits(PWR_3V8_O_PORT, PWR_3V8_O_PIN)
|
#define PWR_3V8_OFF GPIO_ResetBits(PWR_3V8_O_PORT, PWR_3V8_O_PIN)
|
|
|
#define WRC_UART_SEND(__DATA__,__SIZE__) do{UARTx_SendData_Normal(WRC_UARTX,__DATA__,__SIZE__);delay_us(10);WRC_RX_DMA_CH3_reload();}while(0)
|
|
|
#define WRC_MODULE_CMD_OPEN 0x1B
|
#define WRC_MODULE_CMD_LINK_STATUS_ACK 0x41
|
#define WRC_MODULE_CMD_DATA_UP 0x67
|
|
#define WRC_MODULE_CMD_DATA_RECV "+R"
|
|
typedef enum
|
{
|
WRC_IDLE = 0U, // ¿ÕÏÐ
|
WRC_OPEN_PWR, // Ô¤´¦ÀíÊý¾Ý²¢¿ªÆôÔ¶´«Ä£¿éµçÔ´
|
WRC_CREATE_LINK, //´´½¨Á´½Ó
|
WRC_SEND_DATA, // ·¢ËÍÊý¾Ý¸øÔ¶´«Ä£¿é
|
WRC_WAIT_REC_DATA, //µÈ´ý½ÓÊÕÊý¾Ý²¢´¦Àí
|
WRC_OFF //¹Ø±ÕÄ£¿éµçÔ´
|
|
} WRC_STATUS; // Ô¶´«×´Ì¬
|
|
|
typedef enum
|
{
|
WRC_MEANS_NONE = 0U, // ĬÈÏÖµ
|
WRC_MEANS_RTC_TIMING, // ¶¨Ê±Æô¶¯
|
WRC_MEANS_KEY, // °´¼ü
|
WRC_MEANS_ALARM, // ±¨¾¯¡¢Ê¼þ
|
WRC_MEANS_POWER, // ¿ª»ú/¸´Î»
|
WRC_MEANS_RTC_INTERVAL, // ÖÜÆÚ
|
WRC_MEANS_AGAIN, // ÔÙ´Î
|
} WRC_START_MEANS; // GPRSµÄÆô¶¯·½Ê½
|
|
|
|
typedef enum
|
{
|
LINK_TCP = 0U, // ĬÈÏÖµ
|
LINK_AEP,
|
LINK_ONENET
|
} LINK_TYPE; // Á¬½ÓÀàÐÍ
|
|
|
typedef enum
|
{
|
LINK_NONE = 0U, // ĬÈÏÖµ
|
LINK_OK,
|
LINK_ERR,
|
} LINK_STATUS; // Á¬½ÓÀàÐÍ
|
|
|
typedef enum
|
{
|
WRC_TIME_START_NONE = 0U, // ĬÈÏÖµ
|
WRC_TIME_START_INTERVAL, //¼ä¸ô
|
WRC_TIME_START_TIMING, //¶¨Ê±
|
WRC_TIME_START_TIMING_TIMING, //¼ä¸ôºÍ¶¨Ê±Í¬Ê±ÉúЧ
|
} WRC_TIME_START_TYPE; // ʱ¼äÆô¶¯·½Ê½
|
|
|
typedef enum
|
{
|
WRC_ERR_NONE,
|
WRC_ERR_PWR = 0x01U,
|
|
WRC_ERR_WAIT_LINK_TIME_OUT, //ÁªÍø³¬Ê±
|
WRC_ERR_WAIT_ACK_TIME_OUT, //µÈ´ýÏìÓ¦³¬Ê±
|
|
WRC_ERR_SEND_DATA = 0x10U, //·¢ËÍÊý¾Ý´¦ÀíÒì³£
|
|
|
|
|
} WRC_ERR_CODE; // ´íÎóÂë
|
|
|
|
|
|
|
#pragma pack(1)
|
|
typedef struct
|
{
|
WRC_START_MEANS wrc_start_flag;
|
__IO WRC_STATUS wrc_state;
|
__IO LINK_STATUS link_status;
|
WRC_ERR_CODE wrc_err_code;
|
ErrorStatus wrc_result_flag; //×îÖÕµÄͨѶ½á¹ûÅжϣ¬³õʼÖÃFAIL£¬×îÖÕ¸ù¾ÝÐÒéÈ·Èϱ¾´ÎͨѶÊÇ·ñ³É¹¦
|
ErrorStatus report_result_flag; //Éϱ¨ÊÇ·ñ³É¹¦±êÖ¾£¬ÓÃÓÚÒ»ÌìÖ®ÄÚÓÐûÓÐÉÏ´«³É¹¦¹ý£¬±Èwrc_result_flag¿íËÉÒ»µã£¬Ö»ÒªÊý¾ÝÉϱ¨ÓÐÏìÓ¦¼´´ú±íÉϱ¨³É¹¦£¬²»¹ÜºóÐøÖ¸Áµ±Ç°ÓнáÊøÖ¡Ò²´ú±í³É¹¦¡£
|
uint16_t time_out_time_sec; //³¬Ê±Ê±¼ä
|
__IO uint16_t wrc_OFF_cnt; //Ô¶´«¹Ø±Õ¼ÆÊý,ÏòÉϼÆÊý£¬ÓÃÓÚÑӳٹرյçÔ´¼°Í˳öͨѶÁ÷³Ì
|
|
uint16_t wrc_restart_num_cnt; //ÖØ±¨´ÎÊý¼ÆÊý£¬ÏòϼÆÊý
|
uint16_t wrc_restart_time_sec_cnt; //ÖØ±¨¼ä¸ôʱ¼ä¼ÆÊý£¬ÏòϼÆÊý£¬
|
|
} WRC_CTRL_PARA_T;
|
|
|
#define WRC_REC_BUF_LENGTH 256
|
typedef struct{
|
|
uint8_t recv_buf[WRC_REC_BUF_LENGTH];
|
uint16_t recv_length;
|
FlagStatus recv_flag;
|
}WRC_UART_PARA_T;
|
|
|
typedef enum
|
{
|
GMS_WORST = 3U,
|
GMS_POOR = 10U,
|
GMS_GENERAL = 15U,
|
GMS_BEST = 25U,
|
}GPRS_MODULE_SIG;
|
|
|
typedef struct{
|
uint8_t net_signal_intensity; //ÍøÂçÐźÅÇ¿¶È
|
uint8_t SIM_Type; //SIM¿¨ÀàÐÍ
|
char IMEI[15];
|
char ICCID[20];
|
int SNR;
|
}LINK_INFO_T;
|
|
|
|
|
|
|
#pragma pack()
|
|
|
|
|
|
|
|
|
|
extern WRC_CTRL_PARA_T wrc_ctrl_para_g;
|
extern WRC_UART_PARA_T wrc_uart_para_g;
|
extern LINK_INFO_T link_info_g;
|
|
|
|
|
|
|
void WirelessRemoteCommPro(FUN_START_CTRL_PARA_T * sys_fun_run_ctrl_p);
|
|
|
|
|
|
|
|
|
#endif
|