CAPS Universe documentation  1.0.4
All you need to know to be successful
ql5-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 #ql5_status::printer_id */
23#define QL500_ID 0x304f
24#define QL550_ID 0x304f
25#define QL560_ID 0x3431
26#define QL570_ID 0x3432
27#define QL580N_ID 0x3433
28#define QL650TD_ID 0x3051
29#define QL700_ID 0x3435
30#define QL1050_ID 0x3050
31#define QL1060_ID 0x3434
32
39};
40
46};
47
51 QL_MT_DIE_CUT = 0x0B
52};
53
55 ST_REPLY = 0x00,
57 ST_ERROR = 0x02,
59 ST_PHASE_CHANGE = 0x06
60};
61
63struct ql5_status {
65 uint8_t size;
66 uint8_t _reserved3;
67 uint16_t printer_id;
68 uint8_t _reserved6;
69 uint8_t _reserved7;
70 uint8_t _reserved8;
71 uint8_t error_info_1;
72 uint8_t error_info_2;
73 uint8_t media_width;
74 uint8_t media_type;
75 uint8_t _reserved13;
76 uint8_t _reserved14;
77 uint8_t _reserved15;
78 uint8_t _reserved16;
79 uint8_t _reserved17;
80 uint8_t media_length;
81 uint8_t status_type;
82 uint8_t phase_type;
83 uint16_t phase_num;
85 uint8_t _reserved24;
86 uint8_t _reserved25[8];
87} __packed;
88
95struct ql5_drv {
96 /* must be the first one */
97 struct ql_drv base;
98 unsigned probe_done:1;
99
100 unsigned label_width;
101 unsigned label_length;
102};
103
109static inline struct ql5_drv *to_ql5_drv(void *d) { return (struct ql5_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_TRANSMISSION_ERROR
Definition: ql5-series.h:42
@ QL_COVER_OPENED
Definition: ql5-series.h:43
@ QL_CANNOT_FEED
Definition: ql5-series.h:44
@ QL_SYSTEM_ERROR
Definition: ql5-series.h:45
static struct ql5_drv * to_ql5_drv(void *d)
Definition: ql5-series.h:109
ql_media_type
Definition: ql5-series.h:48
@ QL_MT_UNKNOWN
Definition: ql5-series.h:49
@ QL_MT_CONTINUOUS
Definition: ql5-series.h:50
@ QL_MT_DIE_CUT
Definition: ql5-series.h:51
ql_status_type
Definition: ql5-series.h:54
@ ST_PHASE_CHANGE
Definition: ql5-series.h:59
@ ST_NOTIFICATION
Definition: ql5-series.h:58
@ ST_REPLY
Definition: ql5-series.h:55
@ ST_COMPLETED
Definition: ql5-series.h:56
@ ST_ERROR
Definition: ql5-series.h:57
ql_error_info_1
Definition: ql5-series.h:33
@ QL_END_OF_MEDIA
Definition: ql5-series.h:35
@ QL_NO_MEDIA
Definition: ql5-series.h:34
@ QL_FAN_BROKEN
Definition: ql5-series.h:38
@ QL_TAPE_CUTTER_JAM
Definition: ql5-series.h:36
@ QL_MAIN_UNIT_IN_USE
Definition: ql5-series.h:37
Driver information for the QL5 family of printer drivers.
Definition: ql5-series.h:95
unsigned probe_done
Definition: ql5-series.h:98
unsigned label_length
Definition: ql5-series.h:101
struct ql_drv base
Definition: ql5-series.h:97
unsigned label_width
Definition: ql5-series.h:100
Format of the status report of QL5xx printers.
Definition: ql5-series.h:63
uint8_t status_type
Definition: ql5-series.h:81
uint8_t _reserved3
Definition: ql5-series.h:66
uint8_t error_info_1
Definition: ql5-series.h:71
uint8_t _reserved24
Definition: ql5-series.h:85
uint8_t _reserved6
Definition: ql5-series.h:68
uint8_t print_head_mark
Definition: ql5-series.h:64
uint16_t printer_id
Definition: ql5-series.h:67
uint8_t media_type
Definition: ql5-series.h:74
uint16_t phase_num
Definition: ql5-series.h:83
uint8_t phase_type
Definition: ql5-series.h:82
uint8_t _reserved8
Definition: ql5-series.h:70
uint8_t media_width
Definition: ql5-series.h:73
uint8_t _reserved13
Definition: ql5-series.h:75
uint8_t error_info_2
Definition: ql5-series.h:72
uint8_t _reserved15
Definition: ql5-series.h:77
uint8_t _reserved16
Definition: ql5-series.h:78
uint8_t _reserved17
Definition: ql5-series.h:79
uint8_t size
Definition: ql5-series.h:65
uint8_t media_length
Definition: ql5-series.h:80
uint8_t _reserved7
Definition: ql5-series.h:69
uint8_t notification_type
Definition: ql5-series.h:84
uint8_t _reserved25[8]
Definition: ql5-series.h:86
uint8_t _reserved14
Definition: ql5-series.h:76
The main QL driver instance description.
Definition: ql-series.h:235