| 
															
																@@ -214,7 +214,7 @@ void update_last_button_info(uint8_t btn) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 void screen_display(void)
 
															 | 
															
															 | 
															
																 void screen_display(void)
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 {
 
															 | 
															
															 | 
															
																 {
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    font_exit_sleep();
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    // font_exit_sleep();
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     EventBits_t bits = xEventGroupWaitBits(screen_event,
 
															 | 
															
															 | 
															
																     EventBits_t bits = xEventGroupWaitBits(screen_event,
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                                            LEFT_SCREEN_BIT | RIGHT_SCREEN_BIT,
 
															 | 
															
															 | 
															
																                                            LEFT_SCREEN_BIT | RIGHT_SCREEN_BIT,
 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -1327,15 +1327,12 @@ static void hardware_gwpair_func(const LORA_DATA_T *buf) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     Machine_info.paired = 1; // 已配对
 
															 | 
															
															 | 
															
																     Machine_info.paired = 1; // 已配对
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-#if 0
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    send_pair_ack();
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-#else
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     int msg_id = (buf->data_buf[11] << 8) | buf->data_buf[12]; // 获取当前消息id 用于删除
 
															 | 
															
															 | 
															
																     int msg_id = (buf->data_buf[11] << 8) | buf->data_buf[12]; // 获取当前消息id 用于删除
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     printf("msg_id =%X\r\n", msg_id);
 
															 | 
															
															 | 
															
																     printf("msg_id =%X\r\n", msg_id);
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     reply_ack_func(PROTOCOL_HARDWARE_GWPAIRED, msg_id, true, NULL); // 回复ack
 
															 | 
															
															 | 
															
																     reply_ack_func(PROTOCOL_HARDWARE_GWPAIRED, msg_id, true, NULL); // 回复ack
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-#endif
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     // vTaskDelay(200 / portTICK_PERIOD_MS);
 
															 | 
															
															 | 
															
																     // vTaskDelay(200 / portTICK_PERIOD_MS);
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     // //修改信道前修改设备ID 及 设备ID
 
															 | 
															
															 | 
															
																     // //修改信道前修改设备ID 及 设备ID
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     //  dymatic_change_device_id(child_num+1);
 
															 | 
															
															 | 
															
																     //  dymatic_change_device_id(child_num+1);
 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -1346,7 +1343,7 @@ static void hardware_gwpair_func(const LORA_DATA_T *buf) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     vTaskDelay(200 / portTICK_PERIOD_MS);
 
															 | 
															
															 | 
															
																     vTaskDelay(200 / portTICK_PERIOD_MS);
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     Machine_info.rssi = set_lora(Machine_info.lora_new_channel, Machine_info.eflagID);
 
															 | 
															
															 | 
															
																     Machine_info.rssi = set_lora(Machine_info.lora_new_channel, Machine_info.eflagID);
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    f_send_get_time();
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    // f_send_get_time();
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     f_send_version();
 
															 | 
															
															 | 
															
																     f_send_version();
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     f_send_reply_status(0x01); // 回复在线状态
 
															 | 
															
															 | 
															
																     f_send_reply_status(0x01); // 回复在线状态
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     f_send_update_status();
 
															 | 
															
															 | 
															
																     f_send_update_status();
 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -1437,15 +1434,12 @@ static void hardware_ungwpair_func(const LORA_DATA_T *buf) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     // 取消配网成功 回复 ACK 设置新的信道
 
															 | 
															
															 | 
															
																     // 取消配网成功 回复 ACK 设置新的信道
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-#if 0
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    send_pair_ack();
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-#else
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     int msg_id = (buf->data_buf[11] << 8) | buf->data_buf[12]; // 获取当前消息id 用于删除
 
															 | 
															
															 | 
															
																     int msg_id = (buf->data_buf[11] << 8) | buf->data_buf[12]; // 获取当前消息id 用于删除
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     // printf("msg_id =%X\r\n",msg_id);
 
															 | 
															
															 | 
															
																     // printf("msg_id =%X\r\n",msg_id);
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     reply_ack_func(PROTOCOL_HARDWARE_UNGWPAIRED, msg_id, true, NULL); // 回复ack
 
															 | 
															
															 | 
															
																     reply_ack_func(PROTOCOL_HARDWARE_UNGWPAIRED, msg_id, true, NULL); // 回复ack
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-#endif
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     // #include "user_sleep.h"
 
															 | 
															
															 | 
															
																     // #include "user_sleep.h"
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     // #include "esp_sleep.h"
 
															 | 
															
															 | 
															
																     // #include "esp_sleep.h"
 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -1465,6 +1459,7 @@ static void hardware_ungwpair_func(const LORA_DATA_T *buf) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     Machine_info.lora_new_channel = LORA_CHANENL;
 
															 | 
															
															 | 
															
																     Machine_info.lora_new_channel = LORA_CHANENL;
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     // dymatic_change_chanel(Machine_info.lora_factory_channel);  //切换信道
 
															 | 
															
															 | 
															
																     // dymatic_change_chanel(Machine_info.lora_factory_channel);  //切换信道
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     reset_lora(LORA_CHANENL);
 
															 | 
															
															 | 
															
																     reset_lora(LORA_CHANENL);
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    Machine_info.paired = 0; // 解除配对
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 }
 
															 | 
															
															 | 
															
																 }
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 /*网关收到终端发送的数据 ACK 终端收到用于删除当前的msgid的数据*/
 
															 | 
															
															 | 
															
																 /*网关收到终端发送的数据 ACK 终端收到用于删除当前的msgid的数据*/
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 static void hardware_ack_delete_msg_id(const LORA_DATA_T *buf)
 
															 | 
															
															 | 
															
																 static void hardware_ack_delete_msg_id(const LORA_DATA_T *buf)
 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -2244,7 +2239,6 @@ void f_send_get_time(void) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     uint8_t strlorabuf[200];
 
															 | 
															
															 | 
															
																     uint8_t strlorabuf[200];
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     uint8_t strnum[20];
 
															 | 
															
															 | 
															
																     uint8_t strnum[20];
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    static int rssiold = 0;
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     int crc16 = 0, i = 0, len = 0;
 
															 | 
															
															 | 
															
																     int crc16 = 0, i = 0, len = 0;
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     strlorabuf[0] = 0x5A;
 
															 | 
															
															 | 
															
																     strlorabuf[0] = 0x5A;
 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -2261,7 +2255,11 @@ void f_send_get_time(void) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     strlorabuf[10] = 0x01;                // cmd命令字
 
															 | 
															
															 | 
															
																     strlorabuf[10] = 0x01;                // cmd命令字
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     Machine_info.msg_id = allocateMsgIdNum(); // 分配ID
 
															 | 
															
															 | 
															
																     Machine_info.msg_id = allocateMsgIdNum(); // 分配ID
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    if (Machine_info.msg_id > 1000)
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    {
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        ESP_LOGE(LOG_TAG, "time Machine_info.msg_id>1000");
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        return;
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    }
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     strlorabuf[11] = ((Machine_info.msg_id) >> 8) & 0XFF; //
 
															 | 
															
															 | 
															
																     strlorabuf[11] = ((Machine_info.msg_id) >> 8) & 0XFF; //
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     strlorabuf[12] = ((Machine_info.msg_id) >> 0) & 0XFF; // 总包数,当前包数
 
															 | 
															
															 | 
															
																     strlorabuf[12] = ((Machine_info.msg_id) >> 0) & 0XFF; // 总包数,当前包数
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -2308,7 +2306,12 @@ void f_send_get_chart_data(void) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     strlorabuf[9] = Machine_info.eflagID; // 组内编号
 
															 | 
															
															 | 
															
																     strlorabuf[9] = Machine_info.eflagID; // 组内编号
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     strlorabuf[10] = 0x11;                // cmd命令字
 
															 | 
															
															 | 
															
																     strlorabuf[10] = 0x11;                // cmd命令字
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    Machine_info.msg_id = allocateMsgIdNum();             // 分配ID
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    Machine_info.msg_id = allocateMsgIdNum(); // 分配ID
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    if (Machine_info.msg_id > 1000)
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    {
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        ESP_LOGE(LOG_TAG, "chart Machine_info.msg_id>1000");
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        return;
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    }
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     strlorabuf[11] = ((Machine_info.msg_id) >> 8) & 0XFF; //
 
															 | 
															
															 | 
															
																     strlorabuf[11] = ((Machine_info.msg_id) >> 8) & 0XFF; //
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     strlorabuf[12] = ((Machine_info.msg_id) >> 0) & 0XFF; // 总包数,当前包数
 
															 | 
															
															 | 
															
																     strlorabuf[12] = ((Machine_info.msg_id) >> 0) & 0XFF; // 总包数,当前包数
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -2329,7 +2332,7 @@ void f_send_get_chart_data(void) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     // lora_send_data((char *)strlorabuf,len);
 
															 | 
															
															 | 
															
																     // lora_send_data((char *)strlorabuf,len);
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     lora_pool[LORA_INFO_GET_CHART].num = Machine_info.msg_id;
 
															 | 
															
															 | 
															
																     lora_pool[LORA_INFO_GET_CHART].num = Machine_info.msg_id;
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     lora_pool[LORA_INFO_GET_CHART].flag = true;
 
															 | 
															
															 | 
															
																     lora_pool[LORA_INFO_GET_CHART].flag = true;
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    Send_list = postInsert(Send_list, Machine_info.msg_id, LORA_INFO_GET_CHART, (char *)strlorabuf, len); // 插入数据
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    Send_list = postInsert(Send_list, (int)Machine_info.msg_id, LORA_INFO_GET_CHART, (char *)strlorabuf, len); // 插入数据
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 }
 
															 | 
															
															 | 
															
																 }
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 void f_send_version(void)
 
															 | 
															
															 | 
															
																 void f_send_version(void)
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 {
 
															 | 
															
															 | 
															
																 {
 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -2338,7 +2341,7 @@ void f_send_version(void) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         ESP_LOGE(LOG_TAG, "%s-->return", __FUNCTION__);
 
															 | 
															
															 | 
															
																         ESP_LOGE(LOG_TAG, "%s-->return", __FUNCTION__);
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         return;
 
															 | 
															
															 | 
															
																         return;
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     }
 
															 | 
															
															 | 
															
																     }
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    ESP_LOGW(LOG_TAG, "f_send_version");
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    // ESP_LOGW(LOG_TAG, "f_send_version");
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     uint8_t strlorabuf[200];
 
															 | 
															
															 | 
															
																     uint8_t strlorabuf[200];
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     int crc16 = 0, i = 0, len = 0;
 
															 | 
															
															 | 
															
																     int crc16 = 0, i = 0, len = 0;
 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -2356,7 +2359,12 @@ void f_send_version(void) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     strlorabuf[9] = Machine_info.eflagID; // 组内编号
 
															 | 
															
															 | 
															
																     strlorabuf[9] = Machine_info.eflagID; // 组内编号
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     strlorabuf[10] = 0x91;                // cmd命令字
 
															 | 
															
															 | 
															
																     strlorabuf[10] = 0x91;                // cmd命令字
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    Machine_info.msg_id = allocateMsgIdNum();             // 分配ID
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    Machine_info.msg_id = allocateMsgIdNum(); // 分配ID
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    if (Machine_info.msg_id > 1000)
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    {
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        ESP_LOGE(LOG_TAG, "version Machine_info.msg_id>1000");
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        return;
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    }
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     strlorabuf[11] = ((Machine_info.msg_id) >> 8) & 0XFF; //
 
															 | 
															
															 | 
															
																     strlorabuf[11] = ((Machine_info.msg_id) >> 8) & 0XFF; //
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     strlorabuf[12] = ((Machine_info.msg_id) >> 0) & 0XFF; // 总包数,当前包数
 
															 | 
															
															 | 
															
																     strlorabuf[12] = ((Machine_info.msg_id) >> 0) & 0XFF; // 总包数,当前包数
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -2379,7 +2387,7 @@ void f_send_version(void) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     lora_pool[LORA_INFO_VERSION].num = Machine_info.msg_id;
 
															 | 
															
															 | 
															
																     lora_pool[LORA_INFO_VERSION].num = Machine_info.msg_id;
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     lora_pool[LORA_INFO_VERSION].flag = true;
 
															 | 
															
															 | 
															
																     lora_pool[LORA_INFO_VERSION].flag = true;
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    Send_list = postInsert(Send_list, Machine_info.msg_id, LORA_INFO_VERSION, (char *)strlorabuf, len); // 插入数据
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    Send_list = postInsert(Send_list, (int)Machine_info.msg_id, LORA_INFO_VERSION, (char *)strlorabuf, len); // 插入数据
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 }
 
															 | 
															
															 | 
															
																 }
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 void f_send_lora_rssi(int rssi)
 
															 | 
															
															 | 
															
																 void f_send_lora_rssi(int rssi)
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 {
 
															 | 
															
															 | 
															
																 {
 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -2406,7 +2414,12 @@ void f_send_lora_rssi(int rssi) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     strlorabuf[9] = Machine_info.eflagID; // 组内编号
 
															 | 
															
															 | 
															
																     strlorabuf[9] = Machine_info.eflagID; // 组内编号
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     strlorabuf[10] = 0x05;                // cmd命令字
 
															 | 
															
															 | 
															
																     strlorabuf[10] = 0x05;                // cmd命令字
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    Machine_info.msg_id = allocateMsgIdNum();             // 分配ID
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    Machine_info.msg_id = allocateMsgIdNum(); // 分配ID
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    if (Machine_info.msg_id > 1000)
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    {
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        ESP_LOGE(LOG_TAG, "rssi Machine_info.msg_id>1000");
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        return;
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    }
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     strlorabuf[11] = ((Machine_info.msg_id) >> 8) & 0XFF; //
 
															 | 
															
															 | 
															
																     strlorabuf[11] = ((Machine_info.msg_id) >> 8) & 0XFF; //
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     strlorabuf[12] = ((Machine_info.msg_id) >> 0) & 0XFF; // 总包数,当前包数
 
															 | 
															
															 | 
															
																     strlorabuf[12] = ((Machine_info.msg_id) >> 0) & 0XFF; // 总包数,当前包数
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -2427,7 +2440,7 @@ void f_send_lora_rssi(int rssi) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     lora_pool[LORA_INFO_RSSI].num = Machine_info.msg_id;
 
															 | 
															
															 | 
															
																     lora_pool[LORA_INFO_RSSI].num = Machine_info.msg_id;
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     lora_pool[LORA_INFO_RSSI].flag = true;
 
															 | 
															
															 | 
															
																     lora_pool[LORA_INFO_RSSI].flag = true;
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    Send_list = postInsert(Send_list, Machine_info.msg_id, LORA_INFO_RSSI, (char *)strlorabuf, len); // 插入数据
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    Send_list = postInsert(Send_list, (int)Machine_info.msg_id, LORA_INFO_RSSI, (char *)strlorabuf, len); // 插入数据
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 }
 
															 | 
															
															 | 
															
																 }
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 void f_send_test(void)
 
															 | 
															
															 | 
															
																 void f_send_test(void)
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 {
 
															 | 
															
															 | 
															
																 {
 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -2472,7 +2485,7 @@ void f_send_test(void) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     len = strlen((char *)strlorabuf);
 
															 | 
															
															 | 
															
																     len = strlen((char *)strlorabuf);
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     // send_lora_data(strlorabuf, len);
 
															 | 
															
															 | 
															
																     // send_lora_data(strlorabuf, len);
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     // lora_send_data((char *)strlorabuf, len);
 
															 | 
															
															 | 
															
																     // lora_send_data((char *)strlorabuf, len);
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    Send_list = postInsert(Send_list, Machine_info.msg_id, LORA_INFO_BATT, (char *)strlorabuf, len); // 插入数据
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    Send_list = postInsert(Send_list, (int)Machine_info.msg_id, LORA_INFO_BATT, (char *)strlorabuf, len); // 插入数据
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 }
 
															 | 
															
															 | 
															
																 }
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 void f_send_battary_vaule(int battry)
 
															 | 
															
															 | 
															
																 void f_send_battary_vaule(int battry)
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 {
 
															 | 
															
															 | 
															
																 {
 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -2498,7 +2511,12 @@ void f_send_battary_vaule(int battry) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     strlorabuf[9] = Machine_info.eflagID; // 组内编号
 
															 | 
															
															 | 
															
																     strlorabuf[9] = Machine_info.eflagID; // 组内编号
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     strlorabuf[10] = 0x04;                // cmd命令字
 
															 | 
															
															 | 
															
																     strlorabuf[10] = 0x04;                // cmd命令字
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    Machine_info.msg_id = allocateMsgIdNum();             // 分配ID
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    Machine_info.msg_id = allocateMsgIdNum(); // 分配ID
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    if (Machine_info.msg_id > 1000)
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    {
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        ESP_LOGE(LOG_TAG, "batt Machine_info.msg_id>1000");
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        return;
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    }
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     strlorabuf[11] = ((Machine_info.msg_id) >> 8) & 0XFF; //
 
															 | 
															
															 | 
															
																     strlorabuf[11] = ((Machine_info.msg_id) >> 8) & 0XFF; //
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     strlorabuf[12] = ((Machine_info.msg_id) >> 0) & 0XFF; // 总包数,当前包数
 
															 | 
															
															 | 
															
																     strlorabuf[12] = ((Machine_info.msg_id) >> 0) & 0XFF; // 总包数,当前包数
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -2519,7 +2537,7 @@ void f_send_battary_vaule(int battry) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     lora_pool[LORA_INFO_BATT].num = Machine_info.msg_id;
 
															 | 
															
															 | 
															
																     lora_pool[LORA_INFO_BATT].num = Machine_info.msg_id;
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     lora_pool[LORA_INFO_BATT].flag = true;
 
															 | 
															
															 | 
															
																     lora_pool[LORA_INFO_BATT].flag = true;
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    Send_list = postInsert(Send_list, Machine_info.msg_id, LORA_INFO_BATT, (char *)strlorabuf, len); // 插入数据
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    Send_list = postInsert(Send_list, (int)Machine_info.msg_id, LORA_INFO_BATT, (char *)strlorabuf, len); // 插入数据
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 }
 
															 | 
															
															 | 
															
																 }
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 void f_send_reply_status(int status)
 
															 | 
															
															 | 
															
																 void f_send_reply_status(int status)
 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -2567,7 +2585,7 @@ void f_send_reply_status(int status) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     lora_pool[LORA_INFO_REPLY].num = Machine_info.msg_id;
 
															 | 
															
															 | 
															
																     lora_pool[LORA_INFO_REPLY].num = Machine_info.msg_id;
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     lora_pool[LORA_INFO_REPLY].flag = true;
 
															 | 
															
															 | 
															
																     lora_pool[LORA_INFO_REPLY].flag = true;
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    Send_list = postInsert(Send_list, Machine_info.msg_id, LORA_INFO_REPLY, (char *)strlorabuf, len); // 插入数据
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    Send_list = postInsert(Send_list,(int)Machine_info.msg_id, LORA_INFO_REPLY, (char *)strlorabuf, len); // 插入数据
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 }
 
															 | 
															
															 | 
															
																 }
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 // 唤醒时发送是否可以接收数据命令
 
															 | 
															
															 | 
															
																 // 唤醒时发送是否可以接收数据命令
 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -3030,37 +3048,37 @@ void set_status_heights(void) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 //     // }
 
															 | 
															
															 | 
															
																 //     // }
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 // }
 
															 | 
															
															 | 
															
																 // }
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-void lora_timer_callback(void *arg)
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-{
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    ESP_LOGI(LOG_TAG, " lora_timer_callback");
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    if (xQueueSend(yc_data_queue, &yc_data, 0) != true)
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    {
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        ESP_LOGE(LOG_TAG, "yc_data_queue send is fail");
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    }
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    yc_data.len = 0;
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    yc_data.index = 0;
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-}
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-void timer_init(void)
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-{
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    // const esp_timer_create_args_t periodic_timer_args = {
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    //         .callback = &periodic_timer_callback,
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    //         /* name is optional, but may help identify the timer when debugging */
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    //         .name = "periodic"
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    // };
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    // ESP_ERROR_CHECK(esp_timer_create(&periodic_timer_args, &periodic_timer));
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    // /* The timer has been created but is not running yet */
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    // ESP_ERROR_CHECK(esp_timer_start_periodic(periodic_timer, 1*1000*1000));
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+// void lora_timer_callback(void *arg)
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+// {
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//     ESP_LOGI(LOG_TAG, " lora_timer_callback");
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    // lora timer
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    const esp_timer_create_args_t lora_timer_args = {
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        .callback = &lora_timer_callback,
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        /* argument specified here will be passed to timer callback function */
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        .name = "one-shot"};
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    ESP_ERROR_CHECK(esp_timer_create(&lora_timer_args, &lora_timer));
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-}
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//     if (xQueueSend(yc_data_queue, &yc_data, 0) != true)
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//     {
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//         ESP_LOGE(LOG_TAG, "yc_data_queue send is fail");
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//     }
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//     yc_data.len = 0;
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//     yc_data.index = 0;
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+// }
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+// void timer_init(void)
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+// {
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//     // const esp_timer_create_args_t periodic_timer_args = {
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//     //         .callback = &periodic_timer_callback,
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//     //         /* name is optional, but may help identify the timer when debugging */
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//     //         .name = "periodic"
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//     // };
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//     // ESP_ERROR_CHECK(esp_timer_create(&periodic_timer_args, &periodic_timer));
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//     // /* The timer has been created but is not running yet */
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//     // ESP_ERROR_CHECK(esp_timer_start_periodic(periodic_timer, 1*1000*1000));
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//     // lora timer
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//     const esp_timer_create_args_t lora_timer_args = {
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//         .callback = &lora_timer_callback,
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//         /* argument specified here will be passed to timer callback function */
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//         .name = "one-shot"};
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//     ESP_ERROR_CHECK(esp_timer_create(&lora_timer_args, &lora_timer));
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+// }
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 // void yc_timer_restart(void)
 
															 | 
															
															 | 
															
																 // void yc_timer_restart(void)
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 // {
 
															 | 
															
															 | 
															
																 // {
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 //     ESP_LOGI(LOG_TAG,"timer restart");
 
															 | 
															
															 | 
															
																 //     ESP_LOGI(LOG_TAG,"timer restart");
 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -3084,91 +3102,91 @@ void lora_timer_restart(void) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 #if 1
 
															 | 
															
															 | 
															
																 #if 1
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-/*********************************************************************************
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																- * function   :   analysis_protocol
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																- * Description :  lora 接受数据解析函数
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																- * Input       :
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																- * Output      :
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																- * Author      :  祁鑫                  Data : 2023 9.18
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																- **********************************************************************************/
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-void analysis_protocol(char *result, int len)
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-{
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    int index = 0;
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    int length = 0;
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    int count = len;
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+// /*********************************************************************************
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//  * function   :   analysis_protocol
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//  * Description :  lora 接受数据解析函数
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//  * Input       :
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//  * Output      :
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//  * Author      :  祁鑫                  Data : 2023 9.18
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//  **********************************************************************************/
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+// void analysis_protocol(char *result, int len)
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+// {
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//     int index = 0;
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//     int length = 0;
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    int num = 0;
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//     int count = len;
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    while (count)
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    {
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        if (((result[index + 2]) == 0x5A) && ((result[index + 3]) == 0x51))
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        {
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-            length = ((result[index]) << 8) | ((result[index + 1]));
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-            num++;
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-            printf("num =%d,length=%d\r\n", num, length);
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//     int num = 0;
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-#if 1
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-            for (int i = 0; i < length; i++)
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-            {
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-                printf("%02x", result[index + 2 + i]);
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-            }
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-#endif
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-            printf("\r\n");
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-            // 匹配mac地址    //计算校验和
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-            if (
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-                (Machine_info.mac_addr[0] == (result[index + 5])) &&
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-                (Machine_info.mac_addr[1] == (result[index + 6])) &&
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-                (Machine_info.mac_addr[2] == (result[index + 7])) &&
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-                (Machine_info.mac_addr[3] == (result[index + 8])) &&
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-                (Machine_info.mac_addr[4] == (result[index + 9])) &&
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-                (Machine_info.mac_addr[5] == (result[index + 10])))
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-            {
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-                // mac地址匹配
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-                printf("mac check ok\r\n");
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-                // packetparsing((unsigned char *)&result[index+2]);  //16进制解析数据
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-            }
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-            else
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-            {
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-                printf("mac = %02x%02x%02x%02x%02x%02x\r\n",
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-                       result[index + 5],
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-                       result[index + 6],
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-                       result[index + 7],
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-                       result[index + 8],
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-                       result[index + 9],
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-                       result[index + 10]);
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-                printf("device mac = %02x%02x%02x%02x%02x%02x\r\n",
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-                       Machine_info.mac_addr[0],
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-                       Machine_info.mac_addr[1],
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-                       Machine_info.mac_addr[2],
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-                       Machine_info.mac_addr[3],
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-                       Machine_info.mac_addr[4],
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-                       Machine_info.mac_addr[5]);
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-                // mac地址匹配
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-                printf("mac check fail\r\n");
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-            }
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        }
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        {
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-            index++;
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        }
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//     while (count)
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//     {
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        count--;
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    }
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    // printf("num =%d\r\n",num);
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//         if (((result[index + 2]) == 0x5A) && ((result[index + 3]) == 0x51))
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//         {
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//             length = ((result[index]) << 8) | ((result[index + 1]));
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//             num++;
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//             printf("num =%d,length=%d\r\n", num, length);
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+// #if 1
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//             for (int i = 0; i < length; i++)
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//             {
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//                 printf("%02x", result[index + 2 + i]);
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//             }
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+// #endif
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//             printf("\r\n");
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//             // 匹配mac地址    //计算校验和
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//             if (
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//                 (Machine_info.mac_addr[0] == (result[index + 5])) &&
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//                 (Machine_info.mac_addr[1] == (result[index + 6])) &&
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//                 (Machine_info.mac_addr[2] == (result[index + 7])) &&
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//                 (Machine_info.mac_addr[3] == (result[index + 8])) &&
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//                 (Machine_info.mac_addr[4] == (result[index + 9])) &&
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//                 (Machine_info.mac_addr[5] == (result[index + 10])))
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//             {
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//                 // mac地址匹配
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//                 printf("mac check ok\r\n");
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//                 // packetparsing((unsigned char *)&result[index+2]);  //16进制解析数据
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//             }
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//             else
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//             {
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//                 printf("mac = %02x%02x%02x%02x%02x%02x\r\n",
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//                        result[index + 5],
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//                        result[index + 6],
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//                        result[index + 7],
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//                        result[index + 8],
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//                        result[index + 9],
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//                        result[index + 10]);
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//                 printf("device mac = %02x%02x%02x%02x%02x%02x\r\n",
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//                        Machine_info.mac_addr[0],
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//                        Machine_info.mac_addr[1],
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//                        Machine_info.mac_addr[2],
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//                        Machine_info.mac_addr[3],
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//                        Machine_info.mac_addr[4],
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//                        Machine_info.mac_addr[5]);
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//                 // mac地址匹配
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//                 printf("mac check fail\r\n");
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//             }
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//         }
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//         {
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//             index++;
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//         }
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//         count--;
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//     }
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//     // printf("num =%d\r\n",num);
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-#if 0
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        if(left_display_refresh == true)
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        {
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-          left_display_refresh = false;
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-                PIC_display((unsigned char *)dspbuf_left);
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        }   
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-            reflashdfpr(dspbuf);
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-#endif
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-}
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+// #if 0
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//         if(left_display_refresh == true)
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//         {
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//           left_display_refresh = false;
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//                 PIC_display((unsigned char *)dspbuf_left);
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//         }   
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+//             reflashdfpr(dspbuf);
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+// #endif
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+// }
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 /*********************************************************************************
 
															 | 
															
															 | 
															
																 /*********************************************************************************
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																  * function   :   selectionSort
 
															 | 
															
															 | 
															
																  * function   :   selectionSort
 
															 |