|
@@ -39,7 +39,7 @@ object BleCmdManager {
|
|
|
/**
|
|
/**
|
|
|
* 拼接时间戳 + token
|
|
* 拼接时间戳 + token
|
|
|
*/
|
|
*/
|
|
|
- private fun assembleData(bleBean: BleBean, byteArray: ByteArray): ByteArray? {
|
|
|
|
|
|
|
+ private fun assembleData(bleBean: BleBean, byteArray: ByteArray): ByteArray? {
|
|
|
bleBean.token?.let {
|
|
bleBean.token?.let {
|
|
|
return assembleTimeStamp(byteArray) + it
|
|
return assembleTimeStamp(byteArray) + it
|
|
|
} ?: run {
|
|
} ?: run {
|
|
@@ -80,17 +80,26 @@ object BleCmdManager {
|
|
|
// }
|
|
// }
|
|
|
when {
|
|
when {
|
|
|
// 获取令牌
|
|
// 获取令牌
|
|
|
- byteArray.startsWith(BleConst.RSP_GET_TOKEN) -> handleToken(bleBean.bleDevice, byteArray)
|
|
|
|
|
|
|
+ byteArray.startsWith(BleConst.RSP_GET_TOKEN) -> handleToken(
|
|
|
|
|
+ bleBean.bleDevice,
|
|
|
|
|
+ byteArray
|
|
|
|
|
+ )
|
|
|
// 工作模式切换
|
|
// 工作模式切换
|
|
|
byteArray.startsWith(BleConst.RSP_SWITCH_MODE) -> handleSwitchModeResult(byteArray)
|
|
byteArray.startsWith(BleConst.RSP_SWITCH_MODE) -> handleSwitchModeResult(byteArray)
|
|
|
// 工作票下发
|
|
// 工作票下发
|
|
|
- byteArray.startsWith(BleConst.RSP_SEND_WORK_TICKET) -> handleWorkTicketResult(bleBean, byteArray)
|
|
|
|
|
|
|
+ byteArray.startsWith(BleConst.RSP_SEND_WORK_TICKET) -> handleWorkTicketResult(
|
|
|
|
|
+ bleBean,
|
|
|
|
|
+ byteArray
|
|
|
|
|
+ )
|
|
|
// 获取设备当前状态
|
|
// 获取设备当前状态
|
|
|
byteArray.startsWith(BleConst.RSP_CURRENT_STATUS) -> handleCurrentStatus(byteArray)
|
|
byteArray.startsWith(BleConst.RSP_CURRENT_STATUS) -> handleCurrentStatus(byteArray)
|
|
|
// 获取钥匙电量
|
|
// 获取钥匙电量
|
|
|
byteArray.startsWith(BleConst.RSP_POWER_STATUS) -> handlePowerStatus(byteArray)
|
|
byteArray.startsWith(BleConst.RSP_POWER_STATUS) -> handlePowerStatus(byteArray)
|
|
|
// 传输文件
|
|
// 传输文件
|
|
|
- byteArray.startsWith(BleConst.RSP_TRANSFER_FILE) && byteArray[3] == 0x01.toByte() -> handleFileRsp(bleBean, byteArray)
|
|
|
|
|
|
|
+ byteArray.startsWith(BleConst.RSP_TRANSFER_FILE) && byteArray[3] == 0x01.toByte() -> handleFileRsp(
|
|
|
|
|
+ bleBean,
|
|
|
|
|
+ byteArray
|
|
|
|
|
+ )
|
|
|
// 获取固件版本号
|
|
// 获取固件版本号
|
|
|
byteArray.startsWith(BleConst.RSP_GET_VERSION) -> handleVersion(byteArray)
|
|
byteArray.startsWith(BleConst.RSP_GET_VERSION) -> handleVersion(byteArray)
|
|
|
// 获取设备工作票完成情况
|
|
// 获取设备工作票完成情况
|
|
@@ -106,7 +115,11 @@ object BleCmdManager {
|
|
|
LogUtil.i("$mac")
|
|
LogUtil.i("$mac")
|
|
|
BusinessManager.getBleDeviceByMac(mac)?.bleDevice?.let {
|
|
BusinessManager.getBleDeviceByMac(mac)?.bleDevice?.let {
|
|
|
LogUtil.i("Get token : $mac")
|
|
LogUtil.i("Get token : $mac")
|
|
|
- BleUtil.instance?.write(it, cmd = assembleTimeStamp(REQ_GET_TOKEN), writeCallback = callback)
|
|
|
|
|
|
|
+ BleUtil.instance?.write(
|
|
|
|
|
+ it,
|
|
|
|
|
+ cmd = assembleTimeStamp(REQ_GET_TOKEN),
|
|
|
|
|
+ writeCallback = callback
|
|
|
|
|
+ )
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -115,7 +128,11 @@ object BleCmdManager {
|
|
|
*
|
|
*
|
|
|
* @param callBack 是否成功
|
|
* @param callBack 是否成功
|
|
|
*/
|
|
*/
|
|
|
- fun handleToken(bleDevice: BleDevice, byteArray: ByteArray, callBack: ((Boolean) -> Unit)? = null) {
|
|
|
|
|
|
|
+ fun handleToken(
|
|
|
|
|
+ bleDevice: BleDevice,
|
|
|
|
|
+ byteArray: ByteArray,
|
|
|
|
|
+ callBack: ((Boolean) -> Unit)? = null
|
|
|
|
|
+ ) {
|
|
|
LogUtil.i("handleToken : ${byteArray.toHexStrings()}")
|
|
LogUtil.i("handleToken : ${byteArray.toHexStrings()}")
|
|
|
BusinessManager.getBleDeviceByMac(bleDevice.mac)?.let {
|
|
BusinessManager.getBleDeviceByMac(bleDevice.mac)?.let {
|
|
|
it.token = byteArrayOf(byteArray[11], byteArray[12], byteArray[13], byteArray[14])
|
|
it.token = byteArrayOf(byteArray[11], byteArray[12], byteArray[13], byteArray[14])
|
|
@@ -133,7 +150,11 @@ object BleCmdManager {
|
|
|
*/
|
|
*/
|
|
|
fun switchMode(mode: ByteArray, bleDevice: BleDevice, callback: CustomBleWriteCallback?) {
|
|
fun switchMode(mode: ByteArray, bleDevice: BleDevice, callback: CustomBleWriteCallback?) {
|
|
|
BusinessManager.getBleDeviceByMac(bleDevice.mac)?.let {
|
|
BusinessManager.getBleDeviceByMac(bleDevice.mac)?.let {
|
|
|
- BleUtil.instance?.write(it.bleDevice, cmd = assembleData(it, REQ_SWITCH_MODE + mode), writeCallback = callback)
|
|
|
|
|
|
|
+ BleUtil.instance?.write(
|
|
|
|
|
+ it.bleDevice,
|
|
|
|
|
+ cmd = assembleData(it, REQ_SWITCH_MODE + mode),
|
|
|
|
|
+ writeCallback = callback
|
|
|
|
|
+ )
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -152,7 +173,12 @@ object BleCmdManager {
|
|
|
/**
|
|
/**
|
|
|
* 工作票下发
|
|
* 工作票下发
|
|
|
*/
|
|
*/
|
|
|
- fun sendWorkTicket(json: String, idx: Int = 0, bleDevice: BleDevice, callback: CustomBleWriteCallback?) {
|
|
|
|
|
|
|
+ fun sendWorkTicket(
|
|
|
|
|
+ json: String,
|
|
|
|
|
+ idx: Int = 0,
|
|
|
|
|
+ bleDevice: BleDevice,
|
|
|
|
|
+ callback: CustomBleWriteCallback?
|
|
|
|
|
+ ) {
|
|
|
LogUtil.i("sendWorkTicket : $idx")
|
|
LogUtil.i("sendWorkTicket : $idx")
|
|
|
BusinessManager.getBleDeviceByMac(bleDevice.mac)?.let {
|
|
BusinessManager.getBleDeviceByMac(bleDevice.mac)?.let {
|
|
|
it.ticketSend = json
|
|
it.ticketSend = json
|
|
@@ -167,16 +193,30 @@ object BleCmdManager {
|
|
|
json.toByteArray().copyOfRange(idx * 128, (idx + 1) * 128)
|
|
json.toByteArray().copyOfRange(idx * 128, (idx + 1) * 128)
|
|
|
}
|
|
}
|
|
|
// val jsonInfo = total + idx.toByteArray() + CRC16.crc16(data, 0, data.size - 1).toByteArray() + data.size.toByteArray() + data
|
|
// val jsonInfo = total + idx.toByteArray() + CRC16.crc16(data, 0, data.size - 1).toByteArray() + data.size.toByteArray() + data
|
|
|
- val jsonInfo = total + idx.toByteArray() + data.crc16(0, data.size) + data.size.toByteArray() + data
|
|
|
|
|
- LogUtil.d("debug1 : ${total.size} : ${idx.toByteArray().size} : ${data.crc16(0, data.size).size} : ${data.size.toByteArray().size} : ${data.size}")
|
|
|
|
|
|
|
+ val jsonInfo =
|
|
|
|
|
+ total + idx.toByteArray() + data.crc16(0, data.size) + data.size.toByteArray() + data
|
|
|
|
|
+ LogUtil.d(
|
|
|
|
|
+ "debug1 : ${total.size} : ${idx.toByteArray().size} : ${
|
|
|
|
|
+ data.crc16(
|
|
|
|
|
+ 0,
|
|
|
|
|
+ data.size
|
|
|
|
|
+ ).size
|
|
|
|
|
+ } : ${data.size.toByteArray().size} : ${data.size}"
|
|
|
|
|
+ )
|
|
|
LogUtil.d("debug2 : ${(jsonInfo.size + 1).toByteArray(1).size} : ${0x02.toByteArray(1).size} : ${jsonInfo.size}")
|
|
LogUtil.d("debug2 : ${(jsonInfo.size + 1).toByteArray(1).size} : ${0x02.toByteArray(1).size} : ${jsonInfo.size}")
|
|
|
|
|
|
|
|
- val cmd = REQ_SEND_WORK_TICKET + (jsonInfo.size + 1).toByteArray(1) + 0x02.toByteArray(1) + jsonInfo
|
|
|
|
|
|
|
+ val cmd =
|
|
|
|
|
+ REQ_SEND_WORK_TICKET + (jsonInfo.size + 1).toByteArray(1) + 0x02.toByteArray(1) + jsonInfo
|
|
|
|
|
|
|
|
LogUtil.d("debug3 : ${cmd.toHexStrings()}")
|
|
LogUtil.d("debug3 : ${cmd.toHexStrings()}")
|
|
|
|
|
|
|
|
BusinessManager.getBleDeviceByMac(bleDevice.mac)?.let {
|
|
BusinessManager.getBleDeviceByMac(bleDevice.mac)?.let {
|
|
|
- BleUtil.instance?.write(it.bleDevice, writeUUID = WRITE_UUID, cmd = assembleData(it, cmd), writeCallback = callback)
|
|
|
|
|
|
|
+ BleUtil.instance?.write(
|
|
|
|
|
+ it.bleDevice,
|
|
|
|
|
+ writeUUID = WRITE_UUID,
|
|
|
|
|
+ cmd = assembleData(it, cmd),
|
|
|
|
|
+ writeCallback = callback
|
|
|
|
|
+ )
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -186,7 +226,11 @@ object BleCmdManager {
|
|
|
*
|
|
*
|
|
|
* @param callBack 是否成功、结果
|
|
* @param callBack 是否成功、结果
|
|
|
*/
|
|
*/
|
|
|
- fun handleWorkTicketResult(bleBean: BleBean, byteArray: ByteArray, callBack: ((Boolean, Byte?) -> Unit)? = null) {
|
|
|
|
|
|
|
+ fun handleWorkTicketResult(
|
|
|
|
|
+ bleBean: BleBean,
|
|
|
|
|
+ byteArray: ByteArray,
|
|
|
|
|
+ callBack: ((Boolean, Byte?) -> Unit)? = null
|
|
|
|
|
+ ) {
|
|
|
LogUtil.i("handleWorkTicketResult : ${byteArray.toHexStrings()}")
|
|
LogUtil.i("handleWorkTicketResult : ${byteArray.toHexStrings()}")
|
|
|
val idx = byteArray[4] + byteArray[5]
|
|
val idx = byteArray[4] + byteArray[5]
|
|
|
val total = byteArray[6] + byteArray[7]
|
|
val total = byteArray[6] + byteArray[7]
|
|
@@ -208,7 +252,12 @@ object BleCmdManager {
|
|
|
if (res == 0x00.toByte()) idx + 1 else idx,
|
|
if (res == 0x00.toByte()) idx + 1 else idx,
|
|
|
bleBean.bleDevice,
|
|
bleBean.bleDevice,
|
|
|
object : CustomBleWriteCallback() {
|
|
object : CustomBleWriteCallback() {
|
|
|
- override fun onWriteSuccess(current: Int, total: Int, justWrite: ByteArray?) {}
|
|
|
|
|
|
|
+ override fun onWriteSuccess(
|
|
|
|
|
+ current: Int,
|
|
|
|
|
+ total: Int,
|
|
|
|
|
+ justWrite: ByteArray?
|
|
|
|
|
+ ) {
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
override fun onWriteFailure(exception: BleException?) {}
|
|
override fun onWriteFailure(exception: BleException?) {}
|
|
|
})
|
|
})
|
|
@@ -231,7 +280,11 @@ object BleCmdManager {
|
|
|
*/
|
|
*/
|
|
|
fun getCurrentStatus(bleDevice: BleDevice, callback: CustomBleWriteCallback?) {
|
|
fun getCurrentStatus(bleDevice: BleDevice, callback: CustomBleWriteCallback?) {
|
|
|
BusinessManager.getBleDeviceByMac(bleDevice.mac)?.let {
|
|
BusinessManager.getBleDeviceByMac(bleDevice.mac)?.let {
|
|
|
- BleUtil.instance?.write(it.bleDevice, cmd = assembleData(it, REQ_CURRENT_STATUS), writeCallback = callback)
|
|
|
|
|
|
|
+ BleUtil.instance?.write(
|
|
|
|
|
+ it.bleDevice,
|
|
|
|
|
+ cmd = assembleData(it, REQ_CURRENT_STATUS),
|
|
|
|
|
+ writeCallback = callback
|
|
|
|
|
+ )
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -246,9 +299,11 @@ object BleCmdManager {
|
|
|
0x01.toByte() -> {
|
|
0x01.toByte() -> {
|
|
|
LogUtil.i("handleCurrentStatus : 工作模式")
|
|
LogUtil.i("handleCurrentStatus : 工作模式")
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
0x02.toByte() -> {
|
|
0x02.toByte() -> {
|
|
|
LogUtil.i("handleCurrentStatus : 待机模式")
|
|
LogUtil.i("handleCurrentStatus : 待机模式")
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
0x03.toByte() -> {
|
|
0x03.toByte() -> {
|
|
|
LogUtil.i("handleCurrentStatus : 故障状态")
|
|
LogUtil.i("handleCurrentStatus : 故障状态")
|
|
|
}
|
|
}
|
|
@@ -261,14 +316,22 @@ object BleCmdManager {
|
|
|
*/
|
|
*/
|
|
|
fun getTicketStatus(bleDevice: BleDevice, callback: CustomBleWriteCallback?) {
|
|
fun getTicketStatus(bleDevice: BleDevice, callback: CustomBleWriteCallback?) {
|
|
|
BusinessManager.getBleDeviceByMac(bleDevice.mac)?.let {
|
|
BusinessManager.getBleDeviceByMac(bleDevice.mac)?.let {
|
|
|
- BleUtil.instance?.write(it.bleDevice, cmd = assembleData(it, REQ_WORK_TICKET_RESULT), writeCallback = callback)
|
|
|
|
|
|
|
+ BleUtil.instance?.write(
|
|
|
|
|
+ it.bleDevice,
|
|
|
|
|
+ cmd = assembleData(it, REQ_WORK_TICKET_RESULT),
|
|
|
|
|
+ writeCallback = callback
|
|
|
|
|
+ )
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 处理工作票完成情况
|
|
* 处理工作票完成情况
|
|
|
*/
|
|
*/
|
|
|
- fun handleTicketStatus(bleDevice: BleDevice, byteArray: ByteArray, callBack: ((String?) -> Unit)? = null) {
|
|
|
|
|
|
|
+ fun handleTicketStatus(
|
|
|
|
|
+ bleDevice: BleDevice,
|
|
|
|
|
+ byteArray: ByteArray,
|
|
|
|
|
+ callBack: ((String?) -> Unit)? = null
|
|
|
|
|
+ ) {
|
|
|
// TODO 需要有超时重传机制
|
|
// TODO 需要有超时重传机制
|
|
|
LogUtil.i("handleTicketStatus : ${byteArray.toHexStrings()}")
|
|
LogUtil.i("handleTicketStatus : ${byteArray.toHexStrings()}")
|
|
|
|
|
|
|
@@ -283,16 +346,26 @@ object BleCmdManager {
|
|
|
}
|
|
}
|
|
|
// TODO 缺少res处理
|
|
// TODO 缺少res处理
|
|
|
if (idx != total - 1) {
|
|
if (idx != total - 1) {
|
|
|
- getTicketStatusPart(idx.toByteArray(), total.toByteArray(), byteArrayOf(0x00.toByte()), bleDevice, object : CustomBleWriteCallback() {
|
|
|
|
|
- override fun onWriteSuccess(current: Int, total: Int, justWrite: ByteArray?) {
|
|
|
|
|
- LogUtil.i("getTicketStatusPart success")
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- override fun onWriteFailure(exception: BleException?) {
|
|
|
|
|
- LogUtil.e("getTicketStatusPart fail")
|
|
|
|
|
- BusinessManager.sendEventMsg(MsgEvent(MSG_EVENT_GET_TICKET_STATUS, GetTicketStatusMsg(false, bleDevice)))
|
|
|
|
|
- }
|
|
|
|
|
- })
|
|
|
|
|
|
|
+ getTicketStatusPart(
|
|
|
|
|
+ idx.toByteArray(),
|
|
|
|
|
+ total.toByteArray(),
|
|
|
|
|
+ byteArrayOf(0x00.toByte()),
|
|
|
|
|
+ bleDevice,
|
|
|
|
|
+ object : CustomBleWriteCallback() {
|
|
|
|
|
+ override fun onWriteSuccess(current: Int, total: Int, justWrite: ByteArray?) {
|
|
|
|
|
+ LogUtil.i("getTicketStatusPart success")
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ override fun onWriteFailure(exception: BleException?) {
|
|
|
|
|
+ LogUtil.e("getTicketStatusPart fail")
|
|
|
|
|
+ BusinessManager.sendEventMsg(
|
|
|
|
|
+ MsgEvent(
|
|
|
|
|
+ MSG_EVENT_GET_TICKET_STATUS,
|
|
|
|
|
+ GetTicketStatusMsg(false, bleDevice)
|
|
|
|
|
+ )
|
|
|
|
|
+ )
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
} else {
|
|
} else {
|
|
|
BusinessManager.getBleDeviceByMac(bleDevice.mac)?.let {
|
|
BusinessManager.getBleDeviceByMac(bleDevice.mac)?.let {
|
|
|
LogUtil.i("工作票完成接收 : ${String(it.ticketStatus)}")
|
|
LogUtil.i("工作票完成接收 : ${String(it.ticketStatus)}")
|
|
@@ -308,9 +381,19 @@ object BleCmdManager {
|
|
|
/**
|
|
/**
|
|
|
* 获取工作票完成情况分包
|
|
* 获取工作票完成情况分包
|
|
|
*/
|
|
*/
|
|
|
- private fun getTicketStatusPart(idx: ByteArray, total: ByteArray, res: ByteArray, bleDevice: BleDevice, callback: CustomBleWriteCallback?) {
|
|
|
|
|
|
|
+ private fun getTicketStatusPart(
|
|
|
|
|
+ idx: ByteArray,
|
|
|
|
|
+ total: ByteArray,
|
|
|
|
|
+ res: ByteArray,
|
|
|
|
|
+ bleDevice: BleDevice,
|
|
|
|
|
+ callback: CustomBleWriteCallback?
|
|
|
|
|
+ ) {
|
|
|
BusinessManager.getBleDeviceByMac(bleDevice.mac)?.let {
|
|
BusinessManager.getBleDeviceByMac(bleDevice.mac)?.let {
|
|
|
- BleUtil.instance?.write(it.bleDevice, cmd = assembleData(it, REQ_WORK_TICKET_RESULT_PART + idx + total + res), writeCallback = callback)
|
|
|
|
|
|
|
+ BleUtil.instance?.write(
|
|
|
|
|
+ it.bleDevice,
|
|
|
|
|
+ cmd = assembleData(it, REQ_WORK_TICKET_RESULT_PART + idx + total + res),
|
|
|
|
|
+ writeCallback = callback
|
|
|
|
|
+ )
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -319,7 +402,11 @@ object BleCmdManager {
|
|
|
*/
|
|
*/
|
|
|
fun getPower(mac: String?, callback: CustomBleWriteCallback?) {
|
|
fun getPower(mac: String?, callback: CustomBleWriteCallback?) {
|
|
|
BusinessManager.getBleDeviceByMac(mac)?.let {
|
|
BusinessManager.getBleDeviceByMac(mac)?.let {
|
|
|
- BleUtil.instance?.write(it.bleDevice, cmd = assembleData(it, REQ_POWER_STATUS), writeCallback = callback)
|
|
|
|
|
|
|
+ BleUtil.instance?.write(
|
|
|
|
|
+ it.bleDevice,
|
|
|
|
|
+ cmd = assembleData(it, REQ_POWER_STATUS),
|
|
|
|
|
+ writeCallback = callback
|
|
|
|
|
+ )
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -337,9 +424,11 @@ object BleCmdManager {
|
|
|
0x01.toByte() -> {
|
|
0x01.toByte() -> {
|
|
|
LogUtil.i("充电状态:未充电")
|
|
LogUtil.i("充电状态:未充电")
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
0x02.toByte() -> {
|
|
0x02.toByte() -> {
|
|
|
LogUtil.i("充电状态:充电中")
|
|
LogUtil.i("充电状态:充电中")
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
0x03.toByte() -> {
|
|
0x03.toByte() -> {
|
|
|
LogUtil.i("充电状态:充满")
|
|
LogUtil.i("充电状态:充满")
|
|
|
}
|
|
}
|
|
@@ -358,7 +447,13 @@ object BleCmdManager {
|
|
|
* PGSZ:当前包长度(字节)
|
|
* PGSZ:当前包长度(字节)
|
|
|
* PGDATA:当前包数据
|
|
* PGDATA:当前包数据
|
|
|
*/
|
|
*/
|
|
|
- fun sendFile(type: Int, file: File, idx: Int = 0, mac: String?, callback: CustomBleWriteCallback?) {
|
|
|
|
|
|
|
+ fun sendFile(
|
|
|
|
|
+ type: Int,
|
|
|
|
|
+ file: File,
|
|
|
|
|
+ idx: Int = 0,
|
|
|
|
|
+ mac: String?,
|
|
|
|
|
+ callback: CustomBleWriteCallback?
|
|
|
|
|
+ ) {
|
|
|
Executor.runOnIO {
|
|
Executor.runOnIO {
|
|
|
LogUtil.i("sendFile : $idx")
|
|
LogUtil.i("sendFile : $idx")
|
|
|
|
|
|
|
@@ -383,17 +478,24 @@ object BleCmdManager {
|
|
|
val pgsz = pgdata.size.toByteArray()
|
|
val pgsz = pgdata.size.toByteArray()
|
|
|
val pgcrc = pgdata.crc16()
|
|
val pgcrc = pgdata.crc16()
|
|
|
|
|
|
|
|
- val fileInfo = byteArrayOf(type.toByte()) + flnm + flsz + flcrc + pgtotal.toByteArray() + idx.toByteArray() + pgcrc + pgsz + pgdata
|
|
|
|
|
|
|
+ val fileInfo =
|
|
|
|
|
+ byteArrayOf(type.toByte()) + flnm + flsz + flcrc + pgtotal.toByteArray() + idx.toByteArray() + pgcrc + pgsz + pgdata
|
|
|
// println("______________________________________________________________________________")
|
|
// println("______________________________________________________________________________")
|
|
|
// println("${file.readBytes().size}")
|
|
// println("${file.readBytes().size}")
|
|
|
// println("${byteArrayOf(type.toByte()).size} : ${flnm.size} : ${flsz.size} : ${flcrc.size} : ${pgtotal.toByteArray().size} : ${idx.toByteArray().size} : ${pgcrc.size} : ${pgsz.size} : ${pgdata.size}")
|
|
// println("${byteArrayOf(type.toByte()).size} : ${flnm.size} : ${flsz.size} : ${flcrc.size} : ${pgtotal.toByteArray().size} : ${idx.toByteArray().size} : ${pgcrc.size} : ${pgsz.size} : ${pgdata.size}")
|
|
|
// println("______________________________________________________________________________")
|
|
// println("______________________________________________________________________________")
|
|
|
// println("file info size : ${fileInfo.size}")
|
|
// println("file info size : ${fileInfo.size}")
|
|
|
- val cmd = REQ_TRANSFER_FILE + (fileInfo.size + 1).toByteArray(1) + 0x01.toByteArray(1) + fileInfo
|
|
|
|
|
|
|
+ val cmd =
|
|
|
|
|
+ REQ_TRANSFER_FILE + (fileInfo.size + 1).toByteArray(1) + 0x01.toByteArray(1) + fileInfo
|
|
|
// println("cmd size : ${REQ_TRANSFER_FILE.size} : ${(fileInfo.size + 1).toByteArray(1).size} : ${0x01.toByteArray(1).size} : ${fileInfo.size}")
|
|
// println("cmd size : ${REQ_TRANSFER_FILE.size} : ${(fileInfo.size + 1).toByteArray(1).size} : ${0x01.toByteArray(1).size} : ${fileInfo.size}")
|
|
|
|
|
|
|
|
BusinessManager.getBleDeviceByMac(mac)?.let {
|
|
BusinessManager.getBleDeviceByMac(mac)?.let {
|
|
|
- BleUtil.instance?.write(it.bleDevice, writeUUID = WRITE_UUID, cmd = assembleData(it, cmd), writeCallback = callback)
|
|
|
|
|
|
|
+ BleUtil.instance?.write(
|
|
|
|
|
+ it.bleDevice,
|
|
|
|
|
+ writeUUID = WRITE_UUID,
|
|
|
|
|
+ cmd = assembleData(it, cmd),
|
|
|
|
|
+ writeCallback = callback
|
|
|
|
|
+ )
|
|
|
}
|
|
}
|
|
|
Thread.sleep(50)
|
|
Thread.sleep(50)
|
|
|
sendFile(type, file, idx + 1, mac, callback)
|
|
sendFile(type, file, idx + 1, mac, callback)
|
|
@@ -420,7 +522,11 @@ object BleCmdManager {
|
|
|
*/
|
|
*/
|
|
|
fun getVersion(mac: String?, callback: CustomBleWriteCallback?) {
|
|
fun getVersion(mac: String?, callback: CustomBleWriteCallback?) {
|
|
|
BusinessManager.getBleDeviceByMac(mac)?.let {
|
|
BusinessManager.getBleDeviceByMac(mac)?.let {
|
|
|
- BleUtil.instance?.write(it.bleDevice, cmd = assembleData(it, REQ_GET_VERSION), writeCallback = callback)
|
|
|
|
|
|
|
+ BleUtil.instance?.write(
|
|
|
|
|
+ it.bleDevice,
|
|
|
|
|
+ cmd = assembleData(it, REQ_GET_VERSION),
|
|
|
|
|
+ writeCallback = callback
|
|
|
|
|
+ )
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|