diff --git a/utils/BleHelper.js b/utils/BleHelper.js index 178989a..d31e72c 100644 --- a/utils/BleHelper.js +++ b/utils/BleHelper.js @@ -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; } }