20 Commits
1.1.4 ... 1.1.5

Author SHA1 Message Date
Knutwurst
0757a57122 Update Version to 1.1.5 for next release 2020-08-27 08:44:46 +02:00
Knutwurst
dab8b979bf Fix issue where the BLTouch nozzle did not retract between probes. 2020-08-26 22:33:19 +02:00
Oliver Köster
e7239ba96f Update README.md 2020-08-26 17:14:12 +02:00
Knutwurst
9140808f2d Add Howto-Screenshot 2020-08-26 17:05:52 +02:00
Knutwurst
0f53591818 Small initialisation fix. 2020-08-26 14:56:45 +02:00
Knutwurst
f363260a49 Massive Code Cleanup and Filament Runout Sensor Pin isn't a magic number anymore. 2020-08-26 14:48:53 +02:00
Knutwurst
bd2cb8080a Reenable T0 Sensor Message handling 2020-08-26 11:26:20 +02:00
Knutwurst
697bc6f45c PID Tuning is now automatially saved to EEPROM. 2020-08-26 11:25:09 +02:00
Oliver Köster
55521d3ab1 Update README.md 2020-08-26 10:33:24 +02:00
Oliver Köster
4801858c19 Update README.md 2020-08-26 10:29:01 +02:00
Oliver Köster
613d352308 Update README.md 2020-08-26 10:25:52 +02:00
Knutwurst
c7373ccc8e More readable special menu on DGUS Clone Display 2020-08-26 09:43:46 +02:00
Knutwurst
e12fb83b78 Upload Anycubic Touchscreen Pics for the Wiki 2020-08-26 08:43:36 +02:00
Oliver Köster
5600a71514 Update README.md 2020-08-26 07:45:44 +02:00
Knutwurst
52126609af Fix too long version number 2020-08-25 19:56:01 +02:00
Knutwurst
aa57f4be9d Fix for Special Menu without SD card 2020-08-25 19:39:08 +02:00
Oliver Köster
f27545aee4 Update README.md 2020-08-25 09:07:12 +02:00
Knutwurst
e4a828f32a Increase filament runout watch from 3 to 5 seconds. 2020-08-25 08:56:45 +02:00
Knutwurst
5c0841a139 Increase max Z Feedrate to 18 (thanks to Simon Geis) 2020-08-25 08:22:27 +02:00
Knutwurst
c65ec66cb1 Add Manual Mesh Leveling Sub-Menu. 2020-08-24 14:48:07 +02:00
9 changed files with 123 additions and 127 deletions

View File

@@ -923,7 +923,7 @@
#endif
#if ENABLED(KNUTWURST_MEGA_X)
#define DEFAULT_MAX_FEEDRATE { 120, 120, 8, 80 } // { 120, 120, 20, 80 }
#define DEFAULT_MAX_FEEDRATE { 120, 120, 18, 80 } // thanks to Simon Geis
#endif

View File

@@ -681,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

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

View File

@@ -121,10 +121,10 @@ void AnycubicTouchscreenClass::Setup()
pinMode(SD_DETECT_PIN, INPUT);
WRITE(SD_DETECT_PIN, HIGH);
#endif
pinMode(19, INPUT);
WRITE(19, HIGH);
pinMode(FILAMENT_RUNOUT_PIN, INPUT);
WRITE(FILAMENT_RUNOUT_PIN, HIGH);
#if ENABLED(ANYCUBIC_FILAMENT_RUNOUT_SENSOR)
if ((READ(19) == true) && FilamentSensorEnabled)
if ((READ(FILAMENT_RUNOUT_PIN) == true) && FilamentSensorEnabled)
{
HARDWARE_SERIAL_PROTOCOLPGM("J15"); //J15 FILAMENT LACK
HARDWARE_SERIAL_ENTER();
@@ -134,9 +134,10 @@ void AnycubicTouchscreenClass::Setup()
}
#endif
currentTouchscreenSelection[0] = '\0';
currentTouchscreenSelection[0] = 0;
currentFileOrDirectory[0] = '\0';
SpecialMenu = false;
MMLMenu = false;
FilamentSensorEnabled = true;
MyFileNrCnt = 0;
@@ -447,7 +448,7 @@ void AnycubicTouchscreenClass::HandleSpecialMenu()
|| (strcasestr(currentTouchscreenSelection, SM_PID_HOTEND_S) != NULL))
{
SERIAL_ECHOLNPGM("Special Menu: PID Tune Hotend");
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"));
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\nM500"));
buzzer.tone(200, 1108);
buzzer.tone(200, 1661);
buzzer.tone(200, 1108);
@@ -457,7 +458,7 @@ void AnycubicTouchscreenClass::HandleSpecialMenu()
|| (strcasestr(currentTouchscreenSelection, SM_PID_BED_S) != NULL))
{
SERIAL_ECHOLNPGM("Special Menu: PID Tune Ultrabase");
queue.inject_P(PSTR("M303 E-1 S60 C6 U1"));
queue.inject_P(PSTR("M303 E-1 S60 C6 U1\nM500"));
buzzer.tone(200, 1108);
buzzer.tone(200, 1661);
buzzer.tone(200, 1108);
@@ -492,6 +493,7 @@ void AnycubicTouchscreenClass::HandleSpecialMenu()
{
SERIAL_ECHOLNPGM("Special Menu: Start Mesh Leveling");
queue.inject_P(PSTR("G29 S1"));
MMLMenu = true;
}
else if ((strcasestr(currentTouchscreenSelection, SM_MESH_NEXT_L) != NULL)
|| (strcasestr(currentTouchscreenSelection, SM_MESH_NEXT_S) != NULL))
@@ -527,14 +529,12 @@ 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.03\nG4 P250\nG1 Z-0.02\nG90"));
}
else if ((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\nG4 P250\nG1 Z-0.03\nG90"));
}
#endif
@@ -545,6 +545,8 @@ void AnycubicTouchscreenClass::HandleSpecialMenu()
{
SERIAL_ECHOLNPGM("Special Menu: BLTouch Leveling");
queue.inject_P(PSTR("G28\nG29\nM500\nG90\nG1 Z30 F4000\nG1 X0 F4000\nG91\nM84"));
buzzer.tone(105, 1108);
buzzer.tone(210, 1661);
}
#endif
@@ -582,12 +584,47 @@ void AnycubicTouchscreenClass::HandleSpecialMenu()
{
SpecialMenu = false;
}
else if ((strcasestr(currentTouchscreenSelection, SM_BACK_L) != NULL)
|| (strcasestr(currentTouchscreenSelection, SM_BACK_S) != NULL))
{
MMLMenu = false;
}
}
void AnycubicTouchscreenClass::PrintList()
{
if (SpecialMenu)
if(MMLMenu)
{
switch (filenumber)
{
case 0: // Page 1
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_UP_01_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_UP_01_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_DN_01_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_DN_01_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_UP_002_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_UP_002_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_DN_002_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_DN_002_L);
break;
case 4: // Page 2
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_UP_001_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_UP_001_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_DN_001_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_DN_001_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_MESH_NEXT_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_MESH_NEXT_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_BACK_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_BACK_L);
break;
default:
break;
}
}
else if (SpecialMenu)
{
switch (filenumber)
{
@@ -606,37 +643,17 @@ void AnycubicTouchscreenClass::PrintList()
case 4: // Page 2
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_MESH_START_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_MESH_START_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_MESH_NEXT_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_MESH_NEXT_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_UP_01_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_UP_01_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_DN_01_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_DN_01_L);
break;
case 8: // Page 3
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_UP_002_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_UP_002_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_DN_002_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_DN_002_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_UP_001_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_UP_001_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_DN_001_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_DN_001_L);
break;
case 12: // Page 4
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_PID_HOTEND_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_PID_HOTEND_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_PID_BED_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_PID_BED_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_SAVE_EEPROM_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_SAVE_EEPROM_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_LOAD_DEFAULTS_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_LOAD_DEFAULTS_L);
break;
case 16: // Page 5
case 8: // Page 3
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_LOAD_DEFAULTS_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_LOAD_DEFAULTS_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_DIS_FILSENS_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_DIS_FILSENS_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_EN_FILSENS_S);
@@ -645,6 +662,7 @@ void AnycubicTouchscreenClass::PrintList()
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_EXIT_L);
break;
#endif
#if ENABLED(KNUTWURST_BLTOUCH)
case 4: // Page 2
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_BLTOUCH_S);
@@ -667,8 +685,7 @@ void AnycubicTouchscreenClass::PrintList()
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_EXIT_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_EXIT_L);
break;
#endif
#endif
default:
break;
}
@@ -973,7 +990,7 @@ void AnycubicTouchscreenClass::FilamentRunout()
if (FilamentSensorEnabled == true)
{
#if ENABLED(ANYCUBIC_FILAMENT_RUNOUT_SENSOR)
FilamentTestStatus = READ(19) & 0xff;
FilamentTestStatus = READ(FILAMENT_RUNOUT_PIN) & 0xff;
if (FilamentTestStatus > FilamentTestLastStatus)
{
@@ -987,8 +1004,8 @@ void AnycubicTouchscreenClass::FilamentRunout()
#ifdef ANYCUBIC_TFT_DEBUG
SERIAL_ECHOLNPGM("DEBUG: Set filament trigger time");
#endif
// set the delayed timestamp to 3000ms later
fil_delay = fil_ms + 3000UL;
// set the delayed timestamp to 5000ms later
fil_delay = fil_ms + 5000UL;
// this doesn't need to run until the filament is recovered again
FilamentSetMillis = false;
}
@@ -1000,7 +1017,7 @@ void AnycubicTouchscreenClass::FilamentRunout()
if (!IsParked)
{
#ifdef ANYCUBIC_TFT_DEBUG
SERIAL_ECHOLNPGM("DEBUG: 3000ms delay done");
SERIAL_ECHOLNPGM("DEBUG: 5000ms delay done");
#endif
if (card.isPrinting())
{
@@ -1058,49 +1075,34 @@ void AnycubicTouchscreenClass::GetCommandFromTFT()
if(!TFTcomment_mode)
{
TFTcomment_mode = false; //for new command
//TFTfromsd[TFTbufindw] = false;
if(strchr(TFTcmdbuffer[TFTbufindw], 'N') != NULL)
{
/*
TFTstrchr_pointer = strchr(TFTcmdbuffer[TFTbufindw], 'N');
gcode_N = (strtol(&TFTcmdbuffer[TFTbufindw][TFTstrchr_pointer - TFTcmdbuffer[TFTbufindw] + 1], NULL, 10));
if(gcode_N != gcode_LastN+1 && (strstr_P(TFTcmdbuffer[TFTbufindw], PSTR("M110")) == NULL) )
if(strchr(TFTcmdbuffer[TFTbufindw], '*') != NULL)
{
HARDWARE_SERIAL_ERROR_START;
NEWFlushSerialRequestResend();
serial3_count = 0;
return;
byte checksum = 0;
byte count = 0;
while(TFTcmdbuffer[TFTbufindw][count] != '*') checksum = checksum^TFTcmdbuffer[TFTbufindw][count++];
TFTstrchr_pointer = strchr(TFTcmdbuffer[TFTbufindw], '*');
if( (int)(strtod(&TFTcmdbuffer[TFTbufindw][TFTstrchr_pointer - TFTcmdbuffer[TFTbufindw] + 1], NULL)) != checksum)
{
HARDWARE_SERIAL_ERROR_START;
HardwareSerial.flush();
HARDWARE_SERIAL_ERROR_START;
HardwareSerial.flush();
serial3_count = 0;
return;
}
//if no errors, continue parsing
}
*/
if(strchr(TFTcmdbuffer[TFTbufindw], '*') != NULL)
{
byte checksum = 0;
byte count = 0;
while(TFTcmdbuffer[TFTbufindw][count] != '*') checksum = checksum^TFTcmdbuffer[TFTbufindw][count++];
TFTstrchr_pointer = strchr(TFTcmdbuffer[TFTbufindw], '*');
if( (int)(strtod(&TFTcmdbuffer[TFTbufindw][TFTstrchr_pointer - TFTcmdbuffer[TFTbufindw] + 1], NULL)) != checksum)
else
{
HARDWARE_SERIAL_ERROR_START;
HardwareSerial.flush();
HARDWARE_SERIAL_ERROR_START;
HardwareSerial.flush();
serial3_count = 0;
return;
HARDWARE_SERIAL_ERROR_START;
HardwareSerial.flush();
serial3_count = 0;
return;
}
//if no errors, continue parsing
}
else
{
HARDWARE_SERIAL_ERROR_START;
HardwareSerial.flush();
serial3_count = 0;
return;
}
//gcode_LastN = gcode_N;
//if no errors, continue parsing
}
else // if we don't receive 'N' but still see '*'
@@ -1215,12 +1217,7 @@ void AnycubicTouchscreenClass::GetCommandFromTFT()
case 8: // A8 GET SD LIST
#ifdef SDSUPPORT
currentTouchscreenSelection[0] = 0;
if (!IS_SD_INSERTED())
{
HARDWARE_SERIAL_PROTOCOLPGM("J02"); // J02 SD Card initilized
HARDWARE_SERIAL_ENTER();
}
if (CodeSeen('S'))
filenumber = CodeValue();
@@ -1619,15 +1616,6 @@ void AnycubicTouchscreenClass::GetCommandFromTFT()
}
currentTouchscreenSelection[0] = 0;
if (!IS_SD_INSERTED())
{
HARDWARE_SERIAL_PROTOCOLPGM("J02"); // J02 SD Card initilized
HARDWARE_SERIAL_ENTER();
#ifdef ANYCUBIC_TFT_DEBUG
SERIAL_ECHOLNPGM("TFT Serial Debug: SD card initialized... J02");
#endif
}
#endif
break;
#ifdef SERVO_ENDSTOPS
@@ -1646,7 +1634,7 @@ void AnycubicTouchscreenClass::GetCommandFromTFT()
case 33: // A33 get version info
{
HARDWARE_SERIAL_PROTOCOLPGM("J33 ");
HARDWARE_SERIAL_PROTOCOLPGM("Knutwurst-");
HARDWARE_SERIAL_PROTOCOLPGM("KW-");
HARDWARE_SERIAL_PROTOCOLPGM(MSG_MY_VERSION);
HARDWARE_SERIAL_ENTER();
}

View File

@@ -36,6 +36,8 @@ char *ftostr32(const float &);
#define MSG_MY_VERSION CUSTOM_BUILD_VERSION
#define MAX_PRINTABLE_FILENAME_LEN 30
#define FILAMENT_RUNOUT_PIN 19
#define ANYCUBIC_TFT_STATE_IDLE 0
#define ANYCUBIC_TFT_STATE_SDPRINT 1
#define ANYCUBIC_TFT_STATE_SDPAUSE 2
@@ -87,51 +89,55 @@ char *ftostr32(const float &);
#define SM_EN_FILSENS_S "<ENSEN>"
#define SM_EXIT_L "<Exit>"
#define SM_EXIT_S "<EXIT>"
#define SM_BACK_L "<End Mesh Leveling>"
#define SM_BACK_S "<BACK>"
#endif
#if ENABLED(KNUTWURST_DGUS2_TFT)
#define SM_DIR_UP_L "<<< BACK <<<.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_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_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_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_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_L "<Preheat Ultrabase> .gcode"
#define SM_PREHEAT_BED_S "<PREHE~1.GCO"
#define SM_MESH_START_L "<Start Mesh Leveling>.gcode"
#define SM_MESH_START_L "<Mesh Leveling> .gcode"
#define SM_MESH_START_S "<START~1.GCO"
#define SM_MESH_NEXT_L "<Next Mesh Point>.gcode"
#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_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_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_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_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_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_L "<Z Down 0.01> .gcode"
#define SM_Z_DN_001_S "<ZDOWN~3.GCO"
#define SM_BLTOUCH_L "<BLTouch Leveling>.gcode"
#define SM_BLTOUCH_L "<BLTouch Leveling> .gcode"
#define SM_BLTOUCH_S "<BLTOU~1.GCO"
#define SM_PAUSE_L "<Fil. Change Pause>.gcode"
#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_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_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"
#endif
@@ -211,6 +217,7 @@ private:
char currentFileOrDirectory[64];
uint16_t MyFileNrCnt = 0;
uint8_t SpecialMenu = false;
uint8_t MMLMenu = false;
uint8_t FilamentSensorEnabled = true;

View File

@@ -15,8 +15,8 @@
- [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)
- [Manual Mesh Bed Leveling](#manuelles-leveln)
- [BLTouch Bed Leveling](#automatisches-bltouch-leveln)
- [Downloads](#downloads)
@@ -26,8 +26,8 @@
- [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)
- [Manual Mesh Bed Leveling](#manual-mesh-bed-leveling)
- [BLTouch Bed Leveling](#bltouch-bed-leveling)
- [Download](#download)
@@ -42,8 +42,7 @@
* Babystepping während des Druckvorgangs
* Bilinear Bed Leveling (BBL)
* Manuelles Editieren der Messpunkte
* Volle Anycubic Touchscreen Unterstützung
* Unterstützung des neuen Anycubic Touchscreens (DGUS II)
* Volle Unterstützung aller [Anycubic Touchscreens](https://github.com/knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S/wiki/Types-of-Anycubic-Touchscreens)
* Bauteilkühler läuft nun auf 100% statt maximal 70%
* Pause & Filamentwechselfunktion
* Automatische EEPROM Initialisierung
@@ -52,6 +51,7 @@
* [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
* Optimierungen für [Trinamic TMC Schrittmotortreiber](https://github.com/knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S/wiki/Schrittmotortreiber-gegen-TMC2xxx-tauschen)
## Besser im Vergleich zu anderen Firmwares (Bugfixes):
@@ -67,7 +67,7 @@
* 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
* Man muss keinen Werksreset durchführen
---
@@ -159,7 +159,7 @@ Bei diesem Mapping ist man eben darauf angewiesen, dass die Funktionen, die man
# 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.
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](https://github.com/knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S/wiki/Howto:-Compile-Firmware-with-PlatformIO).
Um es übersichtlich zu gestalten, beinhalten die Dateinamen die einzelnen Features.
@@ -196,8 +196,7 @@ Für (fast) jede Kombination gibt es eine passende Firmware im Download-Bereich.
* Baby stepping during the printing process
* Bilinear Bed Leveling (BBL)
* Manual editing of the measuring points
* Full Anycubic touchscreen support
* Support for the new Anycubic Touchscreen (DGUS II)
* Full Support for all [Anycubic Touchscreens](https://github.com/knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S/wiki/Types-of-Anycubic-Touchscreens)
* Part cooling fan now runs at 100% instead of 70%
* Pause & filament change function
* Automatic EEPROM initialization
@@ -206,6 +205,7 @@ Für (fast) jede Kombination gibt es eine passende Firmware im Download-Bereich.
* [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
* Optimizations for [Trinamic TMC Stepper drivers](https://github.com/knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S/wiki/Swap-stepper-motor-driver-for-TMC2xxx)
### What's better in coparison to other firmwares (bug fixes):
* Tidy special menu
@@ -286,7 +286,7 @@ With this mapping, you have to rely on the fact that the functions you want to u
![SpecialMenu](images/SpecialMenu.jpg)
![SpecialMenu DGUS](images/SpecialMenu_DGUS.jpg)
## Manual Mesh Beld Leveling
## Manual Mesh Bed Leveling
![Page 1](images/MN_Page1.jpg)
![Page 1 DGUS](images/MN_Page1_DGUS.jpg)
@@ -300,7 +300,7 @@ With this mapping, you have to rely on the fact that the functions you want to u
![Page 4](images/MN_Page4.jpg)
![Page 4 DGUS](images/MN_Page4_DGUS.jpg)
## BLTouch Beld Leveling
## BLTouch Bed Leveling
![Page 1](images/BL_Page1.jpg)
@@ -311,7 +311,7 @@ With this mapping, you have to rely on the fact that the functions you want to u
# 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.
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](https://github.com/knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S/wiki/Howto:-Compile-Firmware-with-PlatformIO) with PlatformIO or the Arduino IDE.
In order to make it clear, the file names contain the individual features.
@@ -333,3 +333,5 @@ In order to make it clear, the file names contain the individual features.
For (almost) every combination there is a suitable firmware in the download area. ;)
### 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>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 857 KiB

BIN
images/howto_build.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 834 KiB