From b39a40b0191e0a8b155db74e885ff66e17b91896 Mon Sep 17 00:00:00 2001
From: jinlicong <493886250@qq.com>
Date: Thu, 06 Jun 2024 19:25:15 +0800
Subject: [PATCH] 继续完善

---
 Function/WirelessRemoteComm/wireless_remote_comm.h |  104 ++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 93 insertions(+), 11 deletions(-)

diff --git a/Function/WirelessRemoteComm/wireless_remote_comm.h b/Function/WirelessRemoteComm/wireless_remote_comm.h
index 4908c5b..81e38da 100644
--- a/Function/WirelessRemoteComm/wireless_remote_comm.h
+++ b/Function/WirelessRemoteComm/wireless_remote_comm.h
@@ -4,15 +4,34 @@
 #include "system_general_para.h"
 
 // Զ����Դ
-#define WRC_PWR_PORT 			GPIOA
-#define WRC_PWR_PIN 			GPIO_Pin_7
-
+#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)
 
-#define WRC_SEND_NORMAL(__DATA__,__SIZE__) 	UARTx_SendData_Normal(UART1,__DATA__,__SIZE__)
+//3V8ʹ��,��ʱ���ã�ֱ��3V8���ؿ��Ƽ���
+#define PWR_3V8_EN_PORT 		GPIOE
+#define PWR_3V8_EN_PIN 			GPIO_Pin_5
+#define PWR_3V8_ENABLE 			GPIO_SetBits(PWR_3V8_EN_PORT, PWR_3V8_EN_PIN)
+#define PWR_3V8_DIABLE			GPIO_ResetBits(PWR_3V8_EN_PORT, PWR_3V8_EN_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_Init();}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
 {
@@ -21,7 +40,7 @@
 	WRC_CREATE_LINK,  //��������
 	WRC_SEND_DATA,    // �������ݸ�Զ��ģ��
 	WRC_WAIT_REC_DATA,	//�ȴ��������ݲ�����
-	WRC_CLOSE_PWR				//�ر�ģ���Դ
+	WRC_OFF				//�ر�ģ���Դ
 
 } WRC_STATUS;       // Զ��״̬
 
@@ -49,6 +68,14 @@
 
 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,       //��ʱ
@@ -56,22 +83,77 @@
 } 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;
-  WRC_START_MEANS wrc_start_flag;
+	__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()
 
 
 
@@ -82,13 +164,13 @@
 
 
 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 WRC_PWR_GPIO_Init(void);
 
 void WirelessRemoteCommPro(FUN_START_CTRL_PARA_T * sys_fun_run_ctrl_p);
 

--
Gitblit v1.9.3