#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_CH0_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£¬×îÖÕ¸ù¾ÝЭÒéÈ·Èϱ¾´ÎͨѶÊÇ·ñ³É¹¦ 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 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