@thermal-label/brother-ql-core 0.0.1 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/dist/__tests__/colour.test.d.ts +2 -0
  2. package/dist/__tests__/colour.test.d.ts.map +1 -0
  3. package/dist/__tests__/colour.test.js +106 -0
  4. package/dist/__tests__/colour.test.js.map +1 -0
  5. package/dist/__tests__/devices.test.js +16 -2
  6. package/dist/__tests__/devices.test.js.map +1 -1
  7. package/dist/__tests__/media.test.js +17 -6
  8. package/dist/__tests__/media.test.js.map +1 -1
  9. package/dist/__tests__/preview.test.d.ts +2 -0
  10. package/dist/__tests__/preview.test.d.ts.map +1 -0
  11. package/dist/__tests__/preview.test.js +41 -0
  12. package/dist/__tests__/preview.test.js.map +1 -0
  13. package/dist/__tests__/status.test.js +28 -22
  14. package/dist/__tests__/status.test.js.map +1 -1
  15. package/dist/colour.d.ts +26 -0
  16. package/dist/colour.d.ts.map +1 -0
  17. package/dist/colour.js +84 -0
  18. package/dist/colour.js.map +1 -0
  19. package/dist/devices.d.ts +40 -21
  20. package/dist/devices.d.ts.map +1 -1
  21. package/dist/devices.js +38 -19
  22. package/dist/devices.js.map +1 -1
  23. package/dist/index.d.ts +6 -2
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +4 -1
  26. package/dist/index.js.map +1 -1
  27. package/dist/media.d.ts +31 -4
  28. package/dist/media.d.ts.map +1 -1
  29. package/dist/media.js +73 -23
  30. package/dist/media.js.map +1 -1
  31. package/dist/preview.d.ts +13 -0
  32. package/dist/preview.d.ts.map +1 -0
  33. package/dist/preview.js +32 -0
  34. package/dist/preview.js.map +1 -0
  35. package/dist/protocol.d.ts +2 -2
  36. package/dist/protocol.d.ts.map +1 -1
  37. package/dist/protocol.js +4 -4
  38. package/dist/protocol.js.map +1 -1
  39. package/dist/status.d.ts +20 -2
  40. package/dist/status.d.ts.map +1 -1
  41. package/dist/status.js +59 -44
  42. package/dist/status.js.map +1 -1
  43. package/dist/types.d.ts +36 -30
  44. package/dist/types.d.ts.map +1 -1
  45. package/dist/types.js +1 -0
  46. package/dist/types.js.map +1 -1
  47. package/package.json +3 -2
  48. package/src/__tests__/colour.test.ts +126 -0
  49. package/src/__tests__/devices.test.ts +18 -2
  50. package/src/__tests__/media.test.ts +17 -6
  51. package/src/__tests__/preview.test.ts +52 -0
  52. package/src/__tests__/status.test.ts +31 -22
  53. package/src/colour.ts +101 -0
  54. package/src/devices.ts +41 -22
  55. package/src/index.ts +31 -9
  56. package/src/media.ts +86 -27
  57. package/src/preview.ts +34 -0
  58. package/src/protocol.ts +6 -6
  59. package/src/status.ts +63 -47
  60. package/src/types.ts +38 -33
package/dist/media.d.ts CHANGED
@@ -1,5 +1,32 @@
1
- import { type MediaDescriptor, type MediaType } from './types.js';
2
- export declare const MEDIA: Record<number, MediaDescriptor>;
3
- export declare function findMedia(id: number): MediaDescriptor | undefined;
4
- export declare function findMediaByWidth(widthMm: number, type: MediaType): MediaDescriptor[];
1
+ import { type BrotherQLMedia, type MediaType } from './types.js';
2
+ /**
3
+ * Registry of supported Brother QL consumables.
4
+ *
5
+ * Entries are keyed by the firmware media id — the same number the
6
+ * printer reports in the 32-byte status response. `heightMm` is
7
+ * omitted for continuous media (variable length) and set for die-cut
8
+ * labels (fixed length). Only DK-22251 has `colorCapable: true` — the
9
+ * driver uses that to run two-colour plane separation before sending
10
+ * the raster.
11
+ */
12
+ export declare const MEDIA: Record<number, BrotherQLMedia>;
13
+ /**
14
+ * Default media when `createPreview()` is called without media and
15
+ * without a detected roll. 62mm continuous (DK-22205) is the common
16
+ * single-colour shipping roll.
17
+ */
18
+ export declare const DEFAULT_MEDIA: BrotherQLMedia;
19
+ export declare function findMedia(id: number): BrotherQLMedia | undefined;
20
+ export declare function findMediaByWidth(widthMm: number, type: MediaType): BrotherQLMedia[];
21
+ /**
22
+ * Match status-response dimensions to a media registry entry.
23
+ *
24
+ * @param widthMm media width in mm (status byte 10)
25
+ * @param heightMm media length in mm (status byte 17) — 0 = continuous
26
+ * @param twoColorMode true when the status response indicates the
27
+ * printer is configured for two-colour media. When
28
+ * both DK-22205 (259) and DK-22251 (251) match the
29
+ * dimensions, the flag picks the right one.
30
+ */
31
+ export declare function findMediaByDimensions(widthMm: number, heightMm: number, twoColorMode?: boolean): BrotherQLMedia | undefined;
5
32
  //# sourceMappingURL=media.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../src/media.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAElE,eAAO,MAAM,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CA+OjD,CAAC;AAEF,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAEjE;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,eAAe,EAAE,CAEpF"}
1
+ {"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../src/media.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAEjE;;;;;;;;;GASG;AACH,eAAO,MAAM,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CA4PhD,CAAC;AAEF;;;;GAIG;AAEH,eAAO,MAAM,aAAa,EAAE,cAA4B,CAAC;AAEzD,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAEhE;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,cAAc,EAAE,CAEnF;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,YAAY,UAAQ,GACnB,cAAc,GAAG,SAAS,CAY5B"}
package/dist/media.js CHANGED
@@ -1,4 +1,14 @@
1
1
  import {} from './types.js';
2
+ /**
3
+ * Registry of supported Brother QL consumables.
4
+ *
5
+ * Entries are keyed by the firmware media id — the same number the
6
+ * printer reports in the 32-byte status response. `heightMm` is
7
+ * omitted for continuous media (variable length) and set for die-cut
8
+ * labels (fixed length). Only DK-22251 has `colorCapable: true` — the
9
+ * driver uses that to run two-colour plane separation before sending
10
+ * the raster.
11
+ */
2
12
  export const MEDIA = {
3
13
  // Continuous length tape
4
14
  257: {
@@ -6,7 +16,7 @@ export const MEDIA = {
6
16
  name: '12mm continuous',
7
17
  type: 'continuous',
8
18
  widthMm: 12,
9
- lengthMm: 0,
19
+ colorCapable: false,
10
20
  printAreaDots: 106,
11
21
  leftMarginPins: 585,
12
22
  rightMarginPins: 29,
@@ -16,7 +26,7 @@ export const MEDIA = {
16
26
  name: '29mm continuous (DK-22210)',
17
27
  type: 'continuous',
18
28
  widthMm: 29,
19
- lengthMm: 0,
29
+ colorCapable: false,
20
30
  printAreaDots: 306,
21
31
  leftMarginPins: 408,
22
32
  rightMarginPins: 6,
@@ -26,7 +36,7 @@ export const MEDIA = {
26
36
  name: '38mm continuous (DK-22225)',
27
37
  type: 'continuous',
28
38
  widthMm: 38,
29
- lengthMm: 0,
39
+ colorCapable: false,
30
40
  printAreaDots: 413,
31
41
  leftMarginPins: 295,
32
42
  rightMarginPins: 12,
@@ -36,7 +46,7 @@ export const MEDIA = {
36
46
  name: '50mm continuous (DK-22246)',
37
47
  type: 'continuous',
38
48
  widthMm: 50,
39
- lengthMm: 0,
49
+ colorCapable: false,
40
50
  printAreaDots: 554,
41
51
  leftMarginPins: 154,
42
52
  rightMarginPins: 12,
@@ -46,7 +56,7 @@ export const MEDIA = {
46
56
  name: '54mm continuous (DK-22214)',
47
57
  type: 'continuous',
48
58
  widthMm: 54,
49
- lengthMm: 0,
59
+ colorCapable: false,
50
60
  printAreaDots: 590,
51
61
  leftMarginPins: 130,
52
62
  rightMarginPins: 0,
@@ -56,7 +66,7 @@ export const MEDIA = {
56
66
  name: '62mm continuous (DK-22205)',
57
67
  type: 'continuous',
58
68
  widthMm: 62,
59
- lengthMm: 0,
69
+ colorCapable: false,
60
70
  printAreaDots: 696,
61
71
  leftMarginPins: 12,
62
72
  rightMarginPins: 12,
@@ -66,18 +76,17 @@ export const MEDIA = {
66
76
  name: '62mm continuous two-color (DK-22251)',
67
77
  type: 'continuous',
68
78
  widthMm: 62,
69
- lengthMm: 0,
79
+ colorCapable: true,
70
80
  printAreaDots: 696,
71
81
  leftMarginPins: 12,
72
82
  rightMarginPins: 12,
73
- twoColorTape: true,
74
83
  },
75
84
  260: {
76
85
  id: 260,
77
86
  name: '102mm continuous (DK-22243)',
78
87
  type: 'continuous',
79
88
  widthMm: 102,
80
- lengthMm: 0,
89
+ colorCapable: false,
81
90
  printAreaDots: 1164,
82
91
  leftMarginPins: 76,
83
92
  rightMarginPins: 56,
@@ -88,7 +97,8 @@ export const MEDIA = {
88
97
  name: '17×54mm die-cut (DK-11204)',
89
98
  type: 'die-cut',
90
99
  widthMm: 17,
91
- lengthMm: 54,
100
+ heightMm: 54,
101
+ colorCapable: false,
92
102
  printAreaDots: 165,
93
103
  leftMarginPins: 0,
94
104
  rightMarginPins: 0,
@@ -99,7 +109,8 @@ export const MEDIA = {
99
109
  name: '17×87mm die-cut (DK-11203)',
100
110
  type: 'die-cut',
101
111
  widthMm: 17,
102
- lengthMm: 87,
112
+ heightMm: 87,
113
+ colorCapable: false,
103
114
  printAreaDots: 165,
104
115
  leftMarginPins: 0,
105
116
  rightMarginPins: 0,
@@ -110,7 +121,8 @@ export const MEDIA = {
110
121
  name: '23×23mm die-cut',
111
122
  type: 'die-cut',
112
123
  widthMm: 23,
113
- lengthMm: 23,
124
+ heightMm: 23,
125
+ colorCapable: false,
114
126
  printAreaDots: 236,
115
127
  leftMarginPins: 0,
116
128
  rightMarginPins: 0,
@@ -121,7 +133,8 @@ export const MEDIA = {
121
133
  name: '29×90mm die-cut (DK-11201)',
122
134
  type: 'die-cut',
123
135
  widthMm: 29,
124
- lengthMm: 90,
136
+ heightMm: 90,
137
+ colorCapable: false,
125
138
  printAreaDots: 306,
126
139
  leftMarginPins: 0,
127
140
  rightMarginPins: 0,
@@ -132,7 +145,8 @@ export const MEDIA = {
132
145
  name: '38×90mm die-cut (DK-11218)',
133
146
  type: 'die-cut',
134
147
  widthMm: 38,
135
- lengthMm: 90,
148
+ heightMm: 90,
149
+ colorCapable: false,
136
150
  printAreaDots: 413,
137
151
  leftMarginPins: 0,
138
152
  rightMarginPins: 0,
@@ -143,7 +157,8 @@ export const MEDIA = {
143
157
  name: '39×48mm die-cut (DK-11219)',
144
158
  type: 'die-cut',
145
159
  widthMm: 39,
146
- lengthMm: 48,
160
+ heightMm: 48,
161
+ colorCapable: false,
147
162
  printAreaDots: 425,
148
163
  leftMarginPins: 0,
149
164
  rightMarginPins: 0,
@@ -154,7 +169,8 @@ export const MEDIA = {
154
169
  name: '52×29mm die-cut',
155
170
  type: 'die-cut',
156
171
  widthMm: 52,
157
- lengthMm: 29,
172
+ heightMm: 29,
173
+ colorCapable: false,
158
174
  printAreaDots: 578,
159
175
  leftMarginPins: 0,
160
176
  rightMarginPins: 0,
@@ -165,7 +181,8 @@ export const MEDIA = {
165
181
  name: '62×29mm die-cut (DK-11209)',
166
182
  type: 'die-cut',
167
183
  widthMm: 62,
168
- lengthMm: 29,
184
+ heightMm: 29,
185
+ colorCapable: false,
169
186
  printAreaDots: 696,
170
187
  leftMarginPins: 0,
171
188
  rightMarginPins: 0,
@@ -176,7 +193,8 @@ export const MEDIA = {
176
193
  name: '62×100mm die-cut (DK-11202)',
177
194
  type: 'die-cut',
178
195
  widthMm: 62,
179
- lengthMm: 100,
196
+ heightMm: 100,
197
+ colorCapable: false,
180
198
  printAreaDots: 696,
181
199
  leftMarginPins: 0,
182
200
  rightMarginPins: 0,
@@ -187,7 +205,8 @@ export const MEDIA = {
187
205
  name: '102×51mm die-cut (DK-11240)',
188
206
  type: 'die-cut',
189
207
  widthMm: 102,
190
- lengthMm: 51,
208
+ heightMm: 51,
209
+ colorCapable: false,
191
210
  printAreaDots: 1164,
192
211
  leftMarginPins: 0,
193
212
  rightMarginPins: 0,
@@ -198,7 +217,8 @@ export const MEDIA = {
198
217
  name: '102×152mm die-cut (DK-11241)',
199
218
  type: 'die-cut',
200
219
  widthMm: 102,
201
- lengthMm: 152,
220
+ heightMm: 152,
221
+ colorCapable: false,
202
222
  printAreaDots: 1164,
203
223
  leftMarginPins: 0,
204
224
  rightMarginPins: 0,
@@ -209,7 +229,8 @@ export const MEDIA = {
209
229
  name: '12mm Ø die-cut',
210
230
  type: 'die-cut',
211
231
  widthMm: 12,
212
- lengthMm: 12,
232
+ heightMm: 12,
233
+ colorCapable: false,
213
234
  printAreaDots: 94,
214
235
  leftMarginPins: 0,
215
236
  rightMarginPins: 0,
@@ -220,7 +241,8 @@ export const MEDIA = {
220
241
  name: '24mm Ø die-cut (DK-11221)',
221
242
  type: 'die-cut',
222
243
  widthMm: 24,
223
- lengthMm: 24,
244
+ heightMm: 24,
245
+ colorCapable: false,
224
246
  printAreaDots: 236,
225
247
  leftMarginPins: 0,
226
248
  rightMarginPins: 0,
@@ -231,17 +253,45 @@ export const MEDIA = {
231
253
  name: '58mm Ø die-cut (DK-11207)',
232
254
  type: 'die-cut',
233
255
  widthMm: 58,
234
- lengthMm: 58,
256
+ heightMm: 58,
257
+ colorCapable: false,
235
258
  printAreaDots: 618,
236
259
  leftMarginPins: 0,
237
260
  rightMarginPins: 0,
238
261
  dieCutMaskedAreaDots: 618,
239
262
  },
240
263
  };
264
+ /**
265
+ * Default media when `createPreview()` is called without media and
266
+ * without a detected roll. 62mm continuous (DK-22205) is the common
267
+ * single-colour shipping roll.
268
+ */
269
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- DK-22205 is a hard-coded registry key
270
+ export const DEFAULT_MEDIA = MEDIA[259];
241
271
  export function findMedia(id) {
242
272
  return MEDIA[id];
243
273
  }
244
274
  export function findMediaByWidth(widthMm, type) {
245
275
  return Object.values(MEDIA).filter(m => m.widthMm === widthMm && m.type === type);
246
276
  }
277
+ /**
278
+ * Match status-response dimensions to a media registry entry.
279
+ *
280
+ * @param widthMm media width in mm (status byte 10)
281
+ * @param heightMm media length in mm (status byte 17) — 0 = continuous
282
+ * @param twoColorMode true when the status response indicates the
283
+ * printer is configured for two-colour media. When
284
+ * both DK-22205 (259) and DK-22251 (251) match the
285
+ * dimensions, the flag picks the right one.
286
+ */
287
+ export function findMediaByDimensions(widthMm, heightMm, twoColorMode = false) {
288
+ if (heightMm === 0) {
289
+ const continuousMatches = Object.values(MEDIA).filter(m => m.type === 'continuous' && m.widthMm === widthMm);
290
+ if (continuousMatches.length === 0)
291
+ return undefined;
292
+ const preferred = continuousMatches.find(m => m.colorCapable === twoColorMode);
293
+ return preferred ?? continuousMatches[0];
294
+ }
295
+ return Object.values(MEDIA).find(m => m.type === 'die-cut' && m.widthMm === widthMm && m.heightMm === heightMm);
296
+ }
247
297
  //# sourceMappingURL=media.js.map
package/dist/media.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"media.js","sourceRoot":"","sources":["../src/media.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"media.js","sourceRoot":"","sources":["../src/media.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { type RawImageData } from '@mbtech-nl/bitmap';
2
+ import type { PreviewResult } from '@thermal-label/contracts';
3
+ import { type BrotherQLMedia } from './types.js';
4
+ /**
5
+ * Offline preview without a live printer connection.
6
+ *
7
+ * Two-colour aware: when `media.colorCapable` is true (DK-22251), the
8
+ * image is split into a black and a red plane via `splitTwoColor()` —
9
+ * exactly what `print()` does for that media. Single-colour media
10
+ * returns one black plane.
11
+ */
12
+ export declare function createPreviewOffline(image: RawImageData, media: BrotherQLMedia): PreviewResult;
13
+ //# sourceMappingURL=preview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../src/preview.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,cAAc,GAAG,aAAa,CAmB9F"}
@@ -0,0 +1,32 @@
1
+ /* eslint-disable import-x/consistent-type-specifier-style */
2
+ import { renderImage } from '@mbtech-nl/bitmap';
3
+ import { splitTwoColor } from './colour.js';
4
+ import {} from './types.js';
5
+ /**
6
+ * Offline preview without a live printer connection.
7
+ *
8
+ * Two-colour aware: when `media.colorCapable` is true (DK-22251), the
9
+ * image is split into a black and a red plane via `splitTwoColor()` —
10
+ * exactly what `print()` does for that media. Single-colour media
11
+ * returns one black plane.
12
+ */
13
+ export function createPreviewOffline(image, media) {
14
+ if (media.colorCapable) {
15
+ const { black, red } = splitTwoColor(image);
16
+ return {
17
+ planes: [
18
+ { name: 'black', bitmap: black, displayColor: '#000000' },
19
+ { name: 'red', bitmap: red, displayColor: '#ff0000' },
20
+ ],
21
+ media,
22
+ assumed: false,
23
+ };
24
+ }
25
+ const bitmap = renderImage(image, { dither: true });
26
+ return {
27
+ planes: [{ name: 'black', bitmap, displayColor: '#000000' }],
28
+ media,
29
+ assumed: false,
30
+ };
31
+ }
32
+ //# sourceMappingURL=preview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preview.js","sourceRoot":"","sources":["../src/preview.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,OAAO,EAAE,WAAW,EAAqB,MAAM,mBAAmB,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAuB,MAAM,YAAY,CAAC;AAEjD;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAmB,EAAE,KAAqB;IAC7E,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QACvB,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QAC5C,OAAO;YACL,MAAM,EAAE;gBACN,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE;gBACzD,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE;aACtD;YACD,KAAK;YACL,OAAO,EAAE,KAAK;SACf,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,OAAO;QACL,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;QAC5D,KAAK;QACL,OAAO,EAAE,KAAK;KACf,CAAC;AACJ,CAAC"}
@@ -1,10 +1,10 @@
1
- import { type MediaDescriptor, type PageData, type JobOptions } from './types.js';
1
+ import { type BrotherQLMedia, type PageData, type JobOptions } from './types.js';
2
2
  export declare function buildInvalidate(): Uint8Array;
3
3
  export declare function buildStatusRequest(): Uint8Array;
4
4
  export declare function buildInitialize(): Uint8Array;
5
5
  export declare function buildRasterMode(): Uint8Array;
6
6
  export declare function buildStatusNotification(enabled: boolean): Uint8Array;
7
- export declare function buildPrintInfo(media: MediaDescriptor, rowCount: number, pageIndex: number): Uint8Array;
7
+ export declare function buildPrintInfo(media: BrotherQLMedia, rowCount: number, pageIndex: number): Uint8Array;
8
8
  export declare function buildVariousMode(autoCut: boolean): Uint8Array;
9
9
  export declare function buildExpandedMode(cutAtEnd: boolean, highRes: boolean, twoColor?: boolean): Uint8Array;
10
10
  export declare function buildCutEach(n: number): Uint8Array;
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAoB,MAAM,YAAY,CAAC;AAEpG,wBAAgB,eAAe,IAAI,UAAU,CAE5C;AAED,wBAAgB,kBAAkB,IAAI,UAAU,CAE/C;AAED,wBAAgB,eAAe,IAAI,UAAU,CAE5C;AAED,wBAAgB,eAAe,IAAI,UAAU,CAE5C;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,CAEpE;AAED,wBAAgB,cAAc,CAC5B,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,UAAU,CAsBZ;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,CAE7D;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,OAAO,EACjB,OAAO,EAAE,OAAO,EAChB,QAAQ,UAAQ,GACf,UAAU,CAMZ;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,UAAU,CAElD;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAEpD;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,CAE7D;AAKD,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,UAAU,EACpB,KAAK,EAAE,OAAO,GAAG,KAAK,EACtB,QAAQ,UAAQ,GACf,UAAU,CAYZ;AAED,wBAAgB,YAAY,IAAI,UAAU,CAEzC;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,OAAO,GAAG,UAAU,CAEjE;AA8BD,wBAAgB,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,OAAO,GAAE,UAAe,GAAG,UAAU,CA4EjF"}
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAoB,MAAM,YAAY,CAAC;AAEnG,wBAAgB,eAAe,IAAI,UAAU,CAE5C;AAED,wBAAgB,kBAAkB,IAAI,UAAU,CAE/C;AAED,wBAAgB,eAAe,IAAI,UAAU,CAE5C;AAED,wBAAgB,eAAe,IAAI,UAAU,CAE5C;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,CAEpE;AAED,wBAAgB,cAAc,CAC5B,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,UAAU,CAsBZ;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,CAE7D;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,OAAO,EACjB,OAAO,EAAE,OAAO,EAChB,QAAQ,UAAQ,GACf,UAAU,CAMZ;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,UAAU,CAElD;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAEpD;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,CAE7D;AAKD,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,UAAU,EACpB,KAAK,EAAE,OAAO,GAAG,KAAK,EACtB,QAAQ,UAAQ,GACf,UAAU,CAYZ;AAED,wBAAgB,YAAY,IAAI,UAAU,CAEzC;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,OAAO,GAAG,UAAU,CAEjE;AA8BD,wBAAgB,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,OAAO,GAAE,UAAe,GAAG,UAAU,CA4EjF"}
package/dist/protocol.js CHANGED
@@ -28,7 +28,7 @@ export function buildPrintInfo(media, rowCount, pageIndex) {
28
28
  buf[3] = validFlags;
29
29
  buf[4] = mediaType;
30
30
  buf[5] = media.widthMm;
31
- buf[6] = media.lengthMm;
31
+ buf[6] = media.heightMm ?? 0;
32
32
  // rowCount little-endian at bytes 7-8 (offsets 4-5 in param block)
33
33
  buf[7] = rowCount & 0xff;
34
34
  buf[8] = (rowCount >> 8) & 0xff;
@@ -128,11 +128,11 @@ export function encodeJob(pages, options = {}) {
128
128
  const marginDots = opts.marginDots ?? 35;
129
129
  const compress = opts.compress ?? false;
130
130
  const { bitmap, media } = page;
131
- // twoColorTape media (e.g. DK-22251) requires two-color mode even for black-only jobs.
131
+ // colorCapable media (e.g. DK-22251) requires two-color mode even for black-only jobs.
132
132
  // Auto-create an empty red plane when the tape demands it but caller didn't supply one.
133
- const twoColor = page.redBitmap !== undefined || media.twoColorTape === true;
133
+ const twoColor = page.redBitmap !== undefined || media.colorCapable;
134
134
  const redBitmap = page.redBitmap ??
135
- (media.twoColorTape ? createBitmap(bitmap.widthPx, bitmap.heightPx) : undefined);
135
+ (media.colorCapable ? createBitmap(bitmap.widthPx, bitmap.heightPx) : undefined);
136
136
  if (twoColor && redBitmap !== undefined) {
137
137
  if (bitmap.widthPx !== redBitmap.widthPx || bitmap.heightPx !== redBitmap.heightPx) {
138
138
  throw new Error('Two-color bitmaps must have identical dimensions');
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
package/dist/status.d.ts CHANGED
@@ -1,4 +1,22 @@
1
- import { type PrinterStatus } from './types.js';
2
- export declare function parseStatus(bytes: Uint8Array): PrinterStatus;
1
+ import { type BrotherQLStatus } from './types.js';
3
2
  export declare const STATUS_REQUEST: Uint8Array;
3
+ /**
4
+ * Parse a Brother QL 32-byte status response.
5
+ *
6
+ * Fields:
7
+ * byte 8 — error info 1 (bit mask, see ERROR_INFO_1)
8
+ * byte 9 — error info 2 (bit mask, see ERROR_INFO_2)
9
+ * byte 10 — media width (mm)
10
+ * byte 11 — media type (0x0A continuous, 0x0B die-cut)
11
+ * byte 17 — media length (mm), 0 for continuous
12
+ * byte 18 — status type (0x02 = error response)
13
+ *
14
+ * `detectedMedia` is resolved against the media registry via
15
+ * `findMediaByDimensions`. `editorLiteMode` is a driver-specific
16
+ * extension on `BrotherQLStatus` — the status-type byte doesn't
17
+ * actually report it, but keeping the field here means callers can
18
+ * set it from other signals (e.g. mass-storage PID detected during
19
+ * discovery) without changing the return type.
20
+ */
21
+ export declare function parseStatus(bytes: Uint8Array): BrotherQLStatus;
4
22
  //# sourceMappingURL=status.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAkB,MAAM,YAAY,CAAC;AAuBhE,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,aAAa,CAyC5D;AAED,eAAO,MAAM,cAAc,YAAqC,CAAC"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,eAAO,MAAM,cAAc,YAAqC,CAAC;AAyBjE;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,eAAe,CAkC9D"}
package/dist/status.js CHANGED
@@ -1,61 +1,76 @@
1
1
  import {} from './types.js';
2
- const ERROR_INFO_1 = {
3
- 0: 'No media',
4
- 1: 'End of media',
5
- 2: 'Cutter jam',
6
- 3: 'Weak battery',
7
- 4: 'Printer in use',
8
- 6: 'High voltage adapter',
9
- 7: 'Fan motor error',
10
- };
11
- const ERROR_INFO_2 = {
12
- 0: 'Replace media',
13
- 1: 'Expansion buffer full',
14
- 2: 'Transmission error',
15
- 3: 'Communication buffer full',
16
- 4: 'Cover open',
17
- 5: 'Cancel key',
18
- 6: 'Media cannot be fed',
19
- 7: 'System error',
20
- };
2
+ import { findMediaByDimensions } from './media.js';
3
+ export const STATUS_REQUEST = new Uint8Array([0x1b, 0x69, 0x53]);
4
+ /** Error-info 1 bit structured PrinterError code + human message. */
5
+ const ERROR_INFO_1 = [
6
+ { bit: 0, code: 'no_media', message: 'No media' },
7
+ { bit: 1, code: 'media_end', message: 'End of media' },
8
+ { bit: 2, code: 'cutter_jam', message: 'Cutter jam' },
9
+ { bit: 3, code: 'system_error', message: 'Weak battery' },
10
+ { bit: 4, code: 'not_ready', message: 'Printer in use' },
11
+ { bit: 6, code: 'system_error', message: 'High voltage adapter' },
12
+ { bit: 7, code: 'system_error', message: 'Fan motor error' },
13
+ ];
14
+ /** Error-info 2 bit → structured PrinterError code + human message. */
15
+ const ERROR_INFO_2 = [
16
+ { bit: 0, code: 'wrong_media', message: 'Replace media' },
17
+ { bit: 1, code: 'system_error', message: 'Expansion buffer full' },
18
+ { bit: 2, code: 'system_error', message: 'Transmission error' },
19
+ { bit: 3, code: 'system_error', message: 'Communication buffer full' },
20
+ { bit: 4, code: 'cover_open', message: 'Cover open' },
21
+ { bit: 5, code: 'not_ready', message: 'Cancel key pressed' },
22
+ { bit: 6, code: 'media_end', message: 'Media cannot be fed' },
23
+ { bit: 7, code: 'system_error', message: 'System error' },
24
+ ];
25
+ /**
26
+ * Parse a Brother QL 32-byte status response.
27
+ *
28
+ * Fields:
29
+ * byte 8 — error info 1 (bit mask, see ERROR_INFO_1)
30
+ * byte 9 — error info 2 (bit mask, see ERROR_INFO_2)
31
+ * byte 10 — media width (mm)
32
+ * byte 11 — media type (0x0A continuous, 0x0B die-cut)
33
+ * byte 17 — media length (mm), 0 for continuous
34
+ * byte 18 — status type (0x02 = error response)
35
+ *
36
+ * `detectedMedia` is resolved against the media registry via
37
+ * `findMediaByDimensions`. `editorLiteMode` is a driver-specific
38
+ * extension on `BrotherQLStatus` — the status-type byte doesn't
39
+ * actually report it, but keeping the field here means callers can
40
+ * set it from other signals (e.g. mass-storage PID detected during
41
+ * discovery) without changing the return type.
42
+ */
21
43
  export function parseStatus(bytes) {
22
- if (bytes.length < 32)
44
+ if (bytes.length < 32) {
23
45
  throw new Error(`Status response too short: ${bytes.length.toString()} bytes`);
24
- // noUncheckedIndexedAccess forces `?? 0` fallbacks that are unreachable after
25
- // the length check above. DataView avoids the issue: getUint8 returns number.
46
+ }
26
47
  const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
27
- const errors = [];
28
48
  const errInfo1 = view.getUint8(8);
29
49
  const errInfo2 = view.getUint8(9);
30
- for (const [bitStr, msg] of Object.entries(ERROR_INFO_1)) {
31
- if (errInfo1 & (1 << Number(bitStr)))
32
- errors.push(msg);
33
- }
34
- for (const [bitStr, msg] of Object.entries(ERROR_INFO_2)) {
35
- if (errInfo2 & (1 << Number(bitStr)))
36
- errors.push(msg);
37
- }
38
50
  const mediaWidthMm = view.getUint8(10);
39
51
  const mediaTypeByte = view.getUint8(11);
40
52
  const mediaLengthMm = view.getUint8(17);
41
- let mediaType = null;
42
- if (mediaTypeByte === 0x0a)
43
- mediaType = 'continuous';
44
- else if (mediaTypeByte === 0x0b)
45
- mediaType = 'die-cut';
46
- // Status type is at byte 18, not 14. Byte 14 is an undocumented media-type
47
- // code that carries non-zero values and is not the status type field.
48
53
  const statusType = view.getUint8(18);
49
- const ready = errors.length === 0 && statusType !== 0x02;
54
+ const errors = [];
55
+ for (const { bit, code, message } of ERROR_INFO_1) {
56
+ if (errInfo1 & (1 << bit))
57
+ errors.push({ code, message });
58
+ }
59
+ for (const { bit, code, message } of ERROR_INFO_2) {
60
+ if (errInfo2 & (1 << bit))
61
+ errors.push({ code, message });
62
+ }
63
+ const mediaLoaded = mediaWidthMm > 0 && mediaTypeByte !== 0;
64
+ const detected = mediaLoaded
65
+ ? findMediaByDimensions(mediaWidthMm, mediaLengthMm, false)
66
+ : undefined;
50
67
  return {
51
- ready,
52
- mediaWidthMm,
53
- mediaLengthMm,
54
- mediaType,
68
+ ready: errors.length === 0 && statusType !== 0x02,
69
+ mediaLoaded,
70
+ ...(detected === undefined ? {} : { detectedMedia: detected }),
55
71
  errors,
56
72
  editorLiteMode: false,
57
73
  rawBytes: bytes,
58
74
  };
59
75
  }
60
- export const STATUS_REQUEST = new Uint8Array([0x1b, 0x69, 0x53]);
61
76
  //# sourceMappingURL=status.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsC,MAAM,YAAY,CAAC;AAEhE,MAAM,YAAY,GAA2B;IAC3C,CAAC,EAAE,UAAU;IACb,CAAC,EAAE,cAAc;IACjB,CAAC,EAAE,YAAY;IACf,CAAC,EAAE,cAAc;IACjB,CAAC,EAAE,gBAAgB;IACnB,CAAC,EAAE,sBAAsB;IACzB,CAAC,EAAE,iBAAiB;CACrB,CAAC;AAEF,MAAM,YAAY,GAA2B;IAC3C,CAAC,EAAE,eAAe;IAClB,CAAC,EAAE,uBAAuB;IAC1B,CAAC,EAAE,oBAAoB;IACvB,CAAC,EAAE,2BAA2B;IAC9B,CAAC,EAAE,YAAY;IACf,CAAC,EAAE,YAAY;IACf,CAAC,EAAE,qBAAqB;IACxB,CAAC,EAAE,cAAc;CAClB,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,KAAiB;IAC3C,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE;QACnB,MAAM,IAAI,KAAK,CAAC,8BAA8B,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAEjF,8EAA8E;IAC9E,8EAA8E;IAC9E,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAE5E,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAElC,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QACzD,IAAI,QAAQ,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzD,CAAC;IACD,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QACzD,IAAI,QAAQ,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACxC,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAExC,IAAI,SAAS,GAAqB,IAAI,CAAC;IACvC,IAAI,aAAa,KAAK,IAAI;QAAE,SAAS,GAAG,YAAY,CAAC;SAChD,IAAI,aAAa,KAAK,IAAI;QAAE,SAAS,GAAG,SAAS,CAAC;IAEvD,2EAA2E;IAC3E,sEAAsE;IACtE,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,KAAK,IAAI,CAAC;IAEzD,OAAO;QACL,KAAK;QACL,YAAY;QACZ,aAAa;QACb,SAAS;QACT,MAAM;QACN,cAAc,EAAE,KAAK;QACrB,QAAQ,EAAE,KAAK;KAChB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"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"}