Various fixes.

- Restored MIN_TEMP error on disconnecting head.
- Restored WORKSPACE_OFFSETS (as requested by forum user).
master
Marcio Teixeira 7 years ago
parent c9fb50d055
commit 0cbe9d41d6

@ -39,7 +39,7 @@
#error Must specify model and toolhead. Please see "Configuration_LulzBot.h" for directions. #error Must specify model and toolhead. Please see "Configuration_LulzBot.h" for directions.
#endif #endif
#define LULZBOT_FW_VERSION ".2" #define LULZBOT_FW_VERSION ".3"
// Select options based on printer model // Select options based on printer model
@ -124,11 +124,37 @@
#endif #endif
// Shared values // Shared values
#define LULZBOT_STRING_CONFIG_H_AUTHOR "(Aleph Objects Inc., LulzBot Diffusion)" #define LULZBOT_STRING_CONFIG_H_AUTHOR "(Aleph Objects Inc., LulzBot Git Repository)"
#define LULZBOT_BUFSIZE 10 #define LULZBOT_BUFSIZE 10
#define LULZBOT_EEPROM_SETTINGS #define LULZBOT_EEPROM_SETTINGS
#define LULZBOT_EMERGENCY_PARSER #define LULZBOT_EMERGENCY_PARSER
// Marlin 1.1.5 no longer issues MIN_TEMP errors and appears to handle
// thermal runaway via other means. However, since our users expect a
// MIN_TEMP error when disconnecting their print head, this could be
// perceived as a safety issue. This is a workaround in "temperature.cpp"
// to re-enable that functionality.
#define LULZBOT_MIN_TEMP_WORKAROUND \
static int delayBeforeStartMeasuring = OVERSAMPLENR; \
if(delayBeforeStartMeasuring > 0) { \
delayBeforeStartMeasuring--; \
} else { \
if (current_temperature[e] > HEATER_0_MAXTEMP) max_temp_error(0); \
if (current_temperature[e] < HEATER_0_MINTEMP) min_temp_error(0); \
}
// Marlin 1.1.4 has changed the behavior of G92 so that
// it changes software endstops, making it less useful
// for making position adjustments after hitting an
// endstop. We need the old behavior of G92 for the
// Yellowfin start GCODE and it is also a useful
// feature for custom height adjustments (something
// requested in the forums). The following restores
// the old behavior.
#define LULZBOT_G92_BACKWARDS_COMPATIBILITY
// Prior branches of the LulzBot firmware used G26 // Prior branches of the LulzBot firmware used G26
// to reset a probe failed condition. Marlin upstrem // to reset a probe failed condition. Marlin upstrem
// now redefines that for unified bed leveling. The // now redefines that for unified bed leveling. The
@ -371,13 +397,6 @@
#define LULZBOT_Z_CLEARANCE_DEPLOY_PROBE 5 #define LULZBOT_Z_CLEARANCE_DEPLOY_PROBE 5
#define LULZBOT_Z_CLEARANCE_BETWEEN_PROBES 5 #define LULZBOT_Z_CLEARANCE_BETWEEN_PROBES 5
/* We use G92 for adjusting the coordinate space in the Yellowfin toolhead,
* however upstream Marlin has made it so G92 adjusts the software endstops,
* which makes G92 unusable for our use case. As an interim measure, revert
* to the previous behavior of G29 using NO_WORKSPACE_OFFSETS
*/
#define LULZBOT_NO_WORKSPACE_OFFSETS
/* On the Finch Aero toolhead, we need to disable the extruder /* On the Finch Aero toolhead, we need to disable the extruder
* motor as it causes noise on the probe line on Foxglove Minis. * motor as it causes noise on the probe line on Foxglove Minis.
*/ */

@ -1253,7 +1253,7 @@
* - M206 and M428 are disabled. * - M206 and M428 are disabled.
* - G92 will revert to its behavior from Marlin 1.0. * - G92 will revert to its behavior from Marlin 1.0.
*/ */
#define NO_WORKSPACE_OFFSETS LULZBOT_NO_WORKSPACE_OFFSETS //#define NO_WORKSPACE_OFFSETS
/** /**
* Set the number of proportional font spaces required to fill up a typical character space. * Set the number of proportional font spaces required to fill up a typical character space.

@ -5914,7 +5914,7 @@ inline void gcode_G92() {
current_position[i] = parser.value_axis_units((AxisEnum)i); current_position[i] = parser.value_axis_units((AxisEnum)i);
if (i != E_AXIS) didXYZ = true; if (i != E_AXIS) didXYZ = true;
#else #else
#if HAS_POSITION_SHIFT #if HAS_POSITION_SHIFT && !defined(LULZBOT_G92_BACKWARDS_COMPATIBILITY)
const float p = current_position[i]; const float p = current_position[i];
#endif #endif
const float v = parser.value_axis_units((AxisEnum)i); const float v = parser.value_axis_units((AxisEnum)i);
@ -5923,7 +5923,7 @@ inline void gcode_G92() {
if (i != E_AXIS) { if (i != E_AXIS) {
didXYZ = true; didXYZ = true;
#if HAS_POSITION_SHIFT #if HAS_POSITION_SHIFT && !defined(LULZBOT_G92_BACKWARDS_COMPATIBILITY)
position_shift[i] += v - p; // Offset the coordinate space position_shift[i] += v - p; // Offset the coordinate space
update_software_endstops((AxisEnum)i); update_software_endstops((AxisEnum)i);

@ -726,6 +726,8 @@ void Temperature::manage_heater() {
HOTEND_LOOP() { HOTEND_LOOP() {
LULZBOT_MIN_TEMP_WORKAROUND
#if HEATER_IDLE_HANDLER #if HEATER_IDLE_HANDLER
if (!heater_idle_timeout_exceeded[e] && heater_idle_timeout_ms[e] && ELAPSED(ms, heater_idle_timeout_ms[e])) if (!heater_idle_timeout_exceeded[e] && heater_idle_timeout_ms[e] && ELAPSED(ms, heater_idle_timeout_ms[e]))
heater_idle_timeout_exceeded[e] = true; heater_idle_timeout_exceeded[e] = true;

Loading…
Cancel
Save