@mmote/niimbluelib
Version:
Library for the communication with NIIMBOT printers
78 lines (77 loc) • 3.58 kB
TypeScript
import { AutoShutdownTime, BatteryChargeLevel, ConnectResult, LabelType, SoundSettingsItemType } from ".";
import { NiimbotAbstractClient } from "../client";
import { PrintTaskName } from "../print_tasks";
import { AbstractPrintTask, PrintOptions } from "../print_tasks/AbstractPrintTask";
import { HeartbeatData, PrinterStatusData, PrintStatus, RfidInfo } from "./dto";
import { NiimbotPacket } from "./packet";
/**
* Packet sender and parser.
*
* @category Packets
*/
export declare class Abstraction {
private readonly DEFAULT_PACKET_TIMEOUT;
private client;
private packetTimeout;
private statusPollTimer;
private statusTimeoutTimer;
constructor(client: NiimbotAbstractClient);
getClient(): NiimbotAbstractClient;
getPacketTimeout(): number;
setPacketTimeout(value: number): void;
setDefaultPacketTimeout(): void;
/** Send packet and wait for response */
send(packet: NiimbotPacket, forceTimeout?: number): Promise<NiimbotPacket>;
sendAll(packets: NiimbotPacket[], forceTimeout?: number): Promise<void>;
getPrintStatus(): Promise<PrintStatus>;
connectResult(): Promise<ConnectResult>;
getPrinterStatusData(): Promise<PrinterStatusData>;
getPrinterModel(): Promise<number>;
/** Read paper nfc tag info */
rfidInfo(): Promise<RfidInfo>;
heartbeat(): Promise<HeartbeatData>;
getBatteryChargeLevel(): Promise<BatteryChargeLevel>;
getAutoShutDownTime(): Promise<AutoShutdownTime>;
/** May be wrong, version format varies between models */
getSoftwareVersion(): Promise<string>;
/** May be wrong, version format varies between models */
getHardwareVersion(): Promise<string>;
setAutoShutDownTime(time: AutoShutdownTime): Promise<void>;
getLabelType(): Promise<LabelType>;
getPrinterSerialNumber(): Promise<string>;
getPrinterBluetoothMacAddress(): Promise<string>;
isSoundEnabled(soundType: SoundSettingsItemType): Promise<boolean>;
setSoundEnabled(soundType: SoundSettingsItemType, value: boolean): Promise<void>;
/** Clear settings */
printerReset(): Promise<void>;
waitUntilPrintFinishedByPageIndex(pagesToPrint: number, timeoutMs?: number): Promise<void>;
/**
* Poll printer every {@link pollIntervalMs} and resolve when printer pages equals {@link pagesToPrint}, pagePrintProgress=100, pageFeedProgress=100.
*
* printprogress event is firing during this process.
*
* @param pagesToPrint Total pages to print.
* @param pollIntervalMs Poll interval in milliseconds.
*/
waitUntilPrintFinishedByStatusPoll(pagesToPrint: number, pollIntervalMs?: number): Promise<void>;
/**
* Poll printer every {@link pollIntervalMs} and resolve when printer pages equals {@link pagesToPrint}.
*
* printprogress event is firing during this process.
*
* PrintEnd call is not needed after this functions is done running.
*
* @param pagesToPrint Total pages to print.
* @param pollIntervalMs Poll interval in milliseconds.
*/
waitUntilPrintFinishedByPrintEndPoll(pagesToPrint: number, pollIntervalMs?: number): Promise<void>;
/** False returned when printEnd refused */
printEnd(): Promise<boolean>;
/**
* When 1 or 2 sent to B1, it starts to throw out some, paper (~15cm)
* @param value success
*/
labelPositioningCalibration(value: number): Promise<boolean>;
firmwareUpgrade(data: Uint8Array, version: string): Promise<void>;
newPrintTask(name: PrintTaskName, options?: Partial<PrintOptions>): AbstractPrintTask;
}