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

fix: drv,bt,获取mac地址的地方,需要增加swap,遵循luat_bluetooth_get_mac的规则

https://gitee.com/openLuat/LuatOS/issues/ICSYRB
Wendal Chen 5 месяцев назад
Родитель
Сommit
40e8f25ea0

+ 4 - 0
components/bluetooth/drv/luat_drv_bt_port.c

@@ -5,6 +5,7 @@
 2. 一律打包luat_drv_ble_msg_t
 */
 #include "luat_base.h"
+#include "luat_bluetooth.h"
 #include "luat_ble.h"
 #include "luat_drv_ble.h"
 #include "luat_airlink.h"
@@ -54,6 +55,9 @@ int luat_bluetooth_deinit(void* args) {
 
 int luat_bluetooth_get_mac(void* args, uint8_t *addr) {
     memcpy(addr, g_airlink_ext_dev_info.wifi.bt_mac, 6);
+    // 注意, 因为bt_mac是大端存储的, 需要转换成小端
+    // 而按照luat_bluetooth_get_mac的定义, 返回的是小端格式
+    luat_bluetooth_mac_swap(addr);
     return 0;
 }
 

+ 1 - 1
components/bluetooth/src/luat_lib_ble.c

@@ -1038,7 +1038,7 @@ static int l_ble_scanning_stop(lua_State *L){
 
 /*
 BLE连接
-@api ble.connect()
+@api ble.connect(mac, addr_type)
 @string mac 地址
 @int 地址类型 ble.PUBLIC ble.RANDOM
 @return boolean 是否成功