From a68dd85c6e51bc662ff96f250d790eea8b6ef606 Mon Sep 17 00:00:00 2001 From: MultiMote <contact@mmote.ru> Date: Wed, 9 Oct 2024 14:44:34 +0300 Subject: [PATCH] Fix printer serial number conversion for old devices --- src/packets/abstraction.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/packets/abstraction.ts b/src/packets/abstraction.ts index 5b9c43e..bea5925 100644 --- a/src/packets/abstraction.ts +++ b/src/packets/abstraction.ts @@ -306,7 +306,16 @@ export class Abstraction { public async getPrinterSerialNumber(): Promise<string> { const packet = await this.send(PacketGenerator.getPrinterInfo(PrinterInfoType.SerialNumber)); Validators.u8ArrayLengthAtLeast(packet.data, 1); - return Utils.u8ArrayToString(packet.data); + + if (packet.data.length < 4) { + return "-1"; + } + + if (packet.data.length >= 8) { + return Utils.u8ArrayToString(packet.data); + } + + return Utils.bufToHex(packet.data.slice(0, 4), "").toUpperCase(); } public async getPrinterBluetoothMacAddress(): Promise<string> {