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 };
GCode::M579
@ M579
Definition: gcodecommands.h:238
GCode::M702
@ M702
Definition: gcodecommands.h:252
GCode::M226
@ M226
Definition: gcodecommands.h:146
GCode::M204
@ M204
Definition: gcodecommands.h:130
GCode::M18
@ M18
Definition: gcodecommands.h:40
GCode::M306
@ M306
Definition: gcodecommands.h:166
GCode::M582
@ M582
Definition: gcodecommands.h:241
GCode::M81
@ M81
Definition: gcodecommands.h:68
GCode::M801
@ M801
Definition: gcodecommands.h:256
GCode::M227
@ M227
Definition: gcodecommands.h:147
GCode::M452
@ M452
Definition: gcodecommands.h:202
GCode::M563
@ M563
Definition: gcodecommands.h:223
GCode::M573
@ M573
Definition: gcodecommands.h:233
GCode::M251
@ M251
Definition: gcodecommands.h:158
GCode::M701
@ M701
Definition: gcodecommands.h:251
GCode::M1
@ M1
Definition: gcodecommands.h:36
GCode::M113
@ M113
Definition: gcodecommands.h:89
GCode::M351
@ M351
Definition: gcodecommands.h:173
GCode::M124
@ M124
Definition: gcodecommands.h:100
GCode::M568
@ M568
Definition: gcodecommands.h:228
GCode::M578
@ M578
Definition: gcodecommands.h:237
GCode::M554
@ M554
Definition: gcodecommands.h:214
GCode::M128
@ M128
Definition: gcodecommands.h:103
GCode::M381
@ M381
Definition: gcodecommands.h:189
GCode::M907
@ M907
Definition: gcodecommands.h:259
GCode::M30
@ M30
Definition: gcodecommands.h:51
GCode::M562
@ M562
Definition: gcodecommands.h:222
GCode::M38
@ M38
Definition: gcodecommands.h:58
GCode::M29
@ M29
Definition: gcodecommands.h:50
GCode::M28
@ M28
Definition: gcodecommands.h:49
GCode::M301
@ M301
Definition: gcodecommands.h:161
GCode::M503
@ M503
Definition: gcodecommands.h:208
GCode::M361
@ M361
Definition: gcodecommands.h:176
GCode::M575
@ M575
Definition: gcodecommands.h:235
GCode::M501
@ M501
Definition: gcodecommands.h:206
GCode::M229
@ M229
Definition: gcodecommands.h:149
GCode::M564
@ M564
Definition: gcodecommands.h:224
GCode::M571
@ M571
Definition: gcodecommands.h:231
GCode::M321
@ M321
Definition: gcodecommands.h:168
GCode::M567
@ M567
Definition: gcodecommands.h:227
GCode::M24
@ M24
Definition: gcodecommands.h:45
GCode::M552
@ M552
Definition: gcodecommands.h:212
GCode::M228
@ M228
Definition: gcodecommands.h:148
GCode::M362
@ M362
Definition: gcodecommands.h:177
GCode::M121
@ M121
Definition: gcodecommands.h:97
GCode::M569
@ M569
Definition: gcodecommands.h:229
GCode::M203
@ M203
Definition: gcodecommands.h:129
GCode::commandRequiresArgument
static const QString commandRequiresArgument
Definition: gcodecommands.h:303
GCode::M107
@ M107
Definition: gcodecommands.h:83
GCode::M122
@ M122
Definition: gcodecommands.h:98
GCode::M116
@ M116
Definition: gcodecommands.h:92
GCode::M104
@ M104
Definition: gcodecommands.h:80
GCode::M41
@ M41
Definition: gcodecommands.h:60
GCode::M2
@ M2
Definition: gcodecommands.h:37
GCode::M201
@ M201
Definition: gcodecommands.h:127
GCode::M127
@ M127
Definition: gcodecommands.h:102
GCode::M209
@ M209
Definition: gcodecommands.h:135
GCode::M581
@ M581
Definition: gcodecommands.h:240
GCode::M556
@ M556
Definition: gcodecommands.h:216
GCode::M451
@ M451
Definition: gcodecommands.h:201
GCode::M558
@ M558
Definition: gcodecommands.h:218
GCode::M210
@ M210
Definition: gcodecommands.h:136
GCode::M222
@ M222
Definition: gcodecommands.h:142
GCode::M372
@ M372
Definition: gcodecommands.h:184
GCode::M115
@ M115
Definition: gcodecommands.h:91
GCode::M566
@ M566
Definition: gcodecommands.h:226
GCode::M111
@ M111
Definition: gcodecommands.h:87
GCode::M42
@ M42
Definition: gcodecommands.h:61
GCode::M108
@ M108
Definition: gcodecommands.h:84
GCode::M83
@ M83
Definition: gcodecommands.h:70
GCode::M37
@ M37
Definition: gcodecommands.h:57
GCode::M123
@ M123
Definition: gcodecommands.h:99
GCode::M553
@ M553
Definition: gcodecommands.h:213
GCode::M206
@ M206
Definition: gcodecommands.h:132
GCode::M502
@ M502
Definition: gcodecommands.h:207
GCode::M131
@ M131
Definition: gcodecommands.h:106
GCode::M223
@ M223
Definition: gcodecommands.h:143
GCode::M22
@ M22
Definition: gcodecommands.h:43
GCode::M304
@ M304
Definition: gcodecommands.h:164
GCode::M34
@ M34
Definition: gcodecommands.h:55
GCode::M109
@ M109
Definition: gcodecommands.h:85
GCode::M114
@ M114
Definition: gcodecommands.h:90
GCode::M0
@ M0
Definition: gcodecommands.h:35
GCode::M303
@ M303
Definition: gcodecommands.h:163
GCode::M572
@ M572
Definition: gcodecommands.h:232
GCode
The GCode class Provides Descriptions and Commands strings for G and M Commands.
Definition: gcodecommands.h:19
GCode::M134
@ M134
Definition: gcodecommands.h:109
GCode::M93
@ M93
Definition: gcodecommands.h:74
GCode::M23
@ M23
Definition: gcodecommands.h:44
GCode::M85
@ M85
Definition: gcodecommands.h:72
GCode::M117
@ M117
Definition: gcodecommands.h:93
GCode::M129
@ M129
Definition: gcodecommands.h:104
GCode::M305
@ M305
Definition: gcodecommands.h:165
GCode::M207
@ M207
Definition: gcodecommands.h:133
GCode::M143
@ M143
Definition: gcodecommands.h:115
GCode::M144
@ M144
Definition: gcodecommands.h:116
GCode::M119
@ M119
Definition: gcodecommands.h:95
GCode::M998
@ M998
Definition: gcodecommands.h:267
GCode::M33
@ M33
Definition: gcodecommands.h:54
GCode::M211
@ M211
Definition: gcodecommands.h:137
GCode::M208
@ M208
Definition: gcodecommands.h:134
GCode::M365
@ M365
Definition: gcodecommands.h:180
GCode::M584
@ M584
Definition: gcodecommands.h:243
GCode::M363
@ M363
Definition: gcodecommands.h:178
GCode::M221
@ M221
Definition: gcodecommands.h:141
GCode::M371
@ M371
Definition: gcodecommands.h:183
GCode::M230
@ M230
Definition: gcodecommands.h:150
GCode::M120
@ M120
Definition: gcodecommands.h:96
GCode::M73
@ M73
Definition: gcodecommands.h:66
GCode::M402
@ M402
Definition: gcodecommands.h:192
GCode::M224
@ M224
Definition: gcodecommands.h:144
GCode::M559
@ M559
Definition: gcodecommands.h:219
GCode::M133
@ M133
Definition: gcodecommands.h:108
GCode::M26
@ M26
Definition: gcodecommands.h:47
GCode::commandNotSupported
static const QString commandNotSupported
Definition: gcodecommands.h:304
GCode::M106
@ M106
Definition: gcodecommands.h:82
GCode::M246
@ M246
Definition: gcodecommands.h:156
GCode::M407
@ M407
Definition: gcodecommands.h:196
GCode::M421
@ M421
Definition: gcodecommands.h:199
GCode::M913
@ M913
Definition: gcodecommands.h:264
GCode::M555
@ M555
Definition: gcodecommands.h:215
GCode::M82
@ M82
Definition: gcodecommands.h:69
GCode::M322
@ M322
Definition: gcodecommands.h:169
GCode::M405
@ M405
Definition: gcodecommands.h:194
GCode::M375
@ M375
Definition: gcodecommands.h:187
GCode::M373
@ M373
Definition: gcodecommands.h:185
GCode::M32
@ M32
Definition: gcodecommands.h:53
GCode::M366
@ M366
Definition: gcodecommands.h:181
GCode::M667
@ M667
Definition: gcodecommands.h:248
GCode::M401
@ M401
Definition: gcodecommands.h:191
GCode::M142
@ M142
Definition: gcodecommands.h:114
GCode::M31
@ M31
Definition: gcodecommands.h:52
GCode::M112
@ M112
Definition: gcodecommands.h:88
GCode::M406
@ M406
Definition: gcodecommands.h:195
GCode::M232
@ M232
Definition: gcodecommands.h:152
GCode::M99
@ M99
Definition: gcodecommands.h:76
GCode::M130
@ M130
Definition: gcodecommands.h:105
GCode::M84
@ M84
Definition: gcodecommands.h:71
GCode::M43
@ M43
Definition: gcodecommands.h:62
GCode::M302
@ M302
Definition: gcodecommands.h:162
GCode::M27
@ M27
Definition: gcodecommands.h:48
GCode::M908
@ M908
Definition: gcodecommands.h:260
GCode::M102
@ M102
Definition: gcodecommands.h:78
GCode::M453
@ M453
Definition: gcodecommands.h:203
GCode::M202
@ M202
Definition: gcodecommands.h:128
GCode::M25
@ M25
Definition: gcodecommands.h:46
GCode::M110
@ M110
Definition: gcodecommands.h:86
GCode::M557
@ M557
Definition: gcodecommands.h:217
GCode::M225
@ M225
Definition: gcodecommands.h:145
GCode::M668
@ M668
Definition: gcodecommands.h:249
GCode::M141
@ M141
Definition: gcodecommands.h:113
GCode::M105
@ M105
Definition: gcodecommands.h:81
GCode::M136
@ M136
Definition: gcodecommands.h:111
GCode::M551
@ M551
Definition: gcodecommands.h:211
GCode::M118
@ M118
Definition: gcodecommands.h:94
GCode::M212
@ M212
Definition: gcodecommands.h:138
GCode::M205
@ M205
Definition: gcodecommands.h:131
GCode::M583
@ M583
Definition: gcodecommands.h:242
GCode::M570
@ M570
Definition: gcodecommands.h:230
GCode::M561
@ M561
Definition: gcodecommands.h:221
GCode::M135
@ M135
Definition: gcodecommands.h:110
GCode::M560
@ M560
Definition: gcodecommands.h:220
GCode::M241
@ M241
Definition: gcodecommands.h:154
GCode::M231
@ M231
Definition: gcodecommands.h:151
GCode::M323
@ M323
Definition: gcodecommands.h:170
GCode::M191
@ M191
Definition: gcodecommands.h:125
GCode::GCommands
GCommands
The GCommands enum.
Definition: gcodecommands.h:28
GCode::MCommands
MCommands
The MCommands enum.
Definition: gcodecommands.h:34
GCode::M364
@ M364
Definition: gcodecommands.h:179
GCode::M565
@ M565
Definition: gcodecommands.h:225
GCode::M912
@ M912
Definition: gcodecommands.h:263
GCode::M21
@ M21
Definition: gcodecommands.h:42
GCode::M911
@ M911
Definition: gcodecommands.h:262
GCode::M103
@ M103
Definition: gcodecommands.h:79
GCode::M132
@ M132
Definition: gcodecommands.h:107
GCode::M703
@ M703
Definition: gcodecommands.h:253
GCode::M574
@ M574
Definition: gcodecommands.h:234
GCode::M374
@ M374
Definition: gcodecommands.h:186
GCode::M408
@ M408
Definition: gcodecommands.h:197