Browse Source

change: airlink,调整airlink等待ready的代码位置,具体实现不要塞在luat_main里

Wendal Chen 8 months ago
parent
commit
2af3eceb7c
2 changed files with 21 additions and 15 deletions
  1. 19 0
      components/airlink/src/luat_airlink.c
  2. 2 15
      luat/modules/luat_main.c

+ 19 - 0
components/airlink/src/luat_airlink.c

@@ -498,3 +498,22 @@ int luat_airlink_result_send(uint8_t* buff, size_t len) {
     luat_airlink_cmd_free(cmd);
     return 0;
 }
+
+void luat_airlink_wait_ready(void) {
+  // Air8000硬等最多200ms, 梁健要加的, 有问题找他
+  if (memcmp("Air8000\0", model, 8) == 0 || memcmp("Air8000W\0", model, 9) == 0 || memcmp("Air8000A\0", model, 9) == 0) {
+    // LLOGD("等待Air8000s启动");
+	  size_t count = 0;
+	  #define AIRLINK_WAIT_MS (5)
+    extern uint64_t g_airlink_last_cmd_timestamp;
+	  while (g_airlink_last_cmd_timestamp == 0 && count < 200) {
+		  luat_rtos_task_sleep(AIRLINK_WAIT_MS);
+		  count += AIRLINK_WAIT_MS;
+	  }
+    if (g_airlink_last_cmd_timestamp > 0) {
+      // 启动完成, 把wifi的GPIO24设置为高电平, 防止充电ic被关闭
+      luat_gpio_mode(24 + 128, Luat_GPIO_OUTPUT, LUAT_GPIO_PULLUP, 1);
+    }
+    // LLOGD("等待Air8000s结束");
+	}
+}

+ 2 - 15
luat/modules/luat_main.c

@@ -92,21 +92,8 @@ static int pmain(lua_State *L) {
   
 	// Air8000硬等最多200ms, 梁健要加的, 有问题找他
   #if defined(LUAT_USE_AIRLINK)
-  if (memcmp("Air8000\0", model, 8) == 0 || memcmp("Air8000W\0", model, 9) == 0 || memcmp("Air8000A\0", model, 9) == 0) {
-    // LLOGD("等待Air8000s启动");
-	  size_t count = 0;
-	  #define AIRLINK_WAIT_MS (5)
-    extern uint64_t g_airlink_last_cmd_timestamp;
-	  while (g_airlink_last_cmd_timestamp == 0 && count < 200) {
-		  luat_rtos_task_sleep(AIRLINK_WAIT_MS);
-		  count += AIRLINK_WAIT_MS;
-	  }
-    if (g_airlink_last_cmd_timestamp > 0) {
-      // 启动完成, 把wifi的GPIO24设置为高电平, 防止充电ic被关闭
-      luat_gpio_mode(24 + 128, Luat_GPIO_OUTPUT, LUAT_GPIO_PULLUP, 1);
-    }
-    // LLOGD("等待Air8000s结束");
-	}
+  extern void luat_airlink_wait_ready(void);
+  luat_airlink_wait_ready();
   #endif
 
 #ifdef LUAT_HAS_CUSTOM_LIB_INIT