Changeset View
Changeset View
Standalone View
Standalone View
src/gcodecommands.cpp
Show First 20 Lines • Show All 133 Lines • ▼ Show 20 Line(s) | 122 | { | |||
---|---|---|---|---|---|
134 | case M18://Teacup - Marlin(M84) - Smoothie -RepRap Firmware | 134 | case M18://Teacup - Marlin(M84) - Smoothie -RepRap Firmware | ||
135 | return QObject::tr("M18: Disable all steppers motors"); | 135 | return QObject::tr("M18: Disable all steppers motors"); | ||
136 | case M20://Teacup - Sprinter - Marlin - Repetier - Smoothie - RepRap Firmware | 136 | case M20://Teacup - Sprinter - Marlin - Repetier - Smoothie - RepRap Firmware | ||
137 | return QObject::tr("M20: List SDCard"); | 137 | return QObject::tr("M20: List SDCard"); | ||
138 | case M21://Teacup - Sprinter - Marlin - Repetier - Smoothie - RepRap Firmware | 138 | case M21://Teacup - Sprinter - Marlin - Repetier - Smoothie - RepRap Firmware | ||
139 | return QObject::tr("M21: Initialize SDCard"); | 139 | return QObject::tr("M21: Initialize SDCard"); | ||
140 | case M22://Teacup - Sprinter - Marlin - Repetier - RepRap Firmware | 140 | case M22://Teacup - Sprinter - Marlin - Repetier - RepRap Firmware | ||
141 | return QObject::tr("M22: Release SDCard"); | 141 | return QObject::tr("M22: Release SDCard"); | ||
142 | case M23:////Teacup - Sprinter - Marlin - Repetier - Smoothie - RepRap Firmware | 142 | case M23://Teacup - Sprinter - Marlin - Repetier - Smoothie - RepRap Firmware | ||
143 | return QObject::tr("M23: Select SD file"); | 143 | return QObject::tr("M23: Select SD file"); | ||
144 | case M24://Teacup - Sprinter - Marlin - Repetier - Smoothie - RepRap Firmware | 144 | case M24://Teacup - Sprinter - Marlin - Repetier - Smoothie - RepRap Firmware | ||
145 | return QObject::tr("M24: Start/resume SD print"); | 145 | return QObject::tr("M24: Start/resume SD print"); | ||
146 | case M25://Teacup - Sprinter - Marlin - Repetier - Smoothie - RepRap Firmware | 146 | case M25://Teacup - Sprinter - Marlin - Repetier - Smoothie - RepRap Firmware | ||
147 | return QObject::tr("M25: Pause SD print"); | 147 | return QObject::tr("M25: Pause SD print"); | ||
148 | case M26://Sprinter - Marlin - Repetier - Smoothie(abort) - RepRap Firmware | 148 | case M26://Sprinter - Marlin - Repetier - Smoothie(abort) - RepRap Firmware | ||
149 | return QObject::tr("M26: Set SD position"); | 149 | return QObject::tr("M26: Set SD position"); | ||
150 | case M27://Sprinter - Marlin - Repetier - Smoothie - RepRap Firmware | 150 | case M27://Sprinter - Marlin - Repetier - Smoothie - RepRap Firmware | ||
▲ Show 20 Lines • Show All 143 Lines • ▼ Show 20 Line(s) | |||||
294 | case M221://Teacup - Sprinter - Marlin - Repetier - Smoothie - RepRap Firmware | 294 | case M221://Teacup - Sprinter - Marlin - Repetier - Smoothie - RepRap Firmware | ||
295 | return QObject::tr("M221: Set extrude factor override percentage"); | 295 | return QObject::tr("M221: Set extrude factor override percentage"); | ||
296 | case M226://Marlin - Repetier | 296 | case M226://Marlin - Repetier | ||
297 | return QObject::tr("M226: Wait for pin state"); | 297 | return QObject::tr("M226: Wait for pin state"); | ||
298 | case M231://Repetier | 298 | case M231://Repetier | ||
299 | return QObject::tr("M231: Set OPS parameter"); | 299 | return QObject::tr("M231: Set OPS parameter"); | ||
300 | case M232://Repetier | 300 | case M232://Repetier | ||
301 | return QObject::tr("M232: Read and reset max. advance values"); | 301 | return QObject::tr("M232: Read and reset max. advance values"); | ||
302 | case M240: //Marlin | 302 | case M240://Marlin | ||
303 | return QObject::tr("M240: Trigger camera"); | 303 | return QObject::tr("M240: Trigger camera"); | ||
304 | case M250://Marlin | 304 | case M250://Marlin | ||
305 | return QObject::tr("M250: Set LCD contrast"); | 305 | return QObject::tr("M250: Set LCD contrast"); | ||
306 | case M251://Repetier | 306 | case M251://Repetier | ||
307 | return QObject::tr("M251: Measure Z steps from homing stop (Delta printers)"); | 307 | return QObject::tr("M251: Measure Z steps from homing stop (Delta printers)"); | ||
308 | case M280://Marlin | 308 | case M280://Marlin | ||
309 | return QObject::tr("M280: Set servo position"); | 309 | return QObject::tr("M280: Set servo position"); | ||
310 | case M300://Marlin - Repetier - RepRap Firmware - MakerBot | 310 | case M300://Marlin - Repetier - RepRap Firmware - MakerBot | ||
▲ Show 20 Lines • Show All 188 Lines • ▼ Show 20 Line(s) | 498 | default: | |||
499 | return QObject::tr("Not implemented or not supported!"); | 499 | return QObject::tr("Not implemented or not supported!"); | ||
500 | 500 | | |||
501 | } | 501 | } | ||
502 | } | 502 | } | ||
503 | 503 | | |||
504 | QString GCode::toCommand(MCommands gcode, const QString &value1, const QString &value2) | 504 | QString GCode::toCommand(MCommands gcode, const QString &value1, const QString &value2) | ||
505 | { | 505 | { | ||
506 | switch (gcode) { | 506 | switch (gcode) { | ||
507 | case M20: { | ||||
508 | return QStringLiteral("M20"); | ||||
509 | } | ||||
510 | case M21: { | ||||
511 | if (!value1.isEmpty()) { | ||||
512 | return QStringLiteral("M21 P%1").arg(value1); | ||||
513 | } | ||||
514 | return QStringLiteral("M21"); | ||||
515 | } | ||||
516 | case M22: { | ||||
517 | if (!value1.isEmpty()) { | ||||
518 | return QStringLiteral("M22 P%1").arg(value1); | ||||
519 | } | ||||
520 | return QStringLiteral("M22"); | ||||
521 | } | ||||
522 | case M23: { | ||||
523 | if (!value1.isEmpty()) { | ||||
524 | return QStringLiteral("M23 %1").arg(value1); | ||||
525 | } | ||||
526 | return QObject::tr("ERROR! M23: It's obligatory to have an argument"); | ||||
527 | } | ||||
528 | case M24: { | ||||
529 | return QStringLiteral("M24"); | ||||
530 | } | ||||
531 | case M25: { | ||||
532 | return QStringLiteral("M25"); | ||||
533 | } | ||||
534 | /// For M26 values that end with %. AtCore will send the percentage verison of the command (optional in firmwares) | ||||
535 | /// For all values not ending in % it will start on that byte. This is the standard Sd resume supported by all reprap based firmware. | ||||
536 | case M26: { | ||||
537 | if (!value1.isEmpty()) { | ||||
538 | if (value1.endsWith(QStringLiteral("%"))) { | ||||
539 | QString temp = value1; | ||||
540 | temp.replace(QStringLiteral("%"), QStringLiteral("")); | ||||
541 | return QStringLiteral("M26 P%1").arg(temp.toDouble() / 100); | ||||
542 | } | ||||
543 | return QStringLiteral("M26 S%1").arg(value1); | ||||
544 | } | ||||
545 | return QObject::tr("ERROR! M26: It's obligatory to have an argument"); | ||||
546 | } | ||||
547 | case M27: { | ||||
548 | return QStringLiteral("M27"); | ||||
549 | } | ||||
550 | case M28: { | ||||
551 | if (!value1.isEmpty()) { | ||||
552 | return QStringLiteral("M28 %1").arg(value1); | ||||
553 | } | ||||
554 | return QObject::tr("ERROR! M28: It's obligatory to have an argument"); | ||||
555 | } | ||||
556 | case M29: { | ||||
557 | if (!value1.isEmpty()) { | ||||
558 | return QStringLiteral("M29 %1").arg(value1); | ||||
559 | } | ||||
560 | return QObject::tr("ERROR! M29: It's obligatory to have an argument"); | ||||
561 | } | ||||
562 | case M30: { | ||||
563 | if (!value1.isEmpty()) { | ||||
564 | return QStringLiteral("M30 %1").arg(value1); | ||||
565 | } | ||||
566 | return QObject::tr("ERROR! M30: It's obligatory to have an argument"); | ||||
567 | } | ||||
tcanabrava: I don't like those - too much code repetition. you can use
accepted
QString enumName=… | |||||
rizzitello: Thats a good idea , will do this after this diff. | |||||
please see D10331. Will be done in that style when its merged. rizzitello: please see D10331. Will be done in that style when its merged. | |||||
I agree with @tcanabrava. patrickelectric: I agree with @tcanabrava. | |||||
See D10436. It will resolve that and this will be done to be the same way. rizzitello: See D10436. It will resolve that and this will be done to be the same way. | |||||
507 | case M84: { | 568 | case M84: { | ||
508 | if (!value1.isEmpty()) { | 569 | if (!value1.isEmpty()) { | ||
509 | return QStringLiteral("M84 S%1").arg(value1); | 570 | return QStringLiteral("M84 S%1").arg(value1); | ||
510 | } | 571 | } | ||
511 | return QStringLiteral("M84"); | 572 | return QStringLiteral("M84"); | ||
512 | } | 573 | } | ||
513 | case M104: { | 574 | case M104: { | ||
514 | if (!value2.isEmpty() && !value1.isEmpty()) { | 575 | if (!value2.isEmpty() && !value1.isEmpty()) { | ||
▲ Show 20 Lines • Show All 70 Lines • Show Last 20 Lines |
I don't like those - too much code repetition. you can use
accepted
QString enumName= QMetaEnum::fromType<Class::Enum>().valueToKey(gcode);
return QObject::tr("ERROR! " + enumName + " It's obligatory to have an argument");
then remove the lot of duplication