Просмотр исходного кода

fix: airlink,drv,uart,write函数没有正确返回长度

Wendal Chen 8 месяцев назад
Родитель
Сommit
0e676042e6

+ 1 - 1
components/airlink/binding/luat_lib_airlink.c

@@ -592,4 +592,4 @@ static const rotable_Reg_t reg_airlink[] =
 LUAMOD_API int luaopen_airlink( lua_State *L ) {
     luat_newlib2(L, reg_airlink);
     return 1;
-}
+}

+ 3 - 3
components/airlink/src/driver/luat_airlink_drv_uart.c

@@ -44,15 +44,15 @@ int luat_airlink_drv_uart_write(int uart_id, void* data, size_t length) {
     luat_airlink_cmd_t* cmd = luat_airlink_cmd_new(0x401, length + 1 + 8);
     if (cmd == NULL) {
         LLOGE("内存分配失败!!");
-        return -101;
+        return 0;
     }
     memcpy(cmd->data, &luat_airlink_next_cmd_id, 8);
     uint8_t tmp = (uint8_t)uart_id;
     memcpy(cmd->data + 8, &tmp, 1);
     memcpy(cmd->data + 9, data, length);
     item.cmd = cmd;
-    luat_airlink_queue_send(LUAT_AIRLINK_QUEUE_CMD, &item);
-    return 0;
+    int ret = luat_airlink_queue_send(LUAT_AIRLINK_QUEUE_CMD, &item);
+    return ret == 0 ? length : 0;
 }
 
 int luat_airlink_drv_uart_close(int uart_id) {