Compare commits
95 Commits
1.5.0-beta
...
1.5.0
Author | SHA1 | Date | |
---|---|---|---|
|
c77aacbbd9 | ||
|
4206e3c4e8 | ||
|
dfc9cbe8b1 | ||
|
9c7e330363 | ||
|
580d56bd37 | ||
|
588f703684 | ||
|
c48395f801 | ||
|
f7060d5524 | ||
|
acee1592c9 | ||
|
442f66c145 | ||
|
b5b3da41f5 | ||
|
38edd9375b | ||
|
fb7a29ce8e | ||
|
056dd71494 | ||
|
09b448773f | ||
|
223df2956a | ||
|
9376b95148 | ||
|
fbd1b7b9bf | ||
|
61fba37678 | ||
|
7b0aa6ec6a | ||
|
70ccd6a957 | ||
|
6bc410a0e3 | ||
|
011752e02a | ||
|
471d7f47a0 | ||
|
0670fb9253 | ||
|
501ebfd159 | ||
|
dedc00fb0d | ||
|
acc3c74905 | ||
|
d1f269d654 | ||
|
d4fe673b96 | ||
|
862ac308c7 | ||
|
75c541cafb | ||
|
bb4ee37676 | ||
|
bf80c9b8dd | ||
|
79eaf1a8b5 | ||
|
ff5b808dea | ||
|
37ef0ca742 | ||
|
fd84ec3523 | ||
|
afa411f065 | ||
|
d93ff45af6 | ||
|
8fb71f482e | ||
|
325bcb7e01 | ||
|
0af71b9817 | ||
|
8e828a48b9 | ||
|
a356788dc7 | ||
|
6499c6b7c3 | ||
|
fda51c1c46 | ||
|
0c25c876d3 | ||
|
067fe2f074 | ||
|
e8d38ba955 | ||
|
6d257896c0 | ||
|
2af4a2d4e6 | ||
|
c83dad91f3 | ||
|
429b8cc1fa | ||
|
2e030524e2 | ||
|
45cbc380d9 | ||
|
cf0611a7d9 | ||
|
9c4c58235b | ||
|
75ffa32980 | ||
|
e0d858d812 | ||
|
ad86d96a31 | ||
|
6c4a0a887a | ||
|
e940c218cd | ||
|
1df0ee59d2 | ||
|
9244ea5890 | ||
|
8e34d7dc7c | ||
|
7fbbbba752 | ||
|
2b5816037a | ||
|
e008a96269 | ||
|
952e0db31e | ||
|
69efa3376a | ||
|
b3f22b2b11 | ||
|
bb8d41c0e1 | ||
|
ae82913d1f | ||
|
22dedaeb81 | ||
|
2b57ebccaa | ||
|
4a3071aa56 | ||
|
595bdd00cc | ||
|
d5aa1e1823 | ||
|
570c419165 | ||
|
05a706dfb6 | ||
|
7cc485ae3e | ||
|
5fbd3337b6 | ||
|
62fcc2ff35 | ||
|
c01193bf40 | ||
|
a019c471d1 | ||
|
a2137565e5 | ||
|
52dc811774 | ||
|
4d6715761d | ||
|
9f93a2cc5d | ||
|
fb281baa27 | ||
|
640fce0c02 | ||
|
33a8c67631 | ||
|
b115276fee | ||
|
36c8aee75b |
4
.github/workflows/close-stale.yml
vendored
4
.github/workflows/close-stale.yml
vendored
@@ -21,7 +21,7 @@ jobs:
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
stale-issue-message: 'This issue is stale because it has been open 30 days with no activity. Remove stale label / comment or this will be closed in 5 days.'
|
||||
days-before-stale: 30
|
||||
days-before-close: 5
|
||||
days-before-stale: 300
|
||||
days-before-close: 30
|
||||
stale-issue-label: 'stale-closing-soon'
|
||||
exempt-issue-labels: 'T: Feature Request'
|
||||
|
2
.github/workflows/lock-closed.yml
vendored
2
.github/workflows/lock-closed.yml
vendored
@@ -21,7 +21,7 @@ jobs:
|
||||
with:
|
||||
github-token: ${{ github.token }}
|
||||
process-only: 'issues'
|
||||
issue-lock-inactive-days: '60'
|
||||
issue-lock-inactive-days: '300'
|
||||
issue-exclude-created-before: ''
|
||||
issue-exclude-labels: 'no-locking'
|
||||
issue-lock-labels: ''
|
||||
|
@@ -37,9 +37,6 @@
|
||||
*/
|
||||
#define CONFIGURATION_H_VERSION 02010200
|
||||
#define ANYCUBIC_TOUCHSCREEN
|
||||
#if DISABLED(KNUTWURST_4MAXP2)
|
||||
#define ANYCUBIC_FILAMENT_RUNOUT_SENSOR
|
||||
#endif
|
||||
#define KNUTWURST_SPECIAL_MENU
|
||||
#define KNUTWURST_SPECIAL_MENU_WO_SD
|
||||
// #define ANYCUBIC_TFT_DEBUG
|
||||
@@ -62,6 +59,7 @@
|
||||
*/
|
||||
#if ENABLED(KNUTWURST_CHIRON)
|
||||
#define TRIGORILLA_MAPPING_CHIRON
|
||||
#define NO_AUTO_ASSIGN_WARNING
|
||||
#else
|
||||
#define TRIGORILLA_MAPPING_I3MEGA
|
||||
#define SWAP_Z_MOTORS
|
||||
@@ -97,6 +95,7 @@
|
||||
*/
|
||||
#if ENABLED(KNUTWURST_4MAXP2)
|
||||
#define ANYCUBIC_4_MAX_PRO_ENDSTOPS
|
||||
#define NO_AUTO_ASSIGN_WARNING
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1942,7 +1941,7 @@
|
||||
#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes
|
||||
// #define Z_AFTER_PROBING 5 // Z position after probing is done
|
||||
|
||||
#define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping
|
||||
#define Z_PROBE_LOW_POINT -10 // Farthest distance below the trigger-point to go before stopping
|
||||
|
||||
// For M851 give a range for adjusting the Z probe offset
|
||||
#define Z_PROBE_OFFSET_RANGE_MIN -50
|
||||
@@ -2380,15 +2379,15 @@
|
||||
* RAMPS-based boards use SERVO3_PIN for the first runout sensor.
|
||||
* For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc.
|
||||
*/
|
||||
// #define FILAMENT_RUNOUT_SENSOR
|
||||
#define FILAMENT_RUNOUT_SENSOR
|
||||
#if ENABLED(FILAMENT_RUNOUT_SENSOR)
|
||||
#define FIL_RUNOUT_ENABLED_DEFAULT true // Enable the sensor on startup. Override with M412 followed by M500.
|
||||
#define NUM_RUNOUT_SENSORS 1 // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each.
|
||||
|
||||
#define FIL_RUNOUT_STATE LOW // Pin state indicating that filament is NOT present.
|
||||
#define FIL_RUNOUT_PULLUP // Use internal pullup for filament runout pins.
|
||||
// #define FIL_RUNOUT_PULLDOWN // Use internal pulldown for filament runout pins.
|
||||
// #define WATCH_ALL_RUNOUT_SENSORS // Execute runout script on any triggering sensor, not only for the active extruder.
|
||||
#define FIL_RUNOUT_STATE HIGH // Pin state indicating that filament is NOT present.
|
||||
// #define FIL_RUNOUT_PULLUP // Use internal pullup for filament runout pins.
|
||||
// #define FIL_RUNOUT_PULLDOWN // Use internal pulldown for filament runout pins.
|
||||
// #define WATCH_ALL_RUNOUT_SENSORS // Execute runout script on any triggering sensor, not only for the active extruder.
|
||||
// This is automatically enabled for MIXING_EXTRUDERs.
|
||||
|
||||
// Override individually if the runout sensors vary
|
||||
@@ -2854,14 +2853,14 @@
|
||||
// Preheat Constants - Up to 10 are supported without changes
|
||||
//
|
||||
#define PREHEAT_1_LABEL "PLA"
|
||||
#define PREHEAT_1_TEMP_HOTEND 180
|
||||
#define PREHEAT_1_TEMP_BED 70
|
||||
#define PREHEAT_1_TEMP_HOTEND 200
|
||||
#define PREHEAT_1_TEMP_BED 60
|
||||
// #define PREHEAT_1_TEMP_CHAMBER 35
|
||||
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
||||
|
||||
#define PREHEAT_2_LABEL "ABS"
|
||||
#define PREHEAT_2_TEMP_HOTEND 240
|
||||
#define PREHEAT_2_TEMP_BED 110
|
||||
#define PREHEAT_2_TEMP_BED 90
|
||||
// #define PREHEAT_2_TEMP_CHAMBER 35
|
||||
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
||||
|
||||
|
@@ -989,7 +989,7 @@
|
||||
*
|
||||
* Set the default state here, change with 'M401 S' or UI, use M500 to save, M502 to reset.
|
||||
*/
|
||||
#define BLTOUCH_HS_MODE true
|
||||
#define BLTOUCH_HS_MODE false
|
||||
|
||||
// Safety: Enable voltage mode settings in the LCD menu.
|
||||
// #define BLTOUCH_LCD_VOLTAGE_MENU
|
||||
@@ -1551,7 +1551,7 @@
|
||||
|
||||
// #define MEDIA_MENU_AT_TOP // Force the media menu to be listed on the top of the main menu
|
||||
|
||||
#define EVENT_GCODE_SD_ABORT "G28XY" // G-code to run on SD Abort Print (e.g., "G28XY" or "G27")
|
||||
#define EVENT_GCODE_SD_ABORT "G27" // G-code to run on SD Abort Print (e.g., "G28XY" or "G27")
|
||||
|
||||
#if ENABLED(PRINTER_EVENT_LEDS)
|
||||
#define PE_LEDS_COMPLETED_TIME (30 * 60) // (seconds) Time to keep the LED "done" color before restoring normal illumination
|
||||
@@ -1611,7 +1611,7 @@
|
||||
* - SDSORT_CACHE_NAMES will retain the sorted file listing in RAM. (Expensive!)
|
||||
* - SDSORT_DYNAMIC_RAM only uses RAM when the SD menu is visible. (Use with caution!)
|
||||
*/
|
||||
// #define SDCARD_SORT_ALPHA
|
||||
#define SDCARD_SORT_ALPHA
|
||||
|
||||
// SD Card Sorting options
|
||||
#if ENABLED(SDCARD_SORT_ALPHA)
|
||||
@@ -2658,29 +2658,73 @@
|
||||
*/
|
||||
#define ADVANCED_PAUSE_FEATURE
|
||||
#if ENABLED(ADVANCED_PAUSE_FEATURE)
|
||||
#define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate.
|
||||
#define PAUSE_PARK_RETRACT_LENGTH 4 // (mm) Initial retract.
|
||||
// This short retract is done immediately, before parking the nozzle.
|
||||
#define FILAMENT_CHANGE_UNLOAD_FEEDRATE 30 // (mm/s) Unload filament feedrate. This can be pretty fast.
|
||||
#define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate.
|
||||
#define FILAMENT_CHANGE_UNLOAD_LENGTH 555 // (mm) The length of filament for a complete unload.
|
||||
// For Bowden, the full length of the tube and nozzle.
|
||||
// For direct drive, the full length of the nozzle.
|
||||
// Set to 0 for manual unloading.
|
||||
#define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load.
|
||||
#define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material.
|
||||
// 0 to disable start loading and skip to fast load only
|
||||
#define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 30 // (mm/s) Load filament feedrate. This can be pretty fast.
|
||||
#define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate.
|
||||
#define FILAMENT_CHANGE_FAST_LOAD_LENGTH 538 // (mm) Load length of filament, from extruder gear to nozzle.
|
||||
// For Bowden, the full length of the tube and nozzle.
|
||||
// For direct drive, the full length of the nozzle.
|
||||
// #define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted.
|
||||
#if ENABLED(KNUTWURST_4MAXP2)
|
||||
#define PAUSE_PARK_RETRACT_FEEDRATE 40 // (mm/s) Initial retract feedrate.
|
||||
#define PAUSE_PARK_RETRACT_LENGTH 4 // (mm) Initial retract.
|
||||
// This short retract is done immediately, before parking the nozzle.
|
||||
#define FILAMENT_CHANGE_UNLOAD_FEEDRATE 30 // (mm/s) Unload filament feedrate. This can be pretty fast.
|
||||
#define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate.
|
||||
#define FILAMENT_CHANGE_UNLOAD_LENGTH 5 // (mm) The length of filament for a complete unload.
|
||||
// For Bowden, the full length of the tube and nozzle.
|
||||
// For direct drive, the full length of the nozzle.
|
||||
// Set to 0 for manual unloading.
|
||||
#define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load.
|
||||
#define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material.
|
||||
// 0 to disable start loading and skip to fast load only
|
||||
#define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 30 // (mm/s) Load filament feedrate. This can be pretty fast.
|
||||
#define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate.
|
||||
#define FILAMENT_CHANGE_FAST_LOAD_LENGTH 10 // (mm) Load length of filament, from extruder gear to nozzle.
|
||||
// For Bowden, the full length of the tube and nozzle.
|
||||
// For direct drive, the full length of the nozzle.
|
||||
#endif
|
||||
|
||||
#if ENABLED(KNUTWURST_CHIRON)
|
||||
#define PAUSE_PARK_RETRACT_FEEDRATE 40 // (mm/s) Initial retract feedrate.
|
||||
#define PAUSE_PARK_RETRACT_LENGTH 4 // (mm) Initial retract.
|
||||
// This short retract is done immediately, before parking the nozzle.
|
||||
#define FILAMENT_CHANGE_UNLOAD_FEEDRATE 30 // (mm/s) Unload filament feedrate. This can be pretty fast.
|
||||
#define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate.
|
||||
#define FILAMENT_CHANGE_UNLOAD_LENGTH 5 // (mm) The length of filament for a complete unload.
|
||||
// For Bowden, the full length of the tube and nozzle.
|
||||
// For direct drive, the full length of the nozzle.
|
||||
// Set to 0 for manual unloading.
|
||||
#define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load.
|
||||
#define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material.
|
||||
// 0 to disable start loading and skip to fast load only
|
||||
#define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 30 // (mm/s) Load filament feedrate. This can be pretty fast.
|
||||
#define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate.
|
||||
#define FILAMENT_CHANGE_FAST_LOAD_LENGTH 550 // (mm) Load length of filament, from extruder gear to nozzle.
|
||||
// For Bowden, the full length of the tube and nozzle.
|
||||
// For direct drive, the full length of the nozzle.
|
||||
#endif
|
||||
|
||||
#if NONE(KNUTWURST_CHIRON, KNUTWURST_4MAXP2)
|
||||
#define PAUSE_PARK_RETRACT_FEEDRATE 40 // (mm/s) Initial retract feedrate.
|
||||
#define PAUSE_PARK_RETRACT_LENGTH 4 // (mm) Initial retract.
|
||||
// This short retract is done immediately, before parking the nozzle.
|
||||
#define FILAMENT_CHANGE_UNLOAD_FEEDRATE 30 // (mm/s) Unload filament feedrate. This can be pretty fast.
|
||||
#define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate.
|
||||
#define FILAMENT_CHANGE_UNLOAD_LENGTH 555 // (mm) The length of filament for a complete unload.
|
||||
// For Bowden, the full length of the tube and nozzle.
|
||||
// For direct drive, the full length of the nozzle.
|
||||
// Set to 0 for manual unloading.
|
||||
#define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load.
|
||||
#define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material.
|
||||
// 0 to disable start loading and skip to fast load only
|
||||
#define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 30 // (mm/s) Load filament feedrate. This can be pretty fast.
|
||||
#define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate.
|
||||
#define FILAMENT_CHANGE_FAST_LOAD_LENGTH 538 // (mm) Load length of filament, from extruder gear to nozzle.
|
||||
// For Bowden, the full length of the tube and nozzle.
|
||||
// For direct drive, the full length of the nozzle.
|
||||
#endif
|
||||
|
||||
#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted.
|
||||
#define ADVANCED_PAUSE_PURGE_FEEDRATE 2 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate.
|
||||
#define ADVANCED_PAUSE_PURGE_LENGTH 2 // (mm) Length to extrude after loading.
|
||||
// Set to 0 for manual extrusion.
|
||||
// Filament can be extruded repeatedly from the Filament Change menu
|
||||
// until extrusion is consistent, and to purge old filament.
|
||||
|
||||
// #define ADVANCED_PAUSE_RESUME_PRIME 0 // (mm) Extra distance to prime nozzle after returning from park.
|
||||
#define ADVANCED_PAUSE_FANS_PAUSE // Turn off print-cooling fans while the machine is paused.
|
||||
|
||||
@@ -2690,7 +2734,7 @@
|
||||
#define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged.
|
||||
#define FILAMENT_UNLOAD_PURGE_FEEDRATE 25 // (mm/s) feedrate to purge before unload
|
||||
|
||||
#define PAUSE_PARK_NOZZLE_TIMEOUT 60 // (seconds) Time limit before the nozzle is turned off for safety.
|
||||
#define PAUSE_PARK_NOZZLE_TIMEOUT 300 // (seconds) Time limit before the nozzle is turned off for safety.
|
||||
#define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed.
|
||||
#define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change.
|
||||
// #define FILAMENT_CHANGE_RESUME_ON_INSERT // Automatically continue / load filament when runout sensor is triggered again.
|
||||
@@ -4012,7 +4056,7 @@
|
||||
#define HOST_PAUSE_M76 // Tell the host to pause in response to M76
|
||||
#define HOST_PROMPT_SUPPORT // Initiate host prompts to get user feedback
|
||||
#if ENABLED(HOST_PROMPT_SUPPORT)
|
||||
// #define HOST_STATUS_NOTIFICATIONS // Send some status messages to the host as notifications
|
||||
#define HOST_STATUS_NOTIFICATIONS // Send some status messages to the host as notifications
|
||||
#endif
|
||||
// #define HOST_START_MENU_ITEM // Add a menu item that tells the host to start
|
||||
// #define HOST_SHUTDOWN_MENU_ITEM // Add a menu item that tells the host to shut down
|
||||
|
@@ -252,12 +252,6 @@
|
||||
#include "tests/marlin_tests.h"
|
||||
#endif
|
||||
|
||||
// PATCH START: Knutwurst
|
||||
#if ENABLED(ANYCUBIC_TOUCHSCREEN)
|
||||
#include "lcd/anycubic_touchscreen.h"
|
||||
#endif
|
||||
// PATCH END: Knutwurst
|
||||
|
||||
PGMSTR(M112_KILL_STR, "M112 Shutdown");
|
||||
|
||||
MarlinState marlin_state = MF_INITIALIZING;
|
||||
@@ -353,7 +347,7 @@ void startOrResumeJob() {
|
||||
TERN_(GCODE_REPEAT_MARKERS, repeat.reset());
|
||||
TERN_(CANCEL_OBJECTS, cancelable.reset());
|
||||
TERN_(LCD_SHOW_E_TOTAL, e_move_accumulator = 0);
|
||||
#if ENABLED(SET_REMAINING_TIME)
|
||||
#if BOTH(LCD_SET_PROGRESS_MANUALLY, USE_M73_REMAINING_TIME)
|
||||
ui.reset_remaining_time();
|
||||
#endif
|
||||
}
|
||||
@@ -396,88 +390,6 @@ void startOrResumeJob() {
|
||||
|
||||
#endif // SDSUPPORT
|
||||
|
||||
// PATCH START: Knutwurst
|
||||
#ifdef ENDSTOP_BEEP
|
||||
void EndstopBeep() {
|
||||
static char last_status = ((READ(X_MIN_PIN) << 2) | (READ(Y_MIN_PIN) << 1) | READ(X_MAX_PIN));
|
||||
static unsigned char now_status;
|
||||
|
||||
now_status = ((READ(X_MIN_PIN) << 2) | (READ(Y_MIN_PIN) << 1) | READ(X_MAX_PIN)) & 0xff;
|
||||
|
||||
if (now_status<last_status) {
|
||||
static millis_t endstop_ms = millis() + 300UL;
|
||||
if (ELAPSED(millis(), endstop_ms)) {
|
||||
buzzer.tone(60, 2000);
|
||||
}
|
||||
last_status = now_status;
|
||||
} else if (now_status != last_status) {
|
||||
last_status=now_status;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#if HAS_FILAMENT_SENSOR
|
||||
void event_filament_runout() {
|
||||
#if ENABLED(ADVANCED_PAUSE_FEATURE)
|
||||
if (did_pause_print) return; // Action already in progress. Purge triggered repeated runout.
|
||||
#endif
|
||||
|
||||
#if ENABLED(EXTENSIBLE_UI)
|
||||
ExtUI::onFilamentRunout(ExtUI::getActiveTool());
|
||||
#endif
|
||||
|
||||
#if EITHER(HOST_PROMPT_SUPPORT, HOST_ACTION_COMMANDS)
|
||||
const char tool = '0'
|
||||
#if NUM_RUNOUT_SENSORS > 1
|
||||
+ active_extruder
|
||||
#endif
|
||||
;
|
||||
#endif
|
||||
|
||||
//action:out_of_filament
|
||||
#if ENABLED(HOST_PROMPT_SUPPORT)
|
||||
host_prompt_reason = PROMPT_FILAMENT_RUNOUT;
|
||||
host_action_prompt_end();
|
||||
host_action_prompt_begin(PSTR("FilamentRunout T"), false);
|
||||
SERIAL_CHAR(tool);
|
||||
SERIAL_EOL();
|
||||
host_action_prompt_show();
|
||||
#endif
|
||||
|
||||
const bool run_runout_script = !runout.host_handling;
|
||||
|
||||
#if ENABLED(HOST_ACTION_COMMANDS)
|
||||
if (run_runout_script
|
||||
&& ( strstr(FILAMENT_RUNOUT_SCRIPT, "M600")
|
||||
|| strstr(FILAMENT_RUNOUT_SCRIPT, "M125")
|
||||
#if ENABLED(ADVANCED_PAUSE_FEATURE)
|
||||
|| strstr(FILAMENT_RUNOUT_SCRIPT, "M25")
|
||||
#endif
|
||||
)
|
||||
) {
|
||||
host_action_paused(false);
|
||||
} else {
|
||||
// Legacy Repetier command for use until newer version supports standard dialog
|
||||
// To be removed later when pause command also triggers dialog
|
||||
#ifdef ACTION_ON_FILAMENT_RUNOUT
|
||||
host_action(PSTR(ACTION_ON_FILAMENT_RUNOUT " T"), false);
|
||||
SERIAL_CHAR(tool);
|
||||
SERIAL_EOL();
|
||||
#endif
|
||||
|
||||
host_action_pause(false);
|
||||
}
|
||||
SERIAL_ECHOPGM(" " ACTION_REASON_ON_FILAMENT_RUNOUT " ");
|
||||
SERIAL_CHAR(tool);
|
||||
SERIAL_EOL();
|
||||
#endif // HOST_ACTION_COMMANDS
|
||||
|
||||
if (run_runout_script) {
|
||||
queue.inject_P(PSTR(FILAMENT_RUNOUT_SCRIPT));
|
||||
}
|
||||
}
|
||||
#endif // HAS_FILAMENT_SENSOR
|
||||
// PATCH END: Knutwurst
|
||||
|
||||
/**
|
||||
* Minimal management of Marlin's core activities:
|
||||
@@ -493,12 +405,6 @@ void EndstopBeep() {
|
||||
* - Pulse FET_SAFETY_PIN if it exists
|
||||
*/
|
||||
inline void manage_inactivity(const bool no_stepper_sleep=false) {
|
||||
// PATCH START: Knutwurst
|
||||
#if ENABLED(ANYCUBIC_TOUCHSCREEN) && ENABLED(ANYCUBIC_FILAMENT_RUNOUT_SENSOR)
|
||||
AnycubicTouchscreen.FilamentRunout();
|
||||
#endif
|
||||
// PATCH END: Knutwurst
|
||||
|
||||
queue.get_available_commands();
|
||||
|
||||
const millis_t ms = millis();
|
||||
@@ -889,16 +795,6 @@ void idle(bool no_stepper_sleep/*=false*/) {
|
||||
// Max7219 heartbeat, animation, etc
|
||||
TERN_(MAX7219_DEBUG, max7219.idle_tasks());
|
||||
|
||||
// PATCH START: Knutwurst
|
||||
#ifdef ANYCUBIC_TOUCHSCREEN
|
||||
AnycubicTouchscreen.CommandScan();
|
||||
#endif
|
||||
|
||||
#ifdef ENDSTOP_BEEP
|
||||
EndstopBeep();
|
||||
#endif
|
||||
// PATCH END: Knutwurst
|
||||
|
||||
// Return if setup() isn't completed
|
||||
if (marlin_state == MF_INITIALIZING) goto IDLE_DONE;
|
||||
|
||||
@@ -1011,12 +907,6 @@ void kill(FSTR_P const lcd_error/*=nullptr*/, FSTR_P const lcd_component/*=nullp
|
||||
// "Error:Printer halted. kill() called!"
|
||||
SERIAL_ERROR_MSG(STR_ERR_KILLED);
|
||||
|
||||
// PATCH START: Knutwurst
|
||||
#ifdef ANYCUBIC_TOUCHSCREEN
|
||||
AnycubicTouchscreen.KillTFT();
|
||||
#endif
|
||||
// PATCH END: Knutwurst
|
||||
|
||||
#ifdef ACTION_ON_KILL
|
||||
hostui.kill();
|
||||
#endif
|
||||
@@ -1292,12 +1182,6 @@ void setup() {
|
||||
#endif
|
||||
SERIAL_ECHOLNPGM("start");
|
||||
|
||||
// PATCH START: Knutwurst
|
||||
#ifdef ANYCUBIC_TOUCHSCREEN
|
||||
AnycubicTouchscreen.Setup();
|
||||
#endif
|
||||
// PATCH END: Knutwurst
|
||||
|
||||
// Set up these pins early to prevent suicide
|
||||
#if HAS_KILL
|
||||
SETUP_LOG("KILL_PIN");
|
||||
@@ -1796,13 +1680,6 @@ void loop() {
|
||||
|
||||
endstops.event_handler();
|
||||
|
||||
// PATCH START: Knutwurst
|
||||
idle();
|
||||
#ifdef ANYCUBIC_TOUCHSCREEN
|
||||
AnycubicTouchscreen.CommandScan();
|
||||
#endif
|
||||
// PATCH END: Knutwurst
|
||||
|
||||
TERN_(HAS_TFT_LVGL_UI, printer_state_polling());
|
||||
|
||||
TERN_(MARLIN_TEST_BUILD, runPeriodicTests());
|
||||
|
@@ -576,17 +576,7 @@ void wait_for_confirmation(const bool is_reload/*=false*/, const int8_t max_beep
|
||||
IF_DISABLED(PAUSE_REHEAT_FAST_RESUME, wait_for_user = true);
|
||||
|
||||
nozzle_timed_out = false;
|
||||
/*
|
||||
#ifdef ANYCUBIC_TOUCHSCREEN
|
||||
if (AnycubicTouchscreen.ai3m_pause_state > 3) {
|
||||
AnycubicTouchscreen.ai3m_pause_state -= 3;
|
||||
#ifdef ANYCUBIC_TFT_DEBUG
|
||||
SERIAL_ECHOPGM(" DEBUG: NTO - AI3M Pause State set to: ", AnycubicTouchscreen.ai3m_pause_state);
|
||||
SERIAL_EOL();
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
*/
|
||||
|
||||
first_impatient_beep(max_beep_count);
|
||||
}
|
||||
idle_no_sleep();
|
||||
|
@@ -24,7 +24,7 @@
|
||||
|
||||
#if BOTH(ANYCUBIC_TFT_DEBUG, KNUTWURST_DGUS2_TFT)
|
||||
|
||||
#include "../../lcd/anycubic_touchscreen.h"
|
||||
#include "../../lcd/extui/knutwurst/anycubic_touchscreen.h"
|
||||
#include "../gcode.h"
|
||||
|
||||
void GcodeSuite::M9999() {
|
||||
@@ -38,4 +38,4 @@ void GcodeSuite::M9999() {
|
||||
}
|
||||
|
||||
#endif
|
||||
// PATCH END: KNUTWURST
|
||||
// PATCH END: KNUTWURST
|
||||
|
@@ -806,11 +806,6 @@ G29_TYPE GcodeSuite::G29() {
|
||||
bedlevel.set_grid(abl.gridSpacing, abl.probe_position_lf);
|
||||
COPY(bedlevel.z_values, abl.z_values);
|
||||
TERN_(IS_KINEMATIC, bedlevel.extrapolate_unprobed_bed_level());
|
||||
|
||||
#if ENABLED(KNUTWURST_TFT_LEVELING)
|
||||
LCD_SERIAL.print("J25\r\n"); // Autoleveling done!
|
||||
#endif
|
||||
|
||||
bedlevel.refresh_bed_level();
|
||||
|
||||
bedlevel.print_leveling_grid();
|
||||
|
@@ -31,7 +31,7 @@
|
||||
|
||||
// PATCH START: Knutwurst
|
||||
#if ENABLED(ANYCUBIC_TOUCHSCREEN)
|
||||
#include "../../lcd/anycubic_touchscreen.h"
|
||||
#include "../../lcd/extui/knutwurst/anycubic_touchscreen.h"
|
||||
#endif
|
||||
// PATCH END: Knutwurst
|
||||
|
||||
|
@@ -30,13 +30,6 @@
|
||||
#include "../../../module/printcounter.h"
|
||||
#include "../../../lcd/marlinui.h"
|
||||
|
||||
// PATCH START: Knutwurst
|
||||
#ifdef ANYCUBIC_TOUCHSCREEN
|
||||
#include "../../../lcd/anycubic_touchscreen.h"
|
||||
#include "../../../sd/cardreader.h"
|
||||
#endif
|
||||
// PATCH END: Knutwurst
|
||||
|
||||
#if HAS_MULTI_EXTRUDER
|
||||
#include "../../../module/tool_change.h"
|
||||
#endif
|
||||
@@ -78,29 +71,6 @@
|
||||
* Default values are used for omitted arguments.
|
||||
*/
|
||||
void GcodeSuite::M600() {
|
||||
// PATCH START: Knutwurst
|
||||
#ifdef ANYCUBIC_TOUCHSCREEN
|
||||
#ifdef SDSUPPORT
|
||||
if (card.isPrinting()) { // are we printing from sd?
|
||||
if (AnycubicTouchscreen.ai3m_pause_state < 2) {
|
||||
AnycubicTouchscreen.ai3m_pause_state = 2;
|
||||
#ifdef ANYCUBIC_TFT_DEBUG
|
||||
SERIAL_ECHOPGM(" DEBUG: M600 - AI3M Pause State set to: ", AnycubicTouchscreen.ai3m_pause_state);
|
||||
SERIAL_EOL();
|
||||
#endif
|
||||
}
|
||||
#ifdef ANYCUBIC_TFT_DEBUG
|
||||
SERIAL_ECHOLNPGM("DEBUG: Enter M600 TFTstate routine");
|
||||
#endif
|
||||
AnycubicTouchscreen.TFTstate = ANYCUBIC_TFT_STATE_SDPAUSE_REQ; // enter correct display state to show resume button
|
||||
#ifdef ANYCUBIC_TFT_DEBUG
|
||||
SERIAL_ECHOLNPGM("DEBUG: Set TFTstate to SDPAUSE_REQ");
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
// PATCH END: Knutwurst
|
||||
|
||||
#if ENABLED(MIXING_EXTRUDER)
|
||||
const int8_t eindex = get_target_e_stepper_from_command();
|
||||
if (eindex < 0) return;
|
||||
|
@@ -38,10 +38,6 @@
|
||||
|
||||
#include "../../MarlinCore.h" // for startOrResumeJob, etc.
|
||||
|
||||
#ifdef ANYCUBIC_TOUCHSCREEN
|
||||
#include "../../lcd/anycubic_touchscreen.h"
|
||||
#endif
|
||||
|
||||
#if ENABLED(PRINTJOB_TIMER_AUTOSTART)
|
||||
#include "../../module/printcounter.h"
|
||||
#if ENABLED(CANCEL_OBJECTS)
|
||||
@@ -133,10 +129,6 @@ void GcodeSuite::M104_M109(const bool isM109) {
|
||||
thermalManager.set_heating_message(target_extruder, !isM109 && got_temp);
|
||||
}
|
||||
|
||||
#ifdef ANYCUBIC_TOUCHSCREEN
|
||||
AnycubicTouchscreen.HeatingStart();
|
||||
#endif
|
||||
|
||||
TERN_(AUTOTEMP, planner.autotemp_M104_M109());
|
||||
|
||||
if (isM109 && got_temp)
|
||||
@@ -144,11 +136,6 @@ void GcodeSuite::M104_M109(const bool isM109) {
|
||||
|
||||
// flush the serial buffer after heating to prevent lockup by m105
|
||||
SERIAL_FLUSH();
|
||||
|
||||
#ifdef ANYCUBIC_TOUCHSCREEN
|
||||
AnycubicTouchscreen.CommandScan();
|
||||
AnycubicTouchscreen.BedHeatingDone();
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif // EXTRUDERS
|
||||
|
@@ -471,7 +471,7 @@
|
||||
#endif
|
||||
|
||||
// Extensible UI serial touch screens. (See src/lcd/extui)
|
||||
#if ANY(HAS_DGUS_LCD, MALYAN_LCD, TOUCH_UI_FTDI_EVE, ANYCUBIC_LCD_I3MEGA, ANYCUBIC_LCD_CHIRON, NEXTION_TFT)
|
||||
#if ANY(HAS_DGUS_LCD, MALYAN_LCD, TOUCH_UI_FTDI_EVE, ANYCUBIC_LCD_I3MEGA, ANYCUBIC_LCD_CHIRON, ANYCUBIC_TOUCHSCREEN, NEXTION_TFT) // PATCH: knutwurst
|
||||
#define IS_EXTUI 1
|
||||
#define EXTENSIBLE_UI
|
||||
#endif
|
||||
|
@@ -41,10 +41,10 @@
|
||||
* here we define this default string as the date where the latest release
|
||||
* version was tagged.
|
||||
*/
|
||||
#define CUSTOM_BUILD_VERSION "1.5.0-b2"
|
||||
#define CUSTOM_BUILD_VERSION "1.5.0"
|
||||
|
||||
#ifndef STRING_DISTRIBUTION_DATE
|
||||
#define STRING_DISTRIBUTION_DATE "2022-12-21"
|
||||
#define STRING_DISTRIBUTION_DATE "2023-06-07"
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -21,19 +21,8 @@
|
||||
#ifndef anycubic_touchscreen_h
|
||||
#define anycubic_touchscreen_h
|
||||
|
||||
// #include <stdio.h>
|
||||
// #include "../inc/MarlinConfig.h"
|
||||
// #include "../module/configuration_store.h"
|
||||
|
||||
#include "./src/inc/MarlinConfigPre.h"
|
||||
#include "./src/feature/bedlevel/bedlevel.h"
|
||||
#include "src/module/probe.h"
|
||||
|
||||
|
||||
enum axis_t : uint8_t { X, Y, Z, X2, Y2, Z2, Z3, Z4 };
|
||||
enum extruder_t : uint8_t { E0, E1, E2, E3, E4, E5, E6, E7 };
|
||||
void setAxisPosition_mm(const float, const axis_t, const feedRate_t=0);
|
||||
void initializeGrid();
|
||||
#include "../../../inc/MarlinConfigPre.h"
|
||||
#include "../../../module/probe.h"
|
||||
|
||||
char *itostr2(const uint8_t &x);
|
||||
|
||||
@@ -47,230 +36,186 @@ char *itostr2(const uint8_t &x);
|
||||
#define MSG_MY_VERSION CUSTOM_BUILD_VERSION
|
||||
#define MAX_PRINTABLE_FILENAME_LEN 26
|
||||
|
||||
#if ENABLED(KNUTWURST_CHIRON)
|
||||
#define FILAMENT_RUNOUT_PIN 33
|
||||
#else
|
||||
#define FILAMENT_RUNOUT_PIN 19
|
||||
#endif
|
||||
enum AnycubicMediaPrintState {
|
||||
AMPRINTSTATE_NOT_PRINTING,
|
||||
AMPRINTSTATE_PRINTING,
|
||||
AMPRINTSTATE_PAUSE_REQUESTED,
|
||||
AMPRINTSTATE_PAUSED,
|
||||
AMPRINTSTATE_STOP_REQUESTED,
|
||||
AMPRINTSTATE_PROBING
|
||||
};
|
||||
|
||||
enum AnycubicMediaPauseState {
|
||||
AMPAUSESTATE_NOT_PAUSED,
|
||||
AMPAUSESTATE_PARKING,
|
||||
AMPAUSESTATE_PARKED,
|
||||
AMPAUSESTATE_FILAMENT_OUT,
|
||||
AMPAUSESTATE_FILAMENT_PURGING,
|
||||
AMPAUSESTATE_HEATER_TIMEOUT,
|
||||
AMPAUSESTATE_REHEATING,
|
||||
AMPAUSESTATE_REHEAT_FINISHED,
|
||||
AMPAUSESTATE_PAUSED
|
||||
};
|
||||
|
||||
|
||||
#define SM_DIR_UP_S "DIR_UP~1.GCO"
|
||||
#define SM_SPECIAL_MENU_S "<SPECI~1.GCO"
|
||||
#define SM_PID_HOTEND_S "<PIDTU~1.GCO"
|
||||
#define SM_PID_BED_S "<PIDTU~2.GCO"
|
||||
#define SM_SAVE_EEPROM_S "<SAVEE~1.GCO"
|
||||
#define SM_LOAD_DEFAULTS_S "<LOADF~1.GCO"
|
||||
#define SM_PREHEAT_BED_S "<PREHE~1.GCO"
|
||||
#define SM_MESH_MENU_S "<MESHL~1.GCO"
|
||||
#define SM_MESH_START_S "<START~1.GCO"
|
||||
#define SM_MESH_NEXT_S "<NEXTM~1.GCO"
|
||||
#define SM_Z_UP_01_S "<ZUP01~1.GCO"
|
||||
#define SM_Z_DN_01_S "<ZDOWN~1.GCO"
|
||||
#define SM_Z_UP_002_S "<ZUP00~1.GCO"
|
||||
#define SM_Z_DN_002_S "<ZDOWN~2.GCO"
|
||||
#define SM_Z_UP_001_S "<ZUP00~2.GCO"
|
||||
#define SM_Z_DN_001_S "<ZDOWN~3.GCO"
|
||||
#define SM_BLTOUCH_S "<BLTOU~1.GCO"
|
||||
#define SM_RESETLV_S "<RSTLV~1.GCO"
|
||||
#define SM_PAUSE_S "<FILCH~2.GCO"
|
||||
#define SM_RESUME_S "<FILCH~1.GCO"
|
||||
#define SM_DIS_FILSENS_S "<DISAB~1.GCO"
|
||||
#define SM_EN_FILSENS_S "<ENABL~1.GCO"
|
||||
#define SM_EXIT_S "<EXIT_~1.GCO"
|
||||
#define SM_BACK_S "<BACK_~1.GCO"
|
||||
#define SM_FLOWMENU_S "<SETFLO1.GCO"
|
||||
#define SM_FLOW_DISP_S "<FLDISPL.GCO"
|
||||
#define SM_FLOW_UP_S "<UPFLOW1.GCO"
|
||||
#define SM_FLOW_DN_S "<DWNFLOW.GCO"
|
||||
#define SM_FLOW_EXIT_S "<EXTFLW1.GCO"
|
||||
#define SM_EZLVL_MENU_S "<EZLVLM1.GCO"
|
||||
#define SM_EZLVL_P1_S "<EZLPA01.GCO"
|
||||
#define SM_EZLVL_P2_S "<EZLPB01.GCO"
|
||||
#define SM_EZLVL_P3_S "<EZLPC01.GCO"
|
||||
#define SM_EZLVL_P4_S "<EZLPD01.GCO"
|
||||
#define SM_EZLVL_EXIT_S "<EZLEXT1.GCO"
|
||||
#define SM_BLTZMENU_S "<SETOFZ0.GCO"
|
||||
#define SM_BLTZ_DISP_S "<OFZDSP0.GCO"
|
||||
#define SM_BLTZ_UP_S "<UPOFFZ0.GCO"
|
||||
#define SM_BLTZ_DN_S "<DOWNOFZ.GCO"
|
||||
#define SM_BLTZ_EXIT_S "<EXTABLM.GCO"
|
||||
#define SM_HS_DISABLE_S "<HSDISAB.GCO"
|
||||
#define SM_HS_ENABLE_S "<HSENABL.GCO"
|
||||
|
||||
#define ANYCUBIC_TFT_STATE_IDLE 0
|
||||
#define ANYCUBIC_TFT_STATE_SDPRINT 1
|
||||
#define ANYCUBIC_TFT_STATE_SDPAUSE 2
|
||||
#define ANYCUBIC_TFT_STATE_SDPAUSE_REQ 3
|
||||
#define ANYCUBIC_TFT_STATE_SDPAUSE_OOF 4
|
||||
#define ANYCUBIC_TFT_STATE_SDSTOP_REQ 5
|
||||
#define ANYCUBIC_TFT_STATE_SDOUTAGE 99
|
||||
|
||||
#if DISABLED(KNUTWURST_DGUS2_TFT)
|
||||
#define SM_DIR_UP_L "/.."
|
||||
#define SM_DIR_UP_S ".."
|
||||
#define SM_SPECIAL_MENU_L "<Special Menu>"
|
||||
#define SM_SPECIAL_MENU_S "<SPECM>"
|
||||
#define SM_PID_HOTEND_L "<PID Tune Hotend>"
|
||||
#define SM_PID_HOTEND_S "<PIDHE>"
|
||||
#define SM_PID_BED_L "<PID Tune Ultrabase>"
|
||||
#define SM_PID_BED_S "<PIDUB>"
|
||||
#define SM_SAVE_EEPROM_L "<Save EEPROM>"
|
||||
#define SM_SAVE_EEPROM_S "<SAVEE>"
|
||||
#define SM_LOAD_DEFAULTS_L "<Load FW Defaults>"
|
||||
#define SM_LOAD_DEFAULTS_S "<LDDEF>"
|
||||
#define SM_PREHEAT_BED_L "<Preheat Ultrabase>"
|
||||
#define SM_PREHEAT_BED_S "<PREHE>"
|
||||
#define SM_MESH_MENU_L "<Mesh Leveling>"
|
||||
#define SM_MESH_MENU_S "<MESHL>"
|
||||
#define SM_MESH_START_L "<Start Mesh Leveling>"
|
||||
#define SM_MESH_START_S "<SMESH>"
|
||||
#define SM_MESH_NEXT_L "<Next Mesh Point>"
|
||||
#define SM_MESH_NEXT_S "<NEXTM>"
|
||||
#define SM_Z_UP_01_L "<Z Up 0.1>"
|
||||
#define SM_Z_UP_01_S "<ZUP01>"
|
||||
#define SM_Z_DN_01_L "<Z Down 0.1>"
|
||||
#define SM_Z_DN_01_S "<ZDN01>"
|
||||
#define SM_Z_UP_002_L "<Z Up 0.02>"
|
||||
#define SM_Z_UP_002_S "<ZUP002>"
|
||||
#define SM_Z_DN_002_L "<Z Down 0.02>"
|
||||
#define SM_Z_DN_002_S "<ZDN002>"
|
||||
#define SM_Z_UP_001_L "<Z Up 0.01>"
|
||||
#define SM_Z_UP_001_S "<ZUP001>"
|
||||
#define SM_Z_DN_001_L "<Z Down 0.01>"
|
||||
#define SM_Z_DN_001_S "<ZDN001>"
|
||||
#define SM_BLTOUCH_L "<Start Auto Leveling>"
|
||||
#define SM_BLTOUCH_S "<BLTCH>"
|
||||
#define SM_RESETLV_L "<Reset Level Grid>"
|
||||
#define SM_RESETLV_S "<RSTLV>"
|
||||
#define SM_PAUSE_L "<Fil. Change Pause>"
|
||||
#define SM_PAUSE_S "<PAUSE>"
|
||||
#define SM_RESUME_L "<Fil. Change Resume>"
|
||||
#define SM_RESUME_S "<RESUM>"
|
||||
#define SM_DIS_FILSENS_L "<Disable Fil. Sensor>"
|
||||
#define SM_DIS_FILSENS_S "<DISSEN>"
|
||||
#define SM_EN_FILSENS_L "<Enable Fil. Sensor>"
|
||||
#define SM_EN_FILSENS_S "<ENSEN>"
|
||||
#define SM_EXIT_L "<Exit>"
|
||||
#define SM_EXIT_S "<SMEXIT>"
|
||||
|
||||
#define SM_BACK_L "<End Mesh Leveling>"
|
||||
#define SM_BACK_S "<BACK>"
|
||||
|
||||
#define SM_FLOWMENU_L "<Set Flowrate>"
|
||||
#define SM_FLOWMENU_S "<SETFLO>"
|
||||
#define SM_FLOW_DISP_L "<Flow is XXX>"
|
||||
#define SM_FLOW_DISP_S "<FLDISP>"
|
||||
#define SM_FLOW_UP_L "<Up>"
|
||||
#define SM_FLOW_UP_S "<FLUP>"
|
||||
#define SM_FLOW_DN_L "<Down>"
|
||||
#define SM_FLOW_DN_S "<FLDN>"
|
||||
#define SM_FLOW_EXIT_L "<Exit Flow Settings>"
|
||||
#define SM_FLOW_EXIT_S "<EXTFLW>"
|
||||
|
||||
#define SM_EZLVL_MENU_L "<Easy 4 Point Level>"
|
||||
#define SM_EZLVL_MENU_S "<EZLVLM>"
|
||||
#define SM_EZLVL_P1_L "<Point A>"
|
||||
#define SM_EZLVL_P1_S "<EZLPA>"
|
||||
#define SM_EZLVL_P2_L "<Point B>"
|
||||
#define SM_EZLVL_P2_S "<EZLPB>"
|
||||
#define SM_EZLVL_P3_L "<Point C>"
|
||||
#define SM_EZLVL_P3_S "<EZLPC>"
|
||||
#define SM_EZLVL_P4_L "<Point D>"
|
||||
#define SM_EZLVL_P4_S "<EZLPD>"
|
||||
#define SM_EZLVL_EXIT_L "<Exit Easy Level>"
|
||||
#define SM_EZLVL_EXIT_S "<EZLEXT>"
|
||||
|
||||
#define SM_BLTZMENU_L "<Auto Leveling>"
|
||||
#define SM_BLTZMENU_S "<SETOFZ>"
|
||||
#define SM_BLTZ_DISP_L "<Z Offset: XXXXX>"
|
||||
#define SM_BLTZ_DISP_S "<OFZDSP>"
|
||||
#define SM_BLTZ_UP_L "<Up>"
|
||||
#define SM_BLTZ_UP_S "<UPOFFZ0>"
|
||||
#define SM_BLTZ_DN_L "<Down>"
|
||||
#define SM_BLTZ_DN_S "<DNOFFZ0>"
|
||||
#define SM_BLTZ_EXIT_L "<SAVE and EXIT>"
|
||||
#define SM_BLTZ_EXIT_S "<EXTABLM>"
|
||||
#define SM_HS_DISABLE_L "<Disable HiSpeed Mode>"
|
||||
#define SM_HS_ENABLE_L "<Enable HiSpeed Mode>"
|
||||
#endif // !KNUTWURST_DGUS2_TFT
|
||||
|
||||
#if ENABLED(KNUTWURST_DGUS2_TFT)
|
||||
#define SM_DIR_UP_L "<<< BACK <<< .gcode"
|
||||
#define SM_DIR_UP_S "DIR_UP~1.GCO"
|
||||
#define SM_DIR_UP_L "/.. .gcode"
|
||||
#define SM_SPECIAL_MENU_L "<Special Menu> .gcode"
|
||||
#define SM_SPECIAL_MENU_S "<SPECI~1.GCO"
|
||||
#define SM_PID_HOTEND_L "<PID Tune Hotend> .gcode"
|
||||
#define SM_PID_HOTEND_S "<PIDTU~1.GCO"
|
||||
#define SM_PID_BED_L "<PID Tune Ultrabase>.gcode"
|
||||
#define SM_PID_BED_S "<PIDTU~2.GCO"
|
||||
#define SM_SAVE_EEPROM_L "<Save EEPROM> .gcode"
|
||||
#define SM_SAVE_EEPROM_S "<SAVEE~1.GCO"
|
||||
#define SM_LOAD_DEFAULTS_L "<Load FW Defaults> .gcode"
|
||||
#define SM_LOAD_DEFAULTS_S "<LOADF~1.GCO"
|
||||
#define SM_PREHEAT_BED_L "<Preheat Ultrabase> .gcode"
|
||||
#define SM_PREHEAT_BED_S "<PREHE~1.GCO"
|
||||
#define SM_MESH_MENU_L "<Mesh Leveling> .gcode"
|
||||
#define SM_MESH_MENU_S "<MESHL~1.GCO"
|
||||
#define SM_MESH_START_L "<Start MeshLeveling>.gcode"
|
||||
#define SM_MESH_START_S "<START~1.GCO"
|
||||
#define SM_MESH_NEXT_L "<Next Mesh Point> .gcode"
|
||||
#define SM_MESH_NEXT_S "<NEXTM~1.GCO"
|
||||
#define SM_Z_UP_01_L "<Z Up 0.1> .gcode"
|
||||
#define SM_Z_UP_01_S "<ZUP01~1.GCO"
|
||||
#define SM_Z_DN_01_L "<Z Down 0.1> .gcode"
|
||||
#define SM_Z_DN_01_S "<ZDOWN~1.GCO"
|
||||
#define SM_Z_UP_002_L "<Z Up 0.02> .gcode"
|
||||
#define SM_Z_UP_002_S "<ZUP00~1.GCO"
|
||||
#define SM_Z_DN_002_L "<Z Down 0.02> .gcode"
|
||||
#define SM_Z_DN_002_S "<ZDOWN~2.GCO"
|
||||
#define SM_Z_UP_001_L "<Z Up 0.01> .gcode"
|
||||
#define SM_Z_UP_001_S "<ZUP00~2.GCO"
|
||||
#define SM_Z_DN_001_L "<Z Down 0.01> .gcode"
|
||||
#define SM_Z_DN_001_S "<ZDOWN~3.GCO"
|
||||
#define SM_BLTOUCH_L "<Start AutoLeveling>.gcode"
|
||||
#define SM_BLTOUCH_S "<BLTOU~1.GCO"
|
||||
#define SM_RESETLV_L "<Reset Level Grid> .gcode"
|
||||
#define SM_RESETLV_S "<RSTLV~1.GCO>"
|
||||
#define SM_PAUSE_L "<Fil. Change Pause> .gcode"
|
||||
#define SM_PAUSE_S "<FILCH~2.GCO"
|
||||
#define SM_RESUME_L "<Fil. Change Resume>.gcode"
|
||||
#define SM_RESUME_S "<FILCH~1.GCO"
|
||||
#define SM_DIS_FILSENS_L "<Disable Fil.Sensor>.gcode"
|
||||
#define SM_DIS_FILSENS_S "<DISAB~1.GCO"
|
||||
#define SM_EN_FILSENS_L "<Enable Fil. Sensor>.gcode"
|
||||
#define SM_EN_FILSENS_S "<ENABL~1.GCO"
|
||||
#define SM_EXIT_L "<Exit> .gcode"
|
||||
#define SM_EXIT_S "<EXIT_~1.GCO"
|
||||
|
||||
#define SM_BACK_L "<End Mesh Leveling> .gcode"
|
||||
#define SM_BACK_S "<BACK_~1.GCO"
|
||||
|
||||
#define SM_FLOWMENU_L "<Set Flowrate> .gcode"
|
||||
#define SM_FLOWMENU_S "<SETFLO1.GCO"
|
||||
#define SM_FLOW_DISP_L "<Flow is XXX%> .gcode"
|
||||
#define SM_FLOW_DISP_S "<FLDISPL.GCO"
|
||||
#define SM_FLOW_UP_L "<Up> .gcode"
|
||||
#define SM_FLOW_UP_S "<UPFLOW1.GCO"
|
||||
#define SM_FLOW_DN_L "<Down> .gcode"
|
||||
#define SM_FLOW_DN_S "<DWNFLOW.GCO"
|
||||
#define SM_FLOW_EXIT_L "<Exit Flow Settings>.gcode"
|
||||
#define SM_FLOW_EXIT_S "<EXTFLW1.GCO"
|
||||
|
||||
#define SM_EZLVL_MENU_L "<Easy 4 Point Level>.gcode"
|
||||
#define SM_EZLVL_MENU_S "<EZLVLM1.GCO"
|
||||
#define SM_EZLVL_P1_L "<Point A> .gcode"
|
||||
#define SM_EZLVL_P1_S "<EZLPA01.GCO"
|
||||
#define SM_EZLVL_P2_L "<Point B> .gcode"
|
||||
#define SM_EZLVL_P2_S "<EZLPB01.GCO"
|
||||
#define SM_EZLVL_P3_L "<Point C> .gcode"
|
||||
#define SM_EZLVL_P3_S "<EZLPC01.GCO"
|
||||
#define SM_EZLVL_P4_L "<Point D> .gcode"
|
||||
#define SM_EZLVL_P4_S "<EZLPD01.GCO"
|
||||
#define SM_EZLVL_EXIT_L "<Exit Easy Leveling>.gcode"
|
||||
#define SM_EZLVL_EXIT_S "<EZLEXT1.GCO"
|
||||
|
||||
#define SM_BLTZMENU_L "<Auto Leveling> .gcode"
|
||||
#define SM_BLTZMENU_S "<SETOFZ0.GCO"
|
||||
#define SM_BLTZ_DISP_L "<Z Offset: XXXXX> .gcode"
|
||||
#define SM_BLTZ_DISP_S "<OFZDSP0.GCO"
|
||||
#define SM_BLTZ_UP_L "<Up> .gcode"
|
||||
#define SM_BLTZ_UP_S "<UPOFFZ0.GCO"
|
||||
#define SM_BLTZ_DN_L "<Down> .gcode"
|
||||
#define SM_BLTZ_DN_S "<DOWNOFZ.GCO"
|
||||
#define SM_BLTZ_EXIT_L "<SAVE and EXIT> .gcode"
|
||||
#define SM_BLTZ_EXIT_S "<EXTABLM.GCO"
|
||||
#define SM_HS_DISABLE_L "<Disable HiSpeed> .gcode"
|
||||
#define SM_HS_ENABLE_L "<Enable HiSpeed> .gcode"
|
||||
#endif // KNUTWURST_DGUS2_TFT
|
||||
|
||||
#if ENABLED(KNUTWURST_TFT_LEVELING)
|
||||
// eeprom_index
|
||||
extern int z_values_index;
|
||||
extern int z_values_size;
|
||||
// temp value which needs to be saved
|
||||
extern float SAVE_zprobe_zoffset;
|
||||
#endif
|
||||
|
||||
class AnycubicTouchscreenClass {
|
||||
|
||||
public:
|
||||
AnycubicTouchscreenClass();
|
||||
|
||||
void Setup();
|
||||
void CommandScan();
|
||||
void BedHeatingStart();
|
||||
void BedHeatingDone();
|
||||
void HeatingDone();
|
||||
void HeatingStart();
|
||||
void FilamentRunout();
|
||||
void DoFilamentRunoutCheck();
|
||||
void UserConfirmRequired(const char *);
|
||||
void SDCardStateChange(bool);
|
||||
void SDCardError();
|
||||
void KillTFT();
|
||||
void OnPrintTimerStarted();
|
||||
void OnPrintTimerPaused();
|
||||
void OnPrintTimerStopped();
|
||||
|
||||
#if BOTH(ANYCUBIC_TFT_DEBUG, KNUTWURST_DGUS2_TFT)
|
||||
void Command(const char * const command);
|
||||
#endif
|
||||
char TFTstate = ANYCUBIC_TFT_STATE_IDLE;
|
||||
|
||||
/**
|
||||
* Anycubic TFT pause states:
|
||||
*
|
||||
* 0 - printing / stopped
|
||||
* 1 - regular pause
|
||||
* 2 - M600 pause
|
||||
* 3 - filament runout pause
|
||||
* 4 - nozzle timeout on regular pause // OBSOLETE
|
||||
* 5 - nozzle timeout on M600 // OBSOLETE
|
||||
* 6 - nozzle timeout on filament runout // OBSOLETE
|
||||
*/
|
||||
uint8_t ai3m_pause_state = 0;
|
||||
#if ENABLED(KNUTWURST_TFT_LEVELING)
|
||||
void LevelingDone();
|
||||
#endif
|
||||
|
||||
private:
|
||||
char TFTcmdbuffer[TFTBUFSIZE][TFT_MAX_CMD_SIZE];
|
||||
@@ -282,15 +227,16 @@ int serial3_count = 0;
|
||||
char *TFTstrchr_pointer;
|
||||
char FlagResumFromOutage = 0;
|
||||
int filenumber = 0;
|
||||
unsigned long starttime = 0;
|
||||
unsigned long stoptime = 0;
|
||||
uint8_t tmp_extruder = 0;
|
||||
char LastSDstatus = 0;
|
||||
uint16_t HeaterCheckCount = 0;
|
||||
bool IsParked = false;
|
||||
int currentFlowRate = 0;
|
||||
bool PrintdoneAndPowerOFF = true;
|
||||
bool powerOFFflag = 0;
|
||||
xy_uint8_t selectedmeshpoint;
|
||||
float live_Zoffset;
|
||||
|
||||
static AnycubicMediaPrintState mediaPrintingState;
|
||||
static AnycubicMediaPauseState mediaPauseState;
|
||||
|
||||
#if defined(POWER_OUTAGE_TEST)
|
||||
struct OutageDataStruct {
|
||||
@@ -307,26 +253,23 @@ bool powerOFFflag = 0;
|
||||
int CodeValueInt();
|
||||
float CodeValue();
|
||||
bool CodeSeen(char);
|
||||
void PrintList();
|
||||
void StartPrint();
|
||||
void PausePrint();
|
||||
void ResumePrint();
|
||||
void StopPrint();
|
||||
void StateHandler();
|
||||
void GetCommandFromTFT();
|
||||
void CheckSDCardChange();
|
||||
void CheckHeaterError();
|
||||
void HandleSpecialMenu();
|
||||
void FilamentChangePause();
|
||||
void FilamentChangeResume();
|
||||
void ReheatNozzle();
|
||||
void ParkAfterStop();
|
||||
void HandleSpecialMenu();
|
||||
void RenderCurrentFileList();
|
||||
void RenderSpecialMenu(uint16_t);
|
||||
void RenderCurrentFolder(uint16_t);
|
||||
|
||||
char currentTouchscreenSelection[64];
|
||||
char currentFileOrDirectory[64];
|
||||
String flowRateBuffer;
|
||||
String zOffsetBuffer;
|
||||
uint16_t MyFileNrCnt = 0;
|
||||
uint8_t FilamentSensorEnabled = true;
|
||||
|
||||
uint8_t SpecialMenu = false;
|
||||
uint8_t MMLMenu = false;
|
||||
@@ -335,13 +278,6 @@ uint8_t BLTouchMenu = false;
|
||||
uint8_t LevelMenu = false;
|
||||
uint8_t CaseLight = true;
|
||||
|
||||
#if ENABLED(ANYCUBIC_FILAMENT_RUNOUT_SENSOR)
|
||||
char FilamentTestStatus = false;
|
||||
char FilamentTestLastStatus = false;
|
||||
bool FilamentSetMillis = true;
|
||||
int FilamentRunoutCounter = 0;
|
||||
#endif
|
||||
|
||||
#if ENABLED(KNUTWURST_MEGA_P_LASER)
|
||||
typedef struct {
|
||||
unsigned char bfType[2];
|
127
Marlin/src/lcd/extui/knutwurst/knutwurst_extui.cpp
Normal file
127
Marlin/src/lcd/extui/knutwurst/knutwurst_extui.cpp
Normal file
@@ -0,0 +1,127 @@
|
||||
/**
|
||||
* Marlin 3D Printer Firmware
|
||||
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
||||
*
|
||||
* Based on Sprinter and grbl.
|
||||
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* lcd/extui/knutwurst/knutwurst_extui.cpp
|
||||
*/
|
||||
|
||||
#include "../../../inc/MarlinConfigPre.h"
|
||||
|
||||
#if ENABLED(ANYCUBIC_TOUCHSCREEN)
|
||||
|
||||
#include "anycubic_touchscreen.h"
|
||||
#include "../ui_api.h"
|
||||
|
||||
#include <Arduino.h> // for the ::tone() call
|
||||
|
||||
namespace ExtUI {
|
||||
void onStartup() { AnycubicTouchscreen.Setup(); }
|
||||
void onIdle() { AnycubicTouchscreen.CommandScan(); }
|
||||
void onPrinterKilled(FSTR_P const error, FSTR_P const component) { AnycubicTouchscreen.KillTFT(); }
|
||||
void onMediaInserted() { AnycubicTouchscreen.SDCardStateChange(true); }
|
||||
void onMediaError() { AnycubicTouchscreen.SDCardError(); }
|
||||
void onMediaRemoved() { AnycubicTouchscreen.SDCardStateChange(false); }
|
||||
void onPlayTone(const uint16_t frequency, const uint16_t duration) {
|
||||
TERN_(SPEAKER, ::tone(BEEPER_PIN, frequency, duration));
|
||||
}
|
||||
void onPrintTimerStarted() { AnycubicTouchscreen.OnPrintTimerStarted(); }
|
||||
void onPrintTimerPaused() { AnycubicTouchscreen.OnPrintTimerPaused(); }
|
||||
void onPrintTimerStopped() { AnycubicTouchscreen.OnPrintTimerStopped(); }
|
||||
void onFilamentRunout(const extruder_t extruder) { AnycubicTouchscreen.FilamentRunout(); }
|
||||
void onUserConfirmRequired(const char * const msg) { AnycubicTouchscreen.UserConfirmRequired(msg); }
|
||||
void onStatusChanged(const char * const msg) {}
|
||||
|
||||
void onHomingStart() {}
|
||||
void onHomingDone() {}
|
||||
void onPrintDone() {}
|
||||
|
||||
void onFactoryReset() {}
|
||||
|
||||
void onStoreSettings(char *buff) {
|
||||
// Called when saving to EEPROM (i.e. M500). If the ExtUI needs
|
||||
// permanent data to be stored, it can write up to eeprom_data_size bytes
|
||||
// into buff.
|
||||
|
||||
// Example:
|
||||
// static_assert(sizeof(myDataStruct) <= eeprom_data_size);
|
||||
// memcpy(buff, &myDataStruct, sizeof(myDataStruct));
|
||||
}
|
||||
|
||||
void onLoadSettings(const char *buff) {
|
||||
// Called while loading settings from EEPROM. If the ExtUI
|
||||
// needs to retrieve data, it should copy up to eeprom_data_size bytes
|
||||
// from buff
|
||||
|
||||
// Example:
|
||||
// static_assert(sizeof(myDataStruct) <= eeprom_data_size);
|
||||
// memcpy(&myDataStruct, buff, sizeof(myDataStruct));
|
||||
}
|
||||
|
||||
void onPostprocessSettings() {
|
||||
// Called after loading or resetting stored settings
|
||||
}
|
||||
|
||||
void onSettingsStored(bool success) {
|
||||
// Called after the entire EEPROM has been written,
|
||||
// whether successful or not.
|
||||
}
|
||||
|
||||
void onSettingsLoaded(bool success) {
|
||||
// Called after the entire EEPROM has been read,
|
||||
// whether successful or not.
|
||||
}
|
||||
|
||||
#if HAS_MESH
|
||||
void onLevelingStart() {}
|
||||
|
||||
void onLevelingDone() {
|
||||
#if ENABLED(KNUTWURST_TFT_LEVELING)
|
||||
AnycubicTouchscreen.LevelingDone();
|
||||
#endif
|
||||
}
|
||||
|
||||
void onMeshUpdate(const int8_t xpos, const int8_t ypos, const_float_t zval) {
|
||||
// Called when any mesh points are updated
|
||||
}
|
||||
|
||||
void onMeshUpdate(const int8_t xpos, const int8_t ypos, probe_state_t state) {
|
||||
// Called when any mesh points are updated
|
||||
}
|
||||
#endif
|
||||
|
||||
#if ENABLED(POWER_LOSS_RECOVERY)
|
||||
void onPowerLossResume() {
|
||||
// Called on resume from power-loss
|
||||
}
|
||||
#endif
|
||||
|
||||
#if HAS_PID_HEATING
|
||||
void onPidTuning(const result_t rst) {
|
||||
// Called for temperature PID tuning result
|
||||
}
|
||||
#endif
|
||||
|
||||
void onSteppersDisabled() {}
|
||||
void onSteppersEnabled() {}
|
||||
}
|
||||
|
||||
#endif // ANYCUBIC_TOUCHSCREEN
|
@@ -286,9 +286,11 @@
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// RAMPS 1.4 DIO 4 on the servos connector
|
||||
#ifndef FIL_RUNOUT_PIN
|
||||
#define FIL_RUNOUT_PIN 4
|
||||
|
||||
#if ANY(KNUTWURST_CHIRON, KNUTWURST_4MAXP2)
|
||||
#define FIL_RUNOUT_PIN 33
|
||||
#else
|
||||
#define FIL_RUNOUT_PIN 19
|
||||
#endif
|
||||
|
||||
#ifndef PS_ON_PIN
|
||||
|
@@ -253,7 +253,7 @@
|
||||
|
||||
// RAMPS 1.4 DIO 4 on the servos connector
|
||||
#ifndef FIL_RUNOUT_PIN
|
||||
#define FIL_RUNOUT_PIN 4
|
||||
#define FIL_RUNOUT_PIN 33
|
||||
#endif
|
||||
|
||||
#ifndef PS_ON_PIN
|
||||
|
@@ -86,6 +86,12 @@
|
||||
#define OUTAGECON_PIN 58
|
||||
#endif
|
||||
|
||||
#if ANY(KNUTWURST_CHIRON, KNUTWURST_4MAXP2)
|
||||
#define FIL_RUNOUT_PIN 33
|
||||
#else
|
||||
#define FIL_RUNOUT_PIN 19
|
||||
#endif
|
||||
|
||||
#if ENABLED(TRIGORILLA_MAPPING_CHIRON)
|
||||
#ifndef FIL_RUNOUT_PIN
|
||||
#define FIL_RUNOUT_PIN 33
|
||||
|
@@ -64,7 +64,7 @@
|
||||
#define TG_FAN1_PIN 7 // Anycubic Kossel: Unused
|
||||
#define TG_FAN2_PIN 44 // Anycubic Kossel: Hotend fan
|
||||
#define CONTROLLER_FAN_PIN TG_FAN1_PIN
|
||||
#define FIL_RUNOUT_PIN 19
|
||||
#define FIL_RUNOUT_PIN 33
|
||||
#define BEEPER_PIN 31
|
||||
#define SDSS 53
|
||||
#define LED_PIN 13
|
||||
|
Reference in New Issue
Block a user