Edit configuration comments

master
Scott Lahteine 7 years ago
parent d0480c15ef
commit bf7ecc761f

@ -987,23 +987,17 @@
#define PREHEAT_2_TEMP_BED 110 #define PREHEAT_2_TEMP_BED 110
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 #define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
// /**
// Nozzle Park -- EXPERIMENTAL * Nozzle Park -- EXPERIMENTAL
// *
// When enabled allows the user to define a special XYZ position, inside the * Park the nozzle at the given XYZ position on idle or G27.
// machine's topology, to park the nozzle when idle or when receiving the G27 *
// command. * The "P" parameter controls the action applied to the Z axis:
// *
// The "P" paramenter controls what is the action applied to the Z axis: * P0 (Default) If Z is below park Z raise the nozzle.
// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will * P1 Raise the nozzle always to Z-park height.
// be raised to reach Z-park height. * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
// */
// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
// reach Z-park height.
//
// P2: The nozzle height will be raised by Z-park amount but never going over
// the machine's limit of Z_MAX_POS.
//
//#define NOZZLE_PARK_FEATURE //#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
@ -1011,44 +1005,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif #endif
// /**
// Clean Nozzle Feature -- EXPERIMENTAL * Clean Nozzle Feature -- EXPERIMENTAL
// *
// When enabled allows the user to send G12 to start the nozzle cleaning * Adds the G12 command to perform a nozzle cleaning process.
// process, the G-Code accepts two parameters: *
// "P" for pattern selection * Parameters:
// "S" for defining the number of strokes/repetitions * P Pattern
// * S Strokes / Repetitions
// Available list of patterns: * T Triangles (P1 only)
// P0: This is the default pattern, this process requires a sponge type *
// material at a fixed bed location. S defines "strokes" i.e. * Patterns:
// back-and-forth movements between the starting and end points. * P0 Straight line (default). This process requires a sponge type material
// * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" * between the start / end points.
// defines the number of zig-zag triangles to be done. "S" defines the *
// number of strokes aka one back-and-forth movement. Zig-zags will * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
// be performed in whichever dimension is smallest. As an example, * number of zig-zag triangles to do. "S" defines the number of strokes.
// sending "G12 P1 S1 T3" will execute: * Zig-zags are done in whichever is the narrower dimension.
// * For example, "G12 P1 S1 T3" will execute:
// -- *
// | (X0, Y1) | /\ /\ /\ | (X1, Y1) * --
// | | / \ / \ / \ | * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
// A | | / \ / \ / \ | * | | / \ / \ / \ |
// | | / \ / \ / \ | * A | | / \ / \ / \ |
// | (X0, Y0) | / \/ \/ \ | (X1, Y0) * | | / \ / \ / \ |
// -- +--------------------------------+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
// |________|_________|_________| * -- +--------------------------------+
// T1 T2 T3 * |________|_________|_________|
// * T1 T2 T3
// P2: This starts a circular pattern with circle with middle in *
// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S. * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. * "R" specifies the radius. "S" specifies the stroke count.
// * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
// Caveats: End point Z should use the same value as Start point Z. *
// * Caveats: The ending Z should be the same as starting Z.
// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments * Attention: EXPERIMENTAL. G-code arguments may change.
// may change to add new functionality like different wipe patterns. *
// */
//#define NOZZLE_CLEAN_FEATURE //#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE) #if ENABLED(NOZZLE_CLEAN_FEATURE)
@ -1073,33 +1067,35 @@
#define NOZZLE_CLEAN_GOBACK #define NOZZLE_CLEAN_GOBACK
#endif #endif
// /**
// Print job timer * Print Job Timer
// *
// Enable this option to automatically start and stop the * Automatically start and stop the print job timer on M104/M109/M190.
// print job timer when M104/M109/M190 commands are received. *
// M104 (extruder without wait) - high temp = none, low temp = stop timer * M104 (hotend, no wait) - high temp = none, low temp = stop timer
// M109 (extruder with wait) - high temp = start timer, low temp = stop timer * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
// M190 (bed with wait) - high temp = start timer, low temp = none * M190 (bed, wait) - high temp = start timer, low temp = none
// *
// In all cases the timer can be started and stopped using * The timer can also be controlled with the following commands:
// the following commands: *
// * M75 - Start the print job timer
// - M75 - Start the print job timer * M76 - Pause the print job timer
// - M76 - Pause the print job timer * M77 - Stop the print job timer
// - M77 - Stop the print job timer */
#define PRINTJOB_TIMER_AUTOSTART #define PRINTJOB_TIMER_AUTOSTART
// /**
// Print Counter * Print Counter
// *
// When enabled Marlin will keep track of some print statistical data such as: * Track statistical data such as:
// - Total print jobs *
// - Total successful print jobs * - Total print jobs
// - Total failed print jobs * - Total successful print jobs
// - Total time printing * - Total failed print jobs
// * - Total time printing
// This information can be viewed by the M78 command. *
* View the current statistics with M78.
*/
//#define PRINTCOUNTER //#define PRINTCOUNTER
//============================================================================= //=============================================================================
@ -1108,78 +1104,79 @@
// @section lcd // @section lcd
// /**
// LCD LANGUAGE * LCD LANGUAGE
// *
// Here you may choose the language used by Marlin on the LCD menus, the following * Select the language to display on the LCD. These languages are available:
// list of languages are available: *
// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
// *
// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
// */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en
// /**
// LCD Character Set * LCD Character Set
// *
// Note: This option is NOT applicable to Graphical Displays. * Note: This option is NOT applicable to Graphical Displays.
// *
// All character-based LCD's provide ASCII plus one of these * All character-based LCDs provide ASCII plus one of these
// language extensions: * language extensions:
// *
// - JAPANESE ... the most common * - JAPANESE ... the most common
// - WESTERN ... with more accented characters * - WESTERN ... with more accented characters
// - CYRILLIC ... for the Russian language * - CYRILLIC ... for the Russian language
// *
// To determine the language extension installed on your controller: * To determine the language extension installed on your controller:
// *
// - Compile and upload with LCD_LANGUAGE set to 'test' * - Compile and upload with LCD_LANGUAGE set to 'test'
// - Click the controller to view the LCD menu * - Click the controller to view the LCD menu
// - The LCD will display Japanese, Western, or Cyrillic text * - The LCD will display Japanese, Western, or Cyrillic text
// *
// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
// *
// :['JAPANESE', 'WESTERN', 'CYRILLIC'] * :['JAPANESE', 'WESTERN', 'CYRILLIC']
// */
#define DISPLAY_CHARSET_HD44780 JAPANESE #define DISPLAY_CHARSET_HD44780 JAPANESE
// /**
// LCD TYPE * LCD TYPE
// *
// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
// (ST7565R family). (This option will be set automatically for certain displays.) * (These options will be enabled automatically for most displays.)
// *
// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! * IMPORTANT: The U8glib library is required for Full Graphic Display!
// https://github.com/olikraus/U8glib_Arduino * https://github.com/olikraus/U8glib_Arduino
// */
//#define ULTRA_LCD // Character based //#define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display //#define DOGLCD // Full graphics display
// /**
// SD CARD * SD CARD
// *
// SD Card support is disabled by default. If your controller has an SD slot, * SD Card support is disabled by default. If your controller has an SD slot,
// you must uncomment the following option or it won't work. * you must uncomment the following option or it won't work.
// *
*/
//#define SDSUPPORT //#define SDSUPPORT
// /**
// SD CARD: SPI SPEED * SD CARD: SPI SPEED
// *
// Uncomment ONE of the following items to use a slower SPI transfer * Enable one of the following items for a slower SPI transfer speed.
// speed. This is usually required if you're getting volume init errors. * This may be required to resolve "volume init" errors.
// */
//#define SPI_SPEED SPI_HALF_SPEED //#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED //#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED //#define SPI_SPEED SPI_EIGHTH_SPEED
// /**
// SD CARD: ENABLE CRC * SD CARD: ENABLE CRC
// *
// Use CRC checks and retries on the SD communication. * Use CRC checks and retries on the SD communication.
// */
//#define SD_CHECK_AND_RETRY //#define SD_CHECK_AND_RETRY
// //
@ -1207,7 +1204,7 @@
*/ */
// //
// This option reverses the encoder direction everywhere // This option reverses the encoder direction everywhere.
// //
// Set this option if CLOCKWISE causes values to DECREASE // Set this option if CLOCKWISE causes values to DECREASE
// //

@ -985,23 +985,17 @@
#define PREHEAT_2_TEMP_BED 110 #define PREHEAT_2_TEMP_BED 110
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 #define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
// /**
// Nozzle Park -- EXPERIMENTAL * Nozzle Park -- EXPERIMENTAL
// *
// When enabled allows the user to define a special XYZ position, inside the * Park the nozzle at the given XYZ position on idle or G27.
// machine's topology, to park the nozzle when idle or when receiving the G27 *
// command. * The "P" parameter controls the action applied to the Z axis:
// *
// The "P" paramenter controls what is the action applied to the Z axis: * P0 (Default) If Z is below park Z raise the nozzle.
// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will * P1 Raise the nozzle always to Z-park height.
// be raised to reach Z-park height. * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
// */
// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
// reach Z-park height.
//
// P2: The nozzle height will be raised by Z-park amount but never going over
// the machine's limit of Z_MAX_POS.
//
//#define NOZZLE_PARK_FEATURE //#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
@ -1009,44 +1003,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif #endif
// /**
// Clean Nozzle Feature -- EXPERIMENTAL * Clean Nozzle Feature -- EXPERIMENTAL
// *
// When enabled allows the user to send G12 to start the nozzle cleaning * Adds the G12 command to perform a nozzle cleaning process.
// process, the G-Code accepts two parameters: *
// "P" for pattern selection * Parameters:
// "S" for defining the number of strokes/repetitions * P Pattern
// * S Strokes / Repetitions
// Available list of patterns: * T Triangles (P1 only)
// P0: This is the default pattern, this process requires a sponge type *
// material at a fixed bed location. S defines "strokes" i.e. * Patterns:
// back-and-forth movements between the starting and end points. * P0 Straight line (default). This process requires a sponge type material
// * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" * between the start / end points.
// defines the number of zig-zag triangles to be done. "S" defines the *
// number of strokes aka one back-and-forth movement. Zig-zags will * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
// be performed in whichever dimension is smallest. As an example, * number of zig-zag triangles to do. "S" defines the number of strokes.
// sending "G12 P1 S1 T3" will execute: * Zig-zags are done in whichever is the narrower dimension.
// * For example, "G12 P1 S1 T3" will execute:
// -- *
// | (X0, Y1) | /\ /\ /\ | (X1, Y1) * --
// | | / \ / \ / \ | * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
// A | | / \ / \ / \ | * | | / \ / \ / \ |
// | | / \ / \ / \ | * A | | / \ / \ / \ |
// | (X0, Y0) | / \/ \/ \ | (X1, Y0) * | | / \ / \ / \ |
// -- +--------------------------------+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
// |________|_________|_________| * -- +--------------------------------+
// T1 T2 T3 * |________|_________|_________|
// * T1 T2 T3
// P2: This starts a circular pattern with circle with middle in *
// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S. * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. * "R" specifies the radius. "S" specifies the stroke count.
// * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
// Caveats: End point Z should use the same value as Start point Z. *
// * Caveats: The ending Z should be the same as starting Z.
// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments * Attention: EXPERIMENTAL. G-code arguments may change.
// may change to add new functionality like different wipe patterns. *
// */
//#define NOZZLE_CLEAN_FEATURE //#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE) #if ENABLED(NOZZLE_CLEAN_FEATURE)
@ -1071,33 +1065,35 @@
#define NOZZLE_CLEAN_GOBACK #define NOZZLE_CLEAN_GOBACK
#endif #endif
// /**
// Print job timer * Print Job Timer
// *
// Enable this option to automatically start and stop the * Automatically start and stop the print job timer on M104/M109/M190.
// print job timer when M104/M109/M190 commands are received. *
// M104 (extruder without wait) - high temp = none, low temp = stop timer * M104 (hotend, no wait) - high temp = none, low temp = stop timer
// M109 (extruder with wait) - high temp = start timer, low temp = stop timer * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
// M190 (bed with wait) - high temp = start timer, low temp = none * M190 (bed, wait) - high temp = start timer, low temp = none
// *
// In all cases the timer can be started and stopped using * The timer can also be controlled with the following commands:
// the following commands: *
// * M75 - Start the print job timer
// - M75 - Start the print job timer * M76 - Pause the print job timer
// - M76 - Pause the print job timer * M77 - Stop the print job timer
// - M77 - Stop the print job timer */
#define PRINTJOB_TIMER_AUTOSTART #define PRINTJOB_TIMER_AUTOSTART
// /**
// Print Counter * Print Counter
// *
// When enabled Marlin will keep track of some print statistical data such as: * Track statistical data such as:
// - Total print jobs *
// - Total successful print jobs * - Total print jobs
// - Total failed print jobs * - Total successful print jobs
// - Total time printing * - Total failed print jobs
// * - Total time printing
// This information can be viewed by the M78 command. *
* View the current statistics with M78.
*/
//#define PRINTCOUNTER //#define PRINTCOUNTER
//============================================================================= //=============================================================================
@ -1106,78 +1102,79 @@
// @section lcd // @section lcd
// /**
// LCD LANGUAGE * LCD LANGUAGE
// *
// Here you may choose the language used by Marlin on the LCD menus, the following * Select the language to display on the LCD. These languages are available:
// list of languages are available: *
// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
// *
// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
// */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en
// /**
// LCD Character Set * LCD Character Set
// *
// Note: This option is NOT applicable to Graphical Displays. * Note: This option is NOT applicable to Graphical Displays.
// *
// All character-based LCD's provide ASCII plus one of these * All character-based LCDs provide ASCII plus one of these
// language extensions: * language extensions:
// *
// - JAPANESE ... the most common * - JAPANESE ... the most common
// - WESTERN ... with more accented characters * - WESTERN ... with more accented characters
// - CYRILLIC ... for the Russian language * - CYRILLIC ... for the Russian language
// *
// To determine the language extension installed on your controller: * To determine the language extension installed on your controller:
// *
// - Compile and upload with LCD_LANGUAGE set to 'test' * - Compile and upload with LCD_LANGUAGE set to 'test'
// - Click the controller to view the LCD menu * - Click the controller to view the LCD menu
// - The LCD will display Japanese, Western, or Cyrillic text * - The LCD will display Japanese, Western, or Cyrillic text
// *
// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
// *
// :['JAPANESE', 'WESTERN', 'CYRILLIC'] * :['JAPANESE', 'WESTERN', 'CYRILLIC']
// */
#define DISPLAY_CHARSET_HD44780 JAPANESE #define DISPLAY_CHARSET_HD44780 JAPANESE
// /**
// LCD TYPE * LCD TYPE
// *
// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
// (ST7565R family). (This option will be set automatically for certain displays.) * (These options will be enabled automatically for most displays.)
// *
// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! * IMPORTANT: The U8glib library is required for Full Graphic Display!
// https://github.com/olikraus/U8glib_Arduino * https://github.com/olikraus/U8glib_Arduino
// */
//#define ULTRA_LCD // Character based //#define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display //#define DOGLCD // Full graphics display
// /**
// SD CARD * SD CARD
// *
// SD Card support is disabled by default. If your controller has an SD slot, * SD Card support is disabled by default. If your controller has an SD slot,
// you must uncomment the following option or it won't work. * you must uncomment the following option or it won't work.
// *
*/
#define SDSUPPORT #define SDSUPPORT
// /**
// SD CARD: SPI SPEED * SD CARD: SPI SPEED
// *
// Uncomment ONE of the following items to use a slower SPI transfer * Enable one of the following items for a slower SPI transfer speed.
// speed. This is usually required if you're getting volume init errors. * This may be required to resolve "volume init" errors.
// */
//#define SPI_SPEED SPI_HALF_SPEED //#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED //#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED //#define SPI_SPEED SPI_EIGHTH_SPEED
// /**
// SD CARD: ENABLE CRC * SD CARD: ENABLE CRC
// *
// Use CRC checks and retries on the SD communication. * Use CRC checks and retries on the SD communication.
// */
//#define SD_CHECK_AND_RETRY //#define SD_CHECK_AND_RETRY
// //
@ -1205,7 +1202,7 @@
*/ */
// //
// This option reverses the encoder direction everywhere // This option reverses the encoder direction everywhere.
// //
// Set this option if CLOCKWISE causes values to DECREASE // Set this option if CLOCKWISE causes values to DECREASE
// //

@ -969,23 +969,17 @@
#define PREHEAT_2_TEMP_BED 100 #define PREHEAT_2_TEMP_BED 100
#define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255 #define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255
// /**
// Nozzle Park -- EXPERIMENTAL * Nozzle Park -- EXPERIMENTAL
// *
// When enabled allows the user to define a special XYZ position, inside the * Park the nozzle at the given XYZ position on idle or G27.
// machine's topology, to park the nozzle when idle or when receiving the G27 *
// command. * The "P" parameter controls the action applied to the Z axis:
// *
// The "P" paramenter controls what is the action applied to the Z axis: * P0 (Default) If Z is below park Z raise the nozzle.
// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will * P1 Raise the nozzle always to Z-park height.
// be raised to reach Z-park height. * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
// */
// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
// reach Z-park height.
//
// P2: The nozzle height will be raised by Z-park amount but never going over
// the machine's limit of Z_MAX_POS.
//
//#define NOZZLE_PARK_FEATURE //#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
@ -993,44 +987,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif #endif
// /**
// Clean Nozzle Feature -- EXPERIMENTAL * Clean Nozzle Feature -- EXPERIMENTAL
// *
// When enabled allows the user to send G12 to start the nozzle cleaning * Adds the G12 command to perform a nozzle cleaning process.
// process, the G-Code accepts two parameters: *
// "P" for pattern selection * Parameters:
// "S" for defining the number of strokes/repetitions * P Pattern
// * S Strokes / Repetitions
// Available list of patterns: * T Triangles (P1 only)
// P0: This is the default pattern, this process requires a sponge type *
// material at a fixed bed location. S defines "strokes" i.e. * Patterns:
// back-and-forth movements between the starting and end points. * P0 Straight line (default). This process requires a sponge type material
// * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" * between the start / end points.
// defines the number of zig-zag triangles to be done. "S" defines the *
// number of strokes aka one back-and-forth movement. Zig-zags will * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
// be performed in whichever dimension is smallest. As an example, * number of zig-zag triangles to do. "S" defines the number of strokes.
// sending "G12 P1 S1 T3" will execute: * Zig-zags are done in whichever is the narrower dimension.
// * For example, "G12 P1 S1 T3" will execute:
// -- *
// | (X0, Y1) | /\ /\ /\ | (X1, Y1) * --
// | | / \ / \ / \ | * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
// A | | / \ / \ / \ | * | | / \ / \ / \ |
// | | / \ / \ / \ | * A | | / \ / \ / \ |
// | (X0, Y0) | / \/ \/ \ | (X1, Y0) * | | / \ / \ / \ |
// -- +--------------------------------+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
// |________|_________|_________| * -- +--------------------------------+
// T1 T2 T3 * |________|_________|_________|
// * T1 T2 T3
// P2: This starts a circular pattern with circle with middle in *
// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S. * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. * "R" specifies the radius. "S" specifies the stroke count.
// * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
// Caveats: End point Z should use the same value as Start point Z. *
// * Caveats: The ending Z should be the same as starting Z.
// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments * Attention: EXPERIMENTAL. G-code arguments may change.
// may change to add new functionality like different wipe patterns. *
// */
//#define NOZZLE_CLEAN_FEATURE //#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE) #if ENABLED(NOZZLE_CLEAN_FEATURE)
@ -1055,33 +1049,35 @@
#define NOZZLE_CLEAN_GOBACK #define NOZZLE_CLEAN_GOBACK
#endif #endif
// /**
// Print job timer * Print Job Timer
// *
// Enable this option to automatically start and stop the * Automatically start and stop the print job timer on M104/M109/M190.
// print job timer when M104/M109/M190 commands are received. *
// M104 (extruder without wait) - high temp = none, low temp = stop timer * M104 (hotend, no wait) - high temp = none, low temp = stop timer
// M109 (extruder with wait) - high temp = start timer, low temp = stop timer * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
// M190 (bed with wait) - high temp = start timer, low temp = none * M190 (bed, wait) - high temp = start timer, low temp = none
// *
// In all cases the timer can be started and stopped using * The timer can also be controlled with the following commands:
// the following commands: *
// * M75 - Start the print job timer
// - M75 - Start the print job timer * M76 - Pause the print job timer
// - M76 - Pause the print job timer * M77 - Stop the print job timer
// - M77 - Stop the print job timer */
#define PRINTJOB_TIMER_AUTOSTART #define PRINTJOB_TIMER_AUTOSTART
// /**
// Print Counter * Print Counter
// *
// When enabled Marlin will keep track of some print statistical data such as: * Track statistical data such as:
// - Total print jobs *
// - Total successful print jobs * - Total print jobs
// - Total failed print jobs * - Total successful print jobs
// - Total time printing * - Total failed print jobs
// * - Total time printing
// This information can be viewed by the M78 command. *
* View the current statistics with M78.
*/
//#define PRINTCOUNTER //#define PRINTCOUNTER
//============================================================================= //=============================================================================
@ -1090,78 +1086,79 @@
// @section lcd // @section lcd
// /**
// LCD LANGUAGE * LCD LANGUAGE
// *
// Here you may choose the language used by Marlin on the LCD menus, the following * Select the language to display on the LCD. These languages are available:
// list of languages are available: *
// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
// *
// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
// */
//#define LCD_LANGUAGE en //#define LCD_LANGUAGE en
// /**
// LCD Character Set * LCD Character Set
// *
// Note: This option is NOT applicable to Graphical Displays. * Note: This option is NOT applicable to Graphical Displays.
// *
// All character-based LCD's provide ASCII plus one of these * All character-based LCDs provide ASCII plus one of these
// language extensions: * language extensions:
// *
// - JAPANESE ... the most common * - JAPANESE ... the most common
// - WESTERN ... with more accented characters * - WESTERN ... with more accented characters
// - CYRILLIC ... for the Russian language * - CYRILLIC ... for the Russian language
// *
// To determine the language extension installed on your controller: * To determine the language extension installed on your controller:
// *
// - Compile and upload with LCD_LANGUAGE set to 'test' * - Compile and upload with LCD_LANGUAGE set to 'test'
// - Click the controller to view the LCD menu * - Click the controller to view the LCD menu
// - The LCD will display Japanese, Western, or Cyrillic text * - The LCD will display Japanese, Western, or Cyrillic text
// *
// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
// *
// :['JAPANESE', 'WESTERN', 'CYRILLIC'] * :['JAPANESE', 'WESTERN', 'CYRILLIC']
// */
#define DISPLAY_CHARSET_HD44780 JAPANESE #define DISPLAY_CHARSET_HD44780 JAPANESE
// /**
// LCD TYPE * LCD TYPE
// *
// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
// (ST7565R family). (This option will be set automatically for certain displays.) * (These options will be enabled automatically for most displays.)
// *
// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! * IMPORTANT: The U8glib library is required for Full Graphic Display!
// https://github.com/olikraus/U8glib_Arduino * https://github.com/olikraus/U8glib_Arduino
// */
//#define ULTRA_LCD // Character based //#define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display //#define DOGLCD // Full graphics display
// /**
// SD CARD * SD CARD
// *
// SD Card support is disabled by default. If your controller has an SD slot, * SD Card support is disabled by default. If your controller has an SD slot,
// you must uncomment the following option or it won't work. * you must uncomment the following option or it won't work.
// *
*/
//#define SDSUPPORT //#define SDSUPPORT
// /**
// SD CARD: SPI SPEED * SD CARD: SPI SPEED
// *
// Uncomment ONE of the following items to use a slower SPI transfer * Enable one of the following items for a slower SPI transfer speed.
// speed. This is usually required if you're getting volume init errors. * This may be required to resolve "volume init" errors.
// */
//#define SPI_SPEED SPI_HALF_SPEED //#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED //#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED //#define SPI_SPEED SPI_EIGHTH_SPEED
// /**
// SD CARD: ENABLE CRC * SD CARD: ENABLE CRC
// *
// Use CRC checks and retries on the SD communication. * Use CRC checks and retries on the SD communication.
// */
//#define SD_CHECK_AND_RETRY //#define SD_CHECK_AND_RETRY
// //
@ -1189,7 +1186,7 @@
*/ */
// //
// This option reverses the encoder direction everywhere // This option reverses the encoder direction everywhere.
// //
// Set this option if CLOCKWISE causes values to DECREASE // Set this option if CLOCKWISE causes values to DECREASE
// //

@ -969,23 +969,17 @@
#define PREHEAT_2_TEMP_BED 100 #define PREHEAT_2_TEMP_BED 100
#define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255 #define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255
// /**
// Nozzle Park -- EXPERIMENTAL * Nozzle Park -- EXPERIMENTAL
// *
// When enabled allows the user to define a special XYZ position, inside the * Park the nozzle at the given XYZ position on idle or G27.
// machine's topology, to park the nozzle when idle or when receiving the G27 *
// command. * The "P" parameter controls the action applied to the Z axis:
// *
// The "P" paramenter controls what is the action applied to the Z axis: * P0 (Default) If Z is below park Z raise the nozzle.
// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will * P1 Raise the nozzle always to Z-park height.
// be raised to reach Z-park height. * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
// */
// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
// reach Z-park height.
//
// P2: The nozzle height will be raised by Z-park amount but never going over
// the machine's limit of Z_MAX_POS.
//
//#define NOZZLE_PARK_FEATURE //#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
@ -993,44 +987,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif #endif
// /**
// Clean Nozzle Feature -- EXPERIMENTAL * Clean Nozzle Feature -- EXPERIMENTAL
// *
// When enabled allows the user to send G12 to start the nozzle cleaning * Adds the G12 command to perform a nozzle cleaning process.
// process, the G-Code accepts two parameters: *
// "P" for pattern selection * Parameters:
// "S" for defining the number of strokes/repetitions * P Pattern
// * S Strokes / Repetitions
// Available list of patterns: * T Triangles (P1 only)
// P0: This is the default pattern, this process requires a sponge type *
// material at a fixed bed location. S defines "strokes" i.e. * Patterns:
// back-and-forth movements between the starting and end points. * P0 Straight line (default). This process requires a sponge type material
// * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" * between the start / end points.
// defines the number of zig-zag triangles to be done. "S" defines the *
// number of strokes aka one back-and-forth movement. Zig-zags will * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
// be performed in whichever dimension is smallest. As an example, * number of zig-zag triangles to do. "S" defines the number of strokes.
// sending "G12 P1 S1 T3" will execute: * Zig-zags are done in whichever is the narrower dimension.
// * For example, "G12 P1 S1 T3" will execute:
// -- *
// | (X0, Y1) | /\ /\ /\ | (X1, Y1) * --
// | | / \ / \ / \ | * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
// A | | / \ / \ / \ | * | | / \ / \ / \ |
// | | / \ / \ / \ | * A | | / \ / \ / \ |
// | (X0, Y0) | / \/ \/ \ | (X1, Y0) * | | / \ / \ / \ |
// -- +--------------------------------+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
// |________|_________|_________| * -- +--------------------------------+
// T1 T2 T3 * |________|_________|_________|
// * T1 T2 T3
// P2: This starts a circular pattern with circle with middle in *
// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S. * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. * "R" specifies the radius. "S" specifies the stroke count.
// * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
// Caveats: End point Z should use the same value as Start point Z. *
// * Caveats: The ending Z should be the same as starting Z.
// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments * Attention: EXPERIMENTAL. G-code arguments may change.
// may change to add new functionality like different wipe patterns. *
// */
//#define NOZZLE_CLEAN_FEATURE //#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE) #if ENABLED(NOZZLE_CLEAN_FEATURE)
@ -1055,33 +1049,35 @@
#define NOZZLE_CLEAN_GOBACK #define NOZZLE_CLEAN_GOBACK
#endif #endif
// /**
// Print job timer * Print Job Timer
// *
// Enable this option to automatically start and stop the * Automatically start and stop the print job timer on M104/M109/M190.
// print job timer when M104/M109/M190 commands are received. *
// M104 (extruder without wait) - high temp = none, low temp = stop timer * M104 (hotend, no wait) - high temp = none, low temp = stop timer
// M109 (extruder with wait) - high temp = start timer, low temp = stop timer * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
// M190 (bed with wait) - high temp = start timer, low temp = none * M190 (bed, wait) - high temp = start timer, low temp = none
// *
// In all cases the timer can be started and stopped using * The timer can also be controlled with the following commands:
// the following commands: *
// * M75 - Start the print job timer
// - M75 - Start the print job timer * M76 - Pause the print job timer
// - M76 - Pause the print job timer * M77 - Stop the print job timer
// - M77 - Stop the print job timer */
#define PRINTJOB_TIMER_AUTOSTART #define PRINTJOB_TIMER_AUTOSTART
// /**
// Print Counter * Print Counter
// *
// When enabled Marlin will keep track of some print statistical data such as: * Track statistical data such as:
// - Total print jobs *
// - Total successful print jobs * - Total print jobs
// - Total failed print jobs * - Total successful print jobs
// - Total time printing * - Total failed print jobs
// * - Total time printing
// This information can be viewed by the M78 command. *
* View the current statistics with M78.
*/
//#define PRINTCOUNTER //#define PRINTCOUNTER
//============================================================================= //=============================================================================
@ -1090,78 +1086,79 @@
// @section lcd // @section lcd
// /**
// LCD LANGUAGE * LCD LANGUAGE
// *
// Here you may choose the language used by Marlin on the LCD menus, the following * Select the language to display on the LCD. These languages are available:
// list of languages are available: *
// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
// *
// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
// */
//#define LCD_LANGUAGE en //#define LCD_LANGUAGE en
// /**
// LCD Character Set * LCD Character Set
// *
// Note: This option is NOT applicable to Graphical Displays. * Note: This option is NOT applicable to Graphical Displays.
// *
// All character-based LCD's provide ASCII plus one of these * All character-based LCDs provide ASCII plus one of these
// language extensions: * language extensions:
// *
// - JAPANESE ... the most common * - JAPANESE ... the most common
// - WESTERN ... with more accented characters * - WESTERN ... with more accented characters
// - CYRILLIC ... for the Russian language * - CYRILLIC ... for the Russian language
// *
// To determine the language extension installed on your controller: * To determine the language extension installed on your controller:
// *
// - Compile and upload with LCD_LANGUAGE set to 'test' * - Compile and upload with LCD_LANGUAGE set to 'test'
// - Click the controller to view the LCD menu * - Click the controller to view the LCD menu
// - The LCD will display Japanese, Western, or Cyrillic text * - The LCD will display Japanese, Western, or Cyrillic text
// *
// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
// *
// :['JAPANESE', 'WESTERN', 'CYRILLIC'] * :['JAPANESE', 'WESTERN', 'CYRILLIC']
// */
#define DISPLAY_CHARSET_HD44780 JAPANESE #define DISPLAY_CHARSET_HD44780 JAPANESE
// /**
// LCD TYPE * LCD TYPE
// *
// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
// (ST7565R family). (This option will be set automatically for certain displays.) * (These options will be enabled automatically for most displays.)
// *
// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! * IMPORTANT: The U8glib library is required for Full Graphic Display!
// https://github.com/olikraus/U8glib_Arduino * https://github.com/olikraus/U8glib_Arduino
// */
//#define ULTRA_LCD // Character based //#define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display //#define DOGLCD // Full graphics display
// /**
// SD CARD * SD CARD
// *
// SD Card support is disabled by default. If your controller has an SD slot, * SD Card support is disabled by default. If your controller has an SD slot,
// you must uncomment the following option or it won't work. * you must uncomment the following option or it won't work.
// *
*/
//#define SDSUPPORT //#define SDSUPPORT
// /**
// SD CARD: SPI SPEED * SD CARD: SPI SPEED
// *
// Uncomment ONE of the following items to use a slower SPI transfer * Enable one of the following items for a slower SPI transfer speed.
// speed. This is usually required if you're getting volume init errors. * This may be required to resolve "volume init" errors.
// */
//#define SPI_SPEED SPI_HALF_SPEED //#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED //#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED //#define SPI_SPEED SPI_EIGHTH_SPEED
// /**
// SD CARD: ENABLE CRC * SD CARD: ENABLE CRC
// *
// Use CRC checks and retries on the SD communication. * Use CRC checks and retries on the SD communication.
// */
//#define SD_CHECK_AND_RETRY //#define SD_CHECK_AND_RETRY
// //
@ -1189,7 +1186,7 @@
*/ */
// //
// This option reverses the encoder direction everywhere // This option reverses the encoder direction everywhere.
// //
// Set this option if CLOCKWISE causes values to DECREASE // Set this option if CLOCKWISE causes values to DECREASE
// //

@ -991,23 +991,17 @@
#define PREHEAT_2_TEMP_BED 110 #define PREHEAT_2_TEMP_BED 110
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 #define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
// /**
// Nozzle Park -- EXPERIMENTAL * Nozzle Park -- EXPERIMENTAL
// *
// When enabled allows the user to define a special XYZ position, inside the * Park the nozzle at the given XYZ position on idle or G27.
// machine's topology, to park the nozzle when idle or when receiving the G27 *
// command. * The "P" parameter controls the action applied to the Z axis:
// *
// The "P" paramenter controls what is the action applied to the Z axis: * P0 (Default) If Z is below park Z raise the nozzle.
// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will * P1 Raise the nozzle always to Z-park height.
// be raised to reach Z-park height. * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
// */
// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
// reach Z-park height.
//
// P2: The nozzle height will be raised by Z-park amount but never going over
// the machine's limit of Z_MAX_POS.
//
//#define NOZZLE_PARK_FEATURE //#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
@ -1015,44 +1009,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif #endif
// /**
// Clean Nozzle Feature -- EXPERIMENTAL * Clean Nozzle Feature -- EXPERIMENTAL
// *
// When enabled allows the user to send G12 to start the nozzle cleaning * Adds the G12 command to perform a nozzle cleaning process.
// process, the G-Code accepts two parameters: *
// "P" for pattern selection * Parameters:
// "S" for defining the number of strokes/repetitions * P Pattern
// * S Strokes / Repetitions
// Available list of patterns: * T Triangles (P1 only)
// P0: This is the default pattern, this process requires a sponge type *
// material at a fixed bed location. S defines "strokes" i.e. * Patterns:
// back-and-forth movements between the starting and end points. * P0 Straight line (default). This process requires a sponge type material
// * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" * between the start / end points.
// defines the number of zig-zag triangles to be done. "S" defines the *
// number of strokes aka one back-and-forth movement. Zig-zags will * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
// be performed in whichever dimension is smallest. As an example, * number of zig-zag triangles to do. "S" defines the number of strokes.
// sending "G12 P1 S1 T3" will execute: * Zig-zags are done in whichever is the narrower dimension.
// * For example, "G12 P1 S1 T3" will execute:
// -- *
// | (X0, Y1) | /\ /\ /\ | (X1, Y1) * --
// | | / \ / \ / \ | * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
// A | | / \ / \ / \ | * | | / \ / \ / \ |
// | | / \ / \ / \ | * A | | / \ / \ / \ |
// | (X0, Y0) | / \/ \/ \ | (X1, Y0) * | | / \ / \ / \ |
// -- +--------------------------------+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
// |________|_________|_________| * -- +--------------------------------+
// T1 T2 T3 * |________|_________|_________|
// * T1 T2 T3
// P2: This starts a circular pattern with circle with middle in *
// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S. * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. * "R" specifies the radius. "S" specifies the stroke count.
// * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
// Caveats: End point Z should use the same value as Start point Z. *
// * Caveats: The ending Z should be the same as starting Z.
// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments * Attention: EXPERIMENTAL. G-code arguments may change.
// may change to add new functionality like different wipe patterns. *
// */
//#define NOZZLE_CLEAN_FEATURE //#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE) #if ENABLED(NOZZLE_CLEAN_FEATURE)
@ -1077,33 +1071,35 @@
#define NOZZLE_CLEAN_GOBACK #define NOZZLE_CLEAN_GOBACK
#endif #endif
// /**
// Print job timer * Print Job Timer
// *
// Enable this option to automatically start and stop the * Automatically start and stop the print job timer on M104/M109/M190.
// print job timer when M104/M109/M190 commands are received. *
// M104 (extruder without wait) - high temp = none, low temp = stop timer * M104 (hotend, no wait) - high temp = none, low temp = stop timer
// M109 (extruder with wait) - high temp = start timer, low temp = stop timer * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
// M190 (bed with wait) - high temp = start timer, low temp = none * M190 (bed, wait) - high temp = start timer, low temp = none
// *
// In all cases the timer can be started and stopped using * The timer can also be controlled with the following commands:
// the following commands: *
// * M75 - Start the print job timer
// - M75 - Start the print job timer * M76 - Pause the print job timer
// - M76 - Pause the print job timer * M77 - Stop the print job timer
// - M77 - Stop the print job timer */
#define PRINTJOB_TIMER_AUTOSTART #define PRINTJOB_TIMER_AUTOSTART
// /**
// Print Counter * Print Counter
// *
// When enabled Marlin will keep track of some print statistical data such as: * Track statistical data such as:
// - Total print jobs *
// - Total successful print jobs * - Total print jobs
// - Total failed print jobs * - Total successful print jobs
// - Total time printing * - Total failed print jobs
// * - Total time printing
// This information can be viewed by the M78 command. *
* View the current statistics with M78.
*/
//#define PRINTCOUNTER //#define PRINTCOUNTER
//============================================================================= //=============================================================================
@ -1112,78 +1108,79 @@
// @section lcd // @section lcd
// /**
// LCD LANGUAGE * LCD LANGUAGE
// *
// Here you may choose the language used by Marlin on the LCD menus, the following * Select the language to display on the LCD. These languages are available:
// list of languages are available: *
// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
// *
// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
// */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en
// /**
// LCD Character Set * LCD Character Set
// *
// Note: This option is NOT applicable to Graphical Displays. * Note: This option is NOT applicable to Graphical Displays.
// *
// All character-based LCD's provide ASCII plus one of these * All character-based LCDs provide ASCII plus one of these
// language extensions: * language extensions:
// *
// - JAPANESE ... the most common * - JAPANESE ... the most common
// - WESTERN ... with more accented characters * - WESTERN ... with more accented characters
// - CYRILLIC ... for the Russian language * - CYRILLIC ... for the Russian language
// *
// To determine the language extension installed on your controller: * To determine the language extension installed on your controller:
// *
// - Compile and upload with LCD_LANGUAGE set to 'test' * - Compile and upload with LCD_LANGUAGE set to 'test'
// - Click the controller to view the LCD menu * - Click the controller to view the LCD menu
// - The LCD will display Japanese, Western, or Cyrillic text * - The LCD will display Japanese, Western, or Cyrillic text
// *
// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
// *
// :['JAPANESE', 'WESTERN', 'CYRILLIC'] * :['JAPANESE', 'WESTERN', 'CYRILLIC']
// */
#define DISPLAY_CHARSET_HD44780 JAPANESE #define DISPLAY_CHARSET_HD44780 JAPANESE
// /**
// LCD TYPE * LCD TYPE
// *
// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
// (ST7565R family). (This option will be set automatically for certain displays.) * (These options will be enabled automatically for most displays.)
// *
// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! * IMPORTANT: The U8glib library is required for Full Graphic Display!
// https://github.com/olikraus/U8glib_Arduino * https://github.com/olikraus/U8glib_Arduino
// */
//#define ULTRA_LCD // Character based //#define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display //#define DOGLCD // Full graphics display
// /**
// SD CARD * SD CARD
// *
// SD Card support is disabled by default. If your controller has an SD slot, * SD Card support is disabled by default. If your controller has an SD slot,
// you must uncomment the following option or it won't work. * you must uncomment the following option or it won't work.
// *
*/
#define SDSUPPORT #define SDSUPPORT
// /**
// SD CARD: SPI SPEED * SD CARD: SPI SPEED
// *
// Uncomment ONE of the following items to use a slower SPI transfer * Enable one of the following items for a slower SPI transfer speed.
// speed. This is usually required if you're getting volume init errors. * This may be required to resolve "volume init" errors.
// */
//#define SPI_SPEED SPI_HALF_SPEED //#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED //#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED //#define SPI_SPEED SPI_EIGHTH_SPEED
// /**
// SD CARD: ENABLE CRC * SD CARD: ENABLE CRC
// *
// Use CRC checks and retries on the SD communication. * Use CRC checks and retries on the SD communication.
// */
#define SD_CHECK_AND_RETRY #define SD_CHECK_AND_RETRY
// //
@ -1211,7 +1208,7 @@
*/ */
// //
// This option reverses the encoder direction everywhere // This option reverses the encoder direction everywhere.
// //
// Set this option if CLOCKWISE causes values to DECREASE // Set this option if CLOCKWISE causes values to DECREASE
// //

@ -977,23 +977,17 @@
#define PREHEAT_2_TEMP_BED 100 #define PREHEAT_2_TEMP_BED 100
#define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255 #define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255
// /**
// Nozzle Park -- EXPERIMENTAL * Nozzle Park -- EXPERIMENTAL
// *
// When enabled allows the user to define a special XYZ position, inside the * Park the nozzle at the given XYZ position on idle or G27.
// machine's topology, to park the nozzle when idle or when receiving the G27 *
// command. * The "P" parameter controls the action applied to the Z axis:
// *
// The "P" paramenter controls what is the action applied to the Z axis: * P0 (Default) If Z is below park Z raise the nozzle.
// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will * P1 Raise the nozzle always to Z-park height.
// be raised to reach Z-park height. * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
// */
// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
// reach Z-park height.
//
// P2: The nozzle height will be raised by Z-park amount but never going over
// the machine's limit of Z_MAX_POS.
//
//#define NOZZLE_PARK_FEATURE //#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
@ -1001,44 +995,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif #endif
// /**
// Clean Nozzle Feature -- EXPERIMENTAL * Clean Nozzle Feature -- EXPERIMENTAL
// *
// When enabled allows the user to send G12 to start the nozzle cleaning * Adds the G12 command to perform a nozzle cleaning process.
// process, the G-Code accepts two parameters: *
// "P" for pattern selection * Parameters:
// "S" for defining the number of strokes/repetitions * P Pattern
// * S Strokes / Repetitions
// Available list of patterns: * T Triangles (P1 only)
// P0: This is the default pattern, this process requires a sponge type *
// material at a fixed bed location. S defines "strokes" i.e. * Patterns:
// back-and-forth movements between the starting and end points. * P0 Straight line (default). This process requires a sponge type material
// * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" * between the start / end points.
// defines the number of zig-zag triangles to be done. "S" defines the *
// number of strokes aka one back-and-forth movement. Zig-zags will * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
// be performed in whichever dimension is smallest. As an example, * number of zig-zag triangles to do. "S" defines the number of strokes.
// sending "G12 P1 S1 T3" will execute: * Zig-zags are done in whichever is the narrower dimension.
// * For example, "G12 P1 S1 T3" will execute:
// -- *
// | (X0, Y1) | /\ /\ /\ | (X1, Y1) * --
// | | / \ / \ / \ | * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
// A | | / \ / \ / \ | * | | / \ / \ / \ |
// | | / \ / \ / \ | * A | | / \ / \ / \ |
// | (X0, Y0) | / \/ \/ \ | (X1, Y0) * | | / \ / \ / \ |
// -- +--------------------------------+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
// |________|_________|_________| * -- +--------------------------------+
// T1 T2 T3 * |________|_________|_________|
// * T1 T2 T3
// P2: This starts a circular pattern with circle with middle in *
// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S. * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. * "R" specifies the radius. "S" specifies the stroke count.
// * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
// Caveats: End point Z should use the same value as Start point Z. *
// * Caveats: The ending Z should be the same as starting Z.
// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments * Attention: EXPERIMENTAL. G-code arguments may change.
// may change to add new functionality like different wipe patterns. *
// */
//#define NOZZLE_CLEAN_FEATURE //#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE) #if ENABLED(NOZZLE_CLEAN_FEATURE)
@ -1063,33 +1057,35 @@
#define NOZZLE_CLEAN_GOBACK #define NOZZLE_CLEAN_GOBACK
#endif #endif
// /**
// Print job timer * Print Job Timer
// *
// Enable this option to automatically start and stop the * Automatically start and stop the print job timer on M104/M109/M190.
// print job timer when M104/M109/M190 commands are received. *
// M104 (extruder without wait) - high temp = none, low temp = stop timer * M104 (hotend, no wait) - high temp = none, low temp = stop timer
// M109 (extruder with wait) - high temp = start timer, low temp = stop timer * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
// M190 (bed with wait) - high temp = start timer, low temp = none * M190 (bed, wait) - high temp = start timer, low temp = none
// *
// In all cases the timer can be started and stopped using * The timer can also be controlled with the following commands:
// the following commands: *
// * M75 - Start the print job timer
// - M75 - Start the print job timer * M76 - Pause the print job timer
// - M76 - Pause the print job timer * M77 - Stop the print job timer
// - M77 - Stop the print job timer */
#define PRINTJOB_TIMER_AUTOSTART #define PRINTJOB_TIMER_AUTOSTART
// /**
// Print Counter * Print Counter
// *
// When enabled Marlin will keep track of some print statistical data such as: * Track statistical data such as:
// - Total print jobs *
// - Total successful print jobs * - Total print jobs
// - Total failed print jobs * - Total successful print jobs
// - Total time printing * - Total failed print jobs
// * - Total time printing
// This information can be viewed by the M78 command. *
* View the current statistics with M78.
*/
//#define PRINTCOUNTER //#define PRINTCOUNTER
//============================================================================= //=============================================================================
@ -1098,78 +1094,79 @@
// @section lcd // @section lcd
// /**
// LCD LANGUAGE * LCD LANGUAGE
// *
// Here you may choose the language used by Marlin on the LCD menus, the following * Select the language to display on the LCD. These languages are available:
// list of languages are available: *
// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
// *
// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
// */
//#define LCD_LANGUAGE en //#define LCD_LANGUAGE en
// /**
// LCD Character Set * LCD Character Set
// *
// Note: This option is NOT applicable to Graphical Displays. * Note: This option is NOT applicable to Graphical Displays.
// *
// All character-based LCD's provide ASCII plus one of these * All character-based LCDs provide ASCII plus one of these
// language extensions: * language extensions:
// *
// - JAPANESE ... the most common * - JAPANESE ... the most common
// - WESTERN ... with more accented characters * - WESTERN ... with more accented characters
// - CYRILLIC ... for the Russian language * - CYRILLIC ... for the Russian language
// *
// To determine the language extension installed on your controller: * To determine the language extension installed on your controller:
// *
// - Compile and upload with LCD_LANGUAGE set to 'test' * - Compile and upload with LCD_LANGUAGE set to 'test'
// - Click the controller to view the LCD menu * - Click the controller to view the LCD menu
// - The LCD will display Japanese, Western, or Cyrillic text * - The LCD will display Japanese, Western, or Cyrillic text
// *
// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
// *
// :['JAPANESE', 'WESTERN', 'CYRILLIC'] * :['JAPANESE', 'WESTERN', 'CYRILLIC']
// */
#define DISPLAY_CHARSET_HD44780 JAPANESE #define DISPLAY_CHARSET_HD44780 JAPANESE
// /**
// LCD TYPE * LCD TYPE
// *
// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
// (ST7565R family). (This option will be set automatically for certain displays.) * (These options will be enabled automatically for most displays.)
// *
// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! * IMPORTANT: The U8glib library is required for Full Graphic Display!
// https://github.com/olikraus/U8glib_Arduino * https://github.com/olikraus/U8glib_Arduino
// */
#define ULTRA_LCD // Character based #define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display //#define DOGLCD // Full graphics display
// /**
// SD CARD * SD CARD
// *
// SD Card support is disabled by default. If your controller has an SD slot, * SD Card support is disabled by default. If your controller has an SD slot,
// you must uncomment the following option or it won't work. * you must uncomment the following option or it won't work.
// *
*/
#define SDSUPPORT #define SDSUPPORT
// /**
// SD CARD: SPI SPEED * SD CARD: SPI SPEED
// *
// Uncomment ONE of the following items to use a slower SPI transfer * Enable one of the following items for a slower SPI transfer speed.
// speed. This is usually required if you're getting volume init errors. * This may be required to resolve "volume init" errors.
// */
//#define SPI_SPEED SPI_HALF_SPEED //#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED //#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED //#define SPI_SPEED SPI_EIGHTH_SPEED
// /**
// SD CARD: ENABLE CRC * SD CARD: ENABLE CRC
// *
// Use CRC checks and retries on the SD communication. * Use CRC checks and retries on the SD communication.
// */
//#define SD_CHECK_AND_RETRY //#define SD_CHECK_AND_RETRY
// //
@ -1197,7 +1194,7 @@
*/ */
// //
// This option reverses the encoder direction everywhere // This option reverses the encoder direction everywhere.
// //
// Set this option if CLOCKWISE causes values to DECREASE // Set this option if CLOCKWISE causes values to DECREASE
// //

@ -980,23 +980,17 @@
#define PREHEAT_2_TEMP_BED 110 #define PREHEAT_2_TEMP_BED 110
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 #define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
// /**
// Nozzle Park -- EXPERIMENTAL * Nozzle Park -- EXPERIMENTAL
// *
// When enabled allows the user to define a special XYZ position, inside the * Park the nozzle at the given XYZ position on idle or G27.
// machine's topology, to park the nozzle when idle or when receiving the G27 *
// command. * The "P" parameter controls the action applied to the Z axis:
// *
// The "P" paramenter controls what is the action applied to the Z axis: * P0 (Default) If Z is below park Z raise the nozzle.
// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will * P1 Raise the nozzle always to Z-park height.
// be raised to reach Z-park height. * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
// */
// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
// reach Z-park height.
//
// P2: The nozzle height will be raised by Z-park amount but never going over
// the machine's limit of Z_MAX_POS.
//
#define NOZZLE_PARK_FEATURE #define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
@ -1004,44 +998,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 10 } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 10 }
#endif #endif
// /**
// Clean Nozzle Feature -- EXPERIMENTAL * Clean Nozzle Feature -- EXPERIMENTAL
// *
// When enabled allows the user to send G12 to start the nozzle cleaning * Adds the G12 command to perform a nozzle cleaning process.
// process, the G-Code accepts two parameters: *
// "P" for pattern selection * Parameters:
// "S" for defining the number of strokes/repetitions * P Pattern
// * S Strokes / Repetitions
// Available list of patterns: * T Triangles (P1 only)
// P0: This is the default pattern, this process requires a sponge type *
// material at a fixed bed location. S defines "strokes" i.e. * Patterns:
// back-and-forth movements between the starting and end points. * P0 Straight line (default). This process requires a sponge type material
// * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" * between the start / end points.
// defines the number of zig-zag triangles to be done. "S" defines the *
// number of strokes aka one back-and-forth movement. Zig-zags will * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
// be performed in whichever dimension is smallest. As an example, * number of zig-zag triangles to do. "S" defines the number of strokes.
// sending "G12 P1 S1 T3" will execute: * Zig-zags are done in whichever is the narrower dimension.
// * For example, "G12 P1 S1 T3" will execute:
// -- *
// | (X0, Y1) | /\ /\ /\ | (X1, Y1) * --
// | | / \ / \ / \ | * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
// A | | / \ / \ / \ | * | | / \ / \ / \ |
// | | / \ / \ / \ | * A | | / \ / \ / \ |
// | (X0, Y0) | / \/ \/ \ | (X1, Y0) * | | / \ / \ / \ |
// -- +--------------------------------+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
// |________|_________|_________| * -- +--------------------------------+
// T1 T2 T3 * |________|_________|_________|
// * T1 T2 T3
// P2: This starts a circular pattern with circle with middle in *
// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S. * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. * "R" specifies the radius. "S" specifies the stroke count.
// * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
// Caveats: End point Z should use the same value as Start point Z. *
// * Caveats: The ending Z should be the same as starting Z.
// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments * Attention: EXPERIMENTAL. G-code arguments may change.
// may change to add new functionality like different wipe patterns. *
// */
#define NOZZLE_CLEAN_FEATURE #define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE) #if ENABLED(NOZZLE_CLEAN_FEATURE)
@ -1066,33 +1060,35 @@
//#define NOZZLE_CLEAN_GOBACK //#define NOZZLE_CLEAN_GOBACK
#endif #endif
// /**
// Print job timer * Print Job Timer
// *
// Enable this option to automatically start and stop the * Automatically start and stop the print job timer on M104/M109/M190.
// print job timer when M104/M109/M190 commands are received. *
// M104 (extruder without wait) - high temp = none, low temp = stop timer * M104 (hotend, no wait) - high temp = none, low temp = stop timer
// M109 (extruder with wait) - high temp = start timer, low temp = stop timer * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
// M190 (bed with wait) - high temp = start timer, low temp = none * M190 (bed, wait) - high temp = start timer, low temp = none
// *
// In all cases the timer can be started and stopped using * The timer can also be controlled with the following commands:
// the following commands: *
// * M75 - Start the print job timer
// - M75 - Start the print job timer * M76 - Pause the print job timer
// - M76 - Pause the print job timer * M77 - Stop the print job timer
// - M77 - Stop the print job timer */
#define PRINTJOB_TIMER_AUTOSTART #define PRINTJOB_TIMER_AUTOSTART
// /**
// Print Counter * Print Counter
// *
// When enabled Marlin will keep track of some print statistical data such as: * Track statistical data such as:
// - Total print jobs *
// - Total successful print jobs * - Total print jobs
// - Total failed print jobs * - Total successful print jobs
// - Total time printing * - Total failed print jobs
// * - Total time printing
// This information can be viewed by the M78 command. *
* View the current statistics with M78.
*/
#define PRINTCOUNTER #define PRINTCOUNTER
//============================================================================= //=============================================================================
@ -1101,78 +1097,79 @@
// @section lcd // @section lcd
// /**
// LCD LANGUAGE * LCD LANGUAGE
// *
// Here you may choose the language used by Marlin on the LCD menus, the following * Select the language to display on the LCD. These languages are available:
// list of languages are available: *
// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
// *
// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
// */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en
// /**
// LCD Character Set * LCD Character Set
// *
// Note: This option is NOT applicable to Graphical Displays. * Note: This option is NOT applicable to Graphical Displays.
// *
// All character-based LCD's provide ASCII plus one of these * All character-based LCDs provide ASCII plus one of these
// language extensions: * language extensions:
// *
// - JAPANESE ... the most common * - JAPANESE ... the most common
// - WESTERN ... with more accented characters * - WESTERN ... with more accented characters
// - CYRILLIC ... for the Russian language * - CYRILLIC ... for the Russian language
// *
// To determine the language extension installed on your controller: * To determine the language extension installed on your controller:
// *
// - Compile and upload with LCD_LANGUAGE set to 'test' * - Compile and upload with LCD_LANGUAGE set to 'test'
// - Click the controller to view the LCD menu * - Click the controller to view the LCD menu
// - The LCD will display Japanese, Western, or Cyrillic text * - The LCD will display Japanese, Western, or Cyrillic text
// *
// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
// *
// :['JAPANESE', 'WESTERN', 'CYRILLIC'] * :['JAPANESE', 'WESTERN', 'CYRILLIC']
// */
#define DISPLAY_CHARSET_HD44780 JAPANESE #define DISPLAY_CHARSET_HD44780 JAPANESE
// /**
// LCD TYPE * LCD TYPE
// *
// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
// (ST7565R family). (This option will be set automatically for certain displays.) * (These options will be enabled automatically for most displays.)
// *
// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! * IMPORTANT: The U8glib library is required for Full Graphic Display!
// https://github.com/olikraus/U8glib_Arduino * https://github.com/olikraus/U8glib_Arduino
// */
//#define ULTRA_LCD // Character based //#define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display //#define DOGLCD // Full graphics display
// /**
// SD CARD * SD CARD
// *
// SD Card support is disabled by default. If your controller has an SD slot, * SD Card support is disabled by default. If your controller has an SD slot,
// you must uncomment the following option or it won't work. * you must uncomment the following option or it won't work.
// *
*/
#define SDSUPPORT #define SDSUPPORT
// /**
// SD CARD: SPI SPEED * SD CARD: SPI SPEED
// *
// Uncomment ONE of the following items to use a slower SPI transfer * Enable one of the following items for a slower SPI transfer speed.
// speed. This is usually required if you're getting volume init errors. * This may be required to resolve "volume init" errors.
// */
//#define SPI_SPEED SPI_HALF_SPEED //#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED //#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED //#define SPI_SPEED SPI_EIGHTH_SPEED
// /**
// SD CARD: ENABLE CRC * SD CARD: ENABLE CRC
// *
// Use CRC checks and retries on the SD communication. * Use CRC checks and retries on the SD communication.
// */
#define SD_CHECK_AND_RETRY #define SD_CHECK_AND_RETRY
// //
@ -1200,7 +1197,7 @@
*/ */
// //
// This option reverses the encoder direction everywhere // This option reverses the encoder direction everywhere.
// //
// Set this option if CLOCKWISE causes values to DECREASE // Set this option if CLOCKWISE causes values to DECREASE
// //

@ -1015,23 +1015,17 @@
#define PREHEAT_2_TEMP_BED 60 // K8200: ABS / set back to 110 if you have an upgraded heatbed power supply #define PREHEAT_2_TEMP_BED 60 // K8200: ABS / set back to 110 if you have an upgraded heatbed power supply
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 #define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
// /**
// Nozzle Park -- EXPERIMENTAL * Nozzle Park -- EXPERIMENTAL
// *
// When enabled allows the user to define a special XYZ position, inside the * Park the nozzle at the given XYZ position on idle or G27.
// machine's topology, to park the nozzle when idle or when receiving the G27 *
// command. * The "P" parameter controls the action applied to the Z axis:
// *
// The "P" paramenter controls what is the action applied to the Z axis: * P0 (Default) If Z is below park Z raise the nozzle.
// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will * P1 Raise the nozzle always to Z-park height.
// be raised to reach Z-park height. * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
// */
// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
// reach Z-park height.
//
// P2: The nozzle height will be raised by Z-park amount but never going over
// the machine's limit of Z_MAX_POS.
//
//#define NOZZLE_PARK_FEATURE //#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
@ -1039,44 +1033,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif #endif
// /**
// Clean Nozzle Feature -- EXPERIMENTAL * Clean Nozzle Feature -- EXPERIMENTAL
// *
// When enabled allows the user to send G12 to start the nozzle cleaning * Adds the G12 command to perform a nozzle cleaning process.
// process, the G-Code accepts two parameters: *
// "P" for pattern selection * Parameters:
// "S" for defining the number of strokes/repetitions * P Pattern
// * S Strokes / Repetitions
// Available list of patterns: * T Triangles (P1 only)
// P0: This is the default pattern, this process requires a sponge type *
// material at a fixed bed location. S defines "strokes" i.e. * Patterns:
// back-and-forth movements between the starting and end points. * P0 Straight line (default). This process requires a sponge type material
// * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" * between the start / end points.
// defines the number of zig-zag triangles to be done. "S" defines the *
// number of strokes aka one back-and-forth movement. Zig-zags will * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
// be performed in whichever dimension is smallest. As an example, * number of zig-zag triangles to do. "S" defines the number of strokes.
// sending "G12 P1 S1 T3" will execute: * Zig-zags are done in whichever is the narrower dimension.
// * For example, "G12 P1 S1 T3" will execute:
// -- *
// | (X0, Y1) | /\ /\ /\ | (X1, Y1) * --
// | | / \ / \ / \ | * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
// A | | / \ / \ / \ | * | | / \ / \ / \ |
// | | / \ / \ / \ | * A | | / \ / \ / \ |
// | (X0, Y0) | / \/ \/ \ | (X1, Y0) * | | / \ / \ / \ |
// -- +--------------------------------+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
// |________|_________|_________| * -- +--------------------------------+
// T1 T2 T3 * |________|_________|_________|
// * T1 T2 T3
// P2: This starts a circular pattern with circle with middle in *
// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S. * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. * "R" specifies the radius. "S" specifies the stroke count.
// * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
// Caveats: End point Z should use the same value as Start point Z. *
// * Caveats: The ending Z should be the same as starting Z.
// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments * Attention: EXPERIMENTAL. G-code arguments may change.
// may change to add new functionality like different wipe patterns. *
// */
//#define NOZZLE_CLEAN_FEATURE //#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE) #if ENABLED(NOZZLE_CLEAN_FEATURE)
@ -1101,33 +1095,35 @@
#define NOZZLE_CLEAN_GOBACK #define NOZZLE_CLEAN_GOBACK
#endif #endif
// /**
// Print job timer * Print Job Timer
// *
// Enable this option to automatically start and stop the * Automatically start and stop the print job timer on M104/M109/M190.
// print job timer when M104/M109/M190 commands are received. *
// M104 (extruder without wait) - high temp = none, low temp = stop timer * M104 (hotend, no wait) - high temp = none, low temp = stop timer
// M109 (extruder with wait) - high temp = start timer, low temp = stop timer * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
// M190 (bed with wait) - high temp = start timer, low temp = none * M190 (bed, wait) - high temp = start timer, low temp = none
// *
// In all cases the timer can be started and stopped using * The timer can also be controlled with the following commands:
// the following commands: *
// * M75 - Start the print job timer
// - M75 - Start the print job timer * M76 - Pause the print job timer
// - M76 - Pause the print job timer * M77 - Stop the print job timer
// - M77 - Stop the print job timer */
#define PRINTJOB_TIMER_AUTOSTART #define PRINTJOB_TIMER_AUTOSTART
// /**
// Print Counter * Print Counter
// *
// When enabled Marlin will keep track of some print statistical data such as: * Track statistical data such as:
// - Total print jobs *
// - Total successful print jobs * - Total print jobs
// - Total failed print jobs * - Total successful print jobs
// - Total time printing * - Total failed print jobs
// * - Total time printing
// This information can be viewed by the M78 command. *
* View the current statistics with M78.
*/
#define PRINTCOUNTER #define PRINTCOUNTER
//============================================================================= //=============================================================================
@ -1139,78 +1135,79 @@
// K8200: for Display VM8201 with SD slot // K8200: for Display VM8201 with SD slot
#if ENABLED(K8200_VM8201) #if ENABLED(K8200_VM8201)
// /**
// LCD LANGUAGE * LCD LANGUAGE
// *
// Here you may choose the language used by Marlin on the LCD menus, the following * Select the language to display on the LCD. These languages are available:
// list of languages are available: *
// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
// *
// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
// */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en
// /**
// LCD Character Set * LCD Character Set
// *
// Note: This option is NOT applicable to Graphical Displays. * Note: This option is NOT applicable to Graphical Displays.
// *
// All character-based LCD's provide ASCII plus one of these * All character-based LCDs provide ASCII plus one of these
// language extensions: * language extensions:
// *
// - JAPANESE ... the most common * - JAPANESE ... the most common
// - WESTERN ... with more accented characters * - WESTERN ... with more accented characters
// - CYRILLIC ... for the Russian language * - CYRILLIC ... for the Russian language
// *
// To determine the language extension installed on your controller: * To determine the language extension installed on your controller:
// *
// - Compile and upload with LCD_LANGUAGE set to 'test' * - Compile and upload with LCD_LANGUAGE set to 'test'
// - Click the controller to view the LCD menu * - Click the controller to view the LCD menu
// - The LCD will display Japanese, Western, or Cyrillic text * - The LCD will display Japanese, Western, or Cyrillic text
// *
// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
// *
// :['JAPANESE', 'WESTERN', 'CYRILLIC'] * :['JAPANESE', 'WESTERN', 'CYRILLIC']
// */
#define DISPLAY_CHARSET_HD44780 JAPANESE // K8200: for Display VM8201 // this is the most common hardware #define DISPLAY_CHARSET_HD44780 JAPANESE // K8200: for Display VM8201 // this is the most common hardware
// /**
// LCD TYPE * LCD TYPE
// *
// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
// (ST7565R family). (This option will be set automatically for certain displays.) * (These options will be enabled automatically for most displays.)
// *
// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! * IMPORTANT: The U8glib library is required for Full Graphic Display!
// https://github.com/olikraus/U8glib_Arduino * https://github.com/olikraus/U8glib_Arduino
// */
//#define ULTRA_LCD // Character based //#define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display //#define DOGLCD // Full graphics display
// /**
// SD CARD * SD CARD
// *
// SD Card support is disabled by default. If your controller has an SD slot, * SD Card support is disabled by default. If your controller has an SD slot,
// you must uncomment the following option or it won't work. * you must uncomment the following option or it won't work.
// *
*/
#define SDSUPPORT #define SDSUPPORT
// /**
// SD CARD: SPI SPEED * SD CARD: SPI SPEED
// *
// Uncomment ONE of the following items to use a slower SPI transfer * Enable one of the following items for a slower SPI transfer speed.
// speed. This is usually required if you're getting volume init errors. * This may be required to resolve "volume init" errors.
// */
//#define SPI_SPEED SPI_HALF_SPEED //#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED //#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED //#define SPI_SPEED SPI_EIGHTH_SPEED
// /**
// SD CARD: ENABLE CRC * SD CARD: ENABLE CRC
// *
// Use CRC checks and retries on the SD communication. * Use CRC checks and retries on the SD communication.
// */
#define SD_CHECK_AND_RETRY #define SD_CHECK_AND_RETRY
// //
@ -1238,7 +1235,7 @@
*/ */
// //
// This option reverses the encoder direction everywhere // This option reverses the encoder direction everywhere.
// //
// Set this option if CLOCKWISE causes values to DECREASE // Set this option if CLOCKWISE causes values to DECREASE
// //

@ -986,23 +986,17 @@
#define PREHEAT_2_TEMP_BED 0 #define PREHEAT_2_TEMP_BED 0
#define PREHEAT_2_FAN_SPEED 165 // Value from 0 to 255 #define PREHEAT_2_FAN_SPEED 165 // Value from 0 to 255
// /**
// Nozzle Park -- EXPERIMENTAL * Nozzle Park -- EXPERIMENTAL
// *
// When enabled allows the user to define a special XYZ position, inside the * Park the nozzle at the given XYZ position on idle or G27.
// machine's topology, to park the nozzle when idle or when receiving the G27 *
// command. * The "P" parameter controls the action applied to the Z axis:
// *
// The "P" paramenter controls what is the action applied to the Z axis: * P0 (Default) If Z is below park Z raise the nozzle.
// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will * P1 Raise the nozzle always to Z-park height.
// be raised to reach Z-park height. * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
// */
// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
// reach Z-park height.
//
// P2: The nozzle height will be raised by Z-park amount but never going over
// the machine's limit of Z_MAX_POS.
//
//#define NOZZLE_PARK_FEATURE //#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
@ -1010,44 +1004,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif #endif
// /**
// Clean Nozzle Feature -- EXPERIMENTAL * Clean Nozzle Feature -- EXPERIMENTAL
// *
// When enabled allows the user to send G12 to start the nozzle cleaning * Adds the G12 command to perform a nozzle cleaning process.
// process, the G-Code accepts two parameters: *
// "P" for pattern selection * Parameters:
// "S" for defining the number of strokes/repetitions * P Pattern
// * S Strokes / Repetitions
// Available list of patterns: * T Triangles (P1 only)
// P0: This is the default pattern, this process requires a sponge type *
// material at a fixed bed location. S defines "strokes" i.e. * Patterns:
// back-and-forth movements between the starting and end points. * P0 Straight line (default). This process requires a sponge type material
// * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" * between the start / end points.
// defines the number of zig-zag triangles to be done. "S" defines the *
// number of strokes aka one back-and-forth movement. Zig-zags will * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
// be performed in whichever dimension is smallest. As an example, * number of zig-zag triangles to do. "S" defines the number of strokes.
// sending "G12 P1 S1 T3" will execute: * Zig-zags are done in whichever is the narrower dimension.
// * For example, "G12 P1 S1 T3" will execute:
// -- *
// | (X0, Y1) | /\ /\ /\ | (X1, Y1) * --
// | | / \ / \ / \ | * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
// A | | / \ / \ / \ | * | | / \ / \ / \ |
// | | / \ / \ / \ | * A | | / \ / \ / \ |
// | (X0, Y0) | / \/ \/ \ | (X1, Y0) * | | / \ / \ / \ |
// -- +--------------------------------+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
// |________|_________|_________| * -- +--------------------------------+
// T1 T2 T3 * |________|_________|_________|
// * T1 T2 T3
// P2: This starts a circular pattern with circle with middle in *
// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S. * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. * "R" specifies the radius. "S" specifies the stroke count.
// * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
// Caveats: End point Z should use the same value as Start point Z. *
// * Caveats: The ending Z should be the same as starting Z.
// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments * Attention: EXPERIMENTAL. G-code arguments may change.
// may change to add new functionality like different wipe patterns. *
// */
//#define NOZZLE_CLEAN_FEATURE //#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE) #if ENABLED(NOZZLE_CLEAN_FEATURE)
@ -1072,33 +1066,35 @@
#define NOZZLE_CLEAN_GOBACK #define NOZZLE_CLEAN_GOBACK
#endif #endif
// /**
// Print job timer * Print Job Timer
// *
// Enable this option to automatically start and stop the * Automatically start and stop the print job timer on M104/M109/M190.
// print job timer when M104/M109/M190 commands are received. *
// M104 (extruder without wait) - high temp = none, low temp = stop timer * M104 (hotend, no wait) - high temp = none, low temp = stop timer
// M109 (extruder with wait) - high temp = start timer, low temp = stop timer * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
// M190 (bed with wait) - high temp = start timer, low temp = none * M190 (bed, wait) - high temp = start timer, low temp = none
// *
// In all cases the timer can be started and stopped using * The timer can also be controlled with the following commands:
// the following commands: *
// * M75 - Start the print job timer
// - M75 - Start the print job timer * M76 - Pause the print job timer
// - M76 - Pause the print job timer * M77 - Stop the print job timer
// - M77 - Stop the print job timer */
#define PRINTJOB_TIMER_AUTOSTART #define PRINTJOB_TIMER_AUTOSTART
// /**
// Print Counter * Print Counter
// *
// When enabled Marlin will keep track of some print statistical data such as: * Track statistical data such as:
// - Total print jobs *
// - Total successful print jobs * - Total print jobs
// - Total failed print jobs * - Total successful print jobs
// - Total time printing * - Total failed print jobs
// * - Total time printing
// This information can be viewed by the M78 command. *
* View the current statistics with M78.
*/
//#define PRINTCOUNTER //#define PRINTCOUNTER
//============================================================================= //=============================================================================
@ -1107,78 +1103,79 @@
// @section lcd // @section lcd
// /**
// LCD LANGUAGE * LCD LANGUAGE
// *
// Here you may choose the language used by Marlin on the LCD menus, the following * Select the language to display on the LCD. These languages are available:
// list of languages are available: *
// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
// *
// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
// */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en
// /**
// LCD Character Set * LCD Character Set
// *
// Note: This option is NOT applicable to Graphical Displays. * Note: This option is NOT applicable to Graphical Displays.
// *
// All character-based LCD's provide ASCII plus one of these * All character-based LCDs provide ASCII plus one of these
// language extensions: * language extensions:
// *
// - JAPANESE ... the most common * - JAPANESE ... the most common
// - WESTERN ... with more accented characters * - WESTERN ... with more accented characters
// - CYRILLIC ... for the Russian language * - CYRILLIC ... for the Russian language
// *
// To determine the language extension installed on your controller: * To determine the language extension installed on your controller:
// *
// - Compile and upload with LCD_LANGUAGE set to 'test' * - Compile and upload with LCD_LANGUAGE set to 'test'
// - Click the controller to view the LCD menu * - Click the controller to view the LCD menu
// - The LCD will display Japanese, Western, or Cyrillic text * - The LCD will display Japanese, Western, or Cyrillic text
// *
// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
// *
// :['JAPANESE', 'WESTERN', 'CYRILLIC'] * :['JAPANESE', 'WESTERN', 'CYRILLIC']
// */
#define DISPLAY_CHARSET_HD44780 JAPANESE #define DISPLAY_CHARSET_HD44780 JAPANESE
// /**
// LCD TYPE * LCD TYPE
// *
// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
// (ST7565R family). (This option will be set automatically for certain displays.) * (These options will be enabled automatically for most displays.)
// *
// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! * IMPORTANT: The U8glib library is required for Full Graphic Display!
// https://github.com/olikraus/U8glib_Arduino * https://github.com/olikraus/U8glib_Arduino
// */
#define ULTRA_LCD // Character based #define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display //#define DOGLCD // Full graphics display
// /**
// SD CARD * SD CARD
// *
// SD Card support is disabled by default. If your controller has an SD slot, * SD Card support is disabled by default. If your controller has an SD slot,
// you must uncomment the following option or it won't work. * you must uncomment the following option or it won't work.
// *
*/
#define SDSUPPORT #define SDSUPPORT
// /**
// SD CARD: SPI SPEED * SD CARD: SPI SPEED
// *
// Uncomment ONE of the following items to use a slower SPI transfer * Enable one of the following items for a slower SPI transfer speed.
// speed. This is usually required if you're getting volume init errors. * This may be required to resolve "volume init" errors.
// */
//#define SPI_SPEED SPI_HALF_SPEED //#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED //#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED //#define SPI_SPEED SPI_EIGHTH_SPEED
// /**
// SD CARD: ENABLE CRC * SD CARD: ENABLE CRC
// *
// Use CRC checks and retries on the SD communication. * Use CRC checks and retries on the SD communication.
// */
//#define SD_CHECK_AND_RETRY //#define SD_CHECK_AND_RETRY
// //
@ -1206,7 +1203,7 @@
*/ */
// //
// This option reverses the encoder direction everywhere // This option reverses the encoder direction everywhere.
// //
// Set this option if CLOCKWISE causes values to DECREASE // Set this option if CLOCKWISE causes values to DECREASE
// //

@ -986,23 +986,17 @@
#define PREHEAT_2_TEMP_BED 0 #define PREHEAT_2_TEMP_BED 0
#define PREHEAT_2_FAN_SPEED 165 // Value from 0 to 255 #define PREHEAT_2_FAN_SPEED 165 // Value from 0 to 255
// /**
// Nozzle Park -- EXPERIMENTAL * Nozzle Park -- EXPERIMENTAL
// *
// When enabled allows the user to define a special XYZ position, inside the * Park the nozzle at the given XYZ position on idle or G27.
// machine's topology, to park the nozzle when idle or when receiving the G27 *
// command. * The "P" parameter controls the action applied to the Z axis:
// *
// The "P" paramenter controls what is the action applied to the Z axis: * P0 (Default) If Z is below park Z raise the nozzle.
// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will * P1 Raise the nozzle always to Z-park height.
// be raised to reach Z-park height. * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
// */
// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
// reach Z-park height.
//
// P2: The nozzle height will be raised by Z-park amount but never going over
// the machine's limit of Z_MAX_POS.
//
//#define NOZZLE_PARK_FEATURE //#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
@ -1010,44 +1004,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif #endif
// /**
// Clean Nozzle Feature -- EXPERIMENTAL * Clean Nozzle Feature -- EXPERIMENTAL
// *
// When enabled allows the user to send G12 to start the nozzle cleaning * Adds the G12 command to perform a nozzle cleaning process.
// process, the G-Code accepts two parameters: *
// "P" for pattern selection * Parameters:
// "S" for defining the number of strokes/repetitions * P Pattern
// * S Strokes / Repetitions
// Available list of patterns: * T Triangles (P1 only)
// P0: This is the default pattern, this process requires a sponge type *
// material at a fixed bed location. S defines "strokes" i.e. * Patterns:
// back-and-forth movements between the starting and end points. * P0 Straight line (default). This process requires a sponge type material
// * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" * between the start / end points.
// defines the number of zig-zag triangles to be done. "S" defines the *
// number of strokes aka one back-and-forth movement. Zig-zags will * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
// be performed in whichever dimension is smallest. As an example, * number of zig-zag triangles to do. "S" defines the number of strokes.
// sending "G12 P1 S1 T3" will execute: * Zig-zags are done in whichever is the narrower dimension.
// * For example, "G12 P1 S1 T3" will execute:
// -- *
// | (X0, Y1) | /\ /\ /\ | (X1, Y1) * --
// | | / \ / \ / \ | * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
// A | | / \ / \ / \ | * | | / \ / \ / \ |
// | | / \ / \ / \ | * A | | / \ / \ / \ |
// | (X0, Y0) | / \/ \/ \ | (X1, Y0) * | | / \ / \ / \ |
// -- +--------------------------------+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
// |________|_________|_________| * -- +--------------------------------+
// T1 T2 T3 * |________|_________|_________|
// * T1 T2 T3
// P2: This starts a circular pattern with circle with middle in *
// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S. * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. * "R" specifies the radius. "S" specifies the stroke count.
// * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
// Caveats: End point Z should use the same value as Start point Z. *
// * Caveats: The ending Z should be the same as starting Z.
// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments * Attention: EXPERIMENTAL. G-code arguments may change.
// may change to add new functionality like different wipe patterns. *
// */
//#define NOZZLE_CLEAN_FEATURE //#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE) #if ENABLED(NOZZLE_CLEAN_FEATURE)
@ -1072,33 +1066,35 @@
#define NOZZLE_CLEAN_GOBACK #define NOZZLE_CLEAN_GOBACK
#endif #endif
// /**
// Print job timer * Print Job Timer
// *
// Enable this option to automatically start and stop the * Automatically start and stop the print job timer on M104/M109/M190.
// print job timer when M104/M109/M190 commands are received. *
// M104 (extruder without wait) - high temp = none, low temp = stop timer * M104 (hotend, no wait) - high temp = none, low temp = stop timer
// M109 (extruder with wait) - high temp = start timer, low temp = stop timer * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
// M190 (bed with wait) - high temp = start timer, low temp = none * M190 (bed, wait) - high temp = start timer, low temp = none
// *
// In all cases the timer can be started and stopped using * The timer can also be controlled with the following commands:
// the following commands: *
// * M75 - Start the print job timer
// - M75 - Start the print job timer * M76 - Pause the print job timer
// - M76 - Pause the print job timer * M77 - Stop the print job timer
// - M77 - Stop the print job timer */
#define PRINTJOB_TIMER_AUTOSTART #define PRINTJOB_TIMER_AUTOSTART
// /**
// Print Counter * Print Counter
// *
// When enabled Marlin will keep track of some print statistical data such as: * Track statistical data such as:
// - Total print jobs *
// - Total successful print jobs * - Total print jobs
// - Total failed print jobs * - Total successful print jobs
// - Total time printing * - Total failed print jobs
// * - Total time printing
// This information can be viewed by the M78 command. *
* View the current statistics with M78.
*/
//#define PRINTCOUNTER //#define PRINTCOUNTER
//============================================================================= //=============================================================================
@ -1107,78 +1103,79 @@
// @section lcd // @section lcd
// /**
// LCD LANGUAGE * LCD LANGUAGE
// *
// Here you may choose the language used by Marlin on the LCD menus, the following * Select the language to display on the LCD. These languages are available:
// list of languages are available: *
// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
// *
// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
// */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en
// /**
// LCD Character Set * LCD Character Set
// *
// Note: This option is NOT applicable to Graphical Displays. * Note: This option is NOT applicable to Graphical Displays.
// *
// All character-based LCD's provide ASCII plus one of these * All character-based LCDs provide ASCII plus one of these
// language extensions: * language extensions:
// *
// - JAPANESE ... the most common * - JAPANESE ... the most common
// - WESTERN ... with more accented characters * - WESTERN ... with more accented characters
// - CYRILLIC ... for the Russian language * - CYRILLIC ... for the Russian language
// *
// To determine the language extension installed on your controller: * To determine the language extension installed on your controller:
// *
// - Compile and upload with LCD_LANGUAGE set to 'test' * - Compile and upload with LCD_LANGUAGE set to 'test'
// - Click the controller to view the LCD menu * - Click the controller to view the LCD menu
// - The LCD will display Japanese, Western, or Cyrillic text * - The LCD will display Japanese, Western, or Cyrillic text
// *
// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
// *
// :['JAPANESE', 'WESTERN', 'CYRILLIC'] * :['JAPANESE', 'WESTERN', 'CYRILLIC']
// */
#define DISPLAY_CHARSET_HD44780 JAPANESE #define DISPLAY_CHARSET_HD44780 JAPANESE
// /**
// LCD TYPE * LCD TYPE
// *
// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
// (ST7565R family). (This option will be set automatically for certain displays.) * (These options will be enabled automatically for most displays.)
// *
// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! * IMPORTANT: The U8glib library is required for Full Graphic Display!
// https://github.com/olikraus/U8glib_Arduino * https://github.com/olikraus/U8glib_Arduino
// */
#define ULTRA_LCD // Character based #define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display //#define DOGLCD // Full graphics display
// /**
// SD CARD * SD CARD
// *
// SD Card support is disabled by default. If your controller has an SD slot, * SD Card support is disabled by default. If your controller has an SD slot,
// you must uncomment the following option or it won't work. * you must uncomment the following option or it won't work.
// *
*/
#define SDSUPPORT #define SDSUPPORT
// /**
// SD CARD: SPI SPEED * SD CARD: SPI SPEED
// *
// Uncomment ONE of the following items to use a slower SPI transfer * Enable one of the following items for a slower SPI transfer speed.
// speed. This is usually required if you're getting volume init errors. * This may be required to resolve "volume init" errors.
// */
//#define SPI_SPEED SPI_HALF_SPEED //#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED //#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED //#define SPI_SPEED SPI_EIGHTH_SPEED
// /**
// SD CARD: ENABLE CRC * SD CARD: ENABLE CRC
// *
// Use CRC checks and retries on the SD communication. * Use CRC checks and retries on the SD communication.
// */
//#define SD_CHECK_AND_RETRY //#define SD_CHECK_AND_RETRY
// //
@ -1206,7 +1203,7 @@
*/ */
// //
// This option reverses the encoder direction everywhere // This option reverses the encoder direction everywhere.
// //
// Set this option if CLOCKWISE causes values to DECREASE // Set this option if CLOCKWISE causes values to DECREASE
// //

@ -986,23 +986,17 @@
#define PREHEAT_2_TEMP_BED 110 #define PREHEAT_2_TEMP_BED 110
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 #define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
// /**
// Nozzle Park -- EXPERIMENTAL * Nozzle Park -- EXPERIMENTAL
// *
// When enabled allows the user to define a special XYZ position, inside the * Park the nozzle at the given XYZ position on idle or G27.
// machine's topology, to park the nozzle when idle or when receiving the G27 *
// command. * The "P" parameter controls the action applied to the Z axis:
// *
// The "P" paramenter controls what is the action applied to the Z axis: * P0 (Default) If Z is below park Z raise the nozzle.
// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will * P1 Raise the nozzle always to Z-park height.
// be raised to reach Z-park height. * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
// */
// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
// reach Z-park height.
//
// P2: The nozzle height will be raised by Z-park amount but never going over
// the machine's limit of Z_MAX_POS.
//
//#define NOZZLE_PARK_FEATURE //#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
@ -1010,44 +1004,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif #endif
// /**
// Clean Nozzle Feature -- EXPERIMENTAL * Clean Nozzle Feature -- EXPERIMENTAL
// *
// When enabled allows the user to send G12 to start the nozzle cleaning * Adds the G12 command to perform a nozzle cleaning process.
// process, the G-Code accepts two parameters: *
// "P" for pattern selection * Parameters:
// "S" for defining the number of strokes/repetitions * P Pattern
// * S Strokes / Repetitions
// Available list of patterns: * T Triangles (P1 only)
// P0: This is the default pattern, this process requires a sponge type *
// material at a fixed bed location. S defines "strokes" i.e. * Patterns:
// back-and-forth movements between the starting and end points. * P0 Straight line (default). This process requires a sponge type material
// * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" * between the start / end points.
// defines the number of zig-zag triangles to be done. "S" defines the *
// number of strokes aka one back-and-forth movement. Zig-zags will * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
// be performed in whichever dimension is smallest. As an example, * number of zig-zag triangles to do. "S" defines the number of strokes.
// sending "G12 P1 S1 T3" will execute: * Zig-zags are done in whichever is the narrower dimension.
// * For example, "G12 P1 S1 T3" will execute:
// -- *
// | (X0, Y1) | /\ /\ /\ | (X1, Y1) * --
// | | / \ / \ / \ | * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
// A | | / \ / \ / \ | * | | / \ / \ / \ |
// | | / \ / \ / \ | * A | | / \ / \ / \ |
// | (X0, Y0) | / \/ \/ \ | (X1, Y0) * | | / \ / \ / \ |
// -- +--------------------------------+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
// |________|_________|_________| * -- +--------------------------------+
// T1 T2 T3 * |________|_________|_________|
// * T1 T2 T3
// P2: This starts a circular pattern with circle with middle in *
// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S. * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. * "R" specifies the radius. "S" specifies the stroke count.
// * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
// Caveats: End point Z should use the same value as Start point Z. *
// * Caveats: The ending Z should be the same as starting Z.
// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments * Attention: EXPERIMENTAL. G-code arguments may change.
// may change to add new functionality like different wipe patterns. *
// */
//#define NOZZLE_CLEAN_FEATURE //#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE) #if ENABLED(NOZZLE_CLEAN_FEATURE)
@ -1072,33 +1066,35 @@
#define NOZZLE_CLEAN_GOBACK #define NOZZLE_CLEAN_GOBACK
#endif #endif
// /**
// Print job timer * Print Job Timer
// *
// Enable this option to automatically start and stop the * Automatically start and stop the print job timer on M104/M109/M190.
// print job timer when M104/M109/M190 commands are received. *
// M104 (extruder without wait) - high temp = none, low temp = stop timer * M104 (hotend, no wait) - high temp = none, low temp = stop timer
// M109 (extruder with wait) - high temp = start timer, low temp = stop timer * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
// M190 (bed with wait) - high temp = start timer, low temp = none * M190 (bed, wait) - high temp = start timer, low temp = none
// *
// In all cases the timer can be started and stopped using * The timer can also be controlled with the following commands:
// the following commands: *
// * M75 - Start the print job timer
// - M75 - Start the print job timer * M76 - Pause the print job timer
// - M76 - Pause the print job timer * M77 - Stop the print job timer
// - M77 - Stop the print job timer */
#define PRINTJOB_TIMER_AUTOSTART #define PRINTJOB_TIMER_AUTOSTART
// /**
// Print Counter * Print Counter
// *
// When enabled Marlin will keep track of some print statistical data such as: * Track statistical data such as:
// - Total print jobs *
// - Total successful print jobs * - Total print jobs
// - Total failed print jobs * - Total successful print jobs
// - Total time printing * - Total failed print jobs
// * - Total time printing
// This information can be viewed by the M78 command. *
* View the current statistics with M78.
*/
//#define PRINTCOUNTER //#define PRINTCOUNTER
//============================================================================= //=============================================================================
@ -1107,78 +1103,79 @@
// @section lcd // @section lcd
// /**
// LCD LANGUAGE * LCD LANGUAGE
// *
// Here you may choose the language used by Marlin on the LCD menus, the following * Select the language to display on the LCD. These languages are available:
// list of languages are available: *
// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
// *
// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
// */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en
// /**
// LCD Character Set * LCD Character Set
// *
// Note: This option is NOT applicable to Graphical Displays. * Note: This option is NOT applicable to Graphical Displays.
// *
// All character-based LCD's provide ASCII plus one of these * All character-based LCDs provide ASCII plus one of these
// language extensions: * language extensions:
// *
// - JAPANESE ... the most common * - JAPANESE ... the most common
// - WESTERN ... with more accented characters * - WESTERN ... with more accented characters
// - CYRILLIC ... for the Russian language * - CYRILLIC ... for the Russian language
// *
// To determine the language extension installed on your controller: * To determine the language extension installed on your controller:
// *
// - Compile and upload with LCD_LANGUAGE set to 'test' * - Compile and upload with LCD_LANGUAGE set to 'test'
// - Click the controller to view the LCD menu * - Click the controller to view the LCD menu
// - The LCD will display Japanese, Western, or Cyrillic text * - The LCD will display Japanese, Western, or Cyrillic text
// *
// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
// *
// :['JAPANESE', 'WESTERN', 'CYRILLIC'] * :['JAPANESE', 'WESTERN', 'CYRILLIC']
// */
#define DISPLAY_CHARSET_HD44780 JAPANESE #define DISPLAY_CHARSET_HD44780 JAPANESE
// /**
// LCD TYPE * LCD TYPE
// *
// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
// (ST7565R family). (This option will be set automatically for certain displays.) * (These options will be enabled automatically for most displays.)
// *
// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! * IMPORTANT: The U8glib library is required for Full Graphic Display!
// https://github.com/olikraus/U8glib_Arduino * https://github.com/olikraus/U8glib_Arduino
// */
#define ULTRA_LCD // Character based #define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display //#define DOGLCD // Full graphics display
// /**
// SD CARD * SD CARD
// *
// SD Card support is disabled by default. If your controller has an SD slot, * SD Card support is disabled by default. If your controller has an SD slot,
// you must uncomment the following option or it won't work. * you must uncomment the following option or it won't work.
// *
*/
#define SDSUPPORT #define SDSUPPORT
// /**
// SD CARD: SPI SPEED * SD CARD: SPI SPEED
// *
// Uncomment ONE of the following items to use a slower SPI transfer * Enable one of the following items for a slower SPI transfer speed.
// speed. This is usually required if you're getting volume init errors. * This may be required to resolve "volume init" errors.
// */
//#define SPI_SPEED SPI_HALF_SPEED //#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED //#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED //#define SPI_SPEED SPI_EIGHTH_SPEED
// /**
// SD CARD: ENABLE CRC * SD CARD: ENABLE CRC
// *
// Use CRC checks and retries on the SD communication. * Use CRC checks and retries on the SD communication.
// */
#define SD_CHECK_AND_RETRY #define SD_CHECK_AND_RETRY
// //
@ -1206,7 +1203,7 @@
*/ */
// //
// This option reverses the encoder direction everywhere // This option reverses the encoder direction everywhere.
// //
// Set this option if CLOCKWISE causes values to DECREASE // Set this option if CLOCKWISE causes values to DECREASE
// //

@ -985,23 +985,17 @@
#define PREHEAT_2_TEMP_BED 110 #define PREHEAT_2_TEMP_BED 110
#define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255 #define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255
// /**
// Nozzle Park -- EXPERIMENTAL * Nozzle Park -- EXPERIMENTAL
// *
// When enabled allows the user to define a special XYZ position, inside the * Park the nozzle at the given XYZ position on idle or G27.
// machine's topology, to park the nozzle when idle or when receiving the G27 *
// command. * The "P" parameter controls the action applied to the Z axis:
// *
// The "P" paramenter controls what is the action applied to the Z axis: * P0 (Default) If Z is below park Z raise the nozzle.
// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will * P1 Raise the nozzle always to Z-park height.
// be raised to reach Z-park height. * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
// */
// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
// reach Z-park height.
//
// P2: The nozzle height will be raised by Z-park amount but never going over
// the machine's limit of Z_MAX_POS.
//
//#define NOZZLE_PARK_FEATURE //#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
@ -1009,44 +1003,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif #endif
// /**
// Clean Nozzle Feature -- EXPERIMENTAL * Clean Nozzle Feature -- EXPERIMENTAL
// *
// When enabled allows the user to send G12 to start the nozzle cleaning * Adds the G12 command to perform a nozzle cleaning process.
// process, the G-Code accepts two parameters: *
// "P" for pattern selection * Parameters:
// "S" for defining the number of strokes/repetitions * P Pattern
// * S Strokes / Repetitions
// Available list of patterns: * T Triangles (P1 only)
// P0: This is the default pattern, this process requires a sponge type *
// material at a fixed bed location. S defines "strokes" i.e. * Patterns:
// back-and-forth movements between the starting and end points. * P0 Straight line (default). This process requires a sponge type material
// * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" * between the start / end points.
// defines the number of zig-zag triangles to be done. "S" defines the *
// number of strokes aka one back-and-forth movement. Zig-zags will * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
// be performed in whichever dimension is smallest. As an example, * number of zig-zag triangles to do. "S" defines the number of strokes.
// sending "G12 P1 S1 T3" will execute: * Zig-zags are done in whichever is the narrower dimension.
// * For example, "G12 P1 S1 T3" will execute:
// -- *
// | (X0, Y1) | /\ /\ /\ | (X1, Y1) * --
// | | / \ / \ / \ | * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
// A | | / \ / \ / \ | * | | / \ / \ / \ |
// | | / \ / \ / \ | * A | | / \ / \ / \ |
// | (X0, Y0) | / \/ \/ \ | (X1, Y0) * | | / \ / \ / \ |
// -- +--------------------------------+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
// |________|_________|_________| * -- +--------------------------------+
// T1 T2 T3 * |________|_________|_________|
// * T1 T2 T3
// P2: This starts a circular pattern with circle with middle in *
// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S. * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. * "R" specifies the radius. "S" specifies the stroke count.
// * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
// Caveats: End point Z should use the same value as Start point Z. *
// * Caveats: The ending Z should be the same as starting Z.
// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments * Attention: EXPERIMENTAL. G-code arguments may change.
// may change to add new functionality like different wipe patterns. *
// */
//#define NOZZLE_CLEAN_FEATURE //#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE) #if ENABLED(NOZZLE_CLEAN_FEATURE)
@ -1071,33 +1065,35 @@
#define NOZZLE_CLEAN_GOBACK #define NOZZLE_CLEAN_GOBACK
#endif #endif
// /**
// Print job timer * Print Job Timer
// *
// Enable this option to automatically start and stop the * Automatically start and stop the print job timer on M104/M109/M190.
// print job timer when M104/M109/M190 commands are received. *
// M104 (extruder without wait) - high temp = none, low temp = stop timer * M104 (hotend, no wait) - high temp = none, low temp = stop timer
// M109 (extruder with wait) - high temp = start timer, low temp = stop timer * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
// M190 (bed with wait) - high temp = start timer, low temp = none * M190 (bed, wait) - high temp = start timer, low temp = none
// *
// In all cases the timer can be started and stopped using * The timer can also be controlled with the following commands:
// the following commands: *
// * M75 - Start the print job timer
// - M75 - Start the print job timer * M76 - Pause the print job timer
// - M76 - Pause the print job timer * M77 - Stop the print job timer
// - M77 - Stop the print job timer */
#define PRINTJOB_TIMER_AUTOSTART #define PRINTJOB_TIMER_AUTOSTART
// /**
// Print Counter * Print Counter
// *
// When enabled Marlin will keep track of some print statistical data such as: * Track statistical data such as:
// - Total print jobs *
// - Total successful print jobs * - Total print jobs
// - Total failed print jobs * - Total successful print jobs
// - Total time printing * - Total failed print jobs
// * - Total time printing
// This information can be viewed by the M78 command. *
* View the current statistics with M78.
*/
//#define PRINTCOUNTER //#define PRINTCOUNTER
//============================================================================= //=============================================================================
@ -1106,78 +1102,79 @@
// @section lcd // @section lcd
// /**
// LCD LANGUAGE * LCD LANGUAGE
// *
// Here you may choose the language used by Marlin on the LCD menus, the following * Select the language to display on the LCD. These languages are available:
// list of languages are available: *
// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
// *
// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
// */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en
// /**
// LCD Character Set * LCD Character Set
// *
// Note: This option is NOT applicable to Graphical Displays. * Note: This option is NOT applicable to Graphical Displays.
// *
// All character-based LCD's provide ASCII plus one of these * All character-based LCDs provide ASCII plus one of these
// language extensions: * language extensions:
// *
// - JAPANESE ... the most common * - JAPANESE ... the most common
// - WESTERN ... with more accented characters * - WESTERN ... with more accented characters
// - CYRILLIC ... for the Russian language * - CYRILLIC ... for the Russian language
// *
// To determine the language extension installed on your controller: * To determine the language extension installed on your controller:
// *
// - Compile and upload with LCD_LANGUAGE set to 'test' * - Compile and upload with LCD_LANGUAGE set to 'test'
// - Click the controller to view the LCD menu * - Click the controller to view the LCD menu
// - The LCD will display Japanese, Western, or Cyrillic text * - The LCD will display Japanese, Western, or Cyrillic text
// *
// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
// *
// :['JAPANESE', 'WESTERN', 'CYRILLIC'] * :['JAPANESE', 'WESTERN', 'CYRILLIC']
// */
#define DISPLAY_CHARSET_HD44780 JAPANESE #define DISPLAY_CHARSET_HD44780 JAPANESE
// /**
// LCD TYPE * LCD TYPE
// *
// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
// (ST7565R family). (This option will be set automatically for certain displays.) * (These options will be enabled automatically for most displays.)
// *
// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! * IMPORTANT: The U8glib library is required for Full Graphic Display!
// https://github.com/olikraus/U8glib_Arduino * https://github.com/olikraus/U8glib_Arduino
// */
//#define ULTRA_LCD // Character based //#define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display //#define DOGLCD // Full graphics display
// /**
// SD CARD * SD CARD
// *
// SD Card support is disabled by default. If your controller has an SD slot, * SD Card support is disabled by default. If your controller has an SD slot,
// you must uncomment the following option or it won't work. * you must uncomment the following option or it won't work.
// *
*/
#define SDSUPPORT #define SDSUPPORT
// /**
// SD CARD: SPI SPEED * SD CARD: SPI SPEED
// *
// Uncomment ONE of the following items to use a slower SPI transfer * Enable one of the following items for a slower SPI transfer speed.
// speed. This is usually required if you're getting volume init errors. * This may be required to resolve "volume init" errors.
// */
//#define SPI_SPEED SPI_HALF_SPEED //#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED //#define SPI_SPEED SPI_QUARTER_SPEED
#define SPI_SPEED SPI_EIGHTH_SPEED #define SPI_SPEED SPI_EIGHTH_SPEED
// /**
// SD CARD: ENABLE CRC * SD CARD: ENABLE CRC
// *
// Use CRC checks and retries on the SD communication. * Use CRC checks and retries on the SD communication.
// */
//#define SD_CHECK_AND_RETRY //#define SD_CHECK_AND_RETRY
// //
@ -1205,7 +1202,7 @@
*/ */
// //
// This option reverses the encoder direction everywhere // This option reverses the encoder direction everywhere.
// //
// Set this option if CLOCKWISE causes values to DECREASE // Set this option if CLOCKWISE causes values to DECREASE
// //

@ -1001,23 +1001,17 @@
#define PREHEAT_2_TEMP_BED 100 #define PREHEAT_2_TEMP_BED 100
#define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255 #define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255
// /**
// Nozzle Park -- EXPERIMENTAL * Nozzle Park -- EXPERIMENTAL
// *
// When enabled allows the user to define a special XYZ position, inside the * Park the nozzle at the given XYZ position on idle or G27.
// machine's topology, to park the nozzle when idle or when receiving the G27 *
// command. * The "P" parameter controls the action applied to the Z axis:
// *
// The "P" paramenter controls what is the action applied to the Z axis: * P0 (Default) If Z is below park Z raise the nozzle.
// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will * P1 Raise the nozzle always to Z-park height.
// be raised to reach Z-park height. * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
// */
// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
// reach Z-park height.
//
// P2: The nozzle height will be raised by Z-park amount but never going over
// the machine's limit of Z_MAX_POS.
//
//#define NOZZLE_PARK_FEATURE //#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
@ -1025,44 +1019,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif #endif
// /**
// Clean Nozzle Feature -- EXPERIMENTAL * Clean Nozzle Feature -- EXPERIMENTAL
// *
// When enabled allows the user to send G12 to start the nozzle cleaning * Adds the G12 command to perform a nozzle cleaning process.
// process, the G-Code accepts two parameters: *
// "P" for pattern selection * Parameters:
// "S" for defining the number of strokes/repetitions * P Pattern
// * S Strokes / Repetitions
// Available list of patterns: * T Triangles (P1 only)
// P0: This is the default pattern, this process requires a sponge type *
// material at a fixed bed location. S defines "strokes" i.e. * Patterns:
// back-and-forth movements between the starting and end points. * P0 Straight line (default). This process requires a sponge type material
// * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" * between the start / end points.
// defines the number of zig-zag triangles to be done. "S" defines the *
// number of strokes aka one back-and-forth movement. Zig-zags will * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
// be performed in whichever dimension is smallest. As an example, * number of zig-zag triangles to do. "S" defines the number of strokes.
// sending "G12 P1 S1 T3" will execute: * Zig-zags are done in whichever is the narrower dimension.
// * For example, "G12 P1 S1 T3" will execute:
// -- *
// | (X0, Y1) | /\ /\ /\ | (X1, Y1) * --
// | | / \ / \ / \ | * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
// A | | / \ / \ / \ | * | | / \ / \ / \ |
// | | / \ / \ / \ | * A | | / \ / \ / \ |
// | (X0, Y0) | / \/ \/ \ | (X1, Y0) * | | / \ / \ / \ |
// -- +--------------------------------+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
// |________|_________|_________| * -- +--------------------------------+
// T1 T2 T3 * |________|_________|_________|
// * T1 T2 T3
// P2: This starts a circular pattern with circle with middle in *
// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S. * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. * "R" specifies the radius. "S" specifies the stroke count.
// * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
// Caveats: End point Z should use the same value as Start point Z. *
// * Caveats: The ending Z should be the same as starting Z.
// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments * Attention: EXPERIMENTAL. G-code arguments may change.
// may change to add new functionality like different wipe patterns. *
// */
//#define NOZZLE_CLEAN_FEATURE //#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE) #if ENABLED(NOZZLE_CLEAN_FEATURE)
@ -1087,33 +1081,35 @@
#define NOZZLE_CLEAN_GOBACK #define NOZZLE_CLEAN_GOBACK
#endif #endif
// /**
// Print job timer * Print Job Timer
// *
// Enable this option to automatically start and stop the * Automatically start and stop the print job timer on M104/M109/M190.
// print job timer when M104/M109/M190 commands are received. *
// M104 (extruder without wait) - high temp = none, low temp = stop timer * M104 (hotend, no wait) - high temp = none, low temp = stop timer
// M109 (extruder with wait) - high temp = start timer, low temp = stop timer * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
// M190 (bed with wait) - high temp = start timer, low temp = none * M190 (bed, wait) - high temp = start timer, low temp = none
// *
// In all cases the timer can be started and stopped using * The timer can also be controlled with the following commands:
// the following commands: *
// * M75 - Start the print job timer
// - M75 - Start the print job timer * M76 - Pause the print job timer
// - M76 - Pause the print job timer * M77 - Stop the print job timer
// - M77 - Stop the print job timer */
#define PRINTJOB_TIMER_AUTOSTART #define PRINTJOB_TIMER_AUTOSTART
// /**
// Print Counter * Print Counter
// *
// When enabled Marlin will keep track of some print statistical data such as: * Track statistical data such as:
// - Total print jobs *
// - Total successful print jobs * - Total print jobs
// - Total failed print jobs * - Total successful print jobs
// - Total time printing * - Total failed print jobs
// * - Total time printing
// This information can be viewed by the M78 command. *
* View the current statistics with M78.
*/
//#define PRINTCOUNTER //#define PRINTCOUNTER
//============================================================================= //=============================================================================
@ -1122,78 +1118,79 @@
// @section lcd // @section lcd
// /**
// LCD LANGUAGE * LCD LANGUAGE
// *
// Here you may choose the language used by Marlin on the LCD menus, the following * Select the language to display on the LCD. These languages are available:
// list of languages are available: *
// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
// *
// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
// */
//#define LCD_LANGUAGE en //#define LCD_LANGUAGE en
// /**
// LCD Character Set * LCD Character Set
// *
// Note: This option is NOT applicable to Graphical Displays. * Note: This option is NOT applicable to Graphical Displays.
// *
// All character-based LCD's provide ASCII plus one of these * All character-based LCDs provide ASCII plus one of these
// language extensions: * language extensions:
// *
// - JAPANESE ... the most common * - JAPANESE ... the most common
// - WESTERN ... with more accented characters * - WESTERN ... with more accented characters
// - CYRILLIC ... for the Russian language * - CYRILLIC ... for the Russian language
// *
// To determine the language extension installed on your controller: * To determine the language extension installed on your controller:
// *
// - Compile and upload with LCD_LANGUAGE set to 'test' * - Compile and upload with LCD_LANGUAGE set to 'test'
// - Click the controller to view the LCD menu * - Click the controller to view the LCD menu
// - The LCD will display Japanese, Western, or Cyrillic text * - The LCD will display Japanese, Western, or Cyrillic text
// *
// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
// *
// :['JAPANESE', 'WESTERN', 'CYRILLIC'] * :['JAPANESE', 'WESTERN', 'CYRILLIC']
// */
#define DISPLAY_CHARSET_HD44780 JAPANESE #define DISPLAY_CHARSET_HD44780 JAPANESE
// /**
// LCD TYPE * LCD TYPE
// *
// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
// (ST7565R family). (This option will be set automatically for certain displays.) * (These options will be enabled automatically for most displays.)
// *
// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! * IMPORTANT: The U8glib library is required for Full Graphic Display!
// https://github.com/olikraus/U8glib_Arduino * https://github.com/olikraus/U8glib_Arduino
// */
//#define ULTRA_LCD // Character based //#define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display //#define DOGLCD // Full graphics display
// /**
// SD CARD * SD CARD
// *
// SD Card support is disabled by default. If your controller has an SD slot, * SD Card support is disabled by default. If your controller has an SD slot,
// you must uncomment the following option or it won't work. * you must uncomment the following option or it won't work.
// *
*/
//#define SDSUPPORT //#define SDSUPPORT
// /**
// SD CARD: SPI SPEED * SD CARD: SPI SPEED
// *
// Uncomment ONE of the following items to use a slower SPI transfer * Enable one of the following items for a slower SPI transfer speed.
// speed. This is usually required if you're getting volume init errors. * This may be required to resolve "volume init" errors.
// */
//#define SPI_SPEED SPI_HALF_SPEED //#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED //#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED //#define SPI_SPEED SPI_EIGHTH_SPEED
// /**
// SD CARD: ENABLE CRC * SD CARD: ENABLE CRC
// *
// Use CRC checks and retries on the SD communication. * Use CRC checks and retries on the SD communication.
// */
//#define SD_CHECK_AND_RETRY //#define SD_CHECK_AND_RETRY
// //
@ -1221,7 +1218,7 @@
*/ */
// //
// This option reverses the encoder direction everywhere // This option reverses the encoder direction everywhere.
// //
// Set this option if CLOCKWISE causes values to DECREASE // Set this option if CLOCKWISE causes values to DECREASE
// //

@ -1006,23 +1006,17 @@
#define PREHEAT_2_TEMP_BED 110 #define PREHEAT_2_TEMP_BED 110
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 #define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
// /**
// Nozzle Park -- EXPERIMENTAL * Nozzle Park -- EXPERIMENTAL
// *
// When enabled allows the user to define a special XYZ position, inside the * Park the nozzle at the given XYZ position on idle or G27.
// machine's topology, to park the nozzle when idle or when receiving the G27 *
// command. * The "P" parameter controls the action applied to the Z axis:
// *
// The "P" paramenter controls what is the action applied to the Z axis: * P0 (Default) If Z is below park Z raise the nozzle.
// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will * P1 Raise the nozzle always to Z-park height.
// be raised to reach Z-park height. * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
// */
// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
// reach Z-park height.
//
// P2: The nozzle height will be raised by Z-park amount but never going over
// the machine's limit of Z_MAX_POS.
//
//#define NOZZLE_PARK_FEATURE //#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
@ -1030,44 +1024,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif #endif
// /**
// Clean Nozzle Feature -- EXPERIMENTAL * Clean Nozzle Feature -- EXPERIMENTAL
// *
// When enabled allows the user to send G12 to start the nozzle cleaning * Adds the G12 command to perform a nozzle cleaning process.
// process, the G-Code accepts two parameters: *
// "P" for pattern selection * Parameters:
// "S" for defining the number of strokes/repetitions * P Pattern
// * S Strokes / Repetitions
// Available list of patterns: * T Triangles (P1 only)
// P0: This is the default pattern, this process requires a sponge type *
// material at a fixed bed location. S defines "strokes" i.e. * Patterns:
// back-and-forth movements between the starting and end points. * P0 Straight line (default). This process requires a sponge type material
// * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" * between the start / end points.
// defines the number of zig-zag triangles to be done. "S" defines the *
// number of strokes aka one back-and-forth movement. Zig-zags will * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
// be performed in whichever dimension is smallest. As an example, * number of zig-zag triangles to do. "S" defines the number of strokes.
// sending "G12 P1 S1 T3" will execute: * Zig-zags are done in whichever is the narrower dimension.
// * For example, "G12 P1 S1 T3" will execute:
// -- *
// | (X0, Y1) | /\ /\ /\ | (X1, Y1) * --
// | | / \ / \ / \ | * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
// A | | / \ / \ / \ | * | | / \ / \ / \ |
// | | / \ / \ / \ | * A | | / \ / \ / \ |
// | (X0, Y0) | / \/ \/ \ | (X1, Y0) * | | / \ / \ / \ |
// -- +--------------------------------+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
// |________|_________|_________| * -- +--------------------------------+
// T1 T2 T3 * |________|_________|_________|
// * T1 T2 T3
// P2: This starts a circular pattern with circle with middle in *
// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S. * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. * "R" specifies the radius. "S" specifies the stroke count.
// * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
// Caveats: End point Z should use the same value as Start point Z. *
// * Caveats: The ending Z should be the same as starting Z.
// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments * Attention: EXPERIMENTAL. G-code arguments may change.
// may change to add new functionality like different wipe patterns. *
// */
//#define NOZZLE_CLEAN_FEATURE //#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE) #if ENABLED(NOZZLE_CLEAN_FEATURE)
@ -1092,33 +1086,35 @@
#define NOZZLE_CLEAN_GOBACK #define NOZZLE_CLEAN_GOBACK
#endif #endif
// /**
// Print job timer * Print Job Timer
// *
// Enable this option to automatically start and stop the * Automatically start and stop the print job timer on M104/M109/M190.
// print job timer when M104/M109/M190 commands are received. *
// M104 (extruder without wait) - high temp = none, low temp = stop timer * M104 (hotend, no wait) - high temp = none, low temp = stop timer
// M109 (extruder with wait) - high temp = start timer, low temp = stop timer * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
// M190 (bed with wait) - high temp = start timer, low temp = none * M190 (bed, wait) - high temp = start timer, low temp = none
// *
// In all cases the timer can be started and stopped using * The timer can also be controlled with the following commands:
// the following commands: *
// * M75 - Start the print job timer
// - M75 - Start the print job timer * M76 - Pause the print job timer
// - M76 - Pause the print job timer * M77 - Stop the print job timer
// - M77 - Stop the print job timer */
#define PRINTJOB_TIMER_AUTOSTART #define PRINTJOB_TIMER_AUTOSTART
// /**
// Print Counter * Print Counter
// *
// When enabled Marlin will keep track of some print statistical data such as: * Track statistical data such as:
// - Total print jobs *
// - Total successful print jobs * - Total print jobs
// - Total failed print jobs * - Total successful print jobs
// - Total time printing * - Total failed print jobs
// * - Total time printing
// This information can be viewed by the M78 command. *
* View the current statistics with M78.
*/
//#define PRINTCOUNTER //#define PRINTCOUNTER
//============================================================================= //=============================================================================
@ -1127,78 +1123,79 @@
// @section lcd // @section lcd
// /**
// LCD LANGUAGE * LCD LANGUAGE
// *
// Here you may choose the language used by Marlin on the LCD menus, the following * Select the language to display on the LCD. These languages are available:
// list of languages are available: *
// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
// *
// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
// */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en
// /**
// LCD Character Set * LCD Character Set
// *
// Note: This option is NOT applicable to Graphical Displays. * Note: This option is NOT applicable to Graphical Displays.
// *
// All character-based LCD's provide ASCII plus one of these * All character-based LCDs provide ASCII plus one of these
// language extensions: * language extensions:
// *
// - JAPANESE ... the most common * - JAPANESE ... the most common
// - WESTERN ... with more accented characters * - WESTERN ... with more accented characters
// - CYRILLIC ... for the Russian language * - CYRILLIC ... for the Russian language
// *
// To determine the language extension installed on your controller: * To determine the language extension installed on your controller:
// *
// - Compile and upload with LCD_LANGUAGE set to 'test' * - Compile and upload with LCD_LANGUAGE set to 'test'
// - Click the controller to view the LCD menu * - Click the controller to view the LCD menu
// - The LCD will display Japanese, Western, or Cyrillic text * - The LCD will display Japanese, Western, or Cyrillic text
// *
// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
// *
// :['JAPANESE', 'WESTERN', 'CYRILLIC'] * :['JAPANESE', 'WESTERN', 'CYRILLIC']
// */
#define DISPLAY_CHARSET_HD44780 JAPANESE #define DISPLAY_CHARSET_HD44780 JAPANESE
// /**
// LCD TYPE * LCD TYPE
// *
// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
// (ST7565R family). (This option will be set automatically for certain displays.) * (These options will be enabled automatically for most displays.)
// *
// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! * IMPORTANT: The U8glib library is required for Full Graphic Display!
// https://github.com/olikraus/U8glib_Arduino * https://github.com/olikraus/U8glib_Arduino
// */
//#define ULTRA_LCD // Character based //#define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display //#define DOGLCD // Full graphics display
// /**
// SD CARD * SD CARD
// *
// SD Card support is disabled by default. If your controller has an SD slot, * SD Card support is disabled by default. If your controller has an SD slot,
// you must uncomment the following option or it won't work. * you must uncomment the following option or it won't work.
// *
*/
//#define SDSUPPORT //#define SDSUPPORT
// /**
// SD CARD: SPI SPEED * SD CARD: SPI SPEED
// *
// Uncomment ONE of the following items to use a slower SPI transfer * Enable one of the following items for a slower SPI transfer speed.
// speed. This is usually required if you're getting volume init errors. * This may be required to resolve "volume init" errors.
// */
//#define SPI_SPEED SPI_HALF_SPEED //#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED //#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED //#define SPI_SPEED SPI_EIGHTH_SPEED
// /**
// SD CARD: ENABLE CRC * SD CARD: ENABLE CRC
// *
// Use CRC checks and retries on the SD communication. * Use CRC checks and retries on the SD communication.
// */
//#define SD_CHECK_AND_RETRY //#define SD_CHECK_AND_RETRY
// //
@ -1226,7 +1223,7 @@
*/ */
// //
// This option reverses the encoder direction everywhere // This option reverses the encoder direction everywhere.
// //
// Set this option if CLOCKWISE causes values to DECREASE // Set this option if CLOCKWISE causes values to DECREASE
// //

@ -1042,23 +1042,17 @@
#define PREHEAT_2_TEMP_BED 90 // TB2: ABS default 110, 90 is the maximum temp at 12V supply #define PREHEAT_2_TEMP_BED 90 // TB2: ABS default 110, 90 is the maximum temp at 12V supply
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 #define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
// /**
// Nozzle Park -- EXPERIMENTAL * Nozzle Park -- EXPERIMENTAL
// *
// When enabled allows the user to define a special XYZ position, inside the * Park the nozzle at the given XYZ position on idle or G27.
// machine's topology, to park the nozzle when idle or when receiving the G27 *
// command. * The "P" parameter controls the action applied to the Z axis:
// *
// The "P" paramenter controls what is the action applied to the Z axis: * P0 (Default) If Z is below park Z raise the nozzle.
// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will * P1 Raise the nozzle always to Z-park height.
// be raised to reach Z-park height. * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
// */
// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
// reach Z-park height.
//
// P2: The nozzle height will be raised by Z-park amount but never going over
// the machine's limit of Z_MAX_POS.
//
#define NOZZLE_PARK_FEATURE #define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
@ -1066,44 +1060,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif #endif
// /**
// Clean Nozzle Feature -- EXPERIMENTAL * Clean Nozzle Feature -- EXPERIMENTAL
// *
// When enabled allows the user to send G12 to start the nozzle cleaning * Adds the G12 command to perform a nozzle cleaning process.
// process, the G-Code accepts two parameters: *
// "P" for pattern selection * Parameters:
// "S" for defining the number of strokes/repetitions * P Pattern
// * S Strokes / Repetitions
// Available list of patterns: * T Triangles (P1 only)
// P0: This is the default pattern, this process requires a sponge type *
// material at a fixed bed location. S defines "strokes" i.e. * Patterns:
// back-and-forth movements between the starting and end points. * P0 Straight line (default). This process requires a sponge type material
// * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" * between the start / end points.
// defines the number of zig-zag triangles to be done. "S" defines the *
// number of strokes aka one back-and-forth movement. Zig-zags will * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
// be performed in whichever dimension is smallest. As an example, * number of zig-zag triangles to do. "S" defines the number of strokes.
// sending "G12 P1 S1 T3" will execute: * Zig-zags are done in whichever is the narrower dimension.
// * For example, "G12 P1 S1 T3" will execute:
// -- *
// | (X0, Y1) | /\ /\ /\ | (X1, Y1) * --
// | | / \ / \ / \ | * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
// A | | / \ / \ / \ | * | | / \ / \ / \ |
// | | / \ / \ / \ | * A | | / \ / \ / \ |
// | (X0, Y0) | / \/ \/ \ | (X1, Y0) * | | / \ / \ / \ |
// -- +--------------------------------+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
// |________|_________|_________| * -- +--------------------------------+
// T1 T2 T3 * |________|_________|_________|
// * T1 T2 T3
// P2: This starts a circular pattern with circle with middle in *
// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S. * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. * "R" specifies the radius. "S" specifies the stroke count.
// * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
// Caveats: End point Z should use the same value as Start point Z. *
// * Caveats: The ending Z should be the same as starting Z.
// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments * Attention: EXPERIMENTAL. G-code arguments may change.
// may change to add new functionality like different wipe patterns. *
// */
//#define NOZZLE_CLEAN_FEATURE //#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE) #if ENABLED(NOZZLE_CLEAN_FEATURE)
@ -1128,33 +1122,35 @@
#define NOZZLE_CLEAN_GOBACK #define NOZZLE_CLEAN_GOBACK
#endif #endif
// /**
// Print job timer * Print Job Timer
// *
// Enable this option to automatically start and stop the * Automatically start and stop the print job timer on M104/M109/M190.
// print job timer when M104/M109/M190 commands are received. *
// M104 (extruder without wait) - high temp = none, low temp = stop timer * M104 (hotend, no wait) - high temp = none, low temp = stop timer
// M109 (extruder with wait) - high temp = start timer, low temp = stop timer * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
// M190 (bed with wait) - high temp = start timer, low temp = none * M190 (bed, wait) - high temp = start timer, low temp = none
// *
// In all cases the timer can be started and stopped using * The timer can also be controlled with the following commands:
// the following commands: *
// * M75 - Start the print job timer
// - M75 - Start the print job timer * M76 - Pause the print job timer
// - M76 - Pause the print job timer * M77 - Stop the print job timer
// - M77 - Stop the print job timer */
#define PRINTJOB_TIMER_AUTOSTART #define PRINTJOB_TIMER_AUTOSTART
// /**
// Print Counter * Print Counter
// *
// When enabled Marlin will keep track of some print statistical data such as: * Track statistical data such as:
// - Total print jobs *
// - Total successful print jobs * - Total print jobs
// - Total failed print jobs * - Total successful print jobs
// - Total time printing * - Total failed print jobs
// * - Total time printing
// This information can be viewed by the M78 command. *
* View the current statistics with M78.
*/
#define PRINTCOUNTER #define PRINTCOUNTER
//============================================================================= //=============================================================================
@ -1163,78 +1159,79 @@
// @section lcd // @section lcd
// /**
// LCD LANGUAGE * LCD LANGUAGE
// *
// Here you may choose the language used by Marlin on the LCD menus, the following * Select the language to display on the LCD. These languages are available:
// list of languages are available: *
// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
// *
// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
// */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en
// /**
// LCD Character Set * LCD Character Set
// *
// Note: This option is NOT applicable to Graphical Displays. * Note: This option is NOT applicable to Graphical Displays.
// *
// All character-based LCD's provide ASCII plus one of these * All character-based LCDs provide ASCII plus one of these
// language extensions: * language extensions:
// *
// - JAPANESE ... the most common * - JAPANESE ... the most common
// - WESTERN ... with more accented characters * - WESTERN ... with more accented characters
// - CYRILLIC ... for the Russian language * - CYRILLIC ... for the Russian language
// *
// To determine the language extension installed on your controller: * To determine the language extension installed on your controller:
// *
// - Compile and upload with LCD_LANGUAGE set to 'test' * - Compile and upload with LCD_LANGUAGE set to 'test'
// - Click the controller to view the LCD menu * - Click the controller to view the LCD menu
// - The LCD will display Japanese, Western, or Cyrillic text * - The LCD will display Japanese, Western, or Cyrillic text
// *
// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
// *
// :['JAPANESE', 'WESTERN', 'CYRILLIC'] * :['JAPANESE', 'WESTERN', 'CYRILLIC']
// */
#define DISPLAY_CHARSET_HD44780 JAPANESE #define DISPLAY_CHARSET_HD44780 JAPANESE
// /**
// LCD TYPE * LCD TYPE
// *
// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
// (ST7565R family). (This option will be set automatically for certain displays.) * (These options will be enabled automatically for most displays.)
// *
// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! * IMPORTANT: The U8glib library is required for Full Graphic Display!
// https://github.com/olikraus/U8glib_Arduino * https://github.com/olikraus/U8glib_Arduino
// */
//#define ULTRA_LCD // Character based //#define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display //#define DOGLCD // Full graphics display
// /**
// SD CARD * SD CARD
// *
// SD Card support is disabled by default. If your controller has an SD slot, * SD Card support is disabled by default. If your controller has an SD slot,
// you must uncomment the following option or it won't work. * you must uncomment the following option or it won't work.
// *
*/
#define SDSUPPORT #define SDSUPPORT
// /**
// SD CARD: SPI SPEED * SD CARD: SPI SPEED
// *
// Uncomment ONE of the following items to use a slower SPI transfer * Enable one of the following items for a slower SPI transfer speed.
// speed. This is usually required if you're getting volume init errors. * This may be required to resolve "volume init" errors.
// */
//#define SPI_SPEED SPI_HALF_SPEED //#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED //#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED //#define SPI_SPEED SPI_EIGHTH_SPEED
// /**
// SD CARD: ENABLE CRC * SD CARD: ENABLE CRC
// *
// Use CRC checks and retries on the SD communication. * Use CRC checks and retries on the SD communication.
// */
#define SD_CHECK_AND_RETRY #define SD_CHECK_AND_RETRY
// //
@ -1262,7 +1259,7 @@
*/ */
// //
// This option reverses the encoder direction everywhere // This option reverses the encoder direction everywhere.
// //
// Set this option if CLOCKWISE causes values to DECREASE // Set this option if CLOCKWISE causes values to DECREASE
// //

@ -977,23 +977,17 @@
#define PREHEAT_2_TEMP_BED 100 #define PREHEAT_2_TEMP_BED 100
#define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255 #define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255
// /**
// Nozzle Park -- EXPERIMENTAL * Nozzle Park -- EXPERIMENTAL
// *
// When enabled allows the user to define a special XYZ position, inside the * Park the nozzle at the given XYZ position on idle or G27.
// machine's topology, to park the nozzle when idle or when receiving the G27 *
// command. * The "P" parameter controls the action applied to the Z axis:
// *
// The "P" paramenter controls what is the action applied to the Z axis: * P0 (Default) If Z is below park Z raise the nozzle.
// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will * P1 Raise the nozzle always to Z-park height.
// be raised to reach Z-park height. * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
// */
// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
// reach Z-park height.
//
// P2: The nozzle height will be raised by Z-park amount but never going over
// the machine's limit of Z_MAX_POS.
//
//#define NOZZLE_PARK_FEATURE //#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
@ -1001,44 +995,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif #endif
// /**
// Clean Nozzle Feature -- EXPERIMENTAL * Clean Nozzle Feature -- EXPERIMENTAL
// *
// When enabled allows the user to send G12 to start the nozzle cleaning * Adds the G12 command to perform a nozzle cleaning process.
// process, the G-Code accepts two parameters: *
// "P" for pattern selection * Parameters:
// "S" for defining the number of strokes/repetitions * P Pattern
// * S Strokes / Repetitions
// Available list of patterns: * T Triangles (P1 only)
// P0: This is the default pattern, this process requires a sponge type *
// material at a fixed bed location. S defines "strokes" i.e. * Patterns:
// back-and-forth movements between the starting and end points. * P0 Straight line (default). This process requires a sponge type material
// * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" * between the start / end points.
// defines the number of zig-zag triangles to be done. "S" defines the *
// number of strokes aka one back-and-forth movement. Zig-zags will * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
// be performed in whichever dimension is smallest. As an example, * number of zig-zag triangles to do. "S" defines the number of strokes.
// sending "G12 P1 S1 T3" will execute: * Zig-zags are done in whichever is the narrower dimension.
// * For example, "G12 P1 S1 T3" will execute:
// -- *
// | (X0, Y1) | /\ /\ /\ | (X1, Y1) * --
// | | / \ / \ / \ | * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
// A | | / \ / \ / \ | * | | / \ / \ / \ |
// | | / \ / \ / \ | * A | | / \ / \ / \ |
// | (X0, Y0) | / \/ \/ \ | (X1, Y0) * | | / \ / \ / \ |
// -- +--------------------------------+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
// |________|_________|_________| * -- +--------------------------------+
// T1 T2 T3 * |________|_________|_________|
// * T1 T2 T3
// P2: This starts a circular pattern with circle with middle in *
// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S. * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. * "R" specifies the radius. "S" specifies the stroke count.
// * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
// Caveats: End point Z should use the same value as Start point Z. *
// * Caveats: The ending Z should be the same as starting Z.
// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments * Attention: EXPERIMENTAL. G-code arguments may change.
// may change to add new functionality like different wipe patterns. *
// */
//#define NOZZLE_CLEAN_FEATURE //#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE) #if ENABLED(NOZZLE_CLEAN_FEATURE)
@ -1063,33 +1057,35 @@
#define NOZZLE_CLEAN_GOBACK #define NOZZLE_CLEAN_GOBACK
#endif #endif
// /**
// Print job timer * Print Job Timer
// *
// Enable this option to automatically start and stop the * Automatically start and stop the print job timer on M104/M109/M190.
// print job timer when M104/M109/M190 commands are received. *
// M104 (extruder without wait) - high temp = none, low temp = stop timer * M104 (hotend, no wait) - high temp = none, low temp = stop timer
// M109 (extruder with wait) - high temp = start timer, low temp = stop timer * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
// M190 (bed with wait) - high temp = start timer, low temp = none * M190 (bed, wait) - high temp = start timer, low temp = none
// *
// In all cases the timer can be started and stopped using * The timer can also be controlled with the following commands:
// the following commands: *
// * M75 - Start the print job timer
// - M75 - Start the print job timer * M76 - Pause the print job timer
// - M76 - Pause the print job timer * M77 - Stop the print job timer
// - M77 - Stop the print job timer */
#define PRINTJOB_TIMER_AUTOSTART #define PRINTJOB_TIMER_AUTOSTART
// /**
// Print Counter * Print Counter
// *
// When enabled Marlin will keep track of some print statistical data such as: * Track statistical data such as:
// - Total print jobs *
// - Total successful print jobs * - Total print jobs
// - Total failed print jobs * - Total successful print jobs
// - Total time printing * - Total failed print jobs
// * - Total time printing
// This information can be viewed by the M78 command. *
* View the current statistics with M78.
*/
//#define PRINTCOUNTER //#define PRINTCOUNTER
//============================================================================= //=============================================================================
@ -1098,78 +1094,79 @@
// @section lcd // @section lcd
// /**
// LCD LANGUAGE * LCD LANGUAGE
// *
// Here you may choose the language used by Marlin on the LCD menus, the following * Select the language to display on the LCD. These languages are available:
// list of languages are available: *
// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
// *
// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
// */
//#define LCD_LANGUAGE en //#define LCD_LANGUAGE en
// /**
// LCD Character Set * LCD Character Set
// *
// Note: This option is NOT applicable to Graphical Displays. * Note: This option is NOT applicable to Graphical Displays.
// *
// All character-based LCD's provide ASCII plus one of these * All character-based LCDs provide ASCII plus one of these
// language extensions: * language extensions:
// *
// - JAPANESE ... the most common * - JAPANESE ... the most common
// - WESTERN ... with more accented characters * - WESTERN ... with more accented characters
// - CYRILLIC ... for the Russian language * - CYRILLIC ... for the Russian language
// *
// To determine the language extension installed on your controller: * To determine the language extension installed on your controller:
// *
// - Compile and upload with LCD_LANGUAGE set to 'test' * - Compile and upload with LCD_LANGUAGE set to 'test'
// - Click the controller to view the LCD menu * - Click the controller to view the LCD menu
// - The LCD will display Japanese, Western, or Cyrillic text * - The LCD will display Japanese, Western, or Cyrillic text
// *
// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
// *
// :['JAPANESE', 'WESTERN', 'CYRILLIC'] * :['JAPANESE', 'WESTERN', 'CYRILLIC']
// */
#define DISPLAY_CHARSET_HD44780 JAPANESE #define DISPLAY_CHARSET_HD44780 JAPANESE
// /**
// LCD TYPE * LCD TYPE
// *
// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
// (ST7565R family). (This option will be set automatically for certain displays.) * (These options will be enabled automatically for most displays.)
// *
// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! * IMPORTANT: The U8glib library is required for Full Graphic Display!
// https://github.com/olikraus/U8glib_Arduino * https://github.com/olikraus/U8glib_Arduino
// */
#define ULTRA_LCD // Character based #define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display //#define DOGLCD // Full graphics display
// /**
// SD CARD * SD CARD
// *
// SD Card support is disabled by default. If your controller has an SD slot, * SD Card support is disabled by default. If your controller has an SD slot,
// you must uncomment the following option or it won't work. * you must uncomment the following option or it won't work.
// *
*/
#define SDSUPPORT #define SDSUPPORT
// /**
// SD CARD: SPI SPEED * SD CARD: SPI SPEED
// *
// Uncomment ONE of the following items to use a slower SPI transfer * Enable one of the following items for a slower SPI transfer speed.
// speed. This is usually required if you're getting volume init errors. * This may be required to resolve "volume init" errors.
// */
//#define SPI_SPEED SPI_HALF_SPEED //#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED //#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED //#define SPI_SPEED SPI_EIGHTH_SPEED
// /**
// SD CARD: ENABLE CRC * SD CARD: ENABLE CRC
// *
// Use CRC checks and retries on the SD communication. * Use CRC checks and retries on the SD communication.
// */
//#define SD_CHECK_AND_RETRY //#define SD_CHECK_AND_RETRY
// //
@ -1197,7 +1194,7 @@
*/ */
// //
// This option reverses the encoder direction everywhere // This option reverses the encoder direction everywhere.
// //
// Set this option if CLOCKWISE causes values to DECREASE // Set this option if CLOCKWISE causes values to DECREASE
// //

@ -986,23 +986,17 @@
#define PREHEAT_2_TEMP_BED 110 #define PREHEAT_2_TEMP_BED 110
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 #define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
// /**
// Nozzle Park -- EXPERIMENTAL * Nozzle Park -- EXPERIMENTAL
// *
// When enabled allows the user to define a special XYZ position, inside the * Park the nozzle at the given XYZ position on idle or G27.
// machine's topology, to park the nozzle when idle or when receiving the G27 *
// command. * The "P" parameter controls the action applied to the Z axis:
// *
// The "P" paramenter controls what is the action applied to the Z axis: * P0 (Default) If Z is below park Z raise the nozzle.
// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will * P1 Raise the nozzle always to Z-park height.
// be raised to reach Z-park height. * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
// */
// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
// reach Z-park height.
//
// P2: The nozzle height will be raised by Z-park amount but never going over
// the machine's limit of Z_MAX_POS.
//
//#define NOZZLE_PARK_FEATURE //#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
@ -1010,44 +1004,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif #endif
// /**
// Clean Nozzle Feature -- EXPERIMENTAL * Clean Nozzle Feature -- EXPERIMENTAL
// *
// When enabled allows the user to send G12 to start the nozzle cleaning * Adds the G12 command to perform a nozzle cleaning process.
// process, the G-Code accepts two parameters: *
// "P" for pattern selection * Parameters:
// "S" for defining the number of strokes/repetitions * P Pattern
// * S Strokes / Repetitions
// Available list of patterns: * T Triangles (P1 only)
// P0: This is the default pattern, this process requires a sponge type *
// material at a fixed bed location. S defines "strokes" i.e. * Patterns:
// back-and-forth movements between the starting and end points. * P0 Straight line (default). This process requires a sponge type material
// * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" * between the start / end points.
// defines the number of zig-zag triangles to be done. "S" defines the *
// number of strokes aka one back-and-forth movement. Zig-zags will * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
// be performed in whichever dimension is smallest. As an example, * number of zig-zag triangles to do. "S" defines the number of strokes.
// sending "G12 P1 S1 T3" will execute: * Zig-zags are done in whichever is the narrower dimension.
// * For example, "G12 P1 S1 T3" will execute:
// -- *
// | (X0, Y1) | /\ /\ /\ | (X1, Y1) * --
// | | / \ / \ / \ | * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
// A | | / \ / \ / \ | * | | / \ / \ / \ |
// | | / \ / \ / \ | * A | | / \ / \ / \ |
// | (X0, Y0) | / \/ \/ \ | (X1, Y0) * | | / \ / \ / \ |
// -- +--------------------------------+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
// |________|_________|_________| * -- +--------------------------------+
// T1 T2 T3 * |________|_________|_________|
// * T1 T2 T3
// P2: This starts a circular pattern with circle with middle in *
// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S. * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. * "R" specifies the radius. "S" specifies the stroke count.
// * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
// Caveats: End point Z should use the same value as Start point Z. *
// * Caveats: The ending Z should be the same as starting Z.
// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments * Attention: EXPERIMENTAL. G-code arguments may change.
// may change to add new functionality like different wipe patterns. *
// */
//#define NOZZLE_CLEAN_FEATURE //#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE) #if ENABLED(NOZZLE_CLEAN_FEATURE)
@ -1072,33 +1066,35 @@
#define NOZZLE_CLEAN_GOBACK #define NOZZLE_CLEAN_GOBACK
#endif #endif
// /**
// Print job timer * Print Job Timer
// *
// Enable this option to automatically start and stop the * Automatically start and stop the print job timer on M104/M109/M190.
// print job timer when M104/M109/M190 commands are received. *
// M104 (extruder without wait) - high temp = none, low temp = stop timer * M104 (hotend, no wait) - high temp = none, low temp = stop timer
// M109 (extruder with wait) - high temp = start timer, low temp = stop timer * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
// M190 (bed with wait) - high temp = start timer, low temp = none * M190 (bed, wait) - high temp = start timer, low temp = none
// *
// In all cases the timer can be started and stopped using * The timer can also be controlled with the following commands:
// the following commands: *
// * M75 - Start the print job timer
// - M75 - Start the print job timer * M76 - Pause the print job timer
// - M76 - Pause the print job timer * M77 - Stop the print job timer
// - M77 - Stop the print job timer */
#define PRINTJOB_TIMER_AUTOSTART #define PRINTJOB_TIMER_AUTOSTART
// /**
// Print Counter * Print Counter
// *
// When enabled Marlin will keep track of some print statistical data such as: * Track statistical data such as:
// - Total print jobs *
// - Total successful print jobs * - Total print jobs
// - Total failed print jobs * - Total successful print jobs
// - Total time printing * - Total failed print jobs
// * - Total time printing
// This information can be viewed by the M78 command. *
* View the current statistics with M78.
*/
//#define PRINTCOUNTER //#define PRINTCOUNTER
//============================================================================= //=============================================================================
@ -1107,78 +1103,79 @@
// @section lcd // @section lcd
// /**
// LCD LANGUAGE * LCD LANGUAGE
// *
// Here you may choose the language used by Marlin on the LCD menus, the following * Select the language to display on the LCD. These languages are available:
// list of languages are available: *
// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
// *
// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
// */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en
// /**
// LCD Character Set * LCD Character Set
// *
// Note: This option is NOT applicable to Graphical Displays. * Note: This option is NOT applicable to Graphical Displays.
// *
// All character-based LCD's provide ASCII plus one of these * All character-based LCDs provide ASCII plus one of these
// language extensions: * language extensions:
// *
// - JAPANESE ... the most common * - JAPANESE ... the most common
// - WESTERN ... with more accented characters * - WESTERN ... with more accented characters
// - CYRILLIC ... for the Russian language * - CYRILLIC ... for the Russian language
// *
// To determine the language extension installed on your controller: * To determine the language extension installed on your controller:
// *
// - Compile and upload with LCD_LANGUAGE set to 'test' * - Compile and upload with LCD_LANGUAGE set to 'test'
// - Click the controller to view the LCD menu * - Click the controller to view the LCD menu
// - The LCD will display Japanese, Western, or Cyrillic text * - The LCD will display Japanese, Western, or Cyrillic text
// *
// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
// *
// :['JAPANESE', 'WESTERN', 'CYRILLIC'] * :['JAPANESE', 'WESTERN', 'CYRILLIC']
// */
#define DISPLAY_CHARSET_HD44780 JAPANESE #define DISPLAY_CHARSET_HD44780 JAPANESE
// /**
// LCD TYPE * LCD TYPE
// *
// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
// (ST7565R family). (This option will be set automatically for certain displays.) * (These options will be enabled automatically for most displays.)
// *
// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! * IMPORTANT: The U8glib library is required for Full Graphic Display!
// https://github.com/olikraus/U8glib_Arduino * https://github.com/olikraus/U8glib_Arduino
// */
//#define ULTRA_LCD // Character based //#define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display //#define DOGLCD // Full graphics display
// /**
// SD CARD * SD CARD
// *
// SD Card support is disabled by default. If your controller has an SD slot, * SD Card support is disabled by default. If your controller has an SD slot,
// you must uncomment the following option or it won't work. * you must uncomment the following option or it won't work.
// *
*/
#define SDSUPPORT #define SDSUPPORT
// /**
// SD CARD: SPI SPEED * SD CARD: SPI SPEED
// *
// Uncomment ONE of the following items to use a slower SPI transfer * Enable one of the following items for a slower SPI transfer speed.
// speed. This is usually required if you're getting volume init errors. * This may be required to resolve "volume init" errors.
// */
#define SPI_SPEED SPI_HALF_SPEED #define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED //#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED //#define SPI_SPEED SPI_EIGHTH_SPEED
// /**
// SD CARD: ENABLE CRC * SD CARD: ENABLE CRC
// *
// Use CRC checks and retries on the SD communication. * Use CRC checks and retries on the SD communication.
// */
//#define SD_CHECK_AND_RETRY //#define SD_CHECK_AND_RETRY
// //
@ -1206,7 +1203,7 @@
*/ */
// //
// This option reverses the encoder direction everywhere // This option reverses the encoder direction everywhere.
// //
// Set this option if CLOCKWISE causes values to DECREASE // Set this option if CLOCKWISE causes values to DECREASE
// //

@ -1104,23 +1104,17 @@
#define PREHEAT_2_TEMP_BED 100 #define PREHEAT_2_TEMP_BED 100
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 #define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
// /**
// Nozzle Park -- EXPERIMENTAL * Nozzle Park -- EXPERIMENTAL
// *
// When enabled allows the user to define a special XYZ position, inside the * Park the nozzle at the given XYZ position on idle or G27.
// machine's topology, to park the nozzle when idle or when receiving the G27 *
// command. * The "P" parameter controls the action applied to the Z axis:
// *
// The "P" paramenter controls what is the action applied to the Z axis: * P0 (Default) If Z is below park Z raise the nozzle.
// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will * P1 Raise the nozzle always to Z-park height.
// be raised to reach Z-park height. * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
// */
// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
// reach Z-park height.
//
// P2: The nozzle height will be raised by Z-park amount but never going over
// the machine's limit of Z_MAX_POS.
//
//#define NOZZLE_PARK_FEATURE //#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
@ -1128,44 +1122,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif #endif
// /**
// Clean Nozzle Feature -- EXPERIMENTAL * Clean Nozzle Feature -- EXPERIMENTAL
// *
// When enabled allows the user to send G12 to start the nozzle cleaning * Adds the G12 command to perform a nozzle cleaning process.
// process, the G-Code accepts two parameters: *
// "P" for pattern selection * Parameters:
// "S" for defining the number of strokes/repetitions * P Pattern
// * S Strokes / Repetitions
// Available list of patterns: * T Triangles (P1 only)
// P0: This is the default pattern, this process requires a sponge type *
// material at a fixed bed location. S defines "strokes" i.e. * Patterns:
// back-and-forth movements between the starting and end points. * P0 Straight line (default). This process requires a sponge type material
// * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" * between the start / end points.
// defines the number of zig-zag triangles to be done. "S" defines the *
// number of strokes aka one back-and-forth movement. Zig-zags will * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
// be performed in whichever dimension is smallest. As an example, * number of zig-zag triangles to do. "S" defines the number of strokes.
// sending "G12 P1 S1 T3" will execute: * Zig-zags are done in whichever is the narrower dimension.
// * For example, "G12 P1 S1 T3" will execute:
// -- *
// | (X0, Y1) | /\ /\ /\ | (X1, Y1) * --
// | | / \ / \ / \ | * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
// A | | / \ / \ / \ | * | | / \ / \ / \ |
// | | / \ / \ / \ | * A | | / \ / \ / \ |
// | (X0, Y0) | / \/ \/ \ | (X1, Y0) * | | / \ / \ / \ |
// -- +--------------------------------+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
// |________|_________|_________| * -- +--------------------------------+
// T1 T2 T3 * |________|_________|_________|
// * T1 T2 T3
// P2: This starts a circular pattern with circle with middle in *
// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S. * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. * "R" specifies the radius. "S" specifies the stroke count.
// * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
// Caveats: End point Z should use the same value as Start point Z. *
// * Caveats: The ending Z should be the same as starting Z.
// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments * Attention: EXPERIMENTAL. G-code arguments may change.
// may change to add new functionality like different wipe patterns. *
// */
//#define NOZZLE_CLEAN_FEATURE //#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE) #if ENABLED(NOZZLE_CLEAN_FEATURE)
@ -1190,33 +1184,35 @@
#define NOZZLE_CLEAN_GOBACK #define NOZZLE_CLEAN_GOBACK
#endif #endif
// /**
// Print job timer * Print Job Timer
// *
// Enable this option to automatically start and stop the * Automatically start and stop the print job timer on M104/M109/M190.
// print job timer when M104/M109/M190 commands are received. *
// M104 (extruder without wait) - high temp = none, low temp = stop timer * M104 (hotend, no wait) - high temp = none, low temp = stop timer
// M109 (extruder with wait) - high temp = start timer, low temp = stop timer * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
// M190 (bed with wait) - high temp = start timer, low temp = none * M190 (bed, wait) - high temp = start timer, low temp = none
// *
// In all cases the timer can be started and stopped using * The timer can also be controlled with the following commands:
// the following commands: *
// * M75 - Start the print job timer
// - M75 - Start the print job timer * M76 - Pause the print job timer
// - M76 - Pause the print job timer * M77 - Stop the print job timer
// - M77 - Stop the print job timer */
#define PRINTJOB_TIMER_AUTOSTART #define PRINTJOB_TIMER_AUTOSTART
// /**
// Print Counter * Print Counter
// *
// When enabled Marlin will keep track of some print statistical data such as: * Track statistical data such as:
// - Total print jobs *
// - Total successful print jobs * - Total print jobs
// - Total failed print jobs * - Total successful print jobs
// - Total time printing * - Total failed print jobs
// * - Total time printing
// This information can be viewed by the M78 command. *
* View the current statistics with M78.
*/
#define PRINTCOUNTER #define PRINTCOUNTER
//============================================================================= //=============================================================================
@ -1225,78 +1221,79 @@
// @section lcd // @section lcd
// /**
// LCD LANGUAGE * LCD LANGUAGE
// *
// Here you may choose the language used by Marlin on the LCD menus, the following * Select the language to display on the LCD. These languages are available:
// list of languages are available: *
// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
// *
// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
// */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en
// /**
// LCD Character Set * LCD Character Set
// *
// Note: This option is NOT applicable to Graphical Displays. * Note: This option is NOT applicable to Graphical Displays.
// *
// All character-based LCD's provide ASCII plus one of these * All character-based LCDs provide ASCII plus one of these
// language extensions: * language extensions:
// *
// - JAPANESE ... the most common * - JAPANESE ... the most common
// - WESTERN ... with more accented characters * - WESTERN ... with more accented characters
// - CYRILLIC ... for the Russian language * - CYRILLIC ... for the Russian language
// *
// To determine the language extension installed on your controller: * To determine the language extension installed on your controller:
// *
// - Compile and upload with LCD_LANGUAGE set to 'test' * - Compile and upload with LCD_LANGUAGE set to 'test'
// - Click the controller to view the LCD menu * - Click the controller to view the LCD menu
// - The LCD will display Japanese, Western, or Cyrillic text * - The LCD will display Japanese, Western, or Cyrillic text
// *
// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
// *
// :['JAPANESE', 'WESTERN', 'CYRILLIC'] * :['JAPANESE', 'WESTERN', 'CYRILLIC']
// */
#define DISPLAY_CHARSET_HD44780 WESTERN #define DISPLAY_CHARSET_HD44780 WESTERN
// /**
// LCD TYPE * LCD TYPE
// *
// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
// (ST7565R family). (This option will be set automatically for certain displays.) * (These options will be enabled automatically for most displays.)
// *
// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! * IMPORTANT: The U8glib library is required for Full Graphic Display!
// https://github.com/olikraus/U8glib_Arduino * https://github.com/olikraus/U8glib_Arduino
// */
//#define ULTRA_LCD // Character based //#define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display //#define DOGLCD // Full graphics display
// /**
// SD CARD * SD CARD
// *
// SD Card support is disabled by default. If your controller has an SD slot, * SD Card support is disabled by default. If your controller has an SD slot,
// you must uncomment the following option or it won't work. * you must uncomment the following option or it won't work.
// *
*/
#define SDSUPPORT #define SDSUPPORT
// /**
// SD CARD: SPI SPEED * SD CARD: SPI SPEED
// *
// Uncomment ONE of the following items to use a slower SPI transfer * Enable one of the following items for a slower SPI transfer speed.
// speed. This is usually required if you're getting volume init errors. * This may be required to resolve "volume init" errors.
// */
//#define SPI_SPEED SPI_HALF_SPEED //#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED //#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED //#define SPI_SPEED SPI_EIGHTH_SPEED
// /**
// SD CARD: ENABLE CRC * SD CARD: ENABLE CRC
// *
// Use CRC checks and retries on the SD communication. * Use CRC checks and retries on the SD communication.
// */
#define SD_CHECK_AND_RETRY #define SD_CHECK_AND_RETRY
// //
@ -1324,7 +1321,7 @@
*/ */
// //
// This option reverses the encoder direction everywhere // This option reverses the encoder direction everywhere.
// //
// Set this option if CLOCKWISE causes values to DECREASE // Set this option if CLOCKWISE causes values to DECREASE
// //

@ -1106,23 +1106,17 @@
#define PREHEAT_2_TEMP_BED 100 #define PREHEAT_2_TEMP_BED 100
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 #define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
// /**
// Nozzle Park -- EXPERIMENTAL * Nozzle Park -- EXPERIMENTAL
// *
// When enabled allows the user to define a special XYZ position, inside the * Park the nozzle at the given XYZ position on idle or G27.
// machine's topology, to park the nozzle when idle or when receiving the G27 *
// command. * The "P" parameter controls the action applied to the Z axis:
// *
// The "P" paramenter controls what is the action applied to the Z axis: * P0 (Default) If Z is below park Z raise the nozzle.
// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will * P1 Raise the nozzle always to Z-park height.
// be raised to reach Z-park height. * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
// */
// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
// reach Z-park height.
//
// P2: The nozzle height will be raised by Z-park amount but never going over
// the machine's limit of Z_MAX_POS.
//
//#define NOZZLE_PARK_FEATURE //#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
@ -1130,44 +1124,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif #endif
// /**
// Clean Nozzle Feature -- EXPERIMENTAL * Clean Nozzle Feature -- EXPERIMENTAL
// *
// When enabled allows the user to send G12 to start the nozzle cleaning * Adds the G12 command to perform a nozzle cleaning process.
// process, the G-Code accepts two parameters: *
// "P" for pattern selection * Parameters:
// "S" for defining the number of strokes/repetitions * P Pattern
// * S Strokes / Repetitions
// Available list of patterns: * T Triangles (P1 only)
// P0: This is the default pattern, this process requires a sponge type *
// material at a fixed bed location. S defines "strokes" i.e. * Patterns:
// back-and-forth movements between the starting and end points. * P0 Straight line (default). This process requires a sponge type material
// * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" * between the start / end points.
// defines the number of zig-zag triangles to be done. "S" defines the *
// number of strokes aka one back-and-forth movement. Zig-zags will * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
// be performed in whichever dimension is smallest. As an example, * number of zig-zag triangles to do. "S" defines the number of strokes.
// sending "G12 P1 S1 T3" will execute: * Zig-zags are done in whichever is the narrower dimension.
// * For example, "G12 P1 S1 T3" will execute:
// -- *
// | (X0, Y1) | /\ /\ /\ | (X1, Y1) * --
// | | / \ / \ / \ | * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
// A | | / \ / \ / \ | * | | / \ / \ / \ |
// | | / \ / \ / \ | * A | | / \ / \ / \ |
// | (X0, Y0) | / \/ \/ \ | (X1, Y0) * | | / \ / \ / \ |
// -- +--------------------------------+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
// |________|_________|_________| * -- +--------------------------------+
// T1 T2 T3 * |________|_________|_________|
// * T1 T2 T3
// P2: This starts a circular pattern with circle with middle in *
// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S. * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. * "R" specifies the radius. "S" specifies the stroke count.
// * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
// Caveats: End point Z should use the same value as Start point Z. *
// * Caveats: The ending Z should be the same as starting Z.
// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments * Attention: EXPERIMENTAL. G-code arguments may change.
// may change to add new functionality like different wipe patterns. *
// */
//#define NOZZLE_CLEAN_FEATURE //#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE) #if ENABLED(NOZZLE_CLEAN_FEATURE)
@ -1192,33 +1186,35 @@
#define NOZZLE_CLEAN_GOBACK #define NOZZLE_CLEAN_GOBACK
#endif #endif
// /**
// Print job timer * Print Job Timer
// *
// Enable this option to automatically start and stop the * Automatically start and stop the print job timer on M104/M109/M190.
// print job timer when M104/M109/M190 commands are received. *
// M104 (extruder without wait) - high temp = none, low temp = stop timer * M104 (hotend, no wait) - high temp = none, low temp = stop timer
// M109 (extruder with wait) - high temp = start timer, low temp = stop timer * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
// M190 (bed with wait) - high temp = start timer, low temp = none * M190 (bed, wait) - high temp = start timer, low temp = none
// *
// In all cases the timer can be started and stopped using * The timer can also be controlled with the following commands:
// the following commands: *
// * M75 - Start the print job timer
// - M75 - Start the print job timer * M76 - Pause the print job timer
// - M76 - Pause the print job timer * M77 - Stop the print job timer
// - M77 - Stop the print job timer */
#define PRINTJOB_TIMER_AUTOSTART #define PRINTJOB_TIMER_AUTOSTART
// /**
// Print Counter * Print Counter
// *
// When enabled Marlin will keep track of some print statistical data such as: * Track statistical data such as:
// - Total print jobs *
// - Total successful print jobs * - Total print jobs
// - Total failed print jobs * - Total successful print jobs
// - Total time printing * - Total failed print jobs
// * - Total time printing
// This information can be viewed by the M78 command. *
* View the current statistics with M78.
*/
#define PRINTCOUNTER #define PRINTCOUNTER
//============================================================================= //=============================================================================
@ -1227,78 +1223,79 @@
// @section lcd // @section lcd
// /**
// LCD LANGUAGE * LCD LANGUAGE
// *
// Here you may choose the language used by Marlin on the LCD menus, the following * Select the language to display on the LCD. These languages are available:
// list of languages are available: *
// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
// *
// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
// */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en
// /**
// LCD Character Set * LCD Character Set
// *
// Note: This option is NOT applicable to Graphical Displays. * Note: This option is NOT applicable to Graphical Displays.
// *
// All character-based LCD's provide ASCII plus one of these * All character-based LCDs provide ASCII plus one of these
// language extensions: * language extensions:
// *
// - JAPANESE ... the most common * - JAPANESE ... the most common
// - WESTERN ... with more accented characters * - WESTERN ... with more accented characters
// - CYRILLIC ... for the Russian language * - CYRILLIC ... for the Russian language
// *
// To determine the language extension installed on your controller: * To determine the language extension installed on your controller:
// *
// - Compile and upload with LCD_LANGUAGE set to 'test' * - Compile and upload with LCD_LANGUAGE set to 'test'
// - Click the controller to view the LCD menu * - Click the controller to view the LCD menu
// - The LCD will display Japanese, Western, or Cyrillic text * - The LCD will display Japanese, Western, or Cyrillic text
// *
// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
// *
// :['JAPANESE', 'WESTERN', 'CYRILLIC'] * :['JAPANESE', 'WESTERN', 'CYRILLIC']
// */
#define DISPLAY_CHARSET_HD44780 WESTERN #define DISPLAY_CHARSET_HD44780 WESTERN
// /**
// LCD TYPE * LCD TYPE
// *
// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
// (ST7565R family). (This option will be set automatically for certain displays.) * (These options will be enabled automatically for most displays.)
// *
// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! * IMPORTANT: The U8glib library is required for Full Graphic Display!
// https://github.com/olikraus/U8glib_Arduino * https://github.com/olikraus/U8glib_Arduino
// */
//#define ULTRA_LCD // Character based //#define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display //#define DOGLCD // Full graphics display
// /**
// SD CARD * SD CARD
// *
// SD Card support is disabled by default. If your controller has an SD slot, * SD Card support is disabled by default. If your controller has an SD slot,
// you must uncomment the following option or it won't work. * you must uncomment the following option or it won't work.
// *
*/
#define SDSUPPORT #define SDSUPPORT
// /**
// SD CARD: SPI SPEED * SD CARD: SPI SPEED
// *
// Uncomment ONE of the following items to use a slower SPI transfer * Enable one of the following items for a slower SPI transfer speed.
// speed. This is usually required if you're getting volume init errors. * This may be required to resolve "volume init" errors.
// */
//#define SPI_SPEED SPI_HALF_SPEED //#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED //#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED //#define SPI_SPEED SPI_EIGHTH_SPEED
// /**
// SD CARD: ENABLE CRC * SD CARD: ENABLE CRC
// *
// Use CRC checks and retries on the SD communication. * Use CRC checks and retries on the SD communication.
// */
//#define SD_CHECK_AND_RETRY //#define SD_CHECK_AND_RETRY
// //
@ -1326,7 +1323,7 @@
*/ */
// //
// This option reverses the encoder direction everywhere // This option reverses the encoder direction everywhere.
// //
// Set this option if CLOCKWISE causes values to DECREASE // Set this option if CLOCKWISE causes values to DECREASE
// //

@ -1093,23 +1093,17 @@
#define PREHEAT_2_TEMP_BED 100 #define PREHEAT_2_TEMP_BED 100
#define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255 #define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255
// /**
// Nozzle Park -- EXPERIMENTAL * Nozzle Park -- EXPERIMENTAL
// *
// When enabled allows the user to define a special XYZ position, inside the * Park the nozzle at the given XYZ position on idle or G27.
// machine's topology, to park the nozzle when idle or when receiving the G27 *
// command. * The "P" parameter controls the action applied to the Z axis:
// *
// The "P" paramenter controls what is the action applied to the Z axis: * P0 (Default) If Z is below park Z raise the nozzle.
// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will * P1 Raise the nozzle always to Z-park height.
// be raised to reach Z-park height. * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
// */
// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
// reach Z-park height.
//
// P2: The nozzle height will be raised by Z-park amount but never going over
// the machine's limit of Z_MAX_POS.
//
//#define NOZZLE_PARK_FEATURE //#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
@ -1117,44 +1111,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif #endif
// /**
// Clean Nozzle Feature -- EXPERIMENTAL * Clean Nozzle Feature -- EXPERIMENTAL
// *
// When enabled allows the user to send G12 to start the nozzle cleaning * Adds the G12 command to perform a nozzle cleaning process.
// process, the G-Code accepts two parameters: *
// "P" for pattern selection * Parameters:
// "S" for defining the number of strokes/repetitions * P Pattern
// * S Strokes / Repetitions
// Available list of patterns: * T Triangles (P1 only)
// P0: This is the default pattern, this process requires a sponge type *
// material at a fixed bed location. S defines "strokes" i.e. * Patterns:
// back-and-forth movements between the starting and end points. * P0 Straight line (default). This process requires a sponge type material
// * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" * between the start / end points.
// defines the number of zig-zag triangles to be done. "S" defines the *
// number of strokes aka one back-and-forth movement. Zig-zags will * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
// be performed in whichever dimension is smallest. As an example, * number of zig-zag triangles to do. "S" defines the number of strokes.
// sending "G12 P1 S1 T3" will execute: * Zig-zags are done in whichever is the narrower dimension.
// * For example, "G12 P1 S1 T3" will execute:
// -- *
// | (X0, Y1) | /\ /\ /\ | (X1, Y1) * --
// | | / \ / \ / \ | * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
// A | | / \ / \ / \ | * | | / \ / \ / \ |
// | | / \ / \ / \ | * A | | / \ / \ / \ |
// | (X0, Y0) | / \/ \/ \ | (X1, Y0) * | | / \ / \ / \ |
// -- +--------------------------------+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
// |________|_________|_________| * -- +--------------------------------+
// T1 T2 T3 * |________|_________|_________|
// * T1 T2 T3
// P2: This starts a circular pattern with circle with middle in *
// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S. * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. * "R" specifies the radius. "S" specifies the stroke count.
// * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
// Caveats: End point Z should use the same value as Start point Z. *
// * Caveats: The ending Z should be the same as starting Z.
// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments * Attention: EXPERIMENTAL. G-code arguments may change.
// may change to add new functionality like different wipe patterns. *
// */
//#define NOZZLE_CLEAN_FEATURE //#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE) #if ENABLED(NOZZLE_CLEAN_FEATURE)
@ -1179,33 +1173,35 @@
#define NOZZLE_CLEAN_GOBACK #define NOZZLE_CLEAN_GOBACK
#endif #endif
// /**
// Print job timer * Print Job Timer
// *
// Enable this option to automatically start and stop the * Automatically start and stop the print job timer on M104/M109/M190.
// print job timer when M104/M109/M190 commands are received. *
// M104 (extruder without wait) - high temp = none, low temp = stop timer * M104 (hotend, no wait) - high temp = none, low temp = stop timer
// M109 (extruder with wait) - high temp = start timer, low temp = stop timer * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
// M190 (bed with wait) - high temp = start timer, low temp = none * M190 (bed, wait) - high temp = start timer, low temp = none
// *
// In all cases the timer can be started and stopped using * The timer can also be controlled with the following commands:
// the following commands: *
// * M75 - Start the print job timer
// - M75 - Start the print job timer * M76 - Pause the print job timer
// - M76 - Pause the print job timer * M77 - Stop the print job timer
// - M77 - Stop the print job timer */
#define PRINTJOB_TIMER_AUTOSTART #define PRINTJOB_TIMER_AUTOSTART
// /**
// Print Counter * Print Counter
// *
// When enabled Marlin will keep track of some print statistical data such as: * Track statistical data such as:
// - Total print jobs *
// - Total successful print jobs * - Total print jobs
// - Total failed print jobs * - Total successful print jobs
// - Total time printing * - Total failed print jobs
// * - Total time printing
// This information can be viewed by the M78 command. *
* View the current statistics with M78.
*/
//#define PRINTCOUNTER //#define PRINTCOUNTER
//============================================================================= //=============================================================================
@ -1214,78 +1210,79 @@
// @section lcd // @section lcd
// /**
// LCD LANGUAGE * LCD LANGUAGE
// *
// Here you may choose the language used by Marlin on the LCD menus, the following * Select the language to display on the LCD. These languages are available:
// list of languages are available: *
// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
// *
// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
// */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en
// /**
// LCD Character Set * LCD Character Set
// *
// Note: This option is NOT applicable to Graphical Displays. * Note: This option is NOT applicable to Graphical Displays.
// *
// All character-based LCD's provide ASCII plus one of these * All character-based LCDs provide ASCII plus one of these
// language extensions: * language extensions:
// *
// - JAPANESE ... the most common * - JAPANESE ... the most common
// - WESTERN ... with more accented characters * - WESTERN ... with more accented characters
// - CYRILLIC ... for the Russian language * - CYRILLIC ... for the Russian language
// *
// To determine the language extension installed on your controller: * To determine the language extension installed on your controller:
// *
// - Compile and upload with LCD_LANGUAGE set to 'test' * - Compile and upload with LCD_LANGUAGE set to 'test'
// - Click the controller to view the LCD menu * - Click the controller to view the LCD menu
// - The LCD will display Japanese, Western, or Cyrillic text * - The LCD will display Japanese, Western, or Cyrillic text
// *
// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
// *
// :['JAPANESE', 'WESTERN', 'CYRILLIC'] * :['JAPANESE', 'WESTERN', 'CYRILLIC']
// */
#define DISPLAY_CHARSET_HD44780 JAPANESE #define DISPLAY_CHARSET_HD44780 JAPANESE
// /**
// LCD TYPE * LCD TYPE
// *
// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
// (ST7565R family). (This option will be set automatically for certain displays.) * (These options will be enabled automatically for most displays.)
// *
// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! * IMPORTANT: The U8glib library is required for Full Graphic Display!
// https://github.com/olikraus/U8glib_Arduino * https://github.com/olikraus/U8glib_Arduino
// */
//#define ULTRA_LCD // Character based //#define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display //#define DOGLCD // Full graphics display
// /**
// SD CARD * SD CARD
// *
// SD Card support is disabled by default. If your controller has an SD slot, * SD Card support is disabled by default. If your controller has an SD slot,
// you must uncomment the following option or it won't work. * you must uncomment the following option or it won't work.
// *
*/
//#define SDSUPPORT //#define SDSUPPORT
// /**
// SD CARD: SPI SPEED * SD CARD: SPI SPEED
// *
// Uncomment ONE of the following items to use a slower SPI transfer * Enable one of the following items for a slower SPI transfer speed.
// speed. This is usually required if you're getting volume init errors. * This may be required to resolve "volume init" errors.
// */
//#define SPI_SPEED SPI_HALF_SPEED //#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED //#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED //#define SPI_SPEED SPI_EIGHTH_SPEED
// /**
// SD CARD: ENABLE CRC * SD CARD: ENABLE CRC
// *
// Use CRC checks and retries on the SD communication. * Use CRC checks and retries on the SD communication.
// */
//#define SD_CHECK_AND_RETRY //#define SD_CHECK_AND_RETRY
// //
@ -1313,7 +1310,7 @@
*/ */
// //
// This option reverses the encoder direction everywhere // This option reverses the encoder direction everywhere.
// //
// Set this option if CLOCKWISE causes values to DECREASE // Set this option if CLOCKWISE causes values to DECREASE
// //

@ -1096,23 +1096,17 @@
#define PREHEAT_2_TEMP_BED 100 #define PREHEAT_2_TEMP_BED 100
#define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255 #define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255
// /**
// Nozzle Park -- EXPERIMENTAL * Nozzle Park -- EXPERIMENTAL
// *
// When enabled allows the user to define a special XYZ position, inside the * Park the nozzle at the given XYZ position on idle or G27.
// machine's topology, to park the nozzle when idle or when receiving the G27 *
// command. * The "P" parameter controls the action applied to the Z axis:
// *
// The "P" paramenter controls what is the action applied to the Z axis: * P0 (Default) If Z is below park Z raise the nozzle.
// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will * P1 Raise the nozzle always to Z-park height.
// be raised to reach Z-park height. * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
// */
// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
// reach Z-park height.
//
// P2: The nozzle height will be raised by Z-park amount but never going over
// the machine's limit of Z_MAX_POS.
//
//#define NOZZLE_PARK_FEATURE //#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
@ -1120,44 +1114,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif #endif
// /**
// Clean Nozzle Feature -- EXPERIMENTAL * Clean Nozzle Feature -- EXPERIMENTAL
// *
// When enabled allows the user to send G12 to start the nozzle cleaning * Adds the G12 command to perform a nozzle cleaning process.
// process, the G-Code accepts two parameters: *
// "P" for pattern selection * Parameters:
// "S" for defining the number of strokes/repetitions * P Pattern
// * S Strokes / Repetitions
// Available list of patterns: * T Triangles (P1 only)
// P0: This is the default pattern, this process requires a sponge type *
// material at a fixed bed location. S defines "strokes" i.e. * Patterns:
// back-and-forth movements between the starting and end points. * P0 Straight line (default). This process requires a sponge type material
// * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" * between the start / end points.
// defines the number of zig-zag triangles to be done. "S" defines the *
// number of strokes aka one back-and-forth movement. Zig-zags will * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
// be performed in whichever dimension is smallest. As an example, * number of zig-zag triangles to do. "S" defines the number of strokes.
// sending "G12 P1 S1 T3" will execute: * Zig-zags are done in whichever is the narrower dimension.
// * For example, "G12 P1 S1 T3" will execute:
// -- *
// | (X0, Y1) | /\ /\ /\ | (X1, Y1) * --
// | | / \ / \ / \ | * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
// A | | / \ / \ / \ | * | | / \ / \ / \ |
// | | / \ / \ / \ | * A | | / \ / \ / \ |
// | (X0, Y0) | / \/ \/ \ | (X1, Y0) * | | / \ / \ / \ |
// -- +--------------------------------+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
// |________|_________|_________| * -- +--------------------------------+
// T1 T2 T3 * |________|_________|_________|
// * T1 T2 T3
// P2: This starts a circular pattern with circle with middle in *
// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S. * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. * "R" specifies the radius. "S" specifies the stroke count.
// * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
// Caveats: End point Z should use the same value as Start point Z. *
// * Caveats: The ending Z should be the same as starting Z.
// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments * Attention: EXPERIMENTAL. G-code arguments may change.
// may change to add new functionality like different wipe patterns. *
// */
//#define NOZZLE_CLEAN_FEATURE //#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE) #if ENABLED(NOZZLE_CLEAN_FEATURE)
@ -1182,33 +1176,35 @@
#define NOZZLE_CLEAN_GOBACK #define NOZZLE_CLEAN_GOBACK
#endif #endif
// /**
// Print job timer * Print Job Timer
// *
// Enable this option to automatically start and stop the * Automatically start and stop the print job timer on M104/M109/M190.
// print job timer when M104/M109/M190 commands are received. *
// M104 (extruder without wait) - high temp = none, low temp = stop timer * M104 (hotend, no wait) - high temp = none, low temp = stop timer
// M109 (extruder with wait) - high temp = start timer, low temp = stop timer * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
// M190 (bed with wait) - high temp = start timer, low temp = none * M190 (bed, wait) - high temp = start timer, low temp = none
// *
// In all cases the timer can be started and stopped using * The timer can also be controlled with the following commands:
// the following commands: *
// * M75 - Start the print job timer
// - M75 - Start the print job timer * M76 - Pause the print job timer
// - M76 - Pause the print job timer * M77 - Stop the print job timer
// - M77 - Stop the print job timer */
#define PRINTJOB_TIMER_AUTOSTART #define PRINTJOB_TIMER_AUTOSTART
// /**
// Print Counter * Print Counter
// *
// When enabled Marlin will keep track of some print statistical data such as: * Track statistical data such as:
// - Total print jobs *
// - Total successful print jobs * - Total print jobs
// - Total failed print jobs * - Total successful print jobs
// - Total time printing * - Total failed print jobs
// * - Total time printing
// This information can be viewed by the M78 command. *
* View the current statistics with M78.
*/
//#define PRINTCOUNTER //#define PRINTCOUNTER
//============================================================================= //=============================================================================
@ -1217,78 +1213,79 @@
// @section lcd // @section lcd
// /**
// LCD LANGUAGE * LCD LANGUAGE
// *
// Here you may choose the language used by Marlin on the LCD menus, the following * Select the language to display on the LCD. These languages are available:
// list of languages are available: *
// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
// *
// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
// */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en
// /**
// LCD Character Set * LCD Character Set
// *
// Note: This option is NOT applicable to Graphical Displays. * Note: This option is NOT applicable to Graphical Displays.
// *
// All character-based LCD's provide ASCII plus one of these * All character-based LCDs provide ASCII plus one of these
// language extensions: * language extensions:
// *
// - JAPANESE ... the most common * - JAPANESE ... the most common
// - WESTERN ... with more accented characters * - WESTERN ... with more accented characters
// - CYRILLIC ... for the Russian language * - CYRILLIC ... for the Russian language
// *
// To determine the language extension installed on your controller: * To determine the language extension installed on your controller:
// *
// - Compile and upload with LCD_LANGUAGE set to 'test' * - Compile and upload with LCD_LANGUAGE set to 'test'
// - Click the controller to view the LCD menu * - Click the controller to view the LCD menu
// - The LCD will display Japanese, Western, or Cyrillic text * - The LCD will display Japanese, Western, or Cyrillic text
// *
// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
// *
// :['JAPANESE', 'WESTERN', 'CYRILLIC'] * :['JAPANESE', 'WESTERN', 'CYRILLIC']
// */
#define DISPLAY_CHARSET_HD44780 JAPANESE #define DISPLAY_CHARSET_HD44780 JAPANESE
// /**
// LCD TYPE * LCD TYPE
// *
// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
// (ST7565R family). (This option will be set automatically for certain displays.) * (These options will be enabled automatically for most displays.)
// *
// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! * IMPORTANT: The U8glib library is required for Full Graphic Display!
// https://github.com/olikraus/U8glib_Arduino * https://github.com/olikraus/U8glib_Arduino
// */
//#define ULTRA_LCD // Character based //#define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display //#define DOGLCD // Full graphics display
// /**
// SD CARD * SD CARD
// *
// SD Card support is disabled by default. If your controller has an SD slot, * SD Card support is disabled by default. If your controller has an SD slot,
// you must uncomment the following option or it won't work. * you must uncomment the following option or it won't work.
// *
*/
//#define SDSUPPORT //#define SDSUPPORT
// /**
// SD CARD: SPI SPEED * SD CARD: SPI SPEED
// *
// Uncomment ONE of the following items to use a slower SPI transfer * Enable one of the following items for a slower SPI transfer speed.
// speed. This is usually required if you're getting volume init errors. * This may be required to resolve "volume init" errors.
// */
//#define SPI_SPEED SPI_HALF_SPEED //#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED //#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED //#define SPI_SPEED SPI_EIGHTH_SPEED
// /**
// SD CARD: ENABLE CRC * SD CARD: ENABLE CRC
// *
// Use CRC checks and retries on the SD communication. * Use CRC checks and retries on the SD communication.
// */
//#define SD_CHECK_AND_RETRY //#define SD_CHECK_AND_RETRY
// //
@ -1316,7 +1313,7 @@
*/ */
// //
// This option reverses the encoder direction everywhere // This option reverses the encoder direction everywhere.
// //
// Set this option if CLOCKWISE causes values to DECREASE // Set this option if CLOCKWISE causes values to DECREASE
// //

@ -1102,23 +1102,17 @@
#define PREHEAT_2_TEMP_BED 100 #define PREHEAT_2_TEMP_BED 100
#define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255 #define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255
// /**
// Nozzle Park -- EXPERIMENTAL * Nozzle Park -- EXPERIMENTAL
// *
// When enabled allows the user to define a special XYZ position, inside the * Park the nozzle at the given XYZ position on idle or G27.
// machine's topology, to park the nozzle when idle or when receiving the G27 *
// command. * The "P" parameter controls the action applied to the Z axis:
// *
// The "P" paramenter controls what is the action applied to the Z axis: * P0 (Default) If Z is below park Z raise the nozzle.
// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will * P1 Raise the nozzle always to Z-park height.
// be raised to reach Z-park height. * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
// */
// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
// reach Z-park height.
//
// P2: The nozzle height will be raised by Z-park amount but never going over
// the machine's limit of Z_MAX_POS.
//
//#define NOZZLE_PARK_FEATURE //#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
@ -1126,44 +1120,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif #endif
// /**
// Clean Nozzle Feature -- EXPERIMENTAL * Clean Nozzle Feature -- EXPERIMENTAL
// *
// When enabled allows the user to send G12 to start the nozzle cleaning * Adds the G12 command to perform a nozzle cleaning process.
// process, the G-Code accepts two parameters: *
// "P" for pattern selection * Parameters:
// "S" for defining the number of strokes/repetitions * P Pattern
// * S Strokes / Repetitions
// Available list of patterns: * T Triangles (P1 only)
// P0: This is the default pattern, this process requires a sponge type *
// material at a fixed bed location. S defines "strokes" i.e. * Patterns:
// back-and-forth movements between the starting and end points. * P0 Straight line (default). This process requires a sponge type material
// * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" * between the start / end points.
// defines the number of zig-zag triangles to be done. "S" defines the *
// number of strokes aka one back-and-forth movement. Zig-zags will * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
// be performed in whichever dimension is smallest. As an example, * number of zig-zag triangles to do. "S" defines the number of strokes.
// sending "G12 P1 S1 T3" will execute: * Zig-zags are done in whichever is the narrower dimension.
// * For example, "G12 P1 S1 T3" will execute:
// -- *
// | (X0, Y1) | /\ /\ /\ | (X1, Y1) * --
// | | / \ / \ / \ | * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
// A | | / \ / \ / \ | * | | / \ / \ / \ |
// | | / \ / \ / \ | * A | | / \ / \ / \ |
// | (X0, Y0) | / \/ \/ \ | (X1, Y0) * | | / \ / \ / \ |
// -- +--------------------------------+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
// |________|_________|_________| * -- +--------------------------------+
// T1 T2 T3 * |________|_________|_________|
// * T1 T2 T3
// P2: This starts a circular pattern with circle with middle in *
// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S. * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. * "R" specifies the radius. "S" specifies the stroke count.
// * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
// Caveats: End point Z should use the same value as Start point Z. *
// * Caveats: The ending Z should be the same as starting Z.
// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments * Attention: EXPERIMENTAL. G-code arguments may change.
// may change to add new functionality like different wipe patterns. *
// */
//#define NOZZLE_CLEAN_FEATURE //#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE) #if ENABLED(NOZZLE_CLEAN_FEATURE)
@ -1188,33 +1182,35 @@
#define NOZZLE_CLEAN_GOBACK #define NOZZLE_CLEAN_GOBACK
#endif #endif
// /**
// Print job timer * Print Job Timer
// *
// Enable this option to automatically start and stop the * Automatically start and stop the print job timer on M104/M109/M190.
// print job timer when M104/M109/M190 commands are received. *
// M104 (extruder without wait) - high temp = none, low temp = stop timer * M104 (hotend, no wait) - high temp = none, low temp = stop timer
// M109 (extruder with wait) - high temp = start timer, low temp = stop timer * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
// M190 (bed with wait) - high temp = start timer, low temp = none * M190 (bed, wait) - high temp = start timer, low temp = none
// *
// In all cases the timer can be started and stopped using * The timer can also be controlled with the following commands:
// the following commands: *
// * M75 - Start the print job timer
// - M75 - Start the print job timer * M76 - Pause the print job timer
// - M76 - Pause the print job timer * M77 - Stop the print job timer
// - M77 - Stop the print job timer */
#define PRINTJOB_TIMER_AUTOSTART #define PRINTJOB_TIMER_AUTOSTART
// /**
// Print Counter * Print Counter
// *
// When enabled Marlin will keep track of some print statistical data such as: * Track statistical data such as:
// - Total print jobs *
// - Total successful print jobs * - Total print jobs
// - Total failed print jobs * - Total successful print jobs
// - Total time printing * - Total failed print jobs
// * - Total time printing
// This information can be viewed by the M78 command. *
* View the current statistics with M78.
*/
//#define PRINTCOUNTER //#define PRINTCOUNTER
//============================================================================= //=============================================================================
@ -1223,78 +1219,79 @@
// @section lcd // @section lcd
// /**
// LCD LANGUAGE * LCD LANGUAGE
// *
// Here you may choose the language used by Marlin on the LCD menus, the following * Select the language to display on the LCD. These languages are available:
// list of languages are available: *
// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
// *
// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
// */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en
// /**
// LCD Character Set * LCD Character Set
// *
// Note: This option is NOT applicable to Graphical Displays. * Note: This option is NOT applicable to Graphical Displays.
// *
// All character-based LCD's provide ASCII plus one of these * All character-based LCDs provide ASCII plus one of these
// language extensions: * language extensions:
// *
// - JAPANESE ... the most common * - JAPANESE ... the most common
// - WESTERN ... with more accented characters * - WESTERN ... with more accented characters
// - CYRILLIC ... for the Russian language * - CYRILLIC ... for the Russian language
// *
// To determine the language extension installed on your controller: * To determine the language extension installed on your controller:
// *
// - Compile and upload with LCD_LANGUAGE set to 'test' * - Compile and upload with LCD_LANGUAGE set to 'test'
// - Click the controller to view the LCD menu * - Click the controller to view the LCD menu
// - The LCD will display Japanese, Western, or Cyrillic text * - The LCD will display Japanese, Western, or Cyrillic text
// *
// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
// *
// :['JAPANESE', 'WESTERN', 'CYRILLIC'] * :['JAPANESE', 'WESTERN', 'CYRILLIC']
// */
#define DISPLAY_CHARSET_HD44780 JAPANESE #define DISPLAY_CHARSET_HD44780 JAPANESE
// /**
// LCD TYPE * LCD TYPE
// *
// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
// (ST7565R family). (This option will be set automatically for certain displays.) * (These options will be enabled automatically for most displays.)
// *
// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! * IMPORTANT: The U8glib library is required for Full Graphic Display!
// https://github.com/olikraus/U8glib_Arduino * https://github.com/olikraus/U8glib_Arduino
// */
//#define ULTRA_LCD // Character based //#define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display //#define DOGLCD // Full graphics display
// /**
// SD CARD * SD CARD
// *
// SD Card support is disabled by default. If your controller has an SD slot, * SD Card support is disabled by default. If your controller has an SD slot,
// you must uncomment the following option or it won't work. * you must uncomment the following option or it won't work.
// *
*/
#define SDSUPPORT #define SDSUPPORT
// /**
// SD CARD: SPI SPEED * SD CARD: SPI SPEED
// *
// Uncomment ONE of the following items to use a slower SPI transfer * Enable one of the following items for a slower SPI transfer speed.
// speed. This is usually required if you're getting volume init errors. * This may be required to resolve "volume init" errors.
// */
//#define SPI_SPEED SPI_HALF_SPEED //#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED //#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED //#define SPI_SPEED SPI_EIGHTH_SPEED
// /**
// SD CARD: ENABLE CRC * SD CARD: ENABLE CRC
// *
// Use CRC checks and retries on the SD communication. * Use CRC checks and retries on the SD communication.
// */
//#define SD_CHECK_AND_RETRY //#define SD_CHECK_AND_RETRY
// //
@ -1322,7 +1319,7 @@
*/ */
// //
// This option reverses the encoder direction everywhere // This option reverses the encoder direction everywhere.
// //
// Set this option if CLOCKWISE causes values to DECREASE // Set this option if CLOCKWISE causes values to DECREASE
// //

@ -1160,23 +1160,17 @@
#define PREHEAT_2_TEMP_BED 100 #define PREHEAT_2_TEMP_BED 100
#define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255 #define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255
// /**
// Nozzle Park -- EXPERIMENTAL * Nozzle Park -- EXPERIMENTAL
// *
// When enabled allows the user to define a special XYZ position, inside the * Park the nozzle at the given XYZ position on idle or G27.
// machine's topology, to park the nozzle when idle or when receiving the G27 *
// command. * The "P" parameter controls the action applied to the Z axis:
// *
// The "P" paramenter controls what is the action applied to the Z axis: * P0 (Default) If Z is below park Z raise the nozzle.
// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will * P1 Raise the nozzle always to Z-park height.
// be raised to reach Z-park height. * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
// */
// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
// reach Z-park height.
//
// P2: The nozzle height will be raised by Z-park amount but never going over
// the machine's limit of Z_MAX_POS.
//
//#define NOZZLE_PARK_FEATURE //#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
@ -1184,44 +1178,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif #endif
// /**
// Clean Nozzle Feature -- EXPERIMENTAL * Clean Nozzle Feature -- EXPERIMENTAL
// *
// When enabled allows the user to send G12 to start the nozzle cleaning * Adds the G12 command to perform a nozzle cleaning process.
// process, the G-Code accepts two parameters: *
// "P" for pattern selection * Parameters:
// "S" for defining the number of strokes/repetitions * P Pattern
// * S Strokes / Repetitions
// Available list of patterns: * T Triangles (P1 only)
// P0: This is the default pattern, this process requires a sponge type *
// material at a fixed bed location. S defines "strokes" i.e. * Patterns:
// back-and-forth movements between the starting and end points. * P0 Straight line (default). This process requires a sponge type material
// * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" * between the start / end points.
// defines the number of zig-zag triangles to be done. "S" defines the *
// number of strokes aka one back-and-forth movement. Zig-zags will * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
// be performed in whichever dimension is smallest. As an example, * number of zig-zag triangles to do. "S" defines the number of strokes.
// sending "G12 P1 S1 T3" will execute: * Zig-zags are done in whichever is the narrower dimension.
// * For example, "G12 P1 S1 T3" will execute:
// -- *
// | (X0, Y1) | /\ /\ /\ | (X1, Y1) * --
// | | / \ / \ / \ | * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
// A | | / \ / \ / \ | * | | / \ / \ / \ |
// | | / \ / \ / \ | * A | | / \ / \ / \ |
// | (X0, Y0) | / \/ \/ \ | (X1, Y0) * | | / \ / \ / \ |
// -- +--------------------------------+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
// |________|_________|_________| * -- +--------------------------------+
// T1 T2 T3 * |________|_________|_________|
// * T1 T2 T3
// P2: This starts a circular pattern with circle with middle in *
// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S. * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. * "R" specifies the radius. "S" specifies the stroke count.
// * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
// Caveats: End point Z should use the same value as Start point Z. *
// * Caveats: The ending Z should be the same as starting Z.
// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments * Attention: EXPERIMENTAL. G-code arguments may change.
// may change to add new functionality like different wipe patterns. *
// */
//#define NOZZLE_CLEAN_FEATURE //#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE) #if ENABLED(NOZZLE_CLEAN_FEATURE)
@ -1246,33 +1240,35 @@
#define NOZZLE_CLEAN_GOBACK #define NOZZLE_CLEAN_GOBACK
#endif #endif
// /**
// Print job timer * Print Job Timer
// *
// Enable this option to automatically start and stop the * Automatically start and stop the print job timer on M104/M109/M190.
// print job timer when M104/M109/M190 commands are received. *
// M104 (extruder without wait) - high temp = none, low temp = stop timer * M104 (hotend, no wait) - high temp = none, low temp = stop timer
// M109 (extruder with wait) - high temp = start timer, low temp = stop timer * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
// M190 (bed with wait) - high temp = start timer, low temp = none * M190 (bed, wait) - high temp = start timer, low temp = none
// *
// In all cases the timer can be started and stopped using * The timer can also be controlled with the following commands:
// the following commands: *
// * M75 - Start the print job timer
// - M75 - Start the print job timer * M76 - Pause the print job timer
// - M76 - Pause the print job timer * M77 - Stop the print job timer
// - M77 - Stop the print job timer */
#define PRINTJOB_TIMER_AUTOSTART #define PRINTJOB_TIMER_AUTOSTART
// /**
// Print Counter * Print Counter
// *
// When enabled Marlin will keep track of some print statistical data such as: * Track statistical data such as:
// - Total print jobs *
// - Total successful print jobs * - Total print jobs
// - Total failed print jobs * - Total successful print jobs
// - Total time printing * - Total failed print jobs
// * - Total time printing
// This information can be viewed by the M78 command. *
* View the current statistics with M78.
*/
//#define PRINTCOUNTER //#define PRINTCOUNTER
//============================================================================= //=============================================================================
@ -1281,78 +1277,79 @@
// @section lcd // @section lcd
// /**
// LCD LANGUAGE * LCD LANGUAGE
// *
// Here you may choose the language used by Marlin on the LCD menus, the following * Select the language to display on the LCD. These languages are available:
// list of languages are available: *
// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
// *
// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
// */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en
// /**
// LCD Character Set * LCD Character Set
// *
// Note: This option is NOT applicable to Graphical Displays. * Note: This option is NOT applicable to Graphical Displays.
// *
// All character-based LCD's provide ASCII plus one of these * All character-based LCDs provide ASCII plus one of these
// language extensions: * language extensions:
// *
// - JAPANESE ... the most common * - JAPANESE ... the most common
// - WESTERN ... with more accented characters * - WESTERN ... with more accented characters
// - CYRILLIC ... for the Russian language * - CYRILLIC ... for the Russian language
// *
// To determine the language extension installed on your controller: * To determine the language extension installed on your controller:
// *
// - Compile and upload with LCD_LANGUAGE set to 'test' * - Compile and upload with LCD_LANGUAGE set to 'test'
// - Click the controller to view the LCD menu * - Click the controller to view the LCD menu
// - The LCD will display Japanese, Western, or Cyrillic text * - The LCD will display Japanese, Western, or Cyrillic text
// *
// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
// *
// :['JAPANESE', 'WESTERN', 'CYRILLIC'] * :['JAPANESE', 'WESTERN', 'CYRILLIC']
// */
#define DISPLAY_CHARSET_HD44780 JAPANESE #define DISPLAY_CHARSET_HD44780 JAPANESE
// /**
// LCD TYPE * LCD TYPE
// *
// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
// (ST7565R family). (This option will be set automatically for certain displays.) * (These options will be enabled automatically for most displays.)
// *
// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! * IMPORTANT: The U8glib library is required for Full Graphic Display!
// https://github.com/olikraus/U8glib_Arduino * https://github.com/olikraus/U8glib_Arduino
// */
//#define ULTRA_LCD // Character based //#define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display //#define DOGLCD // Full graphics display
// /**
// SD CARD * SD CARD
// *
// SD Card support is disabled by default. If your controller has an SD slot, * SD Card support is disabled by default. If your controller has an SD slot,
// you must uncomment the following option or it won't work. * you must uncomment the following option or it won't work.
// *
*/
//#define SDSUPPORT //#define SDSUPPORT
// /**
// SD CARD: SPI SPEED * SD CARD: SPI SPEED
// *
// Uncomment ONE of the following items to use a slower SPI transfer * Enable one of the following items for a slower SPI transfer speed.
// speed. This is usually required if you're getting volume init errors. * This may be required to resolve "volume init" errors.
// */
//#define SPI_SPEED SPI_HALF_SPEED //#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED //#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED //#define SPI_SPEED SPI_EIGHTH_SPEED
// /**
// SD CARD: ENABLE CRC * SD CARD: ENABLE CRC
// *
// Use CRC checks and retries on the SD communication. * Use CRC checks and retries on the SD communication.
// */
//#define SD_CHECK_AND_RETRY //#define SD_CHECK_AND_RETRY
// //
@ -1380,7 +1377,7 @@
*/ */
// //
// This option reverses the encoder direction everywhere // This option reverses the encoder direction everywhere.
// //
// Set this option if CLOCKWISE causes values to DECREASE // Set this option if CLOCKWISE causes values to DECREASE
// //

@ -971,23 +971,17 @@
#define PREHEAT_2_TEMP_BED 110 #define PREHEAT_2_TEMP_BED 110
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 #define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
// /**
// Nozzle Park -- EXPERIMENTAL * Nozzle Park -- EXPERIMENTAL
// *
// When enabled allows the user to define a special XYZ position, inside the * Park the nozzle at the given XYZ position on idle or G27.
// machine's topology, to park the nozzle when idle or when receiving the G27 *
// command. * The "P" parameter controls the action applied to the Z axis:
// *
// The "P" paramenter controls what is the action applied to the Z axis: * P0 (Default) If Z is below park Z raise the nozzle.
// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will * P1 Raise the nozzle always to Z-park height.
// be raised to reach Z-park height. * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
// */
// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
// reach Z-park height.
//
// P2: The nozzle height will be raised by Z-park amount but never going over
// the machine's limit of Z_MAX_POS.
//
//#define NOZZLE_PARK_FEATURE //#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
@ -995,44 +989,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif #endif
// /**
// Clean Nozzle Feature -- EXPERIMENTAL * Clean Nozzle Feature -- EXPERIMENTAL
// *
// When enabled allows the user to send G12 to start the nozzle cleaning * Adds the G12 command to perform a nozzle cleaning process.
// process, the G-Code accepts two parameters: *
// "P" for pattern selection * Parameters:
// "S" for defining the number of strokes/repetitions * P Pattern
// * S Strokes / Repetitions
// Available list of patterns: * T Triangles (P1 only)
// P0: This is the default pattern, this process requires a sponge type *
// material at a fixed bed location. S defines "strokes" i.e. * Patterns:
// back-and-forth movements between the starting and end points. * P0 Straight line (default). This process requires a sponge type material
// * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" * between the start / end points.
// defines the number of zig-zag triangles to be done. "S" defines the *
// number of strokes aka one back-and-forth movement. Zig-zags will * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
// be performed in whichever dimension is smallest. As an example, * number of zig-zag triangles to do. "S" defines the number of strokes.
// sending "G12 P1 S1 T3" will execute: * Zig-zags are done in whichever is the narrower dimension.
// * For example, "G12 P1 S1 T3" will execute:
// -- *
// | (X0, Y1) | /\ /\ /\ | (X1, Y1) * --
// | | / \ / \ / \ | * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
// A | | / \ / \ / \ | * | | / \ / \ / \ |
// | | / \ / \ / \ | * A | | / \ / \ / \ |
// | (X0, Y0) | / \/ \/ \ | (X1, Y0) * | | / \ / \ / \ |
// -- +--------------------------------+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
// |________|_________|_________| * -- +--------------------------------+
// T1 T2 T3 * |________|_________|_________|
// * T1 T2 T3
// P2: This starts a circular pattern with circle with middle in *
// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S. * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. * "R" specifies the radius. "S" specifies the stroke count.
// * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
// Caveats: End point Z should use the same value as Start point Z. *
// * Caveats: The ending Z should be the same as starting Z.
// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments * Attention: EXPERIMENTAL. G-code arguments may change.
// may change to add new functionality like different wipe patterns. *
// */
//#define NOZZLE_CLEAN_FEATURE //#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE) #if ENABLED(NOZZLE_CLEAN_FEATURE)
@ -1057,33 +1051,35 @@
#define NOZZLE_CLEAN_GOBACK #define NOZZLE_CLEAN_GOBACK
#endif #endif
// /**
// Print job timer * Print Job Timer
// *
// Enable this option to automatically start and stop the * Automatically start and stop the print job timer on M104/M109/M190.
// print job timer when M104/M109/M190 commands are received. *
// M104 (extruder without wait) - high temp = none, low temp = stop timer * M104 (hotend, no wait) - high temp = none, low temp = stop timer
// M109 (extruder with wait) - high temp = start timer, low temp = stop timer * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
// M190 (bed with wait) - high temp = start timer, low temp = none * M190 (bed, wait) - high temp = start timer, low temp = none
// *
// In all cases the timer can be started and stopped using * The timer can also be controlled with the following commands:
// the following commands: *
// * M75 - Start the print job timer
// - M75 - Start the print job timer * M76 - Pause the print job timer
// - M76 - Pause the print job timer * M77 - Stop the print job timer
// - M77 - Stop the print job timer */
#define PRINTJOB_TIMER_AUTOSTART #define PRINTJOB_TIMER_AUTOSTART
// /**
// Print Counter * Print Counter
// *
// When enabled Marlin will keep track of some print statistical data such as: * Track statistical data such as:
// - Total print jobs *
// - Total successful print jobs * - Total print jobs
// - Total failed print jobs * - Total successful print jobs
// - Total time printing * - Total failed print jobs
// * - Total time printing
// This information can be viewed by the M78 command. *
* View the current statistics with M78.
*/
//#define PRINTCOUNTER //#define PRINTCOUNTER
//============================================================================= //=============================================================================
@ -1092,78 +1088,79 @@
// @section lcd // @section lcd
// /**
// LCD LANGUAGE * LCD LANGUAGE
// *
// Here you may choose the language used by Marlin on the LCD menus, the following * Select the language to display on the LCD. These languages are available:
// list of languages are available: *
// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
// *
// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
// */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en
// /**
// LCD Character Set * LCD Character Set
// *
// Note: This option is NOT applicable to Graphical Displays. * Note: This option is NOT applicable to Graphical Displays.
// *
// All character-based LCD's provide ASCII plus one of these * All character-based LCDs provide ASCII plus one of these
// language extensions: * language extensions:
// *
// - JAPANESE ... the most common * - JAPANESE ... the most common
// - WESTERN ... with more accented characters * - WESTERN ... with more accented characters
// - CYRILLIC ... for the Russian language * - CYRILLIC ... for the Russian language
// *
// To determine the language extension installed on your controller: * To determine the language extension installed on your controller:
// *
// - Compile and upload with LCD_LANGUAGE set to 'test' * - Compile and upload with LCD_LANGUAGE set to 'test'
// - Click the controller to view the LCD menu * - Click the controller to view the LCD menu
// - The LCD will display Japanese, Western, or Cyrillic text * - The LCD will display Japanese, Western, or Cyrillic text
// *
// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
// *
// :['JAPANESE', 'WESTERN', 'CYRILLIC'] * :['JAPANESE', 'WESTERN', 'CYRILLIC']
// */
#define DISPLAY_CHARSET_HD44780 JAPANESE #define DISPLAY_CHARSET_HD44780 JAPANESE
// /**
// LCD TYPE * LCD TYPE
// *
// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
// (ST7565R family). (This option will be set automatically for certain displays.) * (These options will be enabled automatically for most displays.)
// *
// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! * IMPORTANT: The U8glib library is required for Full Graphic Display!
// https://github.com/olikraus/U8glib_Arduino * https://github.com/olikraus/U8glib_Arduino
// */
//#define ULTRA_LCD // Character based //#define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display //#define DOGLCD // Full graphics display
// /**
// SD CARD * SD CARD
// *
// SD Card support is disabled by default. If your controller has an SD slot, * SD Card support is disabled by default. If your controller has an SD slot,
// you must uncomment the following option or it won't work. * you must uncomment the following option or it won't work.
// *
*/
#define SDSUPPORT #define SDSUPPORT
// /**
// SD CARD: SPI SPEED * SD CARD: SPI SPEED
// *
// Uncomment ONE of the following items to use a slower SPI transfer * Enable one of the following items for a slower SPI transfer speed.
// speed. This is usually required if you're getting volume init errors. * This may be required to resolve "volume init" errors.
// */
//#define SPI_SPEED SPI_HALF_SPEED //#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED //#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED //#define SPI_SPEED SPI_EIGHTH_SPEED
// /**
// SD CARD: ENABLE CRC * SD CARD: ENABLE CRC
// *
// Use CRC checks and retries on the SD communication. * Use CRC checks and retries on the SD communication.
// */
#define SD_CHECK_AND_RETRY #define SD_CHECK_AND_RETRY
// //
@ -1191,7 +1188,7 @@
*/ */
// //
// This option reverses the encoder direction everywhere // This option reverses the encoder direction everywhere.
// //
// Set this option if CLOCKWISE causes values to DECREASE // Set this option if CLOCKWISE causes values to DECREASE
// //

@ -989,23 +989,17 @@
#define PREHEAT_2_TEMP_BED 100 #define PREHEAT_2_TEMP_BED 100
#define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255 #define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255
// /**
// Nozzle Park -- EXPERIMENTAL * Nozzle Park -- EXPERIMENTAL
// *
// When enabled allows the user to define a special XYZ position, inside the * Park the nozzle at the given XYZ position on idle or G27.
// machine's topology, to park the nozzle when idle or when receiving the G27 *
// command. * The "P" parameter controls the action applied to the Z axis:
// *
// The "P" paramenter controls what is the action applied to the Z axis: * P0 (Default) If Z is below park Z raise the nozzle.
// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will * P1 Raise the nozzle always to Z-park height.
// be raised to reach Z-park height. * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
// */
// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
// reach Z-park height.
//
// P2: The nozzle height will be raised by Z-park amount but never going over
// the machine's limit of Z_MAX_POS.
//
//#define NOZZLE_PARK_FEATURE //#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
@ -1013,44 +1007,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif #endif
// /**
// Clean Nozzle Feature -- EXPERIMENTAL * Clean Nozzle Feature -- EXPERIMENTAL
// *
// When enabled allows the user to send G12 to start the nozzle cleaning * Adds the G12 command to perform a nozzle cleaning process.
// process, the G-Code accepts two parameters: *
// "P" for pattern selection * Parameters:
// "S" for defining the number of strokes/repetitions * P Pattern
// * S Strokes / Repetitions
// Available list of patterns: * T Triangles (P1 only)
// P0: This is the default pattern, this process requires a sponge type *
// material at a fixed bed location. S defines "strokes" i.e. * Patterns:
// back-and-forth movements between the starting and end points. * P0 Straight line (default). This process requires a sponge type material
// * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" * between the start / end points.
// defines the number of zig-zag triangles to be done. "S" defines the *
// number of strokes aka one back-and-forth movement. Zig-zags will * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
// be performed in whichever dimension is smallest. As an example, * number of zig-zag triangles to do. "S" defines the number of strokes.
// sending "G12 P1 S1 T3" will execute: * Zig-zags are done in whichever is the narrower dimension.
// * For example, "G12 P1 S1 T3" will execute:
// -- *
// | (X0, Y1) | /\ /\ /\ | (X1, Y1) * --
// | | / \ / \ / \ | * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
// A | | / \ / \ / \ | * | | / \ / \ / \ |
// | | / \ / \ / \ | * A | | / \ / \ / \ |
// | (X0, Y0) | / \/ \/ \ | (X1, Y0) * | | / \ / \ / \ |
// -- +--------------------------------+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
// |________|_________|_________| * -- +--------------------------------+
// T1 T2 T3 * |________|_________|_________|
// * T1 T2 T3
// P2: This starts a circular pattern with circle with middle in *
// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S. * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. * "R" specifies the radius. "S" specifies the stroke count.
// * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
// Caveats: End point Z should use the same value as Start point Z. *
// * Caveats: The ending Z should be the same as starting Z.
// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments * Attention: EXPERIMENTAL. G-code arguments may change.
// may change to add new functionality like different wipe patterns. *
// */
//#define NOZZLE_CLEAN_FEATURE //#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE) #if ENABLED(NOZZLE_CLEAN_FEATURE)
@ -1075,33 +1069,35 @@
#define NOZZLE_CLEAN_GOBACK #define NOZZLE_CLEAN_GOBACK
#endif #endif
// /**
// Print job timer * Print Job Timer
// *
// Enable this option to automatically start and stop the * Automatically start and stop the print job timer on M104/M109/M190.
// print job timer when M104/M109/M190 commands are received. *
// M104 (extruder without wait) - high temp = none, low temp = stop timer * M104 (hotend, no wait) - high temp = none, low temp = stop timer
// M109 (extruder with wait) - high temp = start timer, low temp = stop timer * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
// M190 (bed with wait) - high temp = start timer, low temp = none * M190 (bed, wait) - high temp = start timer, low temp = none
// *
// In all cases the timer can be started and stopped using * The timer can also be controlled with the following commands:
// the following commands: *
// * M75 - Start the print job timer
// - M75 - Start the print job timer * M76 - Pause the print job timer
// - M76 - Pause the print job timer * M77 - Stop the print job timer
// - M77 - Stop the print job timer */
#define PRINTJOB_TIMER_AUTOSTART #define PRINTJOB_TIMER_AUTOSTART
// /**
// Print Counter * Print Counter
// *
// When enabled Marlin will keep track of some print statistical data such as: * Track statistical data such as:
// - Total print jobs *
// - Total successful print jobs * - Total print jobs
// - Total failed print jobs * - Total successful print jobs
// - Total time printing * - Total failed print jobs
// * - Total time printing
// This information can be viewed by the M78 command. *
* View the current statistics with M78.
*/
//#define PRINTCOUNTER //#define PRINTCOUNTER
//============================================================================= //=============================================================================
@ -1110,78 +1106,79 @@
// @section lcd // @section lcd
// /**
// LCD LANGUAGE * LCD LANGUAGE
// *
// Here you may choose the language used by Marlin on the LCD menus, the following * Select the language to display on the LCD. These languages are available:
// list of languages are available: *
// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
// *
// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
// */
//#define LCD_LANGUAGE en //#define LCD_LANGUAGE en
// /**
// LCD Character Set * LCD Character Set
// *
// Note: This option is NOT applicable to Graphical Displays. * Note: This option is NOT applicable to Graphical Displays.
// *
// All character-based LCD's provide ASCII plus one of these * All character-based LCDs provide ASCII plus one of these
// language extensions: * language extensions:
// *
// - JAPANESE ... the most common * - JAPANESE ... the most common
// - WESTERN ... with more accented characters * - WESTERN ... with more accented characters
// - CYRILLIC ... for the Russian language * - CYRILLIC ... for the Russian language
// *
// To determine the language extension installed on your controller: * To determine the language extension installed on your controller:
// *
// - Compile and upload with LCD_LANGUAGE set to 'test' * - Compile and upload with LCD_LANGUAGE set to 'test'
// - Click the controller to view the LCD menu * - Click the controller to view the LCD menu
// - The LCD will display Japanese, Western, or Cyrillic text * - The LCD will display Japanese, Western, or Cyrillic text
// *
// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
// *
// :['JAPANESE', 'WESTERN', 'CYRILLIC'] * :['JAPANESE', 'WESTERN', 'CYRILLIC']
// */
#define DISPLAY_CHARSET_HD44780 JAPANESE #define DISPLAY_CHARSET_HD44780 JAPANESE
// /**
// LCD TYPE * LCD TYPE
// *
// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
// (ST7565R family). (This option will be set automatically for certain displays.) * (These options will be enabled automatically for most displays.)
// *
// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! * IMPORTANT: The U8glib library is required for Full Graphic Display!
// https://github.com/olikraus/U8glib_Arduino * https://github.com/olikraus/U8glib_Arduino
// */
//#define ULTRA_LCD // Character based //#define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display //#define DOGLCD // Full graphics display
// /**
// SD CARD * SD CARD
// *
// SD Card support is disabled by default. If your controller has an SD slot, * SD Card support is disabled by default. If your controller has an SD slot,
// you must uncomment the following option or it won't work. * you must uncomment the following option or it won't work.
// *
*/
#define SDSUPPORT #define SDSUPPORT
// /**
// SD CARD: SPI SPEED * SD CARD: SPI SPEED
// *
// Uncomment ONE of the following items to use a slower SPI transfer * Enable one of the following items for a slower SPI transfer speed.
// speed. This is usually required if you're getting volume init errors. * This may be required to resolve "volume init" errors.
// */
#define SPI_SPEED SPI_HALF_SPEED #define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED //#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED //#define SPI_SPEED SPI_EIGHTH_SPEED
// /**
// SD CARD: ENABLE CRC * SD CARD: ENABLE CRC
// *
// Use CRC checks and retries on the SD communication. * Use CRC checks and retries on the SD communication.
// */
//#define SD_CHECK_AND_RETRY //#define SD_CHECK_AND_RETRY
// //
@ -1209,7 +1206,7 @@
*/ */
// //
// This option reverses the encoder direction everywhere // This option reverses the encoder direction everywhere.
// //
// Set this option if CLOCKWISE causes values to DECREASE // Set this option if CLOCKWISE causes values to DECREASE
// //

@ -982,23 +982,17 @@
#define PREHEAT_2_TEMP_BED 100 #define PREHEAT_2_TEMP_BED 100
#define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255 #define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255
// /**
// Nozzle Park -- EXPERIMENTAL * Nozzle Park -- EXPERIMENTAL
// *
// When enabled allows the user to define a special XYZ position, inside the * Park the nozzle at the given XYZ position on idle or G27.
// machine's topology, to park the nozzle when idle or when receiving the G27 *
// command. * The "P" parameter controls the action applied to the Z axis:
// *
// The "P" paramenter controls what is the action applied to the Z axis: * P0 (Default) If Z is below park Z raise the nozzle.
// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will * P1 Raise the nozzle always to Z-park height.
// be raised to reach Z-park height. * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
// */
// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
// reach Z-park height.
//
// P2: The nozzle height will be raised by Z-park amount but never going over
// the machine's limit of Z_MAX_POS.
//
//#define NOZZLE_PARK_FEATURE //#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
@ -1006,44 +1000,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif #endif
// /**
// Clean Nozzle Feature -- EXPERIMENTAL * Clean Nozzle Feature -- EXPERIMENTAL
// *
// When enabled allows the user to send G12 to start the nozzle cleaning * Adds the G12 command to perform a nozzle cleaning process.
// process, the G-Code accepts two parameters: *
// "P" for pattern selection * Parameters:
// "S" for defining the number of strokes/repetitions * P Pattern
// * S Strokes / Repetitions
// Available list of patterns: * T Triangles (P1 only)
// P0: This is the default pattern, this process requires a sponge type *
// material at a fixed bed location. S defines "strokes" i.e. * Patterns:
// back-and-forth movements between the starting and end points. * P0 Straight line (default). This process requires a sponge type material
// * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" * between the start / end points.
// defines the number of zig-zag triangles to be done. "S" defines the *
// number of strokes aka one back-and-forth movement. Zig-zags will * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
// be performed in whichever dimension is smallest. As an example, * number of zig-zag triangles to do. "S" defines the number of strokes.
// sending "G12 P1 S1 T3" will execute: * Zig-zags are done in whichever is the narrower dimension.
// * For example, "G12 P1 S1 T3" will execute:
// -- *
// | (X0, Y1) | /\ /\ /\ | (X1, Y1) * --
// | | / \ / \ / \ | * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
// A | | / \ / \ / \ | * | | / \ / \ / \ |
// | | / \ / \ / \ | * A | | / \ / \ / \ |
// | (X0, Y0) | / \/ \/ \ | (X1, Y0) * | | / \ / \ / \ |
// -- +--------------------------------+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
// |________|_________|_________| * -- +--------------------------------+
// T1 T2 T3 * |________|_________|_________|
// * T1 T2 T3
// P2: This starts a circular pattern with circle with middle in *
// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S. * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. * "R" specifies the radius. "S" specifies the stroke count.
// * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
// Caveats: End point Z should use the same value as Start point Z. *
// * Caveats: The ending Z should be the same as starting Z.
// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments * Attention: EXPERIMENTAL. G-code arguments may change.
// may change to add new functionality like different wipe patterns. *
// */
//#define NOZZLE_CLEAN_FEATURE //#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE) #if ENABLED(NOZZLE_CLEAN_FEATURE)
@ -1068,33 +1062,35 @@
#define NOZZLE_CLEAN_GOBACK #define NOZZLE_CLEAN_GOBACK
#endif #endif
// /**
// Print job timer * Print Job Timer
// *
// Enable this option to automatically start and stop the * Automatically start and stop the print job timer on M104/M109/M190.
// print job timer when M104/M109/M190 commands are received. *
// M104 (extruder without wait) - high temp = none, low temp = stop timer * M104 (hotend, no wait) - high temp = none, low temp = stop timer
// M109 (extruder with wait) - high temp = start timer, low temp = stop timer * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
// M190 (bed with wait) - high temp = start timer, low temp = none * M190 (bed, wait) - high temp = start timer, low temp = none
// *
// In all cases the timer can be started and stopped using * The timer can also be controlled with the following commands:
// the following commands: *
// * M75 - Start the print job timer
// - M75 - Start the print job timer * M76 - Pause the print job timer
// - M76 - Pause the print job timer * M77 - Stop the print job timer
// - M77 - Stop the print job timer */
#define PRINTJOB_TIMER_AUTOSTART #define PRINTJOB_TIMER_AUTOSTART
// /**
// Print Counter * Print Counter
// *
// When enabled Marlin will keep track of some print statistical data such as: * Track statistical data such as:
// - Total print jobs *
// - Total successful print jobs * - Total print jobs
// - Total failed print jobs * - Total successful print jobs
// - Total time printing * - Total failed print jobs
// * - Total time printing
// This information can be viewed by the M78 command. *
* View the current statistics with M78.
*/
//#define PRINTCOUNTER //#define PRINTCOUNTER
//============================================================================= //=============================================================================
@ -1103,78 +1099,79 @@
// @section lcd // @section lcd
// /**
// LCD LANGUAGE * LCD LANGUAGE
// *
// Here you may choose the language used by Marlin on the LCD menus, the following * Select the language to display on the LCD. These languages are available:
// list of languages are available: *
// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
// *
// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
// */
//#define LCD_LANGUAGE en //#define LCD_LANGUAGE en
// /**
// LCD Character Set * LCD Character Set
// *
// Note: This option is NOT applicable to Graphical Displays. * Note: This option is NOT applicable to Graphical Displays.
// *
// All character-based LCD's provide ASCII plus one of these * All character-based LCDs provide ASCII plus one of these
// language extensions: * language extensions:
// *
// - JAPANESE ... the most common * - JAPANESE ... the most common
// - WESTERN ... with more accented characters * - WESTERN ... with more accented characters
// - CYRILLIC ... for the Russian language * - CYRILLIC ... for the Russian language
// *
// To determine the language extension installed on your controller: * To determine the language extension installed on your controller:
// *
// - Compile and upload with LCD_LANGUAGE set to 'test' * - Compile and upload with LCD_LANGUAGE set to 'test'
// - Click the controller to view the LCD menu * - Click the controller to view the LCD menu
// - The LCD will display Japanese, Western, or Cyrillic text * - The LCD will display Japanese, Western, or Cyrillic text
// *
// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
// *
// :['JAPANESE', 'WESTERN', 'CYRILLIC'] * :['JAPANESE', 'WESTERN', 'CYRILLIC']
// */
#define DISPLAY_CHARSET_HD44780 JAPANESE #define DISPLAY_CHARSET_HD44780 JAPANESE
// /**
// LCD TYPE * LCD TYPE
// *
// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
// (ST7565R family). (This option will be set automatically for certain displays.) * (These options will be enabled automatically for most displays.)
// *
// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! * IMPORTANT: The U8glib library is required for Full Graphic Display!
// https://github.com/olikraus/U8glib_Arduino * https://github.com/olikraus/U8glib_Arduino
// */
//#define ULTRA_LCD // Character based //#define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display //#define DOGLCD // Full graphics display
// /**
// SD CARD * SD CARD
// *
// SD Card support is disabled by default. If your controller has an SD slot, * SD Card support is disabled by default. If your controller has an SD slot,
// you must uncomment the following option or it won't work. * you must uncomment the following option or it won't work.
// *
*/
//#define SDSUPPORT //#define SDSUPPORT
// /**
// SD CARD: SPI SPEED * SD CARD: SPI SPEED
// *
// Uncomment ONE of the following items to use a slower SPI transfer * Enable one of the following items for a slower SPI transfer speed.
// speed. This is usually required if you're getting volume init errors. * This may be required to resolve "volume init" errors.
// */
//#define SPI_SPEED SPI_HALF_SPEED //#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED //#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED //#define SPI_SPEED SPI_EIGHTH_SPEED
// /**
// SD CARD: ENABLE CRC * SD CARD: ENABLE CRC
// *
// Use CRC checks and retries on the SD communication. * Use CRC checks and retries on the SD communication.
// */
//#define SD_CHECK_AND_RETRY //#define SD_CHECK_AND_RETRY
// //
@ -1202,7 +1199,7 @@
*/ */
// //
// This option reverses the encoder direction everywhere // This option reverses the encoder direction everywhere.
// //
// Set this option if CLOCKWISE causes values to DECREASE // Set this option if CLOCKWISE causes values to DECREASE
// //

@ -991,23 +991,17 @@
#define PREHEAT_2_TEMP_BED 110 #define PREHEAT_2_TEMP_BED 110
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 #define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
// /**
// Nozzle Park -- EXPERIMENTAL * Nozzle Park -- EXPERIMENTAL
// *
// When enabled allows the user to define a special XYZ position, inside the * Park the nozzle at the given XYZ position on idle or G27.
// machine's topology, to park the nozzle when idle or when receiving the G27 *
// command. * The "P" parameter controls the action applied to the Z axis:
// *
// The "P" paramenter controls what is the action applied to the Z axis: * P0 (Default) If Z is below park Z raise the nozzle.
// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will * P1 Raise the nozzle always to Z-park height.
// be raised to reach Z-park height. * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
// */
// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
// reach Z-park height.
//
// P2: The nozzle height will be raised by Z-park amount but never going over
// the machine's limit of Z_MAX_POS.
//
//#define NOZZLE_PARK_FEATURE //#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
@ -1015,44 +1009,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif #endif
// /**
// Clean Nozzle Feature -- EXPERIMENTAL * Clean Nozzle Feature -- EXPERIMENTAL
// *
// When enabled allows the user to send G12 to start the nozzle cleaning * Adds the G12 command to perform a nozzle cleaning process.
// process, the G-Code accepts two parameters: *
// "P" for pattern selection * Parameters:
// "S" for defining the number of strokes/repetitions * P Pattern
// * S Strokes / Repetitions
// Available list of patterns: * T Triangles (P1 only)
// P0: This is the default pattern, this process requires a sponge type *
// material at a fixed bed location. S defines "strokes" i.e. * Patterns:
// back-and-forth movements between the starting and end points. * P0 Straight line (default). This process requires a sponge type material
// * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" * between the start / end points.
// defines the number of zig-zag triangles to be done. "S" defines the *
// number of strokes aka one back-and-forth movement. Zig-zags will * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
// be performed in whichever dimension is smallest. As an example, * number of zig-zag triangles to do. "S" defines the number of strokes.
// sending "G12 P1 S1 T3" will execute: * Zig-zags are done in whichever is the narrower dimension.
// * For example, "G12 P1 S1 T3" will execute:
// -- *
// | (X0, Y1) | /\ /\ /\ | (X1, Y1) * --
// | | / \ / \ / \ | * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
// A | | / \ / \ / \ | * | | / \ / \ / \ |
// | | / \ / \ / \ | * A | | / \ / \ / \ |
// | (X0, Y0) | / \/ \/ \ | (X1, Y0) * | | / \ / \ / \ |
// -- +--------------------------------+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
// |________|_________|_________| * -- +--------------------------------+
// T1 T2 T3 * |________|_________|_________|
// * T1 T2 T3
// P2: This starts a circular pattern with circle with middle in *
// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S. * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. * "R" specifies the radius. "S" specifies the stroke count.
// * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
// Caveats: End point Z should use the same value as Start point Z. *
// * Caveats: The ending Z should be the same as starting Z.
// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments * Attention: EXPERIMENTAL. G-code arguments may change.
// may change to add new functionality like different wipe patterns. *
// */
//#define NOZZLE_CLEAN_FEATURE //#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE) #if ENABLED(NOZZLE_CLEAN_FEATURE)
@ -1077,33 +1071,35 @@
#define NOZZLE_CLEAN_GOBACK #define NOZZLE_CLEAN_GOBACK
#endif #endif
// /**
// Print job timer * Print Job Timer
// *
// Enable this option to automatically start and stop the * Automatically start and stop the print job timer on M104/M109/M190.
// print job timer when M104/M109/M190 commands are received. *
// M104 (extruder without wait) - high temp = none, low temp = stop timer * M104 (hotend, no wait) - high temp = none, low temp = stop timer
// M109 (extruder with wait) - high temp = start timer, low temp = stop timer * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
// M190 (bed with wait) - high temp = start timer, low temp = none * M190 (bed, wait) - high temp = start timer, low temp = none
// *
// In all cases the timer can be started and stopped using * The timer can also be controlled with the following commands:
// the following commands: *
// * M75 - Start the print job timer
// - M75 - Start the print job timer * M76 - Pause the print job timer
// - M76 - Pause the print job timer * M77 - Stop the print job timer
// - M77 - Stop the print job timer */
#define PRINTJOB_TIMER_AUTOSTART #define PRINTJOB_TIMER_AUTOSTART
// /**
// Print Counter * Print Counter
// *
// When enabled Marlin will keep track of some print statistical data such as: * Track statistical data such as:
// - Total print jobs *
// - Total successful print jobs * - Total print jobs
// - Total failed print jobs * - Total successful print jobs
// - Total time printing * - Total failed print jobs
// * - Total time printing
// This information can be viewed by the M78 command. *
* View the current statistics with M78.
*/
#define PRINTCOUNTER #define PRINTCOUNTER
//============================================================================= //=============================================================================
@ -1112,78 +1108,79 @@
// @section lcd // @section lcd
// /**
// LCD LANGUAGE * LCD LANGUAGE
// *
// Here you may choose the language used by Marlin on the LCD menus, the following * Select the language to display on the LCD. These languages are available:
// list of languages are available: *
// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
// *
// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
// */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en
// /**
// LCD Character Set * LCD Character Set
// *
// Note: This option is NOT applicable to Graphical Displays. * Note: This option is NOT applicable to Graphical Displays.
// *
// All character-based LCD's provide ASCII plus one of these * All character-based LCDs provide ASCII plus one of these
// language extensions: * language extensions:
// *
// - JAPANESE ... the most common * - JAPANESE ... the most common
// - WESTERN ... with more accented characters * - WESTERN ... with more accented characters
// - CYRILLIC ... for the Russian language * - CYRILLIC ... for the Russian language
// *
// To determine the language extension installed on your controller: * To determine the language extension installed on your controller:
// *
// - Compile and upload with LCD_LANGUAGE set to 'test' * - Compile and upload with LCD_LANGUAGE set to 'test'
// - Click the controller to view the LCD menu * - Click the controller to view the LCD menu
// - The LCD will display Japanese, Western, or Cyrillic text * - The LCD will display Japanese, Western, or Cyrillic text
// *
// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
// *
// :['JAPANESE', 'WESTERN', 'CYRILLIC'] * :['JAPANESE', 'WESTERN', 'CYRILLIC']
// */
#define DISPLAY_CHARSET_HD44780 JAPANESE #define DISPLAY_CHARSET_HD44780 JAPANESE
// /**
// LCD TYPE * LCD TYPE
// *
// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
// (ST7565R family). (This option will be set automatically for certain displays.) * (These options will be enabled automatically for most displays.)
// *
// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! * IMPORTANT: The U8glib library is required for Full Graphic Display!
// https://github.com/olikraus/U8glib_Arduino * https://github.com/olikraus/U8glib_Arduino
// */
//#define ULTRA_LCD // Character based //#define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display //#define DOGLCD // Full graphics display
// /**
// SD CARD * SD CARD
// *
// SD Card support is disabled by default. If your controller has an SD slot, * SD Card support is disabled by default. If your controller has an SD slot,
// you must uncomment the following option or it won't work. * you must uncomment the following option or it won't work.
// *
*/
#define SDSUPPORT #define SDSUPPORT
// /**
// SD CARD: SPI SPEED * SD CARD: SPI SPEED
// *
// Uncomment ONE of the following items to use a slower SPI transfer * Enable one of the following items for a slower SPI transfer speed.
// speed. This is usually required if you're getting volume init errors. * This may be required to resolve "volume init" errors.
// */
//#define SPI_SPEED SPI_HALF_SPEED //#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED //#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED //#define SPI_SPEED SPI_EIGHTH_SPEED
// /**
// SD CARD: ENABLE CRC * SD CARD: ENABLE CRC
// *
// Use CRC checks and retries on the SD communication. * Use CRC checks and retries on the SD communication.
// */
//#define SD_CHECK_AND_RETRY //#define SD_CHECK_AND_RETRY
// //
@ -1211,7 +1208,7 @@
*/ */
// //
// This option reverses the encoder direction everywhere // This option reverses the encoder direction everywhere.
// //
// Set this option if CLOCKWISE causes values to DECREASE // Set this option if CLOCKWISE causes values to DECREASE
// //

Loading…
Cancel
Save