aboutsummaryrefslogtreecommitdiff
path: root/Marlin/src/gcode/units
diff options
context:
space:
mode:
Diffstat (limited to 'Marlin/src/gcode/units')
-rw-r--r--Marlin/src/gcode/units/G20_G21.cpp39
-rw-r--r--Marlin/src/gcode/units/M149.cpp38
-rw-r--r--Marlin/src/gcode/units/M82_M83.cpp33
3 files changed, 110 insertions, 0 deletions
diff --git a/Marlin/src/gcode/units/G20_G21.cpp b/Marlin/src/gcode/units/G20_G21.cpp
new file mode 100644
index 0000000..6f1d5ad
--- /dev/null
+++ b/Marlin/src/gcode/units/G20_G21.cpp
@@ -0,0 +1,39 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+
+#include "../../inc/MarlinConfig.h"
+
+#if ENABLED(INCH_MODE_SUPPORT)
+
+#include "../gcode.h"
+
+/**
+ * G20: Set input mode to inches
+ */
+void GcodeSuite::G20() { parser.set_input_linear_units(LINEARUNIT_INCH); }
+
+/**
+ * G21: Set input mode to millimeters
+ */
+void GcodeSuite::G21() { parser.set_input_linear_units(LINEARUNIT_MM); }
+
+#endif // INCH_MODE_SUPPORT
diff --git a/Marlin/src/gcode/units/M149.cpp b/Marlin/src/gcode/units/M149.cpp
new file mode 100644
index 0000000..5d9f832
--- /dev/null
+++ b/Marlin/src/gcode/units/M149.cpp
@@ -0,0 +1,38 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+
+#include "../../inc/MarlinConfig.h"
+
+#if ENABLED(TEMPERATURE_UNITS_SUPPORT)
+
+#include "../gcode.h"
+
+/**
+ * M149: Set temperature units
+ */
+void GcodeSuite::M149() {
+ if (parser.seenval('C')) parser.set_input_temp_units(TEMPUNIT_C);
+ else if (parser.seenval('K')) parser.set_input_temp_units(TEMPUNIT_K);
+ else if (parser.seenval('F')) parser.set_input_temp_units(TEMPUNIT_F);
+}
+
+#endif // TEMPERATURE_UNITS_SUPPORT
diff --git a/Marlin/src/gcode/units/M82_M83.cpp b/Marlin/src/gcode/units/M82_M83.cpp
new file mode 100644
index 0000000..d93f0ea
--- /dev/null
+++ b/Marlin/src/gcode/units/M82_M83.cpp
@@ -0,0 +1,33 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+
+#include "../gcode.h"
+
+/**
+ * M82: Set E codes absolute (default)
+ */
+void GcodeSuite::M82() { set_e_absolute(); }
+
+/**
+ * M83: Set E codes relative while in Absolute Coordinates (G90) mode
+ */
+void GcodeSuite::M83() { set_e_relative(); }