1
0
forked from dyf/APP

BLE发送数据添加安卓苹果不同的逻辑

This commit is contained in:
liub
2025-08-11 14:51:09 +08:00
parent ca844723fa
commit 4ab10bb251

View File

@ -146,7 +146,7 @@ class BleHelper {
});
}
}
//移除发现新设备的回调
removeDeviceFound() {
let key = this.getCurrentPagePath();
@ -194,8 +194,8 @@ class BleHelper {
}
}
getError(ex) {
let code = ex.code;
@ -366,7 +366,7 @@ class BleHelper {
if (!state.available) { //蓝牙状态不可用了,将所有设备标记为断开连接
this.data.LinkedList.filter((v) => {
v.Linked = false;
v.notifyState=false;
v.notifyState = false;
return true;
});
uni.setStorageSync(this.StorageKey, this.data
@ -375,7 +375,7 @@ class BleHelper {
});
uni.onBLEConnectionStateChange((res) => {
if (!res.connected) {
console.log("蓝牙连接已断开", res);
@ -389,9 +389,8 @@ class BleHelper {
});
uni.setStorageSync(this.StorageKey, this.data
.LinkedList);
}
else{
console.log("蓝牙连接已恢复,",res);
} else {
console.log("蓝牙连接已恢复,", res);
}
});
@ -943,7 +942,7 @@ class BleHelper {
////console.log("无已连接设备");
}
}
//向蓝牙设备发送数据,如果没连接将自动连接后再发
sendData(deviceid, buffer, writeServiceId, wirteCharactId, ms) {
@ -1057,21 +1056,24 @@ class BleHelper {
}
//将点阵数据转换成RGB565
convertToRGB565(pixels) {
const result = new Uint16Array(pixels.length/4);
let index = 0;
console.log("pixels.length=" + pixels.length);
convertToRGB565(pixels, type) {
const result = new Uint16Array(pixels.length / 4);
let index = 0;
for (let i = 0; i < pixels.length; i += 4) {
const r = pixels[i];
const g = pixels[i + 1];
const b = pixels[i + 2];
// 转换为RGB565 (R:5bit, G:6bit, B:5bit)
const rgb565 = ((r & 0xF8) << 8) | ((g & 0xFC) << 3) | (b >> 3);
let r = pixels[i];
let g = pixels[i + 1];
let b = pixels[i + 2];
result[index++] = rgb565;
let rgb565 = ((r & 0xF8) << 8) | ((g & 0xFC) << 3) | (b >> 3);
let bgr565 = (b >> 3) | ((g & 0xFC) << 3) | ((r & 0xF8) << 8);
if(type=='bgr'){
result[index++] = bgr565;
}else{
result[index++] = rgb565;
}
}
return result;
}
}