Merge pull request #9699 from Studiodyne/Studiodyne-filamentMulti
[2.0.x] Support multiple filament runout sensors
This commit is contained in:
		| @@ -852,15 +852,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -216,20 +216,6 @@ void setup_killpin() { | |||||||
|   #endif |   #endif | ||||||
| } | } | ||||||
|  |  | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) |  | ||||||
|  |  | ||||||
|   void setup_filrunoutpin() { |  | ||||||
|     #if ENABLED(FIL_RUNOUT_PULLUP) |  | ||||||
|       SET_INPUT_PULLUP(FIL_RUNOUT_PIN); |  | ||||||
|     #elif ENABLED(FIL_RUNOUT_PULLDOWN) |  | ||||||
|       SET_INPUT_PULLDOWN(FIL_RUNOUT_PIN); |  | ||||||
|     #else |  | ||||||
|       SET_INPUT(FIL_RUNOUT_PIN); |  | ||||||
|     #endif |  | ||||||
|   } |  | ||||||
|  |  | ||||||
| #endif |  | ||||||
|  |  | ||||||
| void setup_powerhold() { | void setup_powerhold() { | ||||||
|   #if HAS_SUICIDE |   #if HAS_SUICIDE | ||||||
|     OUT_WRITE(SUICIDE_PIN, HIGH); |     OUT_WRITE(SUICIDE_PIN, HIGH); | ||||||
| @@ -336,11 +322,7 @@ void disable_all_steppers() { | |||||||
| void manage_inactivity(bool ignore_stepper_queue/*=false*/) { | void manage_inactivity(bool ignore_stepper_queue/*=false*/) { | ||||||
|  |  | ||||||
|   #if ENABLED(FILAMENT_RUNOUT_SENSOR) |   #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|     if ((IS_SD_PRINTING || print_job_timer.isRunning()) |     runout.run(); | ||||||
|       && READ(FIL_RUNOUT_PIN) == FIL_RUNOUT_INVERTING |  | ||||||
|       && thermalManager.targetHotEnoughToExtrude(active_extruder) |  | ||||||
|     ) |  | ||||||
|       handle_filament_runout(); |  | ||||||
|   #endif |   #endif | ||||||
|  |  | ||||||
|   if (commands_in_queue < BUFSIZE) get_available_commands(); |   if (commands_in_queue < BUFSIZE) get_available_commands(); | ||||||
| @@ -661,7 +643,7 @@ void setup() { | |||||||
|   #endif |   #endif | ||||||
|  |  | ||||||
|   #if ENABLED(FILAMENT_RUNOUT_SENSOR) |   #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|     setup_filrunoutpin(); |     runout.setup(); | ||||||
|   #endif |   #endif | ||||||
|  |  | ||||||
|   setup_killpin(); |   setup_killpin(); | ||||||
|   | |||||||
| @@ -852,15 +852,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -872,15 +872,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -852,15 +852,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -962,15 +962,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -859,15 +859,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -852,15 +852,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -852,15 +852,16 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -852,15 +852,16 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -840,15 +840,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -853,15 +853,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -840,15 +840,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -851,15 +851,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -862,15 +862,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -843,15 +843,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| #define FILAMENT_RUNOUT_SENSOR | #define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING true // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING true // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -847,15 +847,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -834,15 +834,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -834,15 +834,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -858,15 +858,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -867,15 +867,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -852,15 +852,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -859,15 +859,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -858,15 +858,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -856,15 +856,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -864,15 +864,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| #define FILAMENT_RUNOUT_SENSOR | #define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -872,15 +872,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -876,15 +876,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -851,15 +851,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -856,15 +856,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -856,15 +856,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -852,15 +852,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -852,15 +852,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -850,15 +850,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -864,15 +864,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -855,15 +855,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -883,15 +883,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -852,15 +852,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -908,15 +908,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -843,15 +843,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -852,15 +852,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -863,15 +863,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -843,15 +843,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -882,15 +882,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -852,15 +852,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -852,15 +852,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -853,15 +853,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -852,15 +852,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -982,15 +982,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -973,15 +973,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -982,15 +982,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -969,15 +969,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -972,15 +972,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -972,15 +972,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -981,15 +981,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -866,15 +866,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| #define FILAMENT_RUNOUT_SENSOR | #define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -855,15 +855,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -853,15 +853,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -847,15 +847,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -857,15 +857,16 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout Sensor |  * Filament Runout Sensors | ||||||
|  * A mechanical or opto endstop is used to check for the presence of filament. |  * Mechanical or opto endstops are used to check for the presence of filament. | ||||||
|  * |  * | ||||||
|  * RAMPS-based boards use SERVO3_PIN. |  * RAMPS-based boards use SERVO3_PIN for the first runout sensor. | ||||||
|  * For other boards you may need to define FIL_RUNOUT_PIN. |  * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. | ||||||
|  * By default the firmware assumes HIGH = has filament, LOW = ran out |  * By default the firmware assumes HIGH=FILAMENT PRESENT. | ||||||
|  */ |  */ | ||||||
| //#define FILAMENT_RUNOUT_SENSOR | //#define FILAMENT_RUNOUT_SENSOR | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |   #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. | ||||||
|   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. |   #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. | ||||||
|   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. |   #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins. | ||||||
|   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. |   //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins. | ||||||
|   | |||||||
| @@ -500,7 +500,7 @@ void resume_print(const float &load_length/*=0*/, const float &purge_length/*=AD | |||||||
|   planner.set_e_position_mm(destination[E_AXIS] = current_position[E_AXIS] = resume_position[E_AXIS]); |   planner.set_e_position_mm(destination[E_AXIS] = current_position[E_AXIS] = resume_position[E_AXIS]); | ||||||
|  |  | ||||||
|   #if ENABLED(FILAMENT_RUNOUT_SENSOR) |   #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|     filament_ran_out = false; |     runout.reset(); | ||||||
|   #endif |   #endif | ||||||
|  |  | ||||||
|   #if ENABLED(ULTIPANEL) |   #if ENABLED(ULTIPANEL) | ||||||
|   | |||||||
| @@ -24,21 +24,39 @@ | |||||||
|  * feature/runout.cpp - Runout sensor support |  * feature/runout.cpp - Runout sensor support | ||||||
|  */ |  */ | ||||||
|  |  | ||||||
| #include "../inc/MarlinConfig.h" | #include "../inc/MarlinConfigPre.h" | ||||||
|  |  | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|  |  | ||||||
| #include "../module/stepper.h" | #include "runout.h" | ||||||
| #include "../gcode/queue.h" |  | ||||||
|  |  | ||||||
| bool filament_ran_out = false; | FilamentRunoutSensor runout; | ||||||
|  |  | ||||||
| void handle_filament_runout() { | bool FilamentRunoutSensor::filament_ran_out; // = false; | ||||||
|   if (!filament_ran_out) { |  | ||||||
|     filament_ran_out = true; | void FilamentRunoutSensor::setup() { | ||||||
|     enqueue_and_echo_commands_P(PSTR(FILAMENT_RUNOUT_SCRIPT)); |  | ||||||
|     stepper.synchronize(); |   #if ENABLED(FIL_RUNOUT_PULLUP) | ||||||
|   } |     #define INIT_RUNOUT_PIN(P) SET_INPUT_PULLUP(P) | ||||||
|  |   #elif ENABLED(FIL_RUNOUT_PULLDOWN) | ||||||
|  |     #define INIT_RUNOUT_PIN(P) SET_INPUT_PULLDOWN(P) | ||||||
|  |   #else | ||||||
|  |     #define INIT_RUNOUT_PIN(P) SET_INPUT(P) | ||||||
|  |   #endif | ||||||
|  |  | ||||||
|  |   INIT_RUNOUT_PIN(FIL_RUNOUT_PIN); | ||||||
|  |   #if NUM_RUNOUT_SENSORS > 1 | ||||||
|  |     INIT_RUNOUT_PIN(FIL_RUNOUT2_PIN); | ||||||
|  |     #if NUM_RUNOUT_SENSORS > 2 | ||||||
|  |       INIT_RUNOUT_PIN(FIL_RUNOUT3_PIN); | ||||||
|  |       #if NUM_RUNOUT_SENSORS > 3 | ||||||
|  |         INIT_RUNOUT_PIN(FIL_RUNOUT4_PIN); | ||||||
|  |         #if NUM_RUNOUT_SENSORS > 4 | ||||||
|  |           INIT_RUNOUT_PIN(FIL_RUNOUT5_PIN); | ||||||
|  |         #endif | ||||||
|  |       #endif | ||||||
|  |     #endif | ||||||
|  |   #endif | ||||||
| } | } | ||||||
|  |  | ||||||
| #endif // FILAMENT_RUNOUT_SENSOR | #endif // FILAMENT_RUNOUT_SENSOR | ||||||
|   | |||||||
| @@ -27,8 +27,55 @@ | |||||||
| #ifndef _RUNOUT_H_ | #ifndef _RUNOUT_H_ | ||||||
| #define _RUNOUT_H_ | #define _RUNOUT_H_ | ||||||
|  |  | ||||||
| extern bool filament_ran_out; | #include "../sd/cardreader.h" | ||||||
|  | #include "../module/printcounter.h" | ||||||
|  | #include "../module/stepper.h" | ||||||
|  | #include "../gcode/queue.h" | ||||||
|  |  | ||||||
| void handle_filament_runout(); | #include "../inc/MarlinConfig.h" | ||||||
|  |  | ||||||
|  | class FilamentRunoutSensor { | ||||||
|  |  | ||||||
|  |   FilamentRunoutSensor() {} | ||||||
|  |  | ||||||
|  |   static bool filament_ran_out; | ||||||
|  |   static void setup(); | ||||||
|  |  | ||||||
|  |   FORCE_INLINE static reset() { filament_ran_out = false; } | ||||||
|  |  | ||||||
|  |   FORCE_INLINE static bool check() { | ||||||
|  |     #if NUM_RUNOUT_SENSORS < 2 | ||||||
|  |       // A single sensor applying to all extruders | ||||||
|  |       return READ(FIL_RUNOUT_PIN) == FIL_RUNOUT_INVERTING; | ||||||
|  |     #else | ||||||
|  |       // Read the sensor for the active extruder | ||||||
|  |       switch (active_extruder) { | ||||||
|  |         case 0: return READ(FIL_RUNOUT_PIN) == FIL_RUNOUT_INVERTING; | ||||||
|  |         case 1: return READ(FIL_RUNOUT2_PIN) == FIL_RUNOUT_INVERTING; | ||||||
|  |         #if NUM_RUNOUT_SENSORS > 2 | ||||||
|  |           case 2: return READ(FIL_RUNOUT3_PIN) == FIL_RUNOUT_INVERTING; | ||||||
|  |           #if NUM_RUNOUT_SENSORS > 3 | ||||||
|  |             case 3: return READ(FIL_RUNOUT4_PIN) == FIL_RUNOUT_INVERTING; | ||||||
|  |             #if NUM_RUNOUT_SENSORS > 4 | ||||||
|  |               case 4: return READ(FIL_RUNOUT5_PIN) == FIL_RUNOUT_INVERTING; | ||||||
|  |             #endif | ||||||
|  |           #endif | ||||||
|  |         #endif | ||||||
|  |       } | ||||||
|  |     #endif | ||||||
|  |     return false; | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   FORCE_INLINE static void run() { | ||||||
|  |     if ((IS_SD_PRINTING || print_job_timer.isRunning()) && check() && !filament_ran_out) { | ||||||
|  |       filament_ran_out = true; | ||||||
|  |       enqueue_and_echo_commands_P(PSTR(FILAMENT_RUNOUT_SCRIPT)); | ||||||
|  |       stepper.synchronize(); | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |  | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | extern FilamentRunoutSensor runout; | ||||||
|  |  | ||||||
| #endif // _RUNOUT_H_ | #endif // _RUNOUT_H_ | ||||||
|   | |||||||
| @@ -792,7 +792,6 @@ | |||||||
|  |  | ||||||
| // Sensors | // Sensors | ||||||
| #define HAS_FILAMENT_WIDTH_SENSOR (PIN_EXISTS(FILWIDTH)) | #define HAS_FILAMENT_WIDTH_SENSOR (PIN_EXISTS(FILWIDTH)) | ||||||
| #define HAS_FIL_RUNOUT (PIN_EXISTS(FIL_RUNOUT)) |  | ||||||
|  |  | ||||||
| // User Interface | // User Interface | ||||||
| #define HAS_HOME (PIN_EXISTS(HOME)) | #define HAS_HOME (PIN_EXISTS(HOME)) | ||||||
|   | |||||||
| @@ -429,11 +429,21 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE && Y_MAX_LENGTH >= Y_BED_SIZE, | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Filament Runout needs a pin and either SD Support or Auto print start detection |  * Filament Runout needs one or more pins and either SD Support or Auto print start detection | ||||||
|  */ |  */ | ||||||
| #if ENABLED(FILAMENT_RUNOUT_SENSOR) | #if ENABLED(FILAMENT_RUNOUT_SENSOR) | ||||||
|   #if !HAS_FIL_RUNOUT |   #if !PIN_EXISTS(FIL_RUNOUT) | ||||||
|     #error "FILAMENT_RUNOUT_SENSOR requires FIL_RUNOUT_PIN." |     #error "FILAMENT_RUNOUT_SENSOR requires FIL_RUNOUT_PIN." | ||||||
|  |   #elif NUM_RUNOUT_SENSORS > E_STEPPERS | ||||||
|  |     #error "NUM_RUNOUT_SENSORS cannot exceed the number of E steppers." | ||||||
|  |   #elif NUM_RUNOUT_SENSORS > 1 && !PIN_EXISTS(FIL_RUNOUT2) | ||||||
|  |     #error "FILAMENT_RUNOUT_SENSOR with NUM_RUNOUT_SENSORS > 1 requires FIL_RUNOUT2_PIN." | ||||||
|  |   #elif NUM_RUNOUT_SENSORS > 2 && !PIN_EXISTS(FIL_RUNOUT3) | ||||||
|  |     #error "FILAMENT_RUNOUT_SENSOR with NUM_RUNOUT_SENSORS > 2 requires FIL_RUNOUT3_PIN." | ||||||
|  |   #elif NUM_RUNOUT_SENSORS > 3 && !PIN_EXISTS(FIL_RUNOUT4) | ||||||
|  |     #error "FILAMENT_RUNOUT_SENSOR with NUM_RUNOUT_SENSORS > 3 requires FIL_RUNOUT4_PIN." | ||||||
|  |   #elif NUM_RUNOUT_SENSORS > 4 && !PIN_EXISTS(FIL_RUNOUT5) | ||||||
|  |     #error "FILAMENT_RUNOUT_SENSOR with NUM_RUNOUT_SENSORS > 4 requires FIL_RUNOUT5_PIN." | ||||||
|   #elif DISABLED(SDSUPPORT) && DISABLED(PRINTJOB_TIMER_AUTOSTART) |   #elif DISABLED(SDSUPPORT) && DISABLED(PRINTJOB_TIMER_AUTOSTART) | ||||||
|     #error "FILAMENT_RUNOUT_SENSOR requires SDSUPPORT or PRINTJOB_TIMER_AUTOSTART." |     #error "FILAMENT_RUNOUT_SENSOR requires SDSUPPORT or PRINTJOB_TIMER_AUTOSTART." | ||||||
|   #elif DISABLED(ADVANCED_PAUSE_FEATURE) |   #elif DISABLED(ADVANCED_PAUSE_FEATURE) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user