print_master_ble 0.2.0
print_master_ble: ^0.2.0 copied to clipboard
Flutter library for Zhuhai Quin thermal printers (Marklife, Phomemo, Vretti). Implements Protocol 0x1F with Floyd-Steinberg dithering and ZLIB compression.
0.2.0 #
Added #
- High-Level Print Handler API - New recommended API for simplified printer integration
PrinterDeviceabstract class - BLE-library agnostic device interfacePrintMasterHandler- Manages complete printing process with flow control, chunking, and progress trackingFlutterBluePrinterDevice- Reference implementation for flutter_blue_plus (in example app)- Progress and status streams for real-time UI updates
- BLE Protocol Constants -
PrinterBleProtocolclass with documented UUIDs and helpers- All service and characteristic UUIDs centralized
- Helper methods for UUID matching
- Protocol identifier constants (0x01, 0x02, 0x1F)
- API Mode Toggle - Example app demonstrates both high-level and low-level APIs
- Runtime toggle between manual and high-level modes
- Visual mode indicator (green "H" vs orange "M" badge)
- Documentation & Metadata:
- Added Ko-fi support button
- Added "Related Projects" section referencing Web Kit
- Validated P50/P50S device compatibility
Changed #
- Library Reorganization - Improved structure with clear module separation
core/- Core interfaces and protocols (ble_protocol, printer_device, logging)commands/- Printer command implementationsutils/- Helper functions (image processing, dithering)
- README reorganized to feature high-level API first
- Example app simplified significantly (~90 lines removed from controller)
- All exports centralized in main
print_master_ble.dartfile PrintMasterLognow publicly exported
Removed #
dudu.js- Removed legacy JS port file from root
Maintained #
- Full backward compatibility with existing low-level
PrintPortAPI - No new dependencies added to library (remains BLE-agnostic)
0.1.0 #
- Initial release
- Complete implementation of Protocol 0x1F for Zhuhai Quin thermal printers
- Support for Marklife (P11, P12, P50, P50S), Phomemo (D30, D35, Q30), and Vretti (HP3, HP4) printers
- Floyd-Steinberg dithering with ITU-R BT.601 luminance conversion
- ZLIB compression (RFC 1950) with manual header construction for 1KB window compatibility
- Flow control management (Protocol 0x01) for reliable data transmission
- Cross-platform support: Android, macOS, iOS (expected), Web (experimental)
- Data chunking (200 bytes) with progress tracking
- Complete example app demonstrating all features
- Comprehensive documentation