CAPS Universe documentation
1.0.4
All you need to know to be successful
|
Various data header definitions for the SPL data protocol. More...
Go to the source code of this file.
Data Structures | |
struct | page_header_record |
This header record must lead each page to print. More... | |
struct | page_footer_record |
This footer record must be send once after each page to print. More... | |
struct | band_record |
Each page is divided vertically into 'bands'. This data leads each band information. More... | |
struct | comp_data_header |
This header leads the comressed data for compression algorithmus with ID 0x11. More... | |
Macros | |
#define | TABLE_PTR_SIZE 0x40 |
#define | COMP_DATA_HEADER_MARKER 0x09ABCDEF |
#define | LINES_IN_ONE_BAND 128 |
#define | COMPRESS_SAMPLE_RATE 0x800 |
#define | MAX_UNCOMPRESSED_BYTES 0x80 |
#define | MIN_COMPRESSED_BYTES 0x2 |
#define | COMPRESS_ENTRY_SIZE 0x2 |
#define | RAW_ENTRY_SIZE 0x2 |
#define | MAX_COMPRESSED_BYTES 0x202 |
Enumerations | |
enum | format_type { SPL_LETTER_TYPE , SPL_LEGAL_TYPE , SPL_DINA4_TYPE , SPL_EXECUTIVE_TYPE , SPL_LEDGER_TYPE , SPL_DINA3_TYPE , SPL_COM10_TYPE , SPL_MONARCH_TYPE , SPL_DINC5_TYPE , SPL_DL_TYPE , SPL_JISB4_TYPE , SPL_JISB5_TYPE , SPL_ISOB5_TYPE , SPL_JPOST_TYPE = 14 , SPL_JDOUBLE_TYPE , SPL_DINA5_TYPE , SPL_DINA6_TYPE , SPL_JISB6_TYPE , SPL_CUSTOM_TYPE = 21 , SPL_DINC6_TYPE = 23 , SPL_FOLIO_TYPE } |
The media format types to be sent in the page header's 'ptype' member. More... | |
enum | paper_feed { SPL_AUTO_FEED = 1 , SPL_MANUAL_FEED , SPL_MULTI_FEED , SPL_TOP_FEED , SPL_BOTTOM_FEED , SPL_ENVELOPES_FEED , SPL_THIRD_FEED } |
enum | record_type { PAGE_HEADER_RECORD = 0x0 , PAGE_FOOTER_RECORD = 0x1 , JOB_TERMINATE = 0x9 , BAND_RECORD = 0x0c } |
#define TABLE_PTR_SIZE 0x40 |
Entry count of the list of lengths of redundant data
#define COMP_DATA_HEADER_MARKER 0x09ABCDEF |
The marker's value for the compressed data header (e.g. comp_data_header::marker) Theoretical it can be used to switch the printer into big or little endian, depending how this number is stored.
Practically only little endian seems to work.
#define LINES_IN_ONE_BAND 128 |
printer accepts data in 'bands', each contains 128 lines of data
#define COMPRESS_SAMPLE_RATE 0x800 |
amount of bytes to check to calculate the pattern offsets
#define MAX_UNCOMPRESSED_BYTES 0x80 |
max amount of bytes, an uncompressed entry can carry
#define MIN_COMPRESSED_BYTES 0x2 |
min. amount of bytes, a compressed entry can copy
#define COMPRESS_ENTRY_SIZE 0x2 |
Size of a 'compress' entry (more a 'repeat' entry)
#define RAW_ENTRY_SIZE 0x2 |
Minimal size of a 'raw' data entry
#define MAX_COMPRESSED_BYTES 0x202 |
max. amount of bytes, a compressed entry can copy
enum format_type |
Values from: https://papersizes.io
These values are used in page_header_record::ptype.
Enumerator | |
---|---|
SPL_LETTER_TYPE | US's Letter, libpaper's "letter", 216 mm x 279 mm |
SPL_LEGAL_TYPE | US's Legal, libpaper's "leagal", 216 mm x 356 mm |
SPL_DINA4_TYPE | Europeans A4, libpaper's "a4", 210 mm x 297 mm |
SPL_EXECUTIVE_TYPE | libpaper's "executive", 184 mm x 267 mm |
SPL_LEDGER_TYPE | US's Ledger, libpaper's "ledger", 432 mm × 279 mm |
SPL_DINA3_TYPE | Europeans A3, libpaper's "a3", 297 mm x 420 mm |
SPL_COM10_TYPE | No. 10, libpaper's "Comm10", 105 mm x 241 mm, Envelope |
SPL_MONARCH_TYPE | US's 7¾ Monarch, libpaper's "Monarch", 191 × 98 mm, Envelope |
SPL_DINC5_TYPE | Europeans C5 or international C5, libpaper's "c5", 229 mm × 162 mm, Envelope |
SPL_DL_TYPE | International DL, libpaper's "DL", 220 × 110 mm, Envelope |
SPL_JISB4_TYPE | Japanese JIS B4 (257 mm x 364 mm) |
SPL_JISB5_TYPE | Japanese JIS B5 (182 mm x 257 mm) |
SPL_ISOB5_TYPE | International ISO B5, libpaper's "b5", 176 mm x 250 mm |
SPL_JPOST_TYPE | FIXME |
SPL_JDOUBLE_TYPE | FIXME |
SPL_DINA5_TYPE | Europeans A5, libpaper's "a5" |
SPL_DINA6_TYPE | Europeans A6, libpaper's "a6" |
SPL_JISB6_TYPE | Japanese JIS B6 (128 mm x 182 mm) |
SPL_CUSTOM_TYPE | In this case the size must be defined via page_header_record::pwidth and page_header_record::plength |
SPL_DINC6_TYPE | Europeans/International C6, libpaper's "c6", 162 mm x 114 mm, Envelope |
SPL_FOLIO_TYPE | Books Folio, libpaper's "folio", 304.8 mm × 482.6 mm, |
enum paper_feed |
enum record_type |