From 6e3f1f560d618b37ee1a47fa2b0f682b70c3ef1c Mon Sep 17 00:00:00 2001
From: jinlicong <493886250@qq.com>
Date: Wed, 19 Jun 2024 17:25:45 +0800
Subject: [PATCH] 增加OTA协议

---
 Function/WirelessRemoteComm/wireless_remote_comm.h |  144 +++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 123 insertions(+), 21 deletions(-)

diff --git a/Function/WirelessRemoteComm/wireless_remote_comm.h b/Function/WirelessRemoteComm/wireless_remote_comm.h
index 2bb3918..81e38da 100644
--- a/Function/WirelessRemoteComm/wireless_remote_comm.h
+++ b/Function/WirelessRemoteComm/wireless_remote_comm.h
@@ -1,17 +1,37 @@
 #ifndef _WIRELESS_REMOTE_COMM_H_
 #define _WIRELESS_REMOTE_COMM_H_
 #include "define_all.h"
+#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
 {
@@ -20,7 +40,7 @@
 	WRC_CREATE_LINK,  //��������
 	WRC_SEND_DATA,    // �������ݸ�Զ��ģ��
 	WRC_WAIT_REC_DATA,	//�ȴ��������ݲ�����
-	WRC_CLOSE_PWR				//�ر�ģ���Դ
+	WRC_OFF				//�ر�ģ���Դ
 
 } WRC_STATUS;       // Զ��״̬
 
@@ -28,30 +48,112 @@
 typedef enum
 {
   WRC_MEANS_NONE = 0U,  // Ĭ��ֵ
-  WRC_MEANS_RTC_TIMED,  // ��ʱ����
+  WRC_MEANS_RTC_TIMING,  // ��ʱ����
   WRC_MEANS_KEY,        // ����
-  WRC_MEANS_ALARM,      // ����
+  WRC_MEANS_ALARM,      // �������¼�
   WRC_MEANS_POWER,    	 // ����/��λ
-  WRC_MEANS_RTC_PERIOD, // ����
+  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;
-  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()
 
 
 
@@ -62,6 +164,15 @@
 
 
 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);
 
 
 
@@ -70,13 +181,4 @@
 
 
 
-void WirelessRemoteCommPro(void);
-
-
-
-
-
-
-
-
-#endif
\ No newline at end of file
+#endif

--
Gitblit v1.9.3