70 Commits
1.1.0 ... 1.1.4

Author SHA1 Message Date
Knutwurst
fb65790f4d Update Version to 1.1.4 Release 2020-08-24 11:07:00 +02:00
Oliver Köster
f627c62df2 Update README.md 2020-08-24 08:21:52 +02:00
Oliver Köster
0c841d8d18 Update README.md 2020-08-24 08:20:28 +02:00
Knutwurst
e53792cbce Fix Z Feedrate on Mega X 2020-08-23 22:00:28 +02:00
Knutwurst
d6a74a59dd Fix typo. 2020-08-23 18:40:08 +02:00
Knutwurst
10987b38ba A bit more to read ;) 2020-08-23 17:19:15 +02:00
Knutwurst
3f4825db12 Disable DGUS for Mega X with BLTouch on 1.1 Motherboard 2020-08-23 15:32:38 +02:00
Knutwurst
e9fbd33fbe Add alternative solder point for BLTouch 2020-08-23 15:01:24 +02:00
Knutwurst
25c776aec3 Pictures of Stepper Test 2020-08-23 12:18:53 +02:00
Knutwurst
ef3a102902 More Images 2020-08-23 11:49:22 +02:00
Knutwurst
3fce6790fc Add single picture of new fans 2020-08-23 11:42:21 +02:00
Knutwurst
b8cbfd7569 - Disable DGUS Fix for Mega X to switch to the better Special Menu
- Bump Version to 1.1.4 Beta
- Fix Special Menu Handling when no SD Card is present
- Add Pictures for new WIKI Page
- Set Classic jerk to 0.2 since this is needed for Mesh Leveling
2020-08-23 11:40:00 +02:00
Knutwurst
2ef275c95b More default speeds from original MEGA_X_V1.2.6 Firmware 2020-08-22 21:19:48 +02:00
Knutwurst
98852f7164 Show Special Menu even if no SD card is inserted. 2020-08-22 15:07:43 +02:00
Knutwurst
810526e377 Some minor Touchscreen fixes 2020-08-22 14:44:01 +02:00
Knutwurst
f663765c7e Add detailed Version Info for DGUS II. 2020-08-21 23:52:11 +02:00
Knutwurst
1ef285fa1d Update README.md 2020-08-19 12:09:49 +02:00
Knutwurst
a35eba79cc Revert "Update README.md"
This reverts commit 8a3eef85b1.
2020-08-19 12:07:49 +02:00
Oliver Köster
21d5e7ecf7 Update README.md 2020-08-19 12:04:33 +02:00
Oliver Köster
8a3eef85b1 Update README.md 2020-08-18 17:48:14 +02:00
Oliver Köster
1db797f7e3 Update README.md 2020-08-18 17:47:19 +02:00
Knutwurst
7872416018 Add Print Bed Size image 2020-08-18 17:41:47 +02:00
Knutwurst
87ba51d21f Update README.md 2020-08-18 17:35:19 +02:00
Knutwurst
27c074ba25 Enable Junction Deviation for MEGA X 2020-08-17 16:40:50 +02:00
Oliver Köster
2c630117c1 Update README.md 2020-08-16 12:59:47 +02:00
Knutwurst
4e22347e8c Update README.md 2020-08-16 12:17:13 +02:00
Knutwurst
fb22e90d6d Fix z height when using hotend pid autotune 2020-08-16 12:10:01 +02:00
Knutwurst
14c90915b0 Set release Date 2020-08-16 12:02:15 +02:00
Knutwurst
f078706442 - Disable Stepper after Hotend PID Tuning
- Bump version zu 1.1.3 Release
- Finally Fix 0.01 Steps for manual leveling
2020-08-16 12:01:30 +02:00
Knutwurst
fe734e1152 - Lower max feedrate for Z on MEGA M and S
- fully automatize PID tuning
- Bump Version to 1.1.3-BETA
2020-08-15 22:30:42 +02:00
Knutwurst
4d5d068a99 Disable stepper motors after BLTouch leveling is done 2020-08-14 12:49:58 +02:00
Knutwurst
919814c0d7 Add official BLTouch cable switch image 2020-08-14 12:39:54 +02:00
Knutwurst
a4cd712b02 JunctionDeviation Params for Mega S/X 2020-08-14 09:56:23 +02:00
Knutwurst
6ffd8dd31d Mega X Acceleration Fixes 2020-08-14 09:29:42 +02:00
Knutwurst
c1b3d4afec Add images for Servo cables 2020-08-13 13:26:58 +02:00
Knutwurst
083894f518 Slower homing feedrate. It war too high for the Mega S 2020-08-13 12:41:12 +02:00
Knutwurst
81ed8a1d9f Deployment Script with subfolders for each firmware version 2020-08-13 10:08:24 +02:00
Knutwurst
f91882400b Bump Version to 1.1.2 for next Release 2020-08-13 09:32:14 +02:00
Knutwurst
abf7f93bda Add Distribution Date to M115 Command 2020-08-13 08:30:26 +02:00
Knutwurst
bcc3964aed Feature: Very fast BLTouch probing 2020-08-12 22:10:23 +02:00
Knutwurst
9c59d44e9f DGUS2 TFT Bugfix when serial error occures 2020-08-12 20:05:09 +02:00
Knutwurst
e08673ac8d Bugfix: Hotend Fan did not start up when starting PID tuning. 2020-08-12 16:22:55 +02:00
Oliver Köster
c1f9a5edaf Update README.md 2020-08-12 14:07:00 +02:00
Oliver Köster
54caef61a4 Update README.md 2020-08-12 08:28:27 +02:00
Knutwurst
574357b47a More BLTouch Images 2020-08-11 17:07:17 +02:00
Oliver Köster
9f76b31a19 Update README.md 2020-08-11 08:26:27 +02:00
Knutwurst
86ec69c1b0 Add bltouch wiring Image 2020-08-11 07:20:33 +02:00
Knutwurst
8d8d46a2b8 Add more information for developers 2020-08-11 06:50:24 +02:00
Knutwurst
b00040c25d Improve deployment script 2020-08-10 17:14:23 +02:00
Oliver Köster
640842da67 Update README.md 2020-08-10 14:28:41 +02:00
Knutwurst
97a756e057 Update README.md to represent the new naming scheme. 2020-08-10 14:20:58 +02:00
Knutwurst
101fd49a1e Implement multi environment handling and deployment for all configurations. 2020-08-10 13:36:26 +02:00
Oliver Köster
5fd5f46388 Update README.md 2020-08-09 16:06:42 +02:00
Oliver Köster
5bc9763aa4 Update README.md 2020-08-09 16:01:28 +02:00
Knutwurst
25364c7f2f More convinient BLTouch leveling with auto saving and homing. 2020-08-09 15:51:44 +02:00
Knutwurst
53b0ac3c3a Add userdefines for touchscreen preheat functions 2020-08-07 20:01:55 +02:00
Knutwurst
bf8e0bab9c Update README.md and pictures 2020-08-07 16:20:52 +02:00
Oliver Köster
bd757d55c8 Update README.md 2020-08-07 16:08:30 +02:00
Oliver Köster
3be60ff20c Update README.md 2020-08-07 16:07:19 +02:00
Oliver Köster
a0e098c85f Add TOC to readme - step 1 2020-08-07 16:01:31 +02:00
Knutwurst
0ce6fff5d2 Bugfix: Endstops where mixed up when Mega S is selected. Thanks to "maximych" from thingiverse ;) 2020-08-07 15:36:44 +02:00
Knutwurst
afdb93e0f6 Cleanup unused stepper driver definitions. 2020-08-07 00:03:35 +02:00
Oliver Köster
bf9805ca9f Update README.md 2020-08-06 14:49:13 +02:00
Knutwurst
c9c1dffaff Better short filenames for special menu on old TFT to ensuree the firmware is not used on DGUS2 accedentally. 2020-08-06 14:46:50 +02:00
Knutwurst
13c2400089 Add full Anycubic MEGA X support, which can be enabled in the configuration.h. 2020-08-05 11:32:45 +02:00
Knutwurst
e6fa28456c New BLTouch offsets as default. 2020-07-31 17:27:27 +02:00
Oliver Köster
894af4616f Update README.md 2020-07-29 10:16:35 +02:00
Oliver Köster
491dadb706 Update README.md 2020-07-28 07:58:55 +02:00
Knutwurst
45816ee091 Bugfix #7 Revert step handling for mesh leveling. 2020-07-27 19:26:28 +02:00
Knutwurst
a709457baa Cleanup unused anycubic related code 2020-07-26 22:29:18 +02:00
48 changed files with 803 additions and 207 deletions

View File

@@ -43,15 +43,118 @@
//#define ANYCUBIC_TFT_DEBUG
//#define POWER_OUTAGE_TEST
//#define KNUTWURST_MEGAS
//#define KNUTWURST_TMC
/*******************************************************************************************
** **
** **
** WARNING: **
** THE FOLLOWING SETTINGS ARE NORMALLY SET BY PLATFORMIO! **
** **
** IF YOU CHANGE THEM WITHIN THE SOURCECODE, DO NOT COMMIT **
** TO MASTER BRANCH OR BUILD WITH PLATFORMIO ENVIRONMENT! **
** OTHERWISE SOME SETTINGS MIGHT BE OVERWRITTEN AND YOU END **
** UP WITH A NON FUNCTIONING FIRMWARE! **
** **
** If you want to select a specific configuration for your **
** printer, just open the PlatformIO tab on the left, select **
** PROJECT TASKS and then "env:i3_MEGA*" (your desired config) **
** From there you can build and upload your code. **
** **
** **
*******************************************************************************************/
/*
* Select your printer.
* DO NOT ENABLE MORE THAN ONE LINE!
*
* MEGA is the normal i3 Version without spool holder and the cassic extruder
* MEGA_S is the S version with Titan clone extruder
* MEGA_X is the big version with 310x310mm Bed
*
* PLEASE READ THE WARNING ABOVE!
*
*/
//#define KNUTWURST_MEGA
//#define KNUTWURST_MEGA_S
//#define KNUTWURST_MEGA_X
/*
* If you have defined the MEGA_X or if
* you have the "new" Mega S with the blue/yellow
* Touchscreen display, you need to enable the
* DGUS2 switch to get the special menu to work
*
* PLEASE READ THE WARNING ABOVE!
*
*/
//#define KNUTWURST_DGUS2_TFT
//#define KNUTWURST_BLTOUCH
/*
* Enable Support for Trinamic Stepper drivers.
* This also inverts the X,Y,Z and Extruder motor
* outputs/directions.
*
* PLEASE READ THE WARNING ABOVE!
*/
//#define KNUTWURST_TMC
/*
* This enables the BLTouch Support and also
* activates the BLTouch Menu item in the
* special menu. It also removes all manual
* leveling features because they are not
* neccessary at all.
*
* PLEASE READ THE WARNING ABOVE!
*
*/
//#define KNUTWURST_BLTOUCH // see <https://github.com/DerDominik/Marlin-AnycubicI3Mega-BLTouch/wiki/Aufbauplan_BLTouch>
/*
* This feature is for debugging purpose only.
* It enabled more console output and should be
* disabled in production. It can cause the
* printer to stutter.
*
* PLEASE READ THE WARNING ABOVE!
*
*/
//#define KNUTWURST_DEBUG
/*******************************************************************************************
** **
** **
** WARNING: **
** THE SETTINGS ABOVE ARE NORMALLY SET BY PLATFORMIO! **
** **
** IF YOU CHANGE THEM WITHIN THE SOURCECODE, DO NOT COMMIT **
** TO MASTER BRANCH OR BUILD WITH PLATFORMIO ENVIRONMENT! **
** OTHERWISE SOME SETTINGS MIGHT BE OVERWRITTEN AND YOU END **
** UP WITH A NON FUNCTIONING FIRMWARE! **
** **
** If you want to select a specific configuration for your **
** printer, just open the PlatformIO tab on the left, select **
** PROJECT TASKS and then "env:i3_MEGA*" (your desired config) **
** From there you can build and upload your code. **
** **
** **
*******************************************************************************************/
/*
* Here you can set the default preheat-Temperatures
* which are set when you use the builtin preheat
* functions in the TFT.
*
* These settings are required and not set by PlatformIO.
*/
#define KNUTWURST_PRHEAT_NOZZLE_PLA 200
#define KNUTWURST_PRHEAT_BED_PLA 60
#define KNUTWURST_PRHEAT_NOZZLE_ABS 240
#define KNUTWURST_PRHEAT_BED_ABS 90
//===========================================================================
//============================= Getting Started =============================
//===========================================================================
@@ -154,7 +257,7 @@
* on the upper left of the PCB silkscreen.
*/
#ifndef MOTHERBOARD
#define MOTHERBOARD BOARD_TRIGORILLA_14
//#define MOTHERBOARD BOARD_TRIGORILLA_14 // Is normally set by PlatformIO
#endif
// Name displayed in the LCD "Ready" message and Info menu
@@ -675,14 +778,27 @@
//#define ENDSTOPPULLDOWN_ZMIN_PROBE
#endif
// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define X_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Y_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe.
#if ENABLED(KNUTWURST_MEGA_X)
// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Y_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define X_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Y_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
//#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#endif
#if EITHER(KNUTWURST_MEGA, KNUTWURST_MEGA_S)
// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define X_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Y_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
//#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#endif
/**
* Stepper Drivers
@@ -704,35 +820,35 @@
#define X_DRIVER_TYPE TMC2208_STANDALONE
#define Y_DRIVER_TYPE TMC2208_STANDALONE
#define Z_DRIVER_TYPE TMC2208_STANDALONE
#define X2_DRIVER_TYPE TMC2208_STANDALONE
#define Y2_DRIVER_TYPE TMC2208_STANDALONE
#define Z2_DRIVER_TYPE TMC2208_STANDALONE
#define Z3_DRIVER_TYPE TMC2208_STANDALONE
#define Z4_DRIVER_TYPE TMC2208_STANDALONE
//#define X2_DRIVER_TYPE TMC2208_STANDALONE
//#define Y2_DRIVER_TYPE TMC2208_STANDALONE
//#define Z2_DRIVER_TYPE TMC2208_STANDALONE
//#define Z3_DRIVER_TYPE TMC2208_STANDALONE
//#define Z4_DRIVER_TYPE TMC2208_STANDALONE
#define E0_DRIVER_TYPE TMC2208_STANDALONE
#define E1_DRIVER_TYPE TMC2208_STANDALONE
#define E2_DRIVER_TYPE TMC2208_STANDALONE
#define E3_DRIVER_TYPE TMC2208_STANDALONE
#define E4_DRIVER_TYPE TMC2208_STANDALONE
//#define E5_DRIVER_TYPE A4988
//#define E6_DRIVER_TYPE A4988
//#define E7_DRIVER_TYPE A4988
//#define E2_DRIVER_TYPE TMC2208_STANDALONE
//#define E3_DRIVER_TYPE TMC2208_STANDALONE
//#define E4_DRIVER_TYPE TMC2208_STANDALONE
//#define E5_DRIVER_TYPE TMC2208_STANDALONE
//#define E6_DRIVER_TYPE TMC2208_STANDALONE
//#define E7_DRIVER_TYPE TMC2208_STANDALONE
#endif
#if DISABLED(KNUTWURST_TMC)
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define Z3_DRIVER_TYPE A4988
#define Z4_DRIVER_TYPE A4988
//#define X2_DRIVER_TYPE A4988
//#define Y2_DRIVER_TYPE A4988
//#define Z2_DRIVER_TYPE A4988
//#define Z3_DRIVER_TYPE A4988
//#define Z4_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
//#define E2_DRIVER_TYPE A4988
//#define E3_DRIVER_TYPE A4988
//#define E4_DRIVER_TYPE A4988
//#define E5_DRIVER_TYPE A4988
//#define E6_DRIVER_TYPE A4988
//#define E7_DRIVER_TYPE A4988
@@ -781,13 +897,16 @@
* Override with M92
* X, Y, Z, E0 [, E1[, E2...]]
*/
#if ENABLED(KNUTWURST_MEGAS)
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 392 }
#if ENABLED(KNUTWURST_MEGA)
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 96 }
#endif
#if DISABLED(KNUTWURST_MEGAS)
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 96 }
#if ENABLED(KNUTWURST_MEGA_S)
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 392 }
#endif
#if ENABLED(KNUTWURST_MEGA_X)
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 800, 400 }
#endif
/**
@@ -795,12 +914,16 @@
* Override with M203
* X, Y, Z, E0 [, E1[, E2...]]
*/
#if ENABLED(KNUTWURST_MEGAS)
#define DEFAULT_MAX_FEEDRATE { 500, 500, 6, 30 }
#if ENABLED(KNUTWURST_MEGA)
#define DEFAULT_MAX_FEEDRATE { 500, 500, 8, 60 }
#endif
#if DISABLED(KNUTWURST_MEGAS)
#define DEFAULT_MAX_FEEDRATE { 500, 500, 6, 60 }
#if ENABLED(KNUTWURST_MEGA_S)
#define DEFAULT_MAX_FEEDRATE { 500, 500, 8, 30 }
#endif
#if ENABLED(KNUTWURST_MEGA_X)
#define DEFAULT_MAX_FEEDRATE { 120, 120, 8, 80 } // { 120, 120, 20, 80 }
#endif
@@ -816,7 +939,16 @@
* Override with M201
* X, Y, Z, E0 [, E1[, E2...]]
*/
#define DEFAULT_MAX_ACCELERATION { 3000, 2000, 60, 10000 }
#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)
@@ -832,17 +964,24 @@
* M204 T Travel Acceleration
*/
#if ENABLED(KNUTWURST_MEGAS)
#define DEFAULT_ACCELERATION 1600 // X, Y, Z and E acceleration for printing moves
#define DEFAULT_RETRACT_ACCELERATION 1500 // E acceleration for retracts
#define DEFAULT_TRAVEL_ACCELERATION 3000 // X, Y, Z acceleration for travel (non printing) moves
#if ENABLED(KNUTWURST_MEGA)
#define DEFAULT_ACCELERATION 1600 // X, Y, Z and E acceleration for printing moves
#define DEFAULT_RETRACT_ACCELERATION 3000 // E acceleration for retracts
#define DEFAULT_TRAVEL_ACCELERATION 3000 // X, Y, Z acceleration for travel (non printing) moves
#endif
#if DISABLED(KNUTWURST_MEGAS)
#define DEFAULT_ACCELERATION 1600 // X, Y, Z and E acceleration for printing moves
#define DEFAULT_RETRACT_ACCELERATION 3000 // E acceleration for retracts
#define DEFAULT_TRAVEL_ACCELERATION 3000 // X, Y, Z acceleration for travel (non printing) moves
#if ENABLED(KNUTWURST_MEGA_S)
#define DEFAULT_ACCELERATION 1600 // X, Y, Z and E acceleration for printing moves
#define DEFAULT_RETRACT_ACCELERATION 1500 // E acceleration for retracts
#define DEFAULT_TRAVEL_ACCELERATION 3000 // X, Y, Z acceleration for travel (non printing) moves
#endif
#if ENABLED(KNUTWURST_MEGA_X)
#define DEFAULT_ACCELERATION 400 // X, Y, Z and E acceleration for printing moves
#define DEFAULT_RETRACT_ACCELERATION 3000 // E acceleration for retracts
#define DEFAULT_TRAVEL_ACCELERATION 400 // X, Y, Z acceleration for travel (non printing) moves
#endif
/**
* Default Jerk limits (mm/s)
* Override with M205 X Y Z E
@@ -852,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)
#define DEFAULT_XJERK 10.0
#define DEFAULT_YJERK 10.0
#define DEFAULT_ZJERK 0.4
#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.2
#endif
//#define TRAVEL_EXTRA_XYJERK 0.0 // Additional jerk allowance for all travel moves
@@ -865,7 +1025,13 @@
#endif
#endif
#define DEFAULT_EJERK 5.0 // May be used by Linear Advance
#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
@@ -875,7 +1041,13 @@
* http://blog.kyneticcnc.com/2018/10/computing-junction-deviation-for-marlin.html
*/
#if DISABLED(CLASSIC_JERK)
#define JUNCTION_DEVIATION_MM 0.013 // (mm) Distance from real junction edge
#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.16 // (mm) Distance from real junction edge
#endif
#endif
/**
@@ -1038,7 +1210,8 @@
* Specify a Probe position as { X, Y, Z }
*/
#if ENABLED(KNUTWURST_BLTOUCH)
#define NOZZLE_TO_PROBE_OFFSET { 29, -15, 0 }
#define NOZZLE_TO_PROBE_OFFSET { -2, -25, 0 } //https://www.thingiverse.com/thing:2824005
//#define NOZZLE_TO_PROBE_OFFSET { 29, -15, 0 } //X-Carriage
#endif
#if DISABLED(KNUTWURST_BLTOUCH)
@@ -1047,10 +1220,10 @@
// Most probes should stay away from the edges of the bed, but
// with NOZZLE_AS_PROBE this can be negative for a wider probing area.
#define MIN_PROBE_EDGE 10
#define MIN_PROBE_EDGE 30
// X and Y axis travel speed (mm/m) between probes
#define XY_PROBE_SPEED 3600
#define XY_PROBE_SPEED 8000
// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2)
#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
@@ -1209,8 +1382,17 @@
// @section machine
// The size of the print bed
#define X_BED_SIZE 225
#define Y_BED_SIZE 220
#if EITHER(KNUTWURST_MEGA, KNUTWURST_MEGA_S)
#define X_BED_SIZE 225
#define Y_BED_SIZE 220
#define Z_BED_HEIGHT 210
#endif
#if ENABLED(KNUTWURST_MEGA_X)
#define X_BED_SIZE 310
#define Y_BED_SIZE 310
#define Z_BED_HEIGHT 305
#endif
// Travel limits (mm) after homing, corresponding to endstop positions.
#define X_MIN_POS 0
@@ -1218,7 +1400,7 @@
#define Z_MIN_POS 0
#define X_MAX_POS X_BED_SIZE
#define Y_MAX_POS Y_BED_SIZE
#define Z_MAX_POS 210
#define Z_MAX_POS Z_BED_HEIGHT
/**
* Software Endstops
@@ -1492,9 +1674,18 @@
#define Z_SAFE_HOMING_Y_POINT ((Y_BED_SIZE) / 2) // Y point for Z homing when homing all axes (G28).
#endif
// Homing speeds (mm/m)
#define HOMING_FEEDRATE_XY (50*60)
#define HOMING_FEEDRATE_Z (4*60)
#if EITHER(KNUTWURST_MEGA, KNUTWURST_MEGA_S)
// Homing speeds (mm/m)
#define HOMING_FEEDRATE_XY (50*60)
#define HOMING_FEEDRATE_Z (5*60)
#endif
#if ENABLED(KNUTWURST_MEGA_X)
// Homing speeds (mm/m)
#define HOMING_FEEDRATE_XY (40*60)
#define HOMING_FEEDRATE_Z (6*60)
#endif
// Validate that endstops are triggered on homing moves
#define VALIDATE_HOMING_ENDSTOPS

View File

@@ -423,13 +423,27 @@
* Multiple extruders can be assigned to the same pin in which case
* the fan will turn on when any selected extruder is above the threshold.
*/
#define E0_AUTO_FAN_PIN FAN2_PIN
#define E1_AUTO_FAN_PIN -1
#define E2_AUTO_FAN_PIN -1
#define E3_AUTO_FAN_PIN -1
#define E4_AUTO_FAN_PIN -1
#define E5_AUTO_FAN_PIN -1
#define CHAMBER_AUTO_FAN_PIN -1
#if EITHER(KNUTWURST_MEGA, KNUTWURST_MEGA_S)
#define E0_AUTO_FAN_PIN FAN2_PIN
#define E1_AUTO_FAN_PIN -1
#define E2_AUTO_FAN_PIN -1
#define E3_AUTO_FAN_PIN -1
#define E4_AUTO_FAN_PIN -1
#define E5_AUTO_FAN_PIN -1
#define CHAMBER_AUTO_FAN_PIN -1
#endif
#if ENABLED(KNUTWURST_MEGAX)
#define E0_AUTO_FAN_PIN -1
#define E1_AUTO_FAN_PIN -1
#define E2_AUTO_FAN_PIN -1
#define E3_AUTO_FAN_PIN -1
#define E4_AUTO_FAN_PIN -1
#define E5_AUTO_FAN_PIN -1
#define CHAMBER_AUTO_FAN_PIN -1
#endif
#define EXTRUDER_AUTO_FAN_TEMPERATURE 50
#define EXTRUDER_AUTO_FAN_SPEED 255 // 255 == full speed
@@ -667,7 +681,7 @@
* This feature was designed for Delta's with very fast Z moves however higher speed cartesians may function
* If the machine cannot raise the probe fast enough after a trigger, it may enter a fault state.
*/
//#define BLTOUCH_HS_MODE
#define BLTOUCH_HS_MODE
// Safety: Enable voltage mode settings in the LCD menu.
//#define BLTOUCH_LCD_VOLTAGE_MENU

View File

@@ -126,7 +126,7 @@
#define STR_INVALID_E_STEPPER "Invalid E stepper"
#define STR_E_STEPPER_NOT_SPECIFIED "E stepper not specified"
#define STR_INVALID_SOLENOID "Invalid solenoid"
#define STR_M115_REPORT "FIRMWARE_NAME:Marlin " DETAILED_BUILD_VERSION " MARLIN-AI3M_VERSION:" CUSTOM_BUILD_VERSION " SOURCE_CODE_URL:" SOURCE_CODE_URL " PROTOCOL_VERSION:" PROTOCOL_VERSION " MACHINE_TYPE:" MACHINE_NAME " EXTRUDER_COUNT:" STRINGIFY(EXTRUDERS) " UUID:" MACHINE_UUID
#define STR_M115_REPORT "FIRMWARE_NAME:Marlin " DETAILED_BUILD_VERSION " KNUTWURST_AI3M_VERSION:" CUSTOM_BUILD_VERSION " DISTRIBUTION_DATE:" STRING_DISTRIBUTION_DATE " SOURCE_CODE_URL:" SOURCE_CODE_URL " PROTOCOL_VERSION:" PROTOCOL_VERSION " MACHINE_TYPE:" MACHINE_NAME " EXTRUDER_COUNT:" STRINGIFY(EXTRUDERS) " UUID:" MACHINE_UUID
#define STR_MARLIN_AI3M "Marlin-AI3M"
#define STR_COUNT_X " Count X:"
#define STR_COUNT_A " Count A:"

View File

@@ -41,10 +41,11 @@
* here we define this default string as the date where the latest release
* version was tagged.
*/
#define CUSTOM_BUILD_VERSION "1.1.0"
#define CUSTOM_BUILD_VERSION "1.1.4"
#ifndef STRING_DISTRIBUTION_DATE
#define STRING_DISTRIBUTION_DATE "2020-07-09"
//#define STRING_DISTRIBUTION_DATE "2020-07-09"
#define STRING_DISTRIBUTION_DATE "2020-08-24"
#endif
/**

View File

@@ -312,33 +312,6 @@ HardwareSerialClass::operator bool()
HardwareSerialClass HardwareSerial(&rx_buffer_ajg, &tx_buffer_ajg, &UBRR3H, &UBRR3L, &UCSR3A, &UCSR3B, &UCSR3C, &UDR3, RXEN3, TXEN3, RXCIE3, UDRIE3, U2X3);
#endif
void Newok_to_send() {
previous_cmd_ms = millis();
/*
if (!send_ok[cmd_queue_index_r]) return;
// SERIAL_PROTOCOLPGM(MSG_OK);
#if ENABLED(ADVANCED_OK)
char* p = command_queue[cmd_queue_index_r];
if (*p == 'N') {
SERIAL_PROTOCOL(' ');
SERIAL_ECHO(*p++);
while (NUMERIC_SIGNED(*p))
SERIAL_ECHO(*p++);
}
SERIAL_PROTOCOLPGM(" P"); SERIAL_PROTOCOL(int(BLOCK_BUFFER_SIZE - planner.movesplanned() - 1));
SERIAL_PROTOCOLPGM(" B"); SERIAL_PROTOCOL(BUFSIZE - commands_in_queue);
#endif
SERIAL_EOL;
*/
}
void NEWFlushSerialRequestResend() {
//char command_queue[cmd_queue_index_r][100]="Resend:";
HardwareSerial.flush();
// SERIAL_PROTOCOLPGM(MSG_RESEND);
// SERIAL_PROTOCOLLN(gcode_LastN + 1);
Newok_to_send();
}
#endif
#endif // whole file

View File

@@ -141,7 +141,4 @@ FORCE_INLINE void HardwareSerialprintPGM(const char *str)
}
}
void NEWFlushSerialRequestResend();
void NEWClearToSend();
#endif

View File

@@ -447,13 +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\nM303 E0 S210 C15 U1"));
queue.inject_P(PSTR("G28\nG90\nG1 Z20\nG1 X110 Y110 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))
@@ -519,15 +527,15 @@ void AnycubicTouchscreenClass::HandleSpecialMenu()
|| (strcasestr(currentTouchscreenSelection, SM_Z_UP_001_S) != NULL))
{
SERIAL_ECHOLNPGM("Special Menu: Z Up 0.01");
queue.enqueue_now_P(PSTR("G91\nG1 Z+0.03\nG90"));
queue.enqueue_now_P(PSTR("G91\nG1 Z-0.02\nG90"));
//queue.inject_P(PSTR("G91\nG1 Z+0.01\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.enqueue_now_P(PSTR("G91\nG1 Z+0.02\nG90"));
queue.enqueue_now_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
@@ -536,7 +544,7 @@ void AnycubicTouchscreenClass::HandleSpecialMenu()
|| (strcasestr(currentTouchscreenSelection, SM_BLTOUCH_S) != NULL))
{
SERIAL_ECHOLNPGM("Special Menu: BLTouch Leveling");
queue.inject_P(PSTR("G28\nG29"));
queue.inject_P(PSTR("G28\nG29\nM500\nG90\nG1 Z30 F4000\nG1 X0 F4000\nG91\nM84"));
}
#endif
@@ -723,8 +731,8 @@ void AnycubicTouchscreenClass::PrintList()
// Cut off too long filenames.
// They don't fit on the screen anyways.
if(fileNameLen > MAX_PRINTABLE_FILENAME_LEN)
fileNameLen = MAX_PRINTABLE_FILENAME_LEN;
//if(fileNameLen > MAX_PRINTABLE_FILENAME_LEN)
// fileNameLen = MAX_PRINTABLE_FILENAME_LEN;
char outputString[fileNameLen];
@@ -782,7 +790,8 @@ void AnycubicTouchscreenClass::PrintList()
#endif
else
{
// Do nothing?
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_SPECIAL_MENU_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_SPECIAL_MENU_L);
}
}
@@ -1076,10 +1085,9 @@ void AnycubicTouchscreenClass::GetCommandFromTFT()
if( (int)(strtod(&TFTcmdbuffer[TFTbufindw][TFTstrchr_pointer - TFTcmdbuffer[TFTbufindw] + 1], NULL)) != checksum)
{
HARDWARE_SERIAL_ERROR_START;
NEWFlushSerialRequestResend();
HardwareSerial.flush();
HARDWARE_SERIAL_ERROR_START;
NEWFlushSerialRequestResend();
HardwareSerial.flush();
serial3_count = 0;
return;
}
@@ -1088,7 +1096,7 @@ void AnycubicTouchscreenClass::GetCommandFromTFT()
else
{
HARDWARE_SERIAL_ERROR_START;
NEWFlushSerialRequestResend();
HardwareSerial.flush();
serial3_count = 0;
return;
}
@@ -1173,7 +1181,7 @@ void AnycubicTouchscreenClass::GetCommandFromTFT()
}
else
{
HARDWARE_SERIAL_PROTOCOLPGM("J02");
HARDWARE_SERIAL_PROTOCOLPGM("J02"); // J02 SD Card initilized
}
}
else
@@ -1209,20 +1217,19 @@ void AnycubicTouchscreenClass::GetCommandFromTFT()
currentTouchscreenSelection[0] = 0;
if (!IS_SD_INSERTED())
{
HARDWARE_SERIAL_PROTOCOLPGM("J02");
HARDWARE_SERIAL_PROTOCOLPGM("J02"); // J02 SD Card initilized
HARDWARE_SERIAL_ENTER();
}
else
{
if (CodeSeen('S'))
filenumber = CodeValue();
HARDWARE_SERIAL_PROTOCOLPGM("FN "); // Filelist start
HARDWARE_SERIAL_ENTER();
PrintList();
HARDWARE_SERIAL_PROTOCOLPGM("END"); // Filelist stop
HARDWARE_SERIAL_ENTER();
}
if (CodeSeen('S'))
filenumber = CodeValue();
HARDWARE_SERIAL_PROTOCOLPGM("FN "); // Filelist start
HARDWARE_SERIAL_ENTER();
PrintList();
HARDWARE_SERIAL_PROTOCOLPGM("END"); // Filelist stop
HARDWARE_SERIAL_ENTER();
#endif
break;
case 9: // A9 pause sd print
@@ -1535,8 +1542,8 @@ void AnycubicTouchscreenClass::GetCommandFromTFT()
{
if ((current_position[Z_AXIS] < 10))
queue.inject_P(PSTR("G1 Z10")); // RAISE Z AXIS
thermalManager.setTargetBed(50);
thermalManager.setTargetHotend(200, 0);
thermalManager.setTargetBed(KNUTWURST_PRHEAT_BED_PLA);
thermalManager.setTargetHotend(KNUTWURST_PRHEAT_NOZZLE_PLA, 0);
HARDWARE_SERIAL_SUCC_START;
HARDWARE_SERIAL_ENTER();
}
@@ -1546,9 +1553,8 @@ void AnycubicTouchscreenClass::GetCommandFromTFT()
{
if ((current_position[Z_AXIS] < 10))
queue.inject_P(PSTR("G1 Z10")); //RAISE Z AXIS
thermalManager.setTargetBed(80);
thermalManager.setTargetHotend(240, 0);
thermalManager.setTargetBed(KNUTWURST_PRHEAT_BED_ABS);
thermalManager.setTargetHotend(KNUTWURST_PRHEAT_NOZZLE_ABS, 0);
HARDWARE_SERIAL_SUCC_START;
HARDWARE_SERIAL_ENTER();
}
@@ -1640,6 +1646,7 @@ void AnycubicTouchscreenClass::GetCommandFromTFT()
case 33: // A33 get version info
{
HARDWARE_SERIAL_PROTOCOLPGM("J33 ");
HARDWARE_SERIAL_PROTOCOLPGM("Knutwurst-");
HARDWARE_SERIAL_PROTOCOLPGM(MSG_MY_VERSION);
HARDWARE_SERIAL_ENTER();
}

View File

@@ -48,49 +48,49 @@ char *ftostr32(const float &);
#define SM_DIR_UP_L "/.."
#define SM_DIR_UP_S ".."
#define SM_SPECIAL_MENU_L "<Special Menu>"
#define SM_SPECIAL_MENU_S "<SPECI~1.GCO"
#define SM_SPECIAL_MENU_S "<SPECM>"
#define SM_PID_HOTEND_L "<PID Tune Hotend>"
#define SM_PID_HOTEND_S "<PIDTU~1.GCO"
#define SM_PID_HOTEND_S "<PIDHE>"
#define SM_PID_BED_L "<PID Tune Ultrabase>"
#define SM_PID_BED_S "<PIDTU~2.GCO"
#define SM_PID_BED_S "<PIDUB>"
#define SM_SAVE_EEPROM_L "<Save EEPROM>"
#define SM_SAVE_EEPROM_S "<SAVEE~1.GCO"
#define SM_SAVE_EEPROM_S "<SAVEE>"
#define SM_LOAD_DEFAULTS_L "<Load FW Defaults>"
#define SM_LOAD_DEFAULTS_S "<LOADF~1.GCO"
#define SM_LOAD_DEFAULTS_S "<LDDEF>"
#define SM_PREHEAT_BED_L "<Preheat Ultrabase>"
#define SM_PREHEAT_BED_S "<PREHE~1.GCO"
#define SM_PREHEAT_BED_S "<PREHE>"
#define SM_MESH_START_L "<Start Mesh Leveling>"
#define SM_MESH_START_S "<START~1.GCO"
#define SM_MESH_START_S "<SMESH>"
#define SM_MESH_NEXT_L "<Next Mesh Point>"
#define SM_MESH_NEXT_S "<NEXTM~1.GCO"
#define SM_MESH_NEXT_S "<NEXTM>"
#define SM_Z_UP_01_L "<Z Up 0.1>"
#define SM_Z_UP_01_S "<ZUP01~1.GCO"
#define SM_Z_UP_01_S "<ZUP01>"
#define SM_Z_DN_01_L "<Z Down 0.1>"
#define SM_Z_DN_01_S "<ZDOWN~1.GCO"
#define SM_Z_DN_01_S "<ZDN01>"
#define SM_Z_UP_002_L "<Z Up 0.02>"
#define SM_Z_UP_002_S "<ZUP00~1.GCO"
#define SM_Z_UP_002_S "<ZUP002>"
#define SM_Z_DN_002_L "<Z Down 0.02>"
#define SM_Z_DN_002_S "<ZDOWN~2.GCO"
#define SM_Z_DN_002_S "<ZDN002>"
#define SM_Z_UP_001_L "<Z Up 0.01>"
#define SM_Z_UP_001_S "<ZUP00~2.GCO"
#define SM_Z_UP_001_S "<ZUP001>"
#define SM_Z_DN_001_L "<Z Down 0.01>"
#define SM_Z_DN_001_S "<ZDOWN~3.GCO"
#define SM_Z_DN_001_S "<ZDN001>"
#define SM_BLTOUCH_L "<BLTouch Leveling>"
#define SM_BLTOUCH_S "<BLTOU~1.GCO"
#define SM_BLTOUCH_S "<BLTCH>"
#define SM_PAUSE_L "<Fil. Change Pause>"
#define SM_PAUSE_S "<FILCH~2.GCO"
#define SM_PAUSE_S "<PAUSE>"
#define SM_RESUME_L "<Fil. Change Resume>"
#define SM_RESUME_S "<FILCH~1.GCO"
#define SM_RESUME_S "<RESUM>"
#define SM_DIS_FILSENS_L "<Disable Fil. Sensor>"
#define SM_DIS_FILSENS_S "<DISAB~1.GCO"
#define SM_DIS_FILSENS_S "<DISSEN>"
#define SM_EN_FILSENS_L "<Enable Fil. Sensor>"
#define SM_EN_FILSENS_S "<ENABL~1.GCO"
#define SM_EN_FILSENS_S "<ENSEN>"
#define SM_EXIT_L "<Exit>"
#define SM_EXIT_S "<EXIT_~1.GCO"
#define SM_EXIT_S "<EXIT>"
#endif
#if ENABLED(KNUTWURST_DGUS2_TFT)
#define SM_DIR_UP_L "<<<<<<.gcode"
#define SM_DIR_UP_L "<<< BACK <<<.gcode"
#define SM_DIR_UP_S "DIR_UP~1.GCO"
#define SM_SPECIAL_MENU_L "<Special Menu>.gcode"
#define SM_SPECIAL_MENU_S "<SPECI~1.GCO"

151
README.md
View File

@@ -1,15 +1,41 @@
# Knutwurst's i3 MEGA (S/X) Firmware (based on Marlin 2.0.5.4)
# Knutwurst's i3 MEGA (M/S/X) Firmware <br>(based on Marlin 2.0.x)
<span style="color: red;">(BITTE GENAU DURCHLESEN! / PLEASE READ CAREFULLY!)</span>
### Wenn dir gefällt, was ich mache, kannst du mir hier einen Kaffee spendieren*: [![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://paypal.me/oliverkoester)
<sub>*Es muss jetzt keine großzügige Spende sein. Ein paar Cent reichen um mir zu zeigen, wer überhaupt Interesse daran hat und wem die Weiterentwicklung wichtig ist. So bleibt die Motivation da und ich weiß einfach, dass ich nicht für die Tonne programmiere ;)<sub>
## Readme - German (english below)
Diese Firmwarekonfiguration aktiviert viele neue erweitere Funktionen der Marlin Firmware:
### Wenn du Fragen hast, schaue gern in der offiziellen [Facebook-Gruppe](https://www.facebook.com/groups/3094090037303577/) vorbei.
* Mesh-Bed Kalibrierung / Autokalibrierung mit BLTouch (WiP)
# Inhaltsverzeichnis (Deutsch)
- [Funktionen](#funktionen)
- [Was ist besser?](#besser-im-vergleich-zu-anderen-firmwares-bugfixes)
- [Häufig gestellte Fragen (FAQ)](#häufig-gesellte-fragen-faq)
- [Fotos / Bilder](#bilder)
- [Spezial Menü](#spezial-menü)
- [Manual Mesh Beld Leveling](#manuelles-leveln)
- [BLTouch Beld Leveling](#automatisches-bltouch-leveln)
- [Downloads](#downloads)
# Table of Contets (english)
- [Features](#features)
- [What's better?](#whats-better-in-coparison-to-other-firmwares-bug-fixes)
- [Frequently asked questions (FAQ)](#faq)
- [Photos / Pictures](#pictures)
- [Special Menü](#special-menu)
- [Manual Mesh Beld Leveling](#manual-mesh-beld-leveling)
- [BLTouch Beld Leveling](#bltouch-beld-leveling)
- [Download](#download)
# Readme - German
## Funktionen
* Mesh-Bed Kalibrierung / Autokalibrierung mit [BLTouch (Installations-Anleitung)](https://github.com/knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S/wiki/BLTouch-Installation-(deutsch))
* S-Kurven Beschleunigung
* "Juction Deviation" statt des klassischen "Jerk"
* "Linear Pressure Control v1.5" aktiviert (kann mit M900 konfiguriert werden)
@@ -21,13 +47,14 @@ Diese Firmwarekonfiguration aktiviert viele neue erweitere Funktionen der Marlin
* Bauteilkühler läuft nun auf 100% statt maximal 70%
* Pause & Filamentwechselfunktion
* Automatische EEPROM Initialisierung
* Filament Runout Sensor kann im Menü deaktiviert werden
* Filament Runout Sensor kann im Menü temporär deaktiviert werden
* Wiederaufnahme des Drucks nach Stromausfall (WiP)
* Druckbettgröße erweitert auf 220 x 225 x 210 mm
* [Druckbettgröße erweitert auf 225 x 220 x 210 mm](https://github.com/knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S/wiki/Set-new-print-bed-size)
* Automatischer 'Slowdown', falls Daten nicht schnell genug fließen
* Vollautomatisches Hotend und Ultrabase PID Tuning
Besser im Vergleich zu anderen Firmwares (Bugfixes):
## Besser im Vergleich zu anderen Firmwares (Bugfixes):
* Aufgeräumtes Special-Menü
* Drucker hängt sich nicht auf, wenn man Dateien mit Sonderzeichen (Umlaute, Chinesisch etc.) auf der SD Karte hat
* Kein dummes "wackeln" der Düse nach Stoppen eines Druckvorgangs
@@ -36,15 +63,15 @@ Besser im Vergleich zu anderen Firmwares (Bugfixes):
* Fehler "Melodie" bei Thermal Runaway Protection
* Kein Aufhängen, wenn SD Karte + USB gleichzeitig genutzt wird
* Kein Aufhängen wenn man Pause drückt
* Kein Aufhängen, wenn das Filament leer ist.
Bekannte Bugs:
* Filament Runout Sensor wird bei jedem Neustart wieder aktiviert
* Wiederaufnahme nach Stromausfall funktioniert nur sehr unzuverlässig
* Kein Aufhängen, wenn das Filament leer ist
* Keine "spezielle" BLTouch Firmware nötig. Hier ist alles drin
* Konfiguration ganz einfach über Feature-Toggles
* Man muss keine Grundkonfiguration per GCODE machen.
* Man muss kein Werksreset durchführen
---
### FAQ:
# Häufig gesellte Fragen (FAQ):
>Knutwurst, wieso machst du auch noch so eine Firmware? Es gibt doch schon so viele?
@@ -102,21 +129,27 @@ Bei diesem Mapping ist man eben darauf angewiesen, dass die Funktionen, die man
---
### Bilder - Special Menu
# Bilder
## Spezial Menü
![SpecialMenu](images/SpecialMenu.jpg)
![SpecialMenu DGUS](images/SpecialMenu_DGUS.jpg)
### Bilder - Manual Mesh Beld Leveling
## Manuelles Leveln
![Seite 1](images/MN_Page1.jpg)
![Seite 1 DGUS](images/MN_Page1_DGUS.jpg)
![Seite 2](images/MN_Page2.jpg)
![Seite 2 DGUS](images/MN_Page2.jpg)
![Seite 2](images/MN_Page2_DGUS.jpg)
![Seite 3](images/MN_Page3.jpg)
![Seite 3 DGUS](images/MN_Page3_DGUS.jpg)
![Seite 4](images/MN_Page4.jpg)
![Seite 4 DGUS](images/MN_Page4_DGUS.jpg)
### Bilder - BLTouch Beld Leveling
## Automatisches BLTouch Leveln
![Seite 1](images/BL_Page1.jpg)
@@ -124,36 +157,43 @@ Bei diesem Mapping ist man eben darauf angewiesen, dass die Funktionen, die man
---
### Download
# Downloads
Du kannst die fertigen Binärdateien hier herunterladen: https://github.com/knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S/releases. Natürlich kannst du die Firmware mit PlatformIO oder der Arduino IDE auch selbst kompilieren.
-> `i3_Mega.hex` ist für den unmodifizierten originalen Anycubic i3 MEGA (ohne S).
Um es übersichtlich zu gestalten, beinhalten die Dateinamen die einzelnen Features.
-> `i3_Mega_TMC.hex` hat Optimierungen und invertierte Ausgänge für TMC2100 and TMC2208 Motortreiber.
`_S` steht für den Mega S mit dem Titan Extruder.
-> `i3_Mega_S.hex` wird verwendet, wenn du den neuere "S" Version mit Titan-Extruder verwendest.
`_X` steht für den Mega X.
-> `i3_Mega_S_TMC.hex` benutzt du, wenn du sowohl die "S" Version mit Titan-Extruder und TMC Motortreiber verwendest.
`_TMC` steht für Trinamic TMC Motortreiber. Hierbei wird auch die Drehrichtung der Motoren invertiert.
-> `i3_Mega_S_DGUS.hex` wird verwendet, wenn du den neuere "S" Version mit Titan-Extruder und außerdem auch das neue Display in blau/gelb besitzt.
`_DGUS` steht für das "neue" blau/gelbe DGUS II Display, welches sonst kein Special-Menü anzeigen kann.
-> `i3_Mega_S_DGUS_TMC.hex` benutzt du, wenn du sowohl die "S" Version mit Titan-Extruder, neuem TFT in blau/gelb und TMC Motortreiber verwendest.
`_BLTOUCH` steht für die BL-Touch Version mit Autoleveling-Sensor. Das manuelle Mesh-Leveling ist hier deaktiviert.
`_10` steht für das Trigorilla_14 v1.0 Mainboard, welches normalerweise der Standard sein sollte.
`_11` steht für das Trigorilla_14 v1.1 Mainboard, bei welchem sich die Pinbelegung für den Server-Port geändert hat.
Für (fast) jede Kombination gibt es eine passende Firmware im Download-Bereich. ;)
---
### If you like what I do you can buy me a coffee: [![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://paypal.me/oliverkoester)
<sub>*It doesn't have to be a generous donation. A few cents are enough to show me who is interested in further development. So the motivation stays and I just know that I am not programming for the bin ;)<sub>
## Readme - English
# Readme - English
This firmware configuration activates many new features of the Marlin firmware:
## Features:
* Mesh bed calibration / Auto calibration with BLTouch (WiP)
* Mesh bed calibration / Auto calibration with [BLTouch (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
@@ -161,12 +201,13 @@ This firmware configuration activates many new features of the Marlin firmware:
* Part cooling fan now runs at 100% instead of 70%
* Pause & filament change function
* Automatic EEPROM initialization
* Filament Runout Sensor can be 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
* Filament runout sensor can be temporarily deactivated in the menu
* Resumption of printing after a power failure (WiP)
* [Print bed size enlarged to 225 x 220 x 210 mm](https://github.com/knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S/wiki/Set-new-print-bed-size)
* 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):
### What's better in coparison to other firmwares (bug fixes):
* Tidy special menu
* Printer does not freeze if you have files with special characters (umlauts, Chinese..) on your SD card
* No stupid "wobble" of the nozzle after stopping printing
@@ -176,14 +217,12 @@ What's better in coparison to other firmwares (bug fixes):
* No freezing when SD card + USB is used at the same time
* No freezing when you press pause and try to resume
* No freezing when the filament is empty
Known bugs:
* Filament Runout Sensor is reactivated with every reboot
* Power outage support does not work reliably
* No need for a "special" BLTouch firmware. In this firmware is everything included
* Configuration made easy via feature toggles
---
### FAQ:
# FAQ:
> Knutwurst, why are you still doing such a firmware? Aren't there already so many?
@@ -241,21 +280,27 @@ With this mapping, you have to rely on the fact that the functions you want to u
---
### Pictures - Special Menu
# Pictures
## Special Menu
![SpecialMenu](images/SpecialMenu.jpg)
![SpecialMenu DGUS](images/SpecialMenu_DGUS.jpg)
### Pictures - Manual Mesh Beld Leveling
## Manual Mesh Beld Leveling
![Page 1](images/MN_Page1.jpg)
![Page 1 DGUS](images/MN_Page1_DGUS.jpg)
![Page 2](images/MN_Page2.jpg)
![Page 2 DGUS](images/MN_Page2_DGUS.jpg)
![Page 3](images/MN_Page3.jpg)
![Page 3 DGUS](images/MN_Page3_DGUS.jpg)
![Page 4](images/MN_Page4.jpg)
![Page 4 DGUS](images/MN_Page4_DGUS.jpg)
### Pictures - BLTouch Beld Leveling
## BLTouch Beld Leveling
![Page 1](images/BL_Page1.jpg)
@@ -264,19 +309,27 @@ With this mapping, you have to rely on the fact that the functions you want to u
---
### Download
# Download
You can download the precompiled binary files from here: https://github.com/knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S/releases. Of course you can also compile the firmware yourself with PlatformIO or the Arduino IDE.
-> `i3_Mega.hex` is for the unmodified original Anycubic i3 MEGA (without S).
In order to make it clear, the file names contain the individual features.
-> `i3_Mega_TMC.hex` has optimizations and inverted outputs for TMC2100 and TMC2208 motor drivers.
`_S` stands for the Mega S with the titan extruder.
-> `i3_Mega_S.hex` is used if you use the newer "S" version with titan extruder.
`_X` stands for the Mega X.
-> `i3_Mega_S_TMC.hex` you use if you use both the "S" version with titan extruder and TMC motor driver.
-> `i3_Mega_S_DGUS.hex` is used if you use the newer "S" version with titan extruder and also the newer DGUS TFT with blue/yellow colors.
`_TMC` stands for Trinamic TMC motor driver. The direction of rotation of the motors is also inverted.
-> `i3_Mega_S_DGUS_TMC.hex` you use if you use the newest "S" version with titan extruder and TMC motor driver and also the new blue/yellow TFT.
`_DGUS` stands for the "new" blue / yellow DGUS II display, which otherwise cannot show a special menu.
`_BLTOUCH` stands for the BL-Touch version with auto-leveling sensor. Manual mesh leveling is deactivated here.
`_10` stands for the Trigorilla_14 v1.0 mainboard, which should normally be the standard.
`_11` stands for the Trigorilla_14 v1.1 mainboard, on which the pin assignment for the server port has changed.
For (almost) every combination there is a suitable firmware in the download area. ;)

23
deploy_firmware_files.sh Executable file
View File

@@ -0,0 +1,23 @@
#!/bin/bash
VERSION_FILE="/Users/OKoester/Documents/Arduino/Marlin-2-0-x-Anycubic-i3-MEGA-S-Master/Marlin/src/inc/Version.h"
FIRMWARE_FOLDER="/Users/OKoester/Documents/Arduino/Marlin-2-0-x-Anycubic-i3-MEGA-S-Master/.pio/build/"
OUTPUT_FOLDER="/Users/OKoester/Desktop/i3_FIRMWARE"
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
for dir in $FIRMWARE_FOLDER/*/
do
dir=${dir%*/}
echo ${dir##*/}
cp ${dir##*/}/firmware.hex /$OUTPUT_FOLDER/$CUSTOM_BUILD_VERSION/${dir##*/}_v$CUSTOM_BUILD_VERSION.hex
done

313
i3_mega_envs.ini Executable file
View File

@@ -0,0 +1,313 @@
###########################################################
# #
# Manual Leveling Configurations #
# #
###########################################################
#
# i3 Mega (normal Version)
#
[env:i3_MEGA]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA
build_unflags = -DKNUTWURST_MEGA_S -DKNUTWURST_MEGA_X -DKNUTWURST_DGUS2_TFT -DKNUTWURST_TMC -DKNUTWURST_BLTOUCH
[env:i3_MEGA_TMC]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA -DKNUTWURST_TMC
build_unflags = -DKNUTWURST_MEGA_S -DKNUTWURST_MEGA_X -DKNUTWURST_DGUS2_TFT -DKNUTWURST_BLTOUCH
#
# i3 Mega S
#
[env:i3_MEGA_S]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA_S
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_X -DKNUTWURST_DGUS2_TFT -DKNUTWURST_TMC -DKNUTWURST_BLTOUCH
[env:i3_MEGA_S_DGUS]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA_S -DKNUTWURST_DGUS2_TFT
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_X -DKNUTWURST_TMC -DKNUTWURST_BLTOUCH
[env:i3_MEGA_S_DGUS_TMC]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA_S -DKNUTWURST_DGUS2_TFT -DKNUTWURST_TMC
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_X -DKNUTWURST_BLTOUCH
[env:i3_MEGA_S_TMC]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA_S -DKNUTWURST_TMC
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_X -DKNUTWURST_DGUS2_TFT -DKNUTWURST_BLTOUCH
#
# i3 Mega X
#
[env:i3_MEGA_X]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA_X
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_S -DKNUTWURST_TMC -DKNUTWURST_BLTOUCH -DKNUTWURST_DGUS2_TFT
[env:i3_MEGA_X_TMC]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA_X -DKNUTWURST_TMC
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_S -DKNUTWURST_BLTOUCH -DKNUTWURST_DGUS2_TFT
###########################################################
# #
# BL Touch Configurations ( TRIGORILLA_14 ) #
# #
###########################################################
[env:i3_MEGA_BLTOUCH_10]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA_S -DKNUTWURST_MEGA_X -DKNUTWURST_DGUS2_TFT -DKNUTWURST_TMC
[env:i3_MEGA_TMC_BLTOUCH_10]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA -DKNUTWURST_TMC -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA_S -DKNUTWURST_MEGA_X -DKNUTWURST_DGUS2_TFT
[env:i3_MEGA_S_BLTOUCH_10]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA_S -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_X -DKNUTWURST_DGUS2_TFT -DKNUTWURST_TMC
[env:i3_MEGA_S_DGUS_BLTOUCH_10]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA_S -DKNUTWURST_DGUS2_TFT -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_X -DKNUTWURST_TMC
[env:i3_MEGA_S_DGUS_TMC_BLTOUCH_10]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA_S -DKNUTWURST_DGUS2_TFT -DKNUTWURST_TMC -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_X
[env:i3_MEGA_S_TMC_BLTOUCH_10]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA_S -DKNUTWURST_TMC -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_X -DKNUTWURST_DGUS2_TFT
[env:i3_MEGA_X_BLTOUCH_10]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA_X -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_S -DKNUTWURST_TMC -DKNUTWURST_DGUS2_TFT
[env:i3_MEGA_X_TMC_BLTOUCH_10]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA_X -DKNUTWURST_TMC -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_S -DKNUTWURST_DGUS2_TFT
###########################################################
# #
# BL Touch Configurations ( TRIGORILLA_14_11 ) #
# #
###########################################################
#
# i3 Mega (normal Version)
#
[env:i3_MEGA_BLTOUCH_11]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14_11 -DKNUTWURST_MEGA -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA_S -DKNUTWURST_MEGA_X -DKNUTWURST_DGUS2_TFT -DKNUTWURST_TMC
[env:i3_MEGA_TMC_BLTOUCH_11]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14_11 -DKNUTWURST_MEGA -DKNUTWURST_TMC -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA_S -DKNUTWURST_MEGA_X -DKNUTWURST_DGUS2_TFT
#
# i3 Mega S
#
[env:i3_MEGA_S_BLTOUCH_11]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14_11 -DKNUTWURST_MEGA_S -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_X -DKNUTWURST_DGUS2_TFT -DKNUTWURST_TMC
[env:i3_MEGA_S_DGUS_BLTOUCH_11]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14_11 -DKNUTWURST_MEGA_S -DKNUTWURST_DGUS2_TFT -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_X -DKNUTWURST_TMC
[env:i3_MEGA_S_DGUS_TMC_BLTOUCH_11]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14_11 -DKNUTWURST_MEGA_S -DKNUTWURST_DGUS2_TFT -DKNUTWURST_TMC -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_X
[env:i3_MEGA_S_TMC_BLTOUCH_11]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14_11 -DKNUTWURST_MEGA_S -DKNUTWURST_TMC -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_X -DKNUTWURST_DGUS2_TFT
#
# i3 Mega X
#
[env:i3_MEGA_X_BLTOUCH_11]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14_11 -DKNUTWURST_MEGA_X -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_S -DKNUTWURST_TMC -DKNUTWURST_DGUS2_TFT
[env:i3_MEGA_X_TMC_BLTOUCH_11]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14_11 -DKNUTWURST_MEGA_X -DKNUTWURST_TMC -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_S -DKNUTWURST_DGUS2_TFT

BIN
images/1N4733.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 549 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 72 KiB

BIN
images/MN_Page1_DGUS.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

BIN
images/MN_Page2_DGUS.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

BIN
images/MN_Page3_DGUS.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

BIN
images/MN_Page4_DGUS.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 KiB

BIN
images/SpecialMenu_DGUS.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

BIN
images/bed_size_cura.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 234 KiB

BIN
images/bltouch_01.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 269 KiB

BIN
images/bltouch_02.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 568 KiB

BIN
images/bltouch_03.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 340 KiB

BIN
images/bltouch_04.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 362 KiB

BIN
images/bltouch_05.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 442 KiB

BIN
images/bltouch_06.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 265 KiB

BIN
images/bltouch_07.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 420 KiB

BIN
images/bltouch_08.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 367 KiB

BIN
images/bltouch_09.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 627 KiB

BIN
images/bltouch_10.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 405 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

BIN
images/bltouch_wiring.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 376 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 591 KiB

BIN
images/burnt_stepper.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 374 KiB

BIN
images/diode_closeup.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 752 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 888 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 776 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 571 KiB

BIN
images/new_mobo_fans.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 559 KiB

BIN
images/printer_open.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 607 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
images/stepper_closeup.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 596 KiB

BIN
images/stepper_vdd_gnd.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 602 KiB

BIN
images/stepper_vmot_gnd.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 577 KiB

View File

@@ -15,10 +15,34 @@
# Remove '-fmax-errors=5' from build_flags below to see all.
#
# *******************************************************************************************
# ** **
# ** If you want to select a specific configuration for your **
# ** printer, just open the PlatformIO tab on the left, select **
# ** PROJECT TASKS and then "env:i3_MEGA*" (your desired config) **
# ** From there you can build and upload your code. **
# ** **
# *******************************************************************************************
[platformio]
src_dir = Marlin
boards_dir = buildroot/share/PlatformIO/boards
default_envs = mega2560
#default_envs = mega2560
extra_configs = i3_mega_envs.ini
default_envs = i3_MEGA, i3_MEGA_TMC, i3_MEGA_S, i3_MEGA_S_DGUS, i3_MEGA_S_DGUS_TMC, i3_MEGA_S_TMC, i3_MEGA_X, i3_MEGA_X_TMC, i3_MEGA_BLTOUCH_10, i3_MEGA_TMC_BLTOUCH_10, i3_MEGA_S_BLTOUCH_10, i3_MEGA_S_DGUS_BLTOUCH_10, i3_MEGA_S_DGUS_TMC_BLTOUCH_10, i3_MEGA_S_TMC_BLTOUCH_10, i3_MEGA_X_BLTOUCH_10, i3_MEGA_X_TMC_BLTOUCH_10, i3_MEGA_BLTOUCH_11, i3_MEGA_TMC_BLTOUCH_11, i3_MEGA_S_BLTOUCH_11, i3_MEGA_S_DGUS_BLTOUCH_11, i3_MEGA_S_DGUS_TMC_BLTOUCH_11, i3_MEGA_S_TMC_BLTOUCH_11, i3_MEGA_X_BLTOUCH_11, i3_MEGA_X_TMC_BLTOUCH_11
# *******************************************************************************************
# ** **
# ** If you want to select a specific configuration for your **
# ** printer, just open the PlatformIO tab on the left, select **
# ** PROJECT TASKS and then "env:i3_MEGA*" (your desired config) **
# ** From there you can build and upload your code. **
# ** **
# *******************************************************************************************
[common]
default_src_filter = +<src/*> -<src/config> -<src/HAL> +<src/HAL/shared>