@mmote/niimbluelib
Version:
Library for the communication with NIIMBOT printers
41 lines (40 loc) • 1.69 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.B21V1PrintTask = void 0;
const packets_1 = require("../packets");
const AbstractPrintTask_1 = require("./AbstractPrintTask");
/**
* @category Print tasks
*/
class B21V1PrintTask extends AbstractPrintTask_1.AbstractPrintTask {
printInit() {
return this.abstraction.sendAll([
packets_1.PacketGenerator.setDensity(this.printOptions.density),
packets_1.PacketGenerator.setLabelType(this.printOptions.labelType),
packets_1.PacketGenerator.printStart1b(),
]);
}
async printPage(image, quantity) {
this.checkAddPage(quantity ?? 1);
for (let i = 0; i < (quantity ?? 1); i++) {
await this.abstraction.sendAll([
// PacketGenerator.printClear(),
packets_1.PacketGenerator.pageStart(),
packets_1.PacketGenerator.setPageSize4b(image.rows, image.cols),
...packets_1.PacketGenerator.writeImageData(image, {
countsMode: "total",
enableCheckLine: true,
printheadPixels: this.printheadPixels(),
}),
packets_1.PacketGenerator.pageEnd(),
], this.printOptions.pageTimeoutMs);
}
}
waitForFinished() {
this.abstraction.setPacketTimeout(this.printOptions.statusTimeoutMs);
return this.abstraction
.waitUntilPrintFinishedByPrintEndPoll(this.printOptions.totalPages, this.printOptions.statusPollIntervalMs)
.finally(() => this.abstraction.setDefaultPacketTimeout());
}
}
exports.B21V1PrintTask = B21V1PrintTask;