From b464887ea198d92bb3b5eac07e72decf074861b6 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sat, 16 Sep 2017 22:58:13 -0500 Subject: [PATCH] Make BARICUDA a feature --- Marlin/src/Marlin.cpp | 16 -------- Marlin/src/Marlin.h | 4 -- .../baricuda/M127.h => feature/baricuda.cpp} | 14 ++++--- .../baricuda/M126.h => feature/baricuda.h} | 11 +++-- .../baricuda/{M128.h => M126-M129.cpp} | 40 ++++++++++++++++--- Marlin/src/gcode/feature/baricuda/M129.h | 30 -------------- Marlin/src/gcode/gcode.cpp | 24 +++-------- Marlin/src/module/planner.cpp | 4 ++ 8 files changed, 57 insertions(+), 86 deletions(-) rename Marlin/src/{gcode/feature/baricuda/M127.h => feature/baricuda.cpp} (83%) rename Marlin/src/{gcode/feature/baricuda/M126.h => feature/baricuda.h} (85%) rename Marlin/src/gcode/feature/baricuda/{M128.h => M126-M129.cpp} (55%) delete mode 100644 Marlin/src/gcode/feature/baricuda/M129.h diff --git a/Marlin/src/Marlin.cpp b/Marlin/src/Marlin.cpp index 613873a37..24c61f24a 100644 --- a/Marlin/src/Marlin.cpp +++ b/Marlin/src/Marlin.cpp @@ -177,11 +177,6 @@ static millis_t stepper_inactive_time = (DEFAULT_STEPPER_DEACTIVE_TIME) * 1000UL float z_endstop_adj; #endif -#if ENABLED(BARICUDA) - uint8_t baricuda_valve_pressure = 0, - baricuda_e_to_p_pressure = 0; -#endif - #if HAS_POWER_SWITCH bool powersupply_on = #if ENABLED(PS_DEFAULT_OFF) @@ -374,17 +369,6 @@ bool pin_is_protected(const int8_t pin) { return false; } -#if ENABLED(BARICUDA) - #if HAS_HEATER_1 - #include "gcode/feature/baricuda/M126.h" - #include "gcode/feature/baricuda/M127.h" - #endif - #if HAS_HEATER_2 - #include "gcode/feature/baricuda/M128.h" - #include "gcode/feature/baricuda/M129.h" - #endif -#endif - #if ENABLED(ULTIPANEL) #include "gcode/lcd/M145.h" #endif diff --git a/Marlin/src/Marlin.h b/Marlin/src/Marlin.h index 3918e38a1..26b90bfdd 100644 --- a/Marlin/src/Marlin.h +++ b/Marlin/src/Marlin.h @@ -207,10 +207,6 @@ extern volatile bool wait_for_heatup; #endif #endif -#if ENABLED(BARICUDA) - extern uint8_t baricuda_valve_pressure, baricuda_e_to_p_pressure; -#endif - #if ENABLED(ADVANCED_PAUSE_FEATURE) extern AdvancedPauseMenuResponse advanced_pause_menu_response; #endif diff --git a/Marlin/src/gcode/feature/baricuda/M127.h b/Marlin/src/feature/baricuda.cpp similarity index 83% rename from Marlin/src/gcode/feature/baricuda/M127.h rename to Marlin/src/feature/baricuda.cpp index 1fb1202be..c74e4b60b 100644 --- a/Marlin/src/gcode/feature/baricuda/M127.h +++ b/Marlin/src/feature/baricuda.cpp @@ -20,11 +20,13 @@ * */ -/** - * M127: Heater 1 valve close - */ -void gcode_M127() { +#include "../inc/MarlinConfig.h" + +#if ENABLED(BARICUDA) + +#include "baricuda.h" - baricuda_valve_pressure = 0; +uint8_t baricuda_valve_pressure = 0, + baricuda_e_to_p_pressure = 0; -} +#endif // BARICUDA diff --git a/Marlin/src/gcode/feature/baricuda/M126.h b/Marlin/src/feature/baricuda.h similarity index 85% rename from Marlin/src/gcode/feature/baricuda/M126.h rename to Marlin/src/feature/baricuda.h index 2543273ec..7ed23925b 100644 --- a/Marlin/src/gcode/feature/baricuda/M126.h +++ b/Marlin/src/feature/baricuda.h @@ -20,11 +20,10 @@ * */ -/** - * M126: Heater 1 valve open - */ -void gcode_M126() { +#ifndef __BARICUDA_H__ +#define __BARICUDA_H__ - baricuda_valve_pressure = parser.byteval('S', 255); +extern uint8_t baricuda_valve_pressure, + baricuda_e_to_p_pressure; -} +#endif // __BARICUDA_H__ diff --git a/Marlin/src/gcode/feature/baricuda/M128.h b/Marlin/src/gcode/feature/baricuda/M126-M129.cpp similarity index 55% rename from Marlin/src/gcode/feature/baricuda/M128.h rename to Marlin/src/gcode/feature/baricuda/M126-M129.cpp index 5a7e7823b..aaad59f46 100644 --- a/Marlin/src/gcode/feature/baricuda/M128.h +++ b/Marlin/src/gcode/feature/baricuda/M126-M129.cpp @@ -20,11 +20,39 @@ * */ -/** - * M128: Heater 2 valve open - */ -void gcode_M128() { +#include "../../../inc/MarlinConfig.h" + +#if ENABLED(BARICUDA) + +#include "../../gcode.h" +#include "../../../feature/baricuda.h" + +#if HAS_HEATER_1 + + /** + * M126: Heater 1 valve open + */ + void GcodeSuite::M126() { baricuda_valve_pressure = parser.byteval('S', 255); } + + /** + * M127: Heater 1 valve close + */ + void GcodeSuite::M127() { baricuda_valve_pressure = 0; } + +#endif // HAS_HEATER_1 + +#if HAS_HEATER_2 + + /** + * M128: Heater 2 valve open + */ + void GcodeSuite::M128() { baricuda_e_to_p_pressure = parser.byteval('S', 255); } + + /** + * M129: Heater 2 valve close + */ + void GcodeSuite::M129() { baricuda_e_to_p_pressure = 0; } - baricuda_e_to_p_pressure = parser.byteval('S', 255); +#endif // HAS_HEATER_2 -} +#endif // BARICUDA diff --git a/Marlin/src/gcode/feature/baricuda/M129.h b/Marlin/src/gcode/feature/baricuda/M129.h deleted file mode 100644 index 2401fd6fb..000000000 --- a/Marlin/src/gcode/feature/baricuda/M129.h +++ /dev/null @@ -1,30 +0,0 @@ -/** - * Marlin 3D Printer Firmware - * Copyright (C) 2016 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 . - * - */ - -/** - * M129: Heater 2 valve close - */ -void gcode_M129() { - - baricuda_e_to_p_pressure = 0; - -} diff --git a/Marlin/src/gcode/gcode.cpp b/Marlin/src/gcode/gcode.cpp index 50d6673b1..ffee42456 100644 --- a/Marlin/src/gcode/gcode.cpp +++ b/Marlin/src/gcode/gcode.cpp @@ -131,10 +131,6 @@ extern void gcode_M118(); extern void gcode_M119(); extern void gcode_M120(); extern void gcode_M121(); -extern void gcode_M126(); -extern void gcode_M127(); -extern void gcode_M128(); -extern void gcode_M129(); extern void gcode_M145(); extern void gcode_M149(); extern void gcode_M150(); @@ -486,23 +482,15 @@ void GcodeSuite::process_next_command() { #if ENABLED(BARICUDA) // PWM for HEATER_1_PIN #if HAS_HEATER_1 - case 126: // M126: valve open - gcode_M126(); - break; - case 127: // M127: valve closed - gcode_M127(); - break; - #endif // HAS_HEATER_1 + case 126: M126(); break; // M126: valve open + case 127: M127(); break; // M127: valve closed + #endif // PWM for HEATER_2_PIN #if HAS_HEATER_2 - case 128: // M128: valve open - gcode_M128(); - break; - case 129: // M129: valve closed - gcode_M129(); - break; - #endif // HAS_HEATER_2 + case 128: M128(); break; // M128: valve open + case 129: M129(); break; // M129: valve closed + #endif #endif // BARICUDA #if HAS_POWER_SWITCH diff --git a/Marlin/src/module/planner.cpp b/Marlin/src/module/planner.cpp index d17a321aa..1dc983c33 100644 --- a/Marlin/src/module/planner.cpp +++ b/Marlin/src/module/planner.cpp @@ -76,6 +76,10 @@ #include "../feature/filwidth.h" #endif +#if ENABLED(BARICUDA) + #include "../feature/baricuda.h" +#endif + Planner planner; // public: