Skip to main content

RFC-003: Hardware Support Implementation

Overview

Technical implementation for multi-printer support with automatic canvas sizing.

Feature Requirements

Feature: Support for changing printers. Supported printers include: Canon Selphy CP1500, general POS thermal printers (Epson, Panda), and Instax Mini Link.

Details:

  • Ability to seamlessly switch the target printer.
  • Adjust the print output size natively according to the selected printer's specifications.

Supported Printers

PrinterConnectionPaper SizeDPI
Canon Selphy CP1500USB/Bluetooth4x6, 5x7300
Epson TM-T88USB/Bluetooth58mm, 80mm203
Niimbot B21Bluetooth58mm, 80mm203
Instax Mini LinkBluetooth62x46mm318

Printer Interface

interface Printer {
id: string;
name: string;
type: PrinterType;
paperSize: PaperSize;
dpi: number;
connect(): Promise<void>;
disconnect(): Promise<void>;
print(imageData: Blob): Promise<PrintResult>;
}

Canvas Configuration

API Endpoints

MethodEndpointDescription
GET/api/printersList supported printers
POST/api/printers/connectConnect to printer
POST/api/printers/testPrint test page
GET/api/printers/statusGet printer status

Implementation Phases

  1. Phase 1: Printer abstraction + config loading
  2. Phase 2: Dynamic canvas sizing
  3. Phase 3: Test print functionality
  4. Phase 4: Instax Mini Link specific implementation