More chiron fixes. Reduced memory usage and better thermal runaway values.

This commit is contained in:
Knutwurst
2021-06-12 11:06:16 +02:00
parent 10536793fb
commit 4172c90f07
2 changed files with 95 additions and 63 deletions

View File

@@ -1683,7 +1683,7 @@
* Normally G28 leaves leveling disabled on completion. Enable * Normally G28 leaves leveling disabled on completion. Enable
* this option to have G28 restore the prior leveling state. * this option to have G28 restore the prior leveling state.
*/ */
//#define RESTORE_LEVELING_AFTER_G28 // Disabled due to some bugs regarding BLTouch leveling #define RESTORE_LEVELING_AFTER_G28 // Disabled due to some bugs regarding BLTouch leveling
/** /**
* Enable detailed logging of G28, G29, M48, etc. * Enable detailed logging of G28, G29, M48, etc.

View File

@@ -152,42 +152,61 @@
* THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD * THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
*/ */
#if ENABLED(THERMAL_PROTECTION_HOTENDS) #if ENABLED(THERMAL_PROTECTION_HOTENDS)
#define THERMAL_PROTECTION_PERIOD 10 // Seconds #if ENABLED(KNUTWURST_CHIRON)
#define THERMAL_PROTECTION_HYSTERESIS 15 // Degrees Celsius #define THERMAL_PROTECTION_PERIOD 60 // Seconds
#define THERMAL_PROTECTION_HYSTERESIS 20 // Degrees Celsius
#define WATCH_TEMP_PERIOD 60 // Seconds
#define WATCH_TEMP_INCREASE 10 // Degrees Celsius
#else
#define THERMAL_PROTECTION_PERIOD 10 // Seconds
#define THERMAL_PROTECTION_HYSTERESIS 15 // Degrees Celsius
//#define ADAPTIVE_FAN_SLOWING // Slow part cooling fan if temperature drops //#define ADAPTIVE_FAN_SLOWING // Slow part cooling fan if temperature drops
#if BOTH(ADAPTIVE_FAN_SLOWING, PIDTEMP) #if BOTH(ADAPTIVE_FAN_SLOWING, PIDTEMP)
//#define NO_FAN_SLOWING_IN_PID_TUNING // Don't slow fan speed during M303 //#define NO_FAN_SLOWING_IN_PID_TUNING // Don't slow fan speed during M303
#endif #endif
/** /**
* Whenever an M104, M109, or M303 increases the target temperature, the * Whenever an M104, M109, or M303 increases the target temperature, the
* firmware will wait for the WATCH_TEMP_PERIOD to expire. If the temperature * firmware will wait for the WATCH_TEMP_PERIOD to expire. If the temperature
* hasn't increased by WATCH_TEMP_INCREASE degrees, the machine is halted and * hasn't increased by WATCH_TEMP_INCREASE degrees, the machine is halted and
* requires a hard reset. This test restarts with any M104/M109/M303, but only * requires a hard reset. This test restarts with any M104/M109/M303, but only
* if the current temperature is far enough below the target for a reliable * if the current temperature is far enough below the target for a reliable
* test. * test.
* *
* If you get false positives for "Heating failed", increase WATCH_TEMP_PERIOD * If you get false positives for "Heating failed", increase WATCH_TEMP_PERIOD
* and/or decrease WATCH_TEMP_INCREASE. WATCH_TEMP_INCREASE should not be set * and/or decrease WATCH_TEMP_INCREASE. WATCH_TEMP_INCREASE should not be set
* below 2. * below 2.
*/ */
#define WATCH_TEMP_PERIOD 30 // Seconds #define WATCH_TEMP_PERIOD 30 // Seconds
#define WATCH_TEMP_INCREASE 3 // Degrees Celsius #define WATCH_TEMP_INCREASE 3 // Degrees Celsius
#endif
#endif #endif
/** /**
* Thermal Protection parameters for the bed are just as above for hotends. * Thermal Protection parameters for the bed are just as above for hotends.
*/ */
#if ENABLED(THERMAL_PROTECTION_BED) #if ENABLED(THERMAL_PROTECTION_BED)
#define THERMAL_PROTECTION_BED_PERIOD 20 // Seconds #if ENABLED(KNUTWURST_CHIRON)
#define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius #define THERMAL_PROTECTION_BED_PERIOD 40 // Seconds
#define THERMAL_PROTECTION_BED_HYSTERESIS 10 // Degrees Celsius
/** /**
* As described above, except for the bed (M140/M190/M303). * As described above, except for the bed (M140/M190/M303).
*/ */
#define WATCH_BED_TEMP_PERIOD 60 // Seconds #define WATCH_BED_TEMP_PERIOD 120 // Seconds
#define WATCH_BED_TEMP_INCREASE 2 // Degrees Celsius #define WATCH_BED_TEMP_INCREASE 10 // Degrees Celsius
#else
#define THERMAL_PROTECTION_BED_PERIOD 20 // Seconds
#define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius
/**
* As described above, except for the bed (M140/M190/M303).
*/
#define WATCH_BED_TEMP_PERIOD 60 // Seconds
#define WATCH_BED_TEMP_INCREASE 2 // Degrees Celsius
#endif
#endif #endif
/** /**
@@ -306,7 +325,13 @@
// The number of consecutive low temperature errors that can occur // The number of consecutive low temperature errors that can occur
// before a min_temp_error is triggered. (Shouldn't be more than 10.) // before a min_temp_error is triggered. (Shouldn't be more than 10.)
//#define MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED 0
#if ENABLED(KNUTWURST_CHIRON)
#define MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED 3
#else
//#define MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED 0
#endif
// The number of milliseconds a hotend will preheat before starting to check // The number of milliseconds a hotend will preheat before starting to check
// the temperature. This value should NOT be set to the time it takes the // the temperature. This value should NOT be set to the time it takes the
@@ -1532,7 +1557,7 @@
#define LIN_ADVANCE #define LIN_ADVANCE
#if ENABLED(LIN_ADVANCE) #if ENABLED(LIN_ADVANCE)
//#define EXTRA_LIN_ADVANCE_K // Enable for second linear advance constants //#define EXTRA_LIN_ADVANCE_K // Enable for second linear advance constants
#define LIN_ADVANCE_K 0 // Unit: mm compression per 1mm/s extruder speed #define LIN_ADVANCE_K 0.0 // Unit: mm compression per 1mm/s extruder speed
//#define LA_DEBUG // If enabled, this will generate debug information output over USB. //#define LA_DEBUG // If enabled, this will generate debug information output over USB.
#endif #endif
@@ -1577,13 +1602,6 @@
#endif #endif
#endif #endif
#if ENABLED(KNUTWURST_TFT_LEVELING)
#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE
#define MIN_PROBE_EDGE_RIGHT (MIN_PROBE_EDGE_LEFT + 380)
#define MIN_PROBE_EDGE_FRONT (MIN_PROBE_EDGE + 9)
#define MIN_PROBE_EDGE_BACK (MIN_PROBE_EDGE_FRONT + 380)
#endif
#if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL)
// Override the mesh area if the automatic (max) area is too large // Override the mesh area if the automatic (max) area is too large
#define MESH_MIN_X MESH_INSET #define MESH_MIN_X MESH_INSET
@@ -1736,35 +1754,49 @@
// @section hidden // @section hidden
// The number of linear motions that can be in the plan at any give time.
// THE BLOCK_BUFFER_SIZE NEEDS TO BE A POWER OF 2 (e.g. 8, 16, 32) because shifts and ors are used to do the ring-buffering. #if ENABLED(KNUTWURST_CHIRON)
#if ENABLED(SDSUPPORT) #if ENABLED(SDSUPPORT)
#define BLOCK_BUFFER_SIZE 16 // SD,LCD,Buttons take more memory, block buffer needs to be smaller #define BLOCK_BUFFER_SIZE 8 // SD,LCD,Buttons take more memory, block buffer needs to be smaller
#else
#define BLOCK_BUFFER_SIZE 16 // maximize block buffer
#endif
#define MAX_CMD_SIZE 96
#define BUFSIZE 4
#define TX_BUFFER_SIZE 0
#define RX_BUFFER_SIZE 64
#else #else
#define BLOCK_BUFFER_SIZE 16 // maximize block buffer // The number of linear motions that can be in the plan at any give time.
// THE BLOCK_BUFFER_SIZE NEEDS TO BE A POWER OF 2 (e.g. 8, 16, 32) because shifts and ors are used to do the ring-buffering.
#if ENABLED(SDSUPPORT)
#define BLOCK_BUFFER_SIZE 16 // SD,LCD,Buttons take more memory, block buffer needs to be smaller
#else
#define BLOCK_BUFFER_SIZE 16 // maximize block buffer
#endif
// @section serial
// The ASCII buffer for serial input
#define MAX_CMD_SIZE 128
#define BUFSIZE 8
// Transmission to Host Buffer Size
// To save 386 bytes of PROGMEM (and TX_BUFFER_SIZE+3 bytes of RAM) set to 0.
// To buffer a simple "ok" you need 4 bytes.
// For ADVANCED_OK (M105) you need 32 bytes.
// For debug-echo: 128 bytes for the optimal speed.
// Other output doesn't need to be that speedy.
// :[0, 2, 4, 8, 16, 32, 64, 128, 256]
#define TX_BUFFER_SIZE 0
// Host Receive Buffer Size
// Without XON/XOFF flow control (see SERIAL_XON_XOFF below) 32 bytes should be enough.
// To use flow control, set this buffer size to at least 1024 bytes.
// :[0, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048]
#define RX_BUFFER_SIZE 256
#endif #endif
// @section serial
// The ASCII buffer for serial input
#define MAX_CMD_SIZE 128
#define BUFSIZE 8
// Transmission to Host Buffer Size
// To save 386 bytes of PROGMEM (and TX_BUFFER_SIZE+3 bytes of RAM) set to 0.
// To buffer a simple "ok" you need 4 bytes.
// For ADVANCED_OK (M105) you need 32 bytes.
// For debug-echo: 128 bytes for the optimal speed.
// Other output doesn't need to be that speedy.
// :[0, 2, 4, 8, 16, 32, 64, 128, 256]
#define TX_BUFFER_SIZE 4
// Host Receive Buffer Size
// Without XON/XOFF flow control (see SERIAL_XON_XOFF below) 32 bytes should be enough.
// To use flow control, set this buffer size to at least 1024 bytes.
// :[0, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048]
#define RX_BUFFER_SIZE 256
#if RX_BUFFER_SIZE >= 1024 #if RX_BUFFER_SIZE >= 1024
// Enable to have the controller send XON/XOFF control characters to // Enable to have the controller send XON/XOFF control characters to
// the host to signal the RX buffer is becoming full. // the host to signal the RX buffer is becoming full.