Compare commits
12 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
4e22347e8c | ||
|
fb22e90d6d | ||
|
14c90915b0 | ||
|
f078706442 | ||
|
fe734e1152 | ||
|
4d5d068a99 | ||
|
919814c0d7 | ||
|
a4cd712b02 | ||
|
6ffd8dd31d | ||
|
c1b3d4afec | ||
|
083894f518 | ||
|
81ed8a1d9f |
@@ -915,11 +915,11 @@
|
||||
* X, Y, Z, E0 [, E1[, E2...]]
|
||||
*/
|
||||
#if ENABLED(KNUTWURST_MEGA)
|
||||
#define DEFAULT_MAX_FEEDRATE { 500, 500, 20, 60 }
|
||||
#define DEFAULT_MAX_FEEDRATE { 500, 500, 8, 60 }
|
||||
#endif
|
||||
|
||||
#if ENABLED(KNUTWURST_MEGA_S)
|
||||
#define DEFAULT_MAX_FEEDRATE { 500, 500, 20, 30 }
|
||||
#define DEFAULT_MAX_FEEDRATE { 500, 500, 8, 30 }
|
||||
#endif
|
||||
|
||||
#if ENABLED(KNUTWURST_MEGA_X)
|
||||
@@ -939,7 +939,16 @@
|
||||
* Override with M201
|
||||
* X, Y, Z, E0 [, E1[, E2...]]
|
||||
*/
|
||||
#if EITHER(KNUTWURST_MEGA, KNUTWURST_MEGA_S)
|
||||
#define DEFAULT_MAX_ACCELERATION { 3000, 2000, 60, 10000 }
|
||||
#endif
|
||||
|
||||
#if ENABLED(KNUTWURST_MEGA_X)
|
||||
#define DEFAULT_MAX_ACCELERATION { 400, 400, 60, 10000 }
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
//#define LIMITED_MAX_ACCEL_EDITING // Limit edit via M201 or LCD to DEFAULT_MAX_ACCELERATION * 2
|
||||
#if ENABLED(LIMITED_MAX_ACCEL_EDITING)
|
||||
@@ -982,10 +991,31 @@
|
||||
* value set here, it may happen instantaneously.
|
||||
*/
|
||||
//#define CLASSIC_JERK
|
||||
|
||||
// I Know.. it's useless to put it here ;)
|
||||
#if EITHER(KNUTWURST_MEGA, KNUTWURST_MEGA_S)
|
||||
//#define CLASSIC_JERK
|
||||
#endif
|
||||
|
||||
#if ENABLED(KNUTWURST_MEGA_X)
|
||||
#define CLASSIC_JERK
|
||||
#endif
|
||||
|
||||
#if ENABLED(CLASSIC_JERK)
|
||||
|
||||
#if EITHER(KNUTWURST_MEGA, KNUTWURST_MEGA_S)
|
||||
#define DEFAULT_XJERK 10.0
|
||||
#define DEFAULT_YJERK 10.0
|
||||
#define DEFAULT_ZJERK 0.4
|
||||
#endif
|
||||
|
||||
#if ENABLED(KNUTWURST_MEGA_X)
|
||||
#define DEFAULT_XJERK 4.0
|
||||
#define DEFAULT_YJERK 4.0
|
||||
#define DEFAULT_ZJERK 0.15
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
//#define TRAVEL_EXTRA_XYJERK 0.0 // Additional jerk allowance for all travel moves
|
||||
|
||||
@@ -995,7 +1025,13 @@
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if EITHER(KNUTWURST_MEGA, KNUTWURST_MEGA_S)
|
||||
#define DEFAULT_EJERK 5.0 // May be used by Linear Advance
|
||||
#endif
|
||||
|
||||
#if ENABLED(KNUTWURST_MEGA_X)
|
||||
#define DEFAULT_EJERK 8.0 // May be used by Linear Advance
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Junction Deviation Factor
|
||||
@@ -1005,9 +1041,15 @@
|
||||
* http://blog.kyneticcnc.com/2018/10/computing-junction-deviation-for-marlin.html
|
||||
*/
|
||||
#if DISABLED(CLASSIC_JERK)
|
||||
#if EITHER(KNUTWURST_MEGA, KNUTWURST_MEGA_S)
|
||||
#define JUNCTION_DEVIATION_MM 0.013 // (mm) Distance from real junction edge
|
||||
#endif
|
||||
|
||||
#if ENABLED(KNUTWURST_MEGA_X)
|
||||
#define JUNCTION_DEVIATION_MM 0.013 // (mm) Distance from real junction edge
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/**
|
||||
* S-Curve Acceleration
|
||||
*
|
||||
@@ -1634,7 +1676,7 @@
|
||||
|
||||
// Homing speeds (mm/m)
|
||||
#define HOMING_FEEDRATE_XY (50*60)
|
||||
#define HOMING_FEEDRATE_Z (10*60)
|
||||
#define HOMING_FEEDRATE_Z (5*60)
|
||||
|
||||
// Validate that endstops are triggered on homing moves
|
||||
#define VALIDATE_HOMING_ENDSTOPS
|
||||
|
@@ -41,11 +41,11 @@
|
||||
* here we define this default string as the date where the latest release
|
||||
* version was tagged.
|
||||
*/
|
||||
#define CUSTOM_BUILD_VERSION "1.1.2"
|
||||
#define CUSTOM_BUILD_VERSION "1.1.3"
|
||||
|
||||
#ifndef STRING_DISTRIBUTION_DATE
|
||||
//#define STRING_DISTRIBUTION_DATE "2020-07-09"
|
||||
#define STRING_DISTRIBUTION_DATE "2020-08-13"
|
||||
#define STRING_DISTRIBUTION_DATE "2020-08-16"
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
@@ -447,14 +447,21 @@ void AnycubicTouchscreenClass::HandleSpecialMenu()
|
||||
|| (strcasestr(currentTouchscreenSelection, SM_PID_HOTEND_S) != NULL))
|
||||
{
|
||||
SERIAL_ECHOLNPGM("Special Menu: PID Tune Hotend");
|
||||
queue.inject_P(PSTR("M106 S204\nG4 P500\nM303 E0 S215 C15 U1"));
|
||||
|
||||
queue.inject_P(PSTR("G28\nG90\nG1 Z20\nG1 X100 Y100 F4000\nG1 Z5\nM106 S172\nG4 P500\nM303 E0 S215 C15 U1\nG4 P500\nM107\nG28\nG1 Z10\nM84"));
|
||||
buzzer.tone(200, 1108);
|
||||
buzzer.tone(200, 1661);
|
||||
buzzer.tone(200, 1108);
|
||||
buzzer.tone(600, 1661);
|
||||
}
|
||||
else if ((strcasestr(currentTouchscreenSelection, SM_PID_BED_L) != NULL)
|
||||
|| (strcasestr(currentTouchscreenSelection, SM_PID_BED_S) != NULL))
|
||||
{
|
||||
SERIAL_ECHOLNPGM("Special Menu: PID Tune Ultrabase");
|
||||
queue.inject_P(PSTR("M303 E-1 S60 C6 U1"));
|
||||
buzzer.tone(200, 1108);
|
||||
buzzer.tone(200, 1661);
|
||||
buzzer.tone(200, 1108);
|
||||
buzzer.tone(600, 1661);
|
||||
}
|
||||
else if ((strcasestr(currentTouchscreenSelection, SM_SAVE_EEPROM_L) != NULL)
|
||||
|| (strcasestr(currentTouchscreenSelection, SM_SAVE_EEPROM_S) != NULL))
|
||||
@@ -520,17 +527,15 @@ void AnycubicTouchscreenClass::HandleSpecialMenu()
|
||||
|| (strcasestr(currentTouchscreenSelection, SM_Z_UP_001_S) != NULL))
|
||||
{
|
||||
SERIAL_ECHOLNPGM("Special Menu: Z Up 0.01");
|
||||
queue.inject_P(PSTR("G91\nG1 Z+0.01\nG90"));
|
||||
//queue.inject_P(PSTR("G91\nG1 Z+0.01\nG90"));
|
||||
//queue.inject_P(PSTR("G91\nG1 Z-0.02\nG90"));
|
||||
queue.inject_P(PSTR("G91\nG1 Z+0.03\nG4 P250\nG1 Z-0.02\nG90"));
|
||||
}
|
||||
else if ((strcasestr(currentTouchscreenSelection, SM_Z_DN_001_L) != NULL)
|
||||
|| (strcasestr(currentTouchscreenSelection, SM_Z_DN_001_L) != NULL))
|
||||
|| (strcasestr(currentTouchscreenSelection, SM_Z_DN_001_S) != NULL))
|
||||
{
|
||||
SERIAL_ECHOLNPGM("Special Menu: Z Down 0.01");
|
||||
queue.inject_P(PSTR("G91\nG1 Z-0.01\nG90"));
|
||||
//queue.inject_P(PSTR("G91\nG1 Z+0.02\nG90"));
|
||||
//queue.inject_P(PSTR("G91\nG1 Z-0.03\nG90"));
|
||||
//queue.inject_P(PSTR("G91\nG1 Z-0.01\nG90"));
|
||||
queue.inject_P(PSTR("G91\nG1 Z+0.02\nG4 P250\nG1 Z-0.03\nG90"));
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -539,7 +544,7 @@ void AnycubicTouchscreenClass::HandleSpecialMenu()
|
||||
|| (strcasestr(currentTouchscreenSelection, SM_BLTOUCH_S) != NULL))
|
||||
{
|
||||
SERIAL_ECHOLNPGM("Special Menu: BLTouch Leveling");
|
||||
queue.inject_P(PSTR("G28\nG29\nM500\nG90\nG1 Z30 F4000\nG1 X0 F4000\nG91"));
|
||||
queue.inject_P(PSTR("G28\nG29\nM500\nG90\nG1 Z30 F4000\nG1 X0 F4000\nG91\nM84"));
|
||||
}
|
||||
#endif
|
||||
|
||||
|
16
README.md
16
README.md
@@ -53,6 +53,7 @@
|
||||
* Wiederaufnahme des Drucks nach Stromausfall (WiP)
|
||||
* Druckbettgröße erweitert auf 220 x 225 x 210 mm
|
||||
* Automatischer 'Slowdown', falls Daten nicht schnell genug fließen
|
||||
* Vollautomatisches Hotend und Ultrabase PID Tuning
|
||||
|
||||
|
||||
## Besser im Vergleich zu anderen Firmwares (Bugfixes):
|
||||
@@ -193,8 +194,8 @@ Für (fast) jede Kombination gibt es eine passende Firmware im Download-Bereich.
|
||||
* Mesh bed calibration / Auto calibration with BLTouch [(see installation Manual)](https://github.com/knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S/wiki/BLTouch-Installation-(english))
|
||||
* S-curve acceleration
|
||||
* "Juction Deviation" instead of the classic "Jerk"
|
||||
* "Linear Pressure Control v1.5" enabled (can be configured with M900)
|
||||
* Baby stepping during printing
|
||||
* "Linear Pressure Control v1.5" activated (can be configured with M900)
|
||||
* Baby stepping during the printing process
|
||||
* Bilinear Bed Leveling (BBL)
|
||||
* Manual editing of the measuring points
|
||||
* Full Anycubic touchscreen support
|
||||
@@ -202,12 +203,11 @@ Für (fast) jede Kombination gibt es eine passende Firmware im Download-Bereich.
|
||||
* Part cooling fan now runs at 100% instead of 70%
|
||||
* Pause & filament change function
|
||||
* Automatic EEPROM initialization
|
||||
* Filament Runout Sensor can be temporarily deactivated in the menu
|
||||
* Power outage support
|
||||
* Print bed size enlarged to 220 x 225 x 210 mm
|
||||
* Automatic slowdown in if the data is not received fast enough
|
||||
* You don't have to do a basic configuration via GCODE.
|
||||
* You do not have to perform a factory reset
|
||||
* Filament runout sensor can be temporarily deactivated in the menu
|
||||
* Resumption of printing after a power failure (WiP)
|
||||
* Print bed size expanded to 220 x 225 x 210 mm
|
||||
* Automatic 'slowdown' if data does not flow fast enough
|
||||
* Fully automatic hotend and ultrabase PID tuning
|
||||
|
||||
### What's better in coparison to other firmwares (bug fixes):
|
||||
* Tidy special menu
|
||||
|
@@ -4,14 +4,14 @@ VERSION_FILE="/Users/OKoester/Documents/Arduino/Marlin-2-0-x-Anycubic-i3-MEGA-S-
|
||||
FIRMWARE_FOLDER="/Users/OKoester/Documents/Arduino/Marlin-2-0-x-Anycubic-i3-MEGA-S-Master/.pio/build/"
|
||||
OUTPUT_FOLDER="/Users/OKoester/Desktop/i3_FIRMWARE"
|
||||
|
||||
if [ -d "$OUTPUT_FOLDER" ]; then
|
||||
echo "$OUTPUT_FOLDER already exists."
|
||||
else
|
||||
mkdir $OUTPUT_FOLDER
|
||||
fi
|
||||
|
||||
CUSTOM_BUILD_VERSION=$(egrep -o "([0-9]{1,}\.)+[0-9]{1,}" $VERSION_FILE -m2 | tail -n1)
|
||||
|
||||
if [ -d "$$OUTPUT_FOLDER/v$CUSTOM_BUILD_VERSION" ]; then
|
||||
echo "$$OUTPUT_FOLDER/$CUSTOM_BUILD_VERSION already exists."
|
||||
else
|
||||
mkdir $OUTPUT_FOLDER/$CUSTOM_BUILD_VERSION
|
||||
fi
|
||||
|
||||
echo "Knutwurst's Mega Firmware Version: $CUSTOM_BUILD_VERSION"
|
||||
|
||||
cd $FIRMWARE_FOLDER
|
||||
@@ -19,5 +19,5 @@ for dir in $FIRMWARE_FOLDER/*/
|
||||
do
|
||||
dir=${dir%*/}
|
||||
echo ${dir##*/}
|
||||
cp ${dir##*/}/firmware.hex /$OUTPUT_FOLDER/${dir##*/}_v$CUSTOM_BUILD_VERSION.hex
|
||||
cp ${dir##*/}/firmware.hex /$OUTPUT_FOLDER/$CUSTOM_BUILD_VERSION/${dir##*/}_v$CUSTOM_BUILD_VERSION.hex
|
||||
done
|
BIN
images/bltouch_switch_cable.jpg
Normal file
BIN
images/bltouch_switch_cable.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 72 KiB |
BIN
images/servo_futaba.jpg
Normal file
BIN
images/servo_futaba.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.7 KiB |
BIN
images/servo_graupner.jpg
Normal file
BIN
images/servo_graupner.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 14 KiB |
Reference in New Issue
Block a user