Forráskód Böngészése

update: airlink,换成用luat_rtos_mutex

??? 2 hónapja
szülő
commit
73a9a8e0be

+ 2 - 1
components/airlink/include/luat_airlink.h

@@ -183,7 +183,8 @@ typedef struct luat_airlink_spi_conf
 extern luat_airlink_spi_conf_t g_airlink_spi_conf;
 extern luat_airlink_link_data_cb g_airlink_link_data_cb;
 
-extern void *g_airlink_pause_mutex;
+#include "luat_rtos.h"
+extern luat_rtos_mutex_t g_airlink_pause_mutex;
 void luat_airlink_pause_init(void);
 void luat_airlink_set_pause(uint32_t val);
 

+ 4 - 4
components/airlink/src/luat_airlink.c

@@ -37,7 +37,7 @@ uint32_t g_airlink_spi_task_mode;
 uint64_t g_airlink_last_cmd_timestamp;
 uint32_t g_airlink_debug;
 uint32_t g_airlink_pause;
-void *g_airlink_pause_mutex = NULL;
+luat_rtos_mutex_t g_airlink_pause_mutex = NULL;
 uint64_t g_airlink_wifi_boot_time;
 
 int luat_airlink_init(void)
@@ -93,7 +93,7 @@ int luat_airlink_start(int id)
 void luat_airlink_pause_init(void) {
     if (g_airlink_pause_mutex == NULL)
     {
-        g_airlink_pause_mutex = luat_mutex_create();
+        g_airlink_pause_mutex = luat_rtos_mutex_create(&g_airlink_pause_mutex);
     }
 }
 
@@ -102,11 +102,11 @@ void luat_airlink_set_pause(uint32_t val) {
     if (g_airlink_pause_mutex == NULL) luat_airlink_pause_init();
     if (val) 
     {
-        luat_mutex_lock(g_airlink_pause_mutex);
+        luat_rtos_mutex_lock(g_airlink_pause_mutex, 1000);
     }
     else 
     {
-        luat_mutex_unlock(g_airlink_pause_mutex);
+        luat_rtos_mutex_unlock(g_airlink_pause_mutex);
     }
 } 
 

+ 2 - 2
components/airlink/src/task/luat_airlink_spi_master_task.c

@@ -295,8 +295,8 @@ __USER_FUNC_IN_RAM__ void airlink_wait_and_prepare_data(uint8_t *txbuff)
         {
             if (g_airlink_pause_mutex)
             {
-                luat_mutex_lock(g_airlink_pause_mutex);
-                luat_mutex_unlock(g_airlink_pause_mutex);   // 被unlock唤醒后, 再立即unlock一次, 防止死锁
+                luat_rtos_mutex_lock(g_airlink_pause_mutex, 1000);
+                luat_rtos_mutex_unlock(g_airlink_pause_mutex);   // 被unlock唤醒后, 再立即unlock一次, 防止死锁
             }
             else
             {