From 2a90d61e237a3cf719be0ae954d9bef7bfa3b85a Mon Sep 17 00:00:00 2001
From: MultiMote <contact@mmote.ru>
Date: Mon, 7 Oct 2024 10:48:13 +0300
Subject: [PATCH] Fix Abstraction.getPrinterModel for older models

---
 src/packets/abstraction.ts | 6 ++++++
 src/print_task_versions.ts | 8 ++++----
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/src/packets/abstraction.ts b/src/packets/abstraction.ts
index 3199ef6..f7296f8 100644
--- a/src/packets/abstraction.ts
+++ b/src/packets/abstraction.ts
@@ -154,6 +154,12 @@ export class Abstraction {
 
   public async getPrinterModel(): Promise<number> {
     const packet = await this.send(PacketGenerator.getPrinterInfo(PrinterInfoType.PrinterModelId));
+    Validators.u8ArrayLengthAtLeast(packet.data, 1);
+
+    if (packet.data.length === 1) {
+      return Utils.bytesToI16(packet.data) << 8;
+    }
+
     Validators.u8ArrayLengthEquals(packet.data, 2);
     return Utils.bytesToI16(packet.data);
   }
diff --git a/src/print_task_versions.ts b/src/print_task_versions.ts
index 32d72ae..30ec846 100644
--- a/src/print_task_versions.ts
+++ b/src/print_task_versions.ts
@@ -3,10 +3,10 @@ import { PrinterModel as M } from "./printer_models";
 
 export const getPrintTaskVersion = (model: M): PrintTaskVersion | undefined => {
   switch (model) {
-    case M.D11:
-    case M.D11_H:
-    case M.D11S:
-      return PrintTaskVersion.V1;
+    // case M.D11:
+    // case M.D11_H:
+    // case M.D11S:
+    //   return PrintTaskVersion.V1;
     case M.D110:
     case M.D110_M:
       return PrintTaskVersion.V3;