AtCore  1.0.72
AtCore is a API to manage the serial connection between the computer and 3D Printers.
gcodecommands.h
Go to the documentation of this file.
1 /* AtCore KDE Libary for 3D Printers
2  SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
3  SPDX-FileCopyrightText: 2016 Lays Rodrigues <lays.rodrigues@kde.org>
4  SPDX-FileCopyrightText: 2016 Patrick José Pereira <patrickjp@kde.org>
5  SPDX-FileCopyrightText: 2016, 2018 Tomaz Canabrava <tcanabrava@kde.org>
6  SPDX-FileCopyrightText: 2016-2020 Chris Rizzitello <rizzitello@kde.org>
7 */
8 
9 #pragma once
10 
11 #include <QObject>
12 
13 #include "atcore_export.h"
14 
19 class ATCORE_EXPORT GCode
20 {
21  Q_GADGET
22  friend class GCodeTests;
23 
24 public:
28  enum GCommands { G0, G1, G2, G3, G4, G10 = 10, G11, G20 = 20, G21, G22, G23, G28 = 28, G29, G30, G31, G32, G33, G90 = 90, G91, G92, G100 = 100, G130 = 130, G131, G132, G133, G161 = 161, G162 };
29  Q_ENUM(GCommands)
30 
31 
34  enum MCommands {
35  M0,
36  M1,
37  M2,
38  M6 = 6,
39  M17 = 17,
40  M18,
41  M20 = 20,
42  M21,
43  M22,
44  M23,
45  M24,
46  M25,
47  M26,
48  M27,
49  M28,
50  M29,
51  M30,
52  M31,
53  M32,
54  M33,
55  M34,
56  M36 = 36,
57  M37,
58  M38,
59  M40 = 40,
60  M41,
61  M42,
62  M43,
63  M48 = 48,
64  M70 = 70,
65  M72 = 72,
66  M73,
67  M80 = 80,
68  M81,
69  M82,
70  M83,
71  M84,
72  M85,
73  M92 = 92,
74  M93,
75  M98 = 98,
76  M99,
77  M101 = 101,
101  M126 = 126,
112  M140 = 140,
117  M146 = 146,
118  M149 = 149,
119  M150 = 150,
120  M155 = 155,
121  M160 = 160,
122  M163 = 163,
123  M164 = 164,
124  M190 = 190,
126  M200 = 200,
139  M218 = 218,
140  M220 = 220,
153  M240 = 240,
155  M245 = 245,
157  M250 = 250,
159  M280 = 280,
160  M300 = 300,
167  M320 = 320,
171  M340 = 340,
172  M350 = 350,
174  M355 = 355,
175  M360 = 360,
182  M370 = 370,
188  M380 = 380,
190  M400 = 400,
193  M404 = 404,
198  M420 = 420,
200  M450 = 450,
204  M460 = 460,
205  M500 = 500,
209  M540 = 540,
210  M550 = 550,
236  M577 = 577,
239  M580 = 580,
244  M600 = 600,
245  M605 = 605,
246  M665 = 665,
247  M666 = 666,
250  M700 = 700,
254  M710 = 710,
255  M800 = 800,
257  M851 = 851,
258  M906 = 906,
261  M910 = 910,
265  M928 = 928,
266  M997 = 997,
268  M999
269  };
270  Q_ENUM(MCommands)
271 
272 
277  static QString description(GCommands gcode);
278 
284  static QString description(MCommands gcode);
291  static QString toCommand(GCommands gcode, const QString &value1 = QString());
292 
300  static QString toCommand(MCommands gcode, const QString &value1 = QString(), const QString &value2 = QString());
301 
302 protected:
303  static const QString commandRequiresArgument;
304  static const QString commandNotSupported;
305 };
The GCode class Provides Descriptions and Commands strings for G and M Commands.
Definition: gcodecommands.h:20
GCommands
The GCommands enum.
Definition: gcodecommands.h:28
@ G0
Definition: gcodecommands.h:28
MCommands
The MCommands enum.
Definition: gcodecommands.h:34
@ M913
Definition: gcodecommands.h:264
@ M501
Definition: gcodecommands.h:206
@ M565
Definition: gcodecommands.h:225
@ M703
Definition: gcodecommands.h:253
@ M132
Definition: gcodecommands.h:107
@ M668
Definition: gcodecommands.h:249
@ M122
Definition: gcodecommands.h:98
@ M227
Definition: gcodecommands.h:147
@ M22
Definition: gcodecommands.h:43
@ M568
Definition: gcodecommands.h:228
@ M306
Definition: gcodecommands.h:166
@ M375
Definition: gcodecommands.h:187
@ M135
Definition: gcodecommands.h:110
@ M362
Definition: gcodecommands.h:177
@ M301
Definition: gcodecommands.h:161
@ M42
Definition: gcodecommands.h:61
@ M144
Definition: gcodecommands.h:116
@ M116
Definition: gcodecommands.h:92
@ M131
Definition: gcodecommands.h:106
@ M34
Definition: gcodecommands.h:55
@ M83
Definition: gcodecommands.h:70
@ M203
Definition: gcodecommands.h:129
@ M211
Definition: gcodecommands.h:137
@ M142
Definition: gcodecommands.h:114
@ M570
Definition: gcodecommands.h:230
@ M563
Definition: gcodecommands.h:223
@ M575
Definition: gcodecommands.h:235
@ M141
Definition: gcodecommands.h:113
@ M223
Definition: gcodecommands.h:143
@ M113
Definition: gcodecommands.h:89
@ M232
Definition: gcodecommands.h:152
@ M371
Definition: gcodecommands.h:183
@ M128
Definition: gcodecommands.h:103
@ M212
Definition: gcodecommands.h:138
@ M119
Definition: gcodecommands.h:95
@ M552
Definition: gcodecommands.h:212
@ M226
Definition: gcodecommands.h:146
@ M366
Definition: gcodecommands.h:181
@ M38
Definition: gcodecommands.h:58
@ M136
Definition: gcodecommands.h:111
@ M228
Definition: gcodecommands.h:148
@ M107
Definition: gcodecommands.h:83
@ M801
Definition: gcodecommands.h:256
@ M143
Definition: gcodecommands.h:115
@ M37
Definition: gcodecommands.h:57
@ M554
Definition: gcodecommands.h:214
@ M578
Definition: gcodecommands.h:237
@ M322
Definition: gcodecommands.h:169
@ M408
Definition: gcodecommands.h:197
@ M323
Definition: gcodecommands.h:170
@ M998
Definition: gcodecommands.h:267
@ M225
Definition: gcodecommands.h:145
@ M29
Definition: gcodecommands.h:50
@ M117
Definition: gcodecommands.h:93
@ M82
Definition: gcodecommands.h:69
@ M559
Definition: gcodecommands.h:219
@ M363
Definition: gcodecommands.h:178
@ M209
Definition: gcodecommands.h:135
@ M41
Definition: gcodecommands.h:60
@ M503
Definition: gcodecommands.h:208
@ M556
Definition: gcodecommands.h:216
@ M557
Definition: gcodecommands.h:217
@ M222
Definition: gcodecommands.h:142
@ M206
Definition: gcodecommands.h:132
@ M120
Definition: gcodecommands.h:96
@ M121
Definition: gcodecommands.h:97
@ M402
Definition: gcodecommands.h:192
@ M405
Definition: gcodecommands.h:194
@ M201
Definition: gcodecommands.h:127
@ M553
Definition: gcodecommands.h:213
@ M364
Definition: gcodecommands.h:179
@ M191
Definition: gcodecommands.h:125
@ M579
Definition: gcodecommands.h:238
@ M321
Definition: gcodecommands.h:168
@ M911
Definition: gcodecommands.h:262
@ M21
Definition: gcodecommands.h:42
@ M81
Definition: gcodecommands.h:68
@ M108
Definition: gcodecommands.h:84
@ M702
Definition: gcodecommands.h:252
@ M406
Definition: gcodecommands.h:195
@ M231
Definition: gcodecommands.h:151
@ M33
Definition: gcodecommands.h:54
@ M571
Definition: gcodecommands.h:231
@ M305
Definition: gcodecommands.h:165
@ M133
Definition: gcodecommands.h:108
@ M99
Definition: gcodecommands.h:76
@ M907
Definition: gcodecommands.h:259
@ M124
Definition: gcodecommands.h:100
@ M25
Definition: gcodecommands.h:46
@ M112
Definition: gcodecommands.h:88
@ M401
Definition: gcodecommands.h:191
@ M572
Definition: gcodecommands.h:232
@ M381
Definition: gcodecommands.h:189
@ M351
Definition: gcodecommands.h:173
@ M32
Definition: gcodecommands.h:53
@ M30
Definition: gcodecommands.h:51
@ M407
Definition: gcodecommands.h:196
@ M93
Definition: gcodecommands.h:74
@ M205
Definition: gcodecommands.h:131
@ M453
Definition: gcodecommands.h:203
@ M115
Definition: gcodecommands.h:91
@ M241
Definition: gcodecommands.h:154
@ M2
Definition: gcodecommands.h:37
@ M73
Definition: gcodecommands.h:66
@ M561
Definition: gcodecommands.h:221
@ M24
Definition: gcodecommands.h:45
@ M229
Definition: gcodecommands.h:149
@ M118
Definition: gcodecommands.h:94
@ M558
Definition: gcodecommands.h:218
@ M106
Definition: gcodecommands.h:82
@ M304
Definition: gcodecommands.h:164
@ M573
Definition: gcodecommands.h:233
@ M202
Definition: gcodecommands.h:128
@ M567
Definition: gcodecommands.h:227
@ M502
Definition: gcodecommands.h:207
@ M701
Definition: gcodecommands.h:251
@ M1
Definition: gcodecommands.h:36
@ M18
Definition: gcodecommands.h:40
@ M302
Definition: gcodecommands.h:162
@ M451
Definition: gcodecommands.h:201
@ M26
Definition: gcodecommands.h:47
@ M562
Definition: gcodecommands.h:222
@ M208
Definition: gcodecommands.h:134
@ M582
Definition: gcodecommands.h:241
@ M251
Definition: gcodecommands.h:158
@ M908
Definition: gcodecommands.h:260
@ M373
Definition: gcodecommands.h:185
@ M210
Definition: gcodecommands.h:136
@ M560
Definition: gcodecommands.h:220
@ M204
Definition: gcodecommands.h:130
@ M372
Definition: gcodecommands.h:184
@ M0
Definition: gcodecommands.h:35
@ M134
Definition: gcodecommands.h:109
@ M31
Definition: gcodecommands.h:52
@ M110
Definition: gcodecommands.h:86
@ M102
Definition: gcodecommands.h:78
@ M43
Definition: gcodecommands.h:62
@ M105
Definition: gcodecommands.h:81
@ M566
Definition: gcodecommands.h:226
@ M421
Definition: gcodecommands.h:199
@ M583
Definition: gcodecommands.h:242
@ M224
Definition: gcodecommands.h:144
@ M84
Definition: gcodecommands.h:71
@ M104
Definition: gcodecommands.h:80
@ M85
Definition: gcodecommands.h:72
@ M103
Definition: gcodecommands.h:79
@ M129
Definition: gcodecommands.h:104
@ M303
Definition: gcodecommands.h:163
@ M551
Definition: gcodecommands.h:211
@ M221
Definition: gcodecommands.h:141
@ M111
Definition: gcodecommands.h:87
@ M27
Definition: gcodecommands.h:48
@ M207
Definition: gcodecommands.h:133
@ M564
Definition: gcodecommands.h:224
@ M574
Definition: gcodecommands.h:234
@ M123
Definition: gcodecommands.h:99
@ M912
Definition: gcodecommands.h:263
@ M109
Definition: gcodecommands.h:85
@ M667
Definition: gcodecommands.h:248
@ M569
Definition: gcodecommands.h:229
@ M127
Definition: gcodecommands.h:102
@ M130
Definition: gcodecommands.h:105
@ M581
Definition: gcodecommands.h:240
@ M584
Definition: gcodecommands.h:243
@ M246
Definition: gcodecommands.h:156
@ M365
Definition: gcodecommands.h:180
@ M555
Definition: gcodecommands.h:215
@ M230
Definition: gcodecommands.h:150
@ M374
Definition: gcodecommands.h:186
@ M28
Definition: gcodecommands.h:49
@ M114
Definition: gcodecommands.h:90
@ M361
Definition: gcodecommands.h:176
@ M23
Definition: gcodecommands.h:44
@ M452
Definition: gcodecommands.h:202
static const QString commandRequiresArgument
Definition: gcodecommands.h:303
static const QString commandNotSupported
Definition: gcodecommands.h:304