CAPS Universe documentation  1.0.4
All you need to know to be successful
ql8-series.h
Go to the documentation of this file.
1#pragma once
2/*
3 * SPDX-License-Identifier: GPL-2.0-or-later
4 *
5 * (c) 2022 Juergen Borleis <projects@caps-printing.org>
6 *
7 * This program is free software; you can redistribute it and/or modify it under
8 * the terms of the GNU General Public License as published by the Free
9 * Software Foundation; either version 2 of the License, or (at your option)
10 * any later version.
11 */
12#include "ql-series.h"
13
22/* Known values of #ql8_status::printer_id */
23#define QL800_ID 0x3438
24#define QL810W_ID 0x3439
25#define QL820NWB_ID 0x3441
26
33};
34
41};
42
47};
48
50 ST_REPLY = 0x00,
52 ST_ERROR = 0x02,
54 ST_PHASE_CHANGE = 0x06
55};
56
58struct ql8_status {
60 uint8_t size;
61 uint8_t _reserved3;
62 uint16_t printer_id;
63 uint8_t _reserved6;
64 uint8_t _reserved7;
65 uint8_t _reserved8;
66 uint8_t error_info_1;
67 uint8_t error_info_2;
68 uint8_t media_width;
69 uint8_t media_type;
70 uint8_t _reserved13;
71 uint8_t _reserved14;
72 uint8_t cassette_id;
73 uint8_t mode;
74 uint8_t _reserved17;
75 uint8_t media_length;
76 uint8_t status_type;
77 uint8_t phase_type;
78 uint16_t phase_num;
80 uint8_t _reserved24;
81 uint8_t _reserved25[8];
82} __packed;
83
88 /* must be the first one */
89 unsigned bi_coloured_print:1;
90};
97struct ql8_drv {
98 /* must be the first one */
99 struct ql_drv base;
101 unsigned probe_done:1;
102
103 /* Driver parameters for the red dot detection, e.g. bi-colour print */
109 unsigned label_width;
110 unsigned label_length;
111};
117static inline struct ql8_drv *to_ql8_drv(void *d) { return (struct ql8_drv *)d; }
#define __packed
Definition: libcapsbase.h:103
Collection of macros and functions shared by all QLxxx printer drivers.
#define BIT(x)
Definition: ql-series.h:39
ql_error_info_2
Definition: ql5-series.h:41
ql_media_type
Definition: ql5-series.h:48
ql_status_type
Definition: ql5-series.h:54
ql_error_info_1
Definition: ql5-series.h:33
@ QL_TRANSMISSION_ERROR
Definition: ql8-series.h:37
@ QL_COVER_OPENED
Definition: ql8-series.h:38
@ QL_REPLACE_MEDIA
Definition: ql8-series.h:36
@ QL_CANNOT_FEED
Definition: ql8-series.h:39
@ QL_SYSTEM_ERROR
Definition: ql8-series.h:40
@ QL_MT_UNKNOWN
Definition: ql8-series.h:44
@ QL_MT_CONTINUOUS
Definition: ql8-series.h:45
@ QL_MT_DIE_CUT
Definition: ql8-series.h:46
@ ST_PHASE_CHANGE
Definition: ql8-series.h:54
@ ST_NOTIFICATION
Definition: ql8-series.h:53
@ ST_REPLY
Definition: ql8-series.h:50
@ ST_COMPLETED
Definition: ql8-series.h:51
@ ST_ERROR
Definition: ql8-series.h:52
@ QL_END_OF_MEDIA
Definition: ql8-series.h:29
@ QL_NO_MEDIA
Definition: ql8-series.h:28
@ QL_TAPE_CUTTER_JAM
Definition: ql8-series.h:30
@ QL_MAIN_UNIT_IN_USE
Definition: ql8-series.h:31
@ QL_MAIN_UNIT_OFF
Definition: ql8-series.h:32
static struct ql8_drv * to_ql8_drv(void *d)
Definition: ql8-series.h:117
Driver information for the QL8 family of printer drivers.
Definition: ql8-series.h:97
unsigned probe_done
Definition: ql8-series.h:101
double upper_red_angle
Definition: ql8-series.h:105
double lower_red_angle
Definition: ql8-series.h:104
unsigned label_length
Definition: ql8-series.h:110
double lower_red_val
Definition: ql8-series.h:107
double lower_red_sat
Definition: ql8-series.h:106
struct ql_drv base
Definition: ql8-series.h:99
unsigned label_width
Definition: ql8-series.h:109
struct ql8_job_options job_options
Definition: ql8-series.h:100
Information about the current job related to QL8xx specific capabilities.
Definition: ql8-series.h:87
unsigned bi_coloured_print
Definition: ql8-series.h:89
Format of the status report of QL8xx printers.
Definition: ql8-series.h:58
uint8_t status_type
Definition: ql8-series.h:76
uint8_t _reserved3
Definition: ql8-series.h:61
uint8_t error_info_1
Definition: ql8-series.h:66
uint8_t _reserved24
Definition: ql8-series.h:80
uint8_t mode
Definition: ql8-series.h:73
uint8_t _reserved6
Definition: ql8-series.h:63
uint8_t print_head_mark
Definition: ql8-series.h:59
uint16_t printer_id
Definition: ql8-series.h:62
uint8_t media_type
Definition: ql8-series.h:69
uint16_t phase_num
Definition: ql8-series.h:78
uint8_t phase_type
Definition: ql8-series.h:77
uint8_t _reserved8
Definition: ql8-series.h:65
uint8_t media_width
Definition: ql8-series.h:68
uint8_t _reserved13
Definition: ql8-series.h:70
uint8_t error_info_2
Definition: ql8-series.h:67
uint8_t cassette_id
Definition: ql8-series.h:72
uint8_t _reserved17
Definition: ql8-series.h:74
uint8_t size
Definition: ql8-series.h:60
uint8_t media_length
Definition: ql8-series.h:75
uint8_t _reserved7
Definition: ql8-series.h:64
uint8_t notification_type
Definition: ql8-series.h:79
uint8_t _reserved25[8]
Definition: ql8-series.h:81
uint8_t _reserved14
Definition: ql8-series.h:71
The main QL driver instance description.
Definition: ql-series.h:235