Edit configuration comments
This commit is contained in:
		| @@ -987,23 +987,17 @@ | ||||
| #define PREHEAT_2_TEMP_BED    110 | ||||
| #define PREHEAT_2_FAN_SPEED     0 // Value from 0 to 255 | ||||
|  | ||||
| // | ||||
| // Nozzle Park -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to define a special XYZ position, inside the | ||||
| // machine's topology, to park the nozzle when idle or when receiving the G27 | ||||
| // command. | ||||
| // | ||||
| // The "P" paramenter controls what is the action applied to the Z axis: | ||||
| //    P0: (Default) If current Z-pos is lower than Z-park then the nozzle will | ||||
| //        be raised to reach Z-park height. | ||||
| // | ||||
| //    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. | ||||
| // | ||||
| /** | ||||
|  * Nozzle Park -- EXPERIMENTAL | ||||
|  * | ||||
|  * Park the nozzle at the given XYZ position on idle or G27. | ||||
|  * | ||||
|  * The "P" parameter controls the action applied to the Z axis: | ||||
|  * | ||||
|  *    P0  (Default) If Z is below park Z raise the nozzle. | ||||
|  *    P1  Raise the nozzle always to Z-park height. | ||||
|  *    P2  Raise the nozzle by Z-park amount, limited to Z_MAX_POS. | ||||
|  */ | ||||
| //#define 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 } | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Clean Nozzle Feature -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to send G12 to start the nozzle cleaning | ||||
| // process, the G-Code accepts two parameters: | ||||
| //   "P" for pattern selection | ||||
| //   "S" for defining the number of strokes/repetitions | ||||
| // | ||||
| // Available list of patterns: | ||||
| //   P0: This is the default pattern, this process requires a sponge type | ||||
| //       material at a fixed bed location. S defines "strokes" i.e. | ||||
| //       back-and-forth movements between the starting and end points. | ||||
| // | ||||
| //   P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" | ||||
| //       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 | ||||
| //       be performed in whichever dimension is smallest. As an example, | ||||
| //       sending "G12 P1 S1 T3" will execute: | ||||
| // | ||||
| //          -- | ||||
| //         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
| //         |           |    /  \      /  \      /  \    | | ||||
| //       A |           |   /    \    /    \    /    \   | | ||||
| //         |           |  /      \  /      \  /      \  | | ||||
| //         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
| //          --         +--------------------------------+ | ||||
| //                       |________|_________|_________| | ||||
| //                           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. | ||||
| //       Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. | ||||
| // | ||||
| // Caveats: End point Z should use the same value as Start point Z. | ||||
| // | ||||
| // Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments | ||||
| // may change to add new functionality like different wipe patterns. | ||||
| // | ||||
| /** | ||||
|  * Clean Nozzle Feature -- EXPERIMENTAL | ||||
|  * | ||||
|  * Adds the G12 command to perform a nozzle cleaning process. | ||||
|  * | ||||
|  * Parameters: | ||||
|  *   P  Pattern | ||||
|  *   S  Strokes / Repetitions | ||||
|  *   T  Triangles (P1 only) | ||||
|  * | ||||
|  * Patterns: | ||||
|  *   P0  Straight line (default). This process requires a sponge type material | ||||
|  *       at a fixed bed location. "S" specifies strokes (i.e. back-forth motions) | ||||
|  *       between the start / end points. | ||||
|  * | ||||
|  *   P1  Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the | ||||
|  *       number of zig-zag triangles to do. "S" defines the number of strokes. | ||||
|  *       Zig-zags are done in whichever is the narrower dimension. | ||||
|  *       For example, "G12 P1 S1 T3" will execute: | ||||
|  * | ||||
|  *          -- | ||||
|  *         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
|  *         |           |    /  \      /  \      /  \    | | ||||
|  *       A |           |   /    \    /    \    /    \   | | ||||
|  *         |           |  /      \  /      \  /      \  | | ||||
|  *         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
|  *          --         +--------------------------------+ | ||||
|  *                       |________|_________|_________| | ||||
|  *                           T1        T2        T3 | ||||
|  * | ||||
|  *   P2  Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE. | ||||
|  *       "R" specifies the radius. "S" specifies the stroke count. | ||||
|  *       Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT. | ||||
|  * | ||||
|  *   Caveats: The ending Z should be the same as starting Z. | ||||
|  * Attention: EXPERIMENTAL. G-code arguments may change. | ||||
|  * | ||||
|  */ | ||||
| //#define NOZZLE_CLEAN_FEATURE | ||||
|  | ||||
| #if ENABLED(NOZZLE_CLEAN_FEATURE) | ||||
| @@ -1073,33 +1067,35 @@ | ||||
|   #define NOZZLE_CLEAN_GOBACK | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Print job timer | ||||
| // | ||||
| // Enable this option to automatically start and stop the | ||||
| // print job timer when M104/M109/M190 commands are received. | ||||
| // M104 (extruder without wait) - high temp = none, low temp = stop timer | ||||
| // M109 (extruder with wait) - high temp = start timer, low temp = stop timer | ||||
| // M190 (bed with wait) - high temp = start timer, low temp = none | ||||
| // | ||||
| // In all cases the timer can be started and stopped using | ||||
| // the following commands: | ||||
| // | ||||
| // - M75  - Start the print job timer | ||||
| // - M76  - Pause the print job timer | ||||
| // - M77  - Stop the print job timer | ||||
| /** | ||||
|  * Print Job Timer | ||||
|  * | ||||
|  * Automatically start and stop the print job timer on M104/M109/M190. | ||||
|  * | ||||
|  *   M104 (hotend, no wait) - high temp = none,        low temp = stop timer | ||||
|  *   M109 (hotend, wait)    - high temp = start timer, low temp = stop timer | ||||
|  *   M190 (bed, wait)       - high temp = start timer, low temp = none | ||||
|  * | ||||
|  * The timer can also be controlled with the following commands: | ||||
|  * | ||||
|  *   M75 - Start the print job timer | ||||
|  *   M76 - Pause the print job timer | ||||
|  *   M77 - Stop the print job timer | ||||
|  */ | ||||
| #define PRINTJOB_TIMER_AUTOSTART | ||||
|  | ||||
| // | ||||
| // Print Counter | ||||
| // | ||||
| // When enabled Marlin will keep track of some print statistical data such as: | ||||
| //  - Total print jobs | ||||
| //  - Total successful print jobs | ||||
| //  - Total failed print jobs | ||||
| //  - Total time printing | ||||
| // | ||||
| // This information can be viewed by the M78 command. | ||||
| /** | ||||
|  * Print Counter | ||||
|  * | ||||
|  * Track statistical data such as: | ||||
|  * | ||||
|  *  - Total print jobs | ||||
|  *  - Total successful print jobs | ||||
|  *  - Total failed print jobs | ||||
|  *  - Total time printing | ||||
|  * | ||||
|  * View the current statistics with M78. | ||||
|  */ | ||||
| //#define PRINTCOUNTER | ||||
|  | ||||
| //============================================================================= | ||||
| @@ -1108,78 +1104,79 @@ | ||||
|  | ||||
| // @section lcd | ||||
|  | ||||
| // | ||||
| // LCD LANGUAGE | ||||
| // | ||||
| // Here you may choose the language used by Marlin on the LCD menus, the following | ||||
| // list of languages are available: | ||||
| //    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 | ||||
| // | ||||
| // :{ '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' } | ||||
| // | ||||
| /** | ||||
|  * LCD LANGUAGE | ||||
|  * | ||||
|  * Select the language to display on the LCD. These languages are available: | ||||
|  * | ||||
|  *    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 | ||||
|  * | ||||
|  * :{ '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 | ||||
|  | ||||
| // | ||||
| // LCD Character Set | ||||
| // | ||||
| // Note: This option is NOT applicable to Graphical Displays. | ||||
| // | ||||
| // All character-based LCD's provide ASCII plus one of these | ||||
| // language extensions: | ||||
| // | ||||
| //  - JAPANESE ... the most common | ||||
| //  - WESTERN  ... with more accented characters | ||||
| //  - CYRILLIC ... for the Russian language | ||||
| // | ||||
| // To determine the language extension installed on your controller: | ||||
| // | ||||
| //  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
| //  - Click the controller to view the LCD menu | ||||
| //  - The LCD will display Japanese, Western, or Cyrillic text | ||||
| // | ||||
| // See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
| // | ||||
| // :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
| // | ||||
| /** | ||||
|  * LCD Character Set | ||||
|  * | ||||
|  * Note: This option is NOT applicable to Graphical Displays. | ||||
|  * | ||||
|  * All character-based LCDs provide ASCII plus one of these | ||||
|  * language extensions: | ||||
|  * | ||||
|  *  - JAPANESE ... the most common | ||||
|  *  - WESTERN  ... with more accented characters | ||||
|  *  - CYRILLIC ... for the Russian language | ||||
|  * | ||||
|  * To determine the language extension installed on your controller: | ||||
|  * | ||||
|  *  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
|  *  - Click the controller to view the LCD menu | ||||
|  *  - The LCD will display Japanese, Western, or Cyrillic text | ||||
|  * | ||||
|  * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
|  * | ||||
|  * :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
|  */ | ||||
| #define DISPLAY_CHARSET_HD44780 JAPANESE | ||||
|  | ||||
| // | ||||
| // LCD TYPE | ||||
| // | ||||
| // You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, | ||||
| // 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels | ||||
| // (ST7565R family). (This option will be set automatically for certain displays.) | ||||
| // | ||||
| // IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! | ||||
| //                 https://github.com/olikraus/U8glib_Arduino | ||||
| // | ||||
| /** | ||||
|  * LCD TYPE | ||||
|  * | ||||
|  * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. | ||||
|  * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. | ||||
|  * (These options will be enabled automatically for most displays.) | ||||
|  * | ||||
|  * IMPORTANT: The U8glib library is required for Full Graphic Display! | ||||
|  *            https://github.com/olikraus/U8glib_Arduino | ||||
|  */ | ||||
| //#define ULTRA_LCD   // Character based | ||||
| //#define DOGLCD      // Full graphics display | ||||
|  | ||||
| // | ||||
| // SD CARD | ||||
| // | ||||
| // 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. | ||||
| // | ||||
| /** | ||||
|  * SD CARD | ||||
|  * | ||||
|  * 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. | ||||
|  * | ||||
|  */ | ||||
| //#define SDSUPPORT | ||||
|  | ||||
| // | ||||
| // SD CARD: SPI SPEED | ||||
| // | ||||
| // Uncomment ONE of the following items to use a slower SPI transfer | ||||
| // speed. This is usually required if you're getting volume init errors. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: SPI SPEED | ||||
|  * | ||||
|  * Enable one of the following items for a slower SPI transfer speed. | ||||
|  * This may be required to resolve "volume init" errors. | ||||
|  */ | ||||
| //#define SPI_SPEED SPI_HALF_SPEED | ||||
| //#define SPI_SPEED SPI_QUARTER_SPEED | ||||
| //#define SPI_SPEED SPI_EIGHTH_SPEED | ||||
|  | ||||
| // | ||||
| // SD CARD: ENABLE CRC | ||||
| // | ||||
| // Use CRC checks and retries on the SD communication. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: ENABLE CRC | ||||
|  * | ||||
|  * Use CRC checks and retries on the SD communication. | ||||
|  */ | ||||
| //#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 | ||||
| // | ||||
|   | ||||
| @@ -985,23 +985,17 @@ | ||||
| #define PREHEAT_2_TEMP_BED    110 | ||||
| #define PREHEAT_2_FAN_SPEED     0 // Value from 0 to 255 | ||||
|  | ||||
| // | ||||
| // Nozzle Park -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to define a special XYZ position, inside the | ||||
| // machine's topology, to park the nozzle when idle or when receiving the G27 | ||||
| // command. | ||||
| // | ||||
| // The "P" paramenter controls what is the action applied to the Z axis: | ||||
| //    P0: (Default) If current Z-pos is lower than Z-park then the nozzle will | ||||
| //        be raised to reach Z-park height. | ||||
| // | ||||
| //    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. | ||||
| // | ||||
| /** | ||||
|  * Nozzle Park -- EXPERIMENTAL | ||||
|  * | ||||
|  * Park the nozzle at the given XYZ position on idle or G27. | ||||
|  * | ||||
|  * The "P" parameter controls the action applied to the Z axis: | ||||
|  * | ||||
|  *    P0  (Default) If Z is below park Z raise the nozzle. | ||||
|  *    P1  Raise the nozzle always to Z-park height. | ||||
|  *    P2  Raise the nozzle by Z-park amount, limited to Z_MAX_POS. | ||||
|  */ | ||||
| //#define 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 } | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Clean Nozzle Feature -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to send G12 to start the nozzle cleaning | ||||
| // process, the G-Code accepts two parameters: | ||||
| //   "P" for pattern selection | ||||
| //   "S" for defining the number of strokes/repetitions | ||||
| // | ||||
| // Available list of patterns: | ||||
| //   P0: This is the default pattern, this process requires a sponge type | ||||
| //       material at a fixed bed location. S defines "strokes" i.e. | ||||
| //       back-and-forth movements between the starting and end points. | ||||
| // | ||||
| //   P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" | ||||
| //       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 | ||||
| //       be performed in whichever dimension is smallest. As an example, | ||||
| //       sending "G12 P1 S1 T3" will execute: | ||||
| // | ||||
| //          -- | ||||
| //         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
| //         |           |    /  \      /  \      /  \    | | ||||
| //       A |           |   /    \    /    \    /    \   | | ||||
| //         |           |  /      \  /      \  /      \  | | ||||
| //         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
| //          --         +--------------------------------+ | ||||
| //                       |________|_________|_________| | ||||
| //                           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. | ||||
| //       Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. | ||||
| // | ||||
| // Caveats: End point Z should use the same value as Start point Z. | ||||
| // | ||||
| // Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments | ||||
| // may change to add new functionality like different wipe patterns. | ||||
| // | ||||
| /** | ||||
|  * Clean Nozzle Feature -- EXPERIMENTAL | ||||
|  * | ||||
|  * Adds the G12 command to perform a nozzle cleaning process. | ||||
|  * | ||||
|  * Parameters: | ||||
|  *   P  Pattern | ||||
|  *   S  Strokes / Repetitions | ||||
|  *   T  Triangles (P1 only) | ||||
|  * | ||||
|  * Patterns: | ||||
|  *   P0  Straight line (default). This process requires a sponge type material | ||||
|  *       at a fixed bed location. "S" specifies strokes (i.e. back-forth motions) | ||||
|  *       between the start / end points. | ||||
|  * | ||||
|  *   P1  Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the | ||||
|  *       number of zig-zag triangles to do. "S" defines the number of strokes. | ||||
|  *       Zig-zags are done in whichever is the narrower dimension. | ||||
|  *       For example, "G12 P1 S1 T3" will execute: | ||||
|  * | ||||
|  *          -- | ||||
|  *         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
|  *         |           |    /  \      /  \      /  \    | | ||||
|  *       A |           |   /    \    /    \    /    \   | | ||||
|  *         |           |  /      \  /      \  /      \  | | ||||
|  *         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
|  *          --         +--------------------------------+ | ||||
|  *                       |________|_________|_________| | ||||
|  *                           T1        T2        T3 | ||||
|  * | ||||
|  *   P2  Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE. | ||||
|  *       "R" specifies the radius. "S" specifies the stroke count. | ||||
|  *       Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT. | ||||
|  * | ||||
|  *   Caveats: The ending Z should be the same as starting Z. | ||||
|  * Attention: EXPERIMENTAL. G-code arguments may change. | ||||
|  * | ||||
|  */ | ||||
| //#define NOZZLE_CLEAN_FEATURE | ||||
|  | ||||
| #if ENABLED(NOZZLE_CLEAN_FEATURE) | ||||
| @@ -1071,33 +1065,35 @@ | ||||
|   #define NOZZLE_CLEAN_GOBACK | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Print job timer | ||||
| // | ||||
| // Enable this option to automatically start and stop the | ||||
| // print job timer when M104/M109/M190 commands are received. | ||||
| // M104 (extruder without wait) - high temp = none, low temp = stop timer | ||||
| // M109 (extruder with wait) - high temp = start timer, low temp = stop timer | ||||
| // M190 (bed with wait) - high temp = start timer, low temp = none | ||||
| // | ||||
| // In all cases the timer can be started and stopped using | ||||
| // the following commands: | ||||
| // | ||||
| // - M75  - Start the print job timer | ||||
| // - M76  - Pause the print job timer | ||||
| // - M77  - Stop the print job timer | ||||
| /** | ||||
|  * Print Job Timer | ||||
|  * | ||||
|  * Automatically start and stop the print job timer on M104/M109/M190. | ||||
|  * | ||||
|  *   M104 (hotend, no wait) - high temp = none,        low temp = stop timer | ||||
|  *   M109 (hotend, wait)    - high temp = start timer, low temp = stop timer | ||||
|  *   M190 (bed, wait)       - high temp = start timer, low temp = none | ||||
|  * | ||||
|  * The timer can also be controlled with the following commands: | ||||
|  * | ||||
|  *   M75 - Start the print job timer | ||||
|  *   M76 - Pause the print job timer | ||||
|  *   M77 - Stop the print job timer | ||||
|  */ | ||||
| #define PRINTJOB_TIMER_AUTOSTART | ||||
|  | ||||
| // | ||||
| // Print Counter | ||||
| // | ||||
| // When enabled Marlin will keep track of some print statistical data such as: | ||||
| //  - Total print jobs | ||||
| //  - Total successful print jobs | ||||
| //  - Total failed print jobs | ||||
| //  - Total time printing | ||||
| // | ||||
| // This information can be viewed by the M78 command. | ||||
| /** | ||||
|  * Print Counter | ||||
|  * | ||||
|  * Track statistical data such as: | ||||
|  * | ||||
|  *  - Total print jobs | ||||
|  *  - Total successful print jobs | ||||
|  *  - Total failed print jobs | ||||
|  *  - Total time printing | ||||
|  * | ||||
|  * View the current statistics with M78. | ||||
|  */ | ||||
| //#define PRINTCOUNTER | ||||
|  | ||||
| //============================================================================= | ||||
| @@ -1106,78 +1102,79 @@ | ||||
|  | ||||
| // @section lcd | ||||
|  | ||||
| // | ||||
| // LCD LANGUAGE | ||||
| // | ||||
| // Here you may choose the language used by Marlin on the LCD menus, the following | ||||
| // list of languages are available: | ||||
| //    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 | ||||
| // | ||||
| // :{ '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' } | ||||
| // | ||||
| /** | ||||
|  * LCD LANGUAGE | ||||
|  * | ||||
|  * Select the language to display on the LCD. These languages are available: | ||||
|  * | ||||
|  *    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 | ||||
|  * | ||||
|  * :{ '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 | ||||
|  | ||||
| // | ||||
| // LCD Character Set | ||||
| // | ||||
| // Note: This option is NOT applicable to Graphical Displays. | ||||
| // | ||||
| // All character-based LCD's provide ASCII plus one of these | ||||
| // language extensions: | ||||
| // | ||||
| //  - JAPANESE ... the most common | ||||
| //  - WESTERN  ... with more accented characters | ||||
| //  - CYRILLIC ... for the Russian language | ||||
| // | ||||
| // To determine the language extension installed on your controller: | ||||
| // | ||||
| //  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
| //  - Click the controller to view the LCD menu | ||||
| //  - The LCD will display Japanese, Western, or Cyrillic text | ||||
| // | ||||
| // See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
| // | ||||
| // :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
| // | ||||
| /** | ||||
|  * LCD Character Set | ||||
|  * | ||||
|  * Note: This option is NOT applicable to Graphical Displays. | ||||
|  * | ||||
|  * All character-based LCDs provide ASCII plus one of these | ||||
|  * language extensions: | ||||
|  * | ||||
|  *  - JAPANESE ... the most common | ||||
|  *  - WESTERN  ... with more accented characters | ||||
|  *  - CYRILLIC ... for the Russian language | ||||
|  * | ||||
|  * To determine the language extension installed on your controller: | ||||
|  * | ||||
|  *  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
|  *  - Click the controller to view the LCD menu | ||||
|  *  - The LCD will display Japanese, Western, or Cyrillic text | ||||
|  * | ||||
|  * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
|  * | ||||
|  * :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
|  */ | ||||
| #define DISPLAY_CHARSET_HD44780 JAPANESE | ||||
|  | ||||
| // | ||||
| // LCD TYPE | ||||
| // | ||||
| // You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, | ||||
| // 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels | ||||
| // (ST7565R family). (This option will be set automatically for certain displays.) | ||||
| // | ||||
| // IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! | ||||
| //                 https://github.com/olikraus/U8glib_Arduino | ||||
| // | ||||
| /** | ||||
|  * LCD TYPE | ||||
|  * | ||||
|  * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. | ||||
|  * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. | ||||
|  * (These options will be enabled automatically for most displays.) | ||||
|  * | ||||
|  * IMPORTANT: The U8glib library is required for Full Graphic Display! | ||||
|  *            https://github.com/olikraus/U8glib_Arduino | ||||
|  */ | ||||
| //#define ULTRA_LCD   // Character based | ||||
| //#define DOGLCD      // Full graphics display | ||||
|  | ||||
| // | ||||
| // SD CARD | ||||
| // | ||||
| // 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. | ||||
| // | ||||
| /** | ||||
|  * SD CARD | ||||
|  * | ||||
|  * 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. | ||||
|  * | ||||
|  */ | ||||
| #define SDSUPPORT | ||||
|  | ||||
| // | ||||
| // SD CARD: SPI SPEED | ||||
| // | ||||
| // Uncomment ONE of the following items to use a slower SPI transfer | ||||
| // speed. This is usually required if you're getting volume init errors. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: SPI SPEED | ||||
|  * | ||||
|  * Enable one of the following items for a slower SPI transfer speed. | ||||
|  * This may be required to resolve "volume init" errors. | ||||
|  */ | ||||
| //#define SPI_SPEED SPI_HALF_SPEED | ||||
| //#define SPI_SPEED SPI_QUARTER_SPEED | ||||
| //#define SPI_SPEED SPI_EIGHTH_SPEED | ||||
|  | ||||
| // | ||||
| // SD CARD: ENABLE CRC | ||||
| // | ||||
| // Use CRC checks and retries on the SD communication. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: ENABLE CRC | ||||
|  * | ||||
|  * Use CRC checks and retries on the SD communication. | ||||
|  */ | ||||
| //#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 | ||||
| // | ||||
|   | ||||
| @@ -969,23 +969,17 @@ | ||||
| #define PREHEAT_2_TEMP_BED    100 | ||||
| #define PREHEAT_2_FAN_SPEED   255 // Value from 0 to 255 | ||||
|  | ||||
| // | ||||
| // Nozzle Park -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to define a special XYZ position, inside the | ||||
| // machine's topology, to park the nozzle when idle or when receiving the G27 | ||||
| // command. | ||||
| // | ||||
| // The "P" paramenter controls what is the action applied to the Z axis: | ||||
| //    P0: (Default) If current Z-pos is lower than Z-park then the nozzle will | ||||
| //        be raised to reach Z-park height. | ||||
| // | ||||
| //    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. | ||||
| // | ||||
| /** | ||||
|  * Nozzle Park -- EXPERIMENTAL | ||||
|  * | ||||
|  * Park the nozzle at the given XYZ position on idle or G27. | ||||
|  * | ||||
|  * The "P" parameter controls the action applied to the Z axis: | ||||
|  * | ||||
|  *    P0  (Default) If Z is below park Z raise the nozzle. | ||||
|  *    P1  Raise the nozzle always to Z-park height. | ||||
|  *    P2  Raise the nozzle by Z-park amount, limited to Z_MAX_POS. | ||||
|  */ | ||||
| //#define 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 } | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Clean Nozzle Feature -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to send G12 to start the nozzle cleaning | ||||
| // process, the G-Code accepts two parameters: | ||||
| //   "P" for pattern selection | ||||
| //   "S" for defining the number of strokes/repetitions | ||||
| // | ||||
| // Available list of patterns: | ||||
| //   P0: This is the default pattern, this process requires a sponge type | ||||
| //       material at a fixed bed location. S defines "strokes" i.e. | ||||
| //       back-and-forth movements between the starting and end points. | ||||
| // | ||||
| //   P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" | ||||
| //       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 | ||||
| //       be performed in whichever dimension is smallest. As an example, | ||||
| //       sending "G12 P1 S1 T3" will execute: | ||||
| // | ||||
| //          -- | ||||
| //         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
| //         |           |    /  \      /  \      /  \    | | ||||
| //       A |           |   /    \    /    \    /    \   | | ||||
| //         |           |  /      \  /      \  /      \  | | ||||
| //         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
| //          --         +--------------------------------+ | ||||
| //                       |________|_________|_________| | ||||
| //                           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. | ||||
| //       Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. | ||||
| // | ||||
| // Caveats: End point Z should use the same value as Start point Z. | ||||
| // | ||||
| // Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments | ||||
| // may change to add new functionality like different wipe patterns. | ||||
| // | ||||
| /** | ||||
|  * Clean Nozzle Feature -- EXPERIMENTAL | ||||
|  * | ||||
|  * Adds the G12 command to perform a nozzle cleaning process. | ||||
|  * | ||||
|  * Parameters: | ||||
|  *   P  Pattern | ||||
|  *   S  Strokes / Repetitions | ||||
|  *   T  Triangles (P1 only) | ||||
|  * | ||||
|  * Patterns: | ||||
|  *   P0  Straight line (default). This process requires a sponge type material | ||||
|  *       at a fixed bed location. "S" specifies strokes (i.e. back-forth motions) | ||||
|  *       between the start / end points. | ||||
|  * | ||||
|  *   P1  Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the | ||||
|  *       number of zig-zag triangles to do. "S" defines the number of strokes. | ||||
|  *       Zig-zags are done in whichever is the narrower dimension. | ||||
|  *       For example, "G12 P1 S1 T3" will execute: | ||||
|  * | ||||
|  *          -- | ||||
|  *         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
|  *         |           |    /  \      /  \      /  \    | | ||||
|  *       A |           |   /    \    /    \    /    \   | | ||||
|  *         |           |  /      \  /      \  /      \  | | ||||
|  *         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
|  *          --         +--------------------------------+ | ||||
|  *                       |________|_________|_________| | ||||
|  *                           T1        T2        T3 | ||||
|  * | ||||
|  *   P2  Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE. | ||||
|  *       "R" specifies the radius. "S" specifies the stroke count. | ||||
|  *       Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT. | ||||
|  * | ||||
|  *   Caveats: The ending Z should be the same as starting Z. | ||||
|  * Attention: EXPERIMENTAL. G-code arguments may change. | ||||
|  * | ||||
|  */ | ||||
| //#define NOZZLE_CLEAN_FEATURE | ||||
|  | ||||
| #if ENABLED(NOZZLE_CLEAN_FEATURE) | ||||
| @@ -1055,33 +1049,35 @@ | ||||
|   #define NOZZLE_CLEAN_GOBACK | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Print job timer | ||||
| // | ||||
| // Enable this option to automatically start and stop the | ||||
| // print job timer when M104/M109/M190 commands are received. | ||||
| // M104 (extruder without wait) - high temp = none, low temp = stop timer | ||||
| // M109 (extruder with wait) - high temp = start timer, low temp = stop timer | ||||
| // M190 (bed with wait) - high temp = start timer, low temp = none | ||||
| // | ||||
| // In all cases the timer can be started and stopped using | ||||
| // the following commands: | ||||
| // | ||||
| // - M75  - Start the print job timer | ||||
| // - M76  - Pause the print job timer | ||||
| // - M77  - Stop the print job timer | ||||
| /** | ||||
|  * Print Job Timer | ||||
|  * | ||||
|  * Automatically start and stop the print job timer on M104/M109/M190. | ||||
|  * | ||||
|  *   M104 (hotend, no wait) - high temp = none,        low temp = stop timer | ||||
|  *   M109 (hotend, wait)    - high temp = start timer, low temp = stop timer | ||||
|  *   M190 (bed, wait)       - high temp = start timer, low temp = none | ||||
|  * | ||||
|  * The timer can also be controlled with the following commands: | ||||
|  * | ||||
|  *   M75 - Start the print job timer | ||||
|  *   M76 - Pause the print job timer | ||||
|  *   M77 - Stop the print job timer | ||||
|  */ | ||||
| #define PRINTJOB_TIMER_AUTOSTART | ||||
|  | ||||
| // | ||||
| // Print Counter | ||||
| // | ||||
| // When enabled Marlin will keep track of some print statistical data such as: | ||||
| //  - Total print jobs | ||||
| //  - Total successful print jobs | ||||
| //  - Total failed print jobs | ||||
| //  - Total time printing | ||||
| // | ||||
| // This information can be viewed by the M78 command. | ||||
| /** | ||||
|  * Print Counter | ||||
|  * | ||||
|  * Track statistical data such as: | ||||
|  * | ||||
|  *  - Total print jobs | ||||
|  *  - Total successful print jobs | ||||
|  *  - Total failed print jobs | ||||
|  *  - Total time printing | ||||
|  * | ||||
|  * View the current statistics with M78. | ||||
|  */ | ||||
| //#define PRINTCOUNTER | ||||
|  | ||||
| //============================================================================= | ||||
| @@ -1090,78 +1086,79 @@ | ||||
|  | ||||
| // @section lcd | ||||
|  | ||||
| // | ||||
| // LCD LANGUAGE | ||||
| // | ||||
| // Here you may choose the language used by Marlin on the LCD menus, the following | ||||
| // list of languages are available: | ||||
| //    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 | ||||
| // | ||||
| // :{ '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' } | ||||
| // | ||||
| /** | ||||
|  * LCD LANGUAGE | ||||
|  * | ||||
|  * Select the language to display on the LCD. These languages are available: | ||||
|  * | ||||
|  *    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 | ||||
|  * | ||||
|  * :{ '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 | ||||
|  | ||||
| // | ||||
| // LCD Character Set | ||||
| // | ||||
| // Note: This option is NOT applicable to Graphical Displays. | ||||
| // | ||||
| // All character-based LCD's provide ASCII plus one of these | ||||
| // language extensions: | ||||
| // | ||||
| //  - JAPANESE ... the most common | ||||
| //  - WESTERN  ... with more accented characters | ||||
| //  - CYRILLIC ... for the Russian language | ||||
| // | ||||
| // To determine the language extension installed on your controller: | ||||
| // | ||||
| //  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
| //  - Click the controller to view the LCD menu | ||||
| //  - The LCD will display Japanese, Western, or Cyrillic text | ||||
| // | ||||
| // See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
| // | ||||
| // :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
| // | ||||
| /** | ||||
|  * LCD Character Set | ||||
|  * | ||||
|  * Note: This option is NOT applicable to Graphical Displays. | ||||
|  * | ||||
|  * All character-based LCDs provide ASCII plus one of these | ||||
|  * language extensions: | ||||
|  * | ||||
|  *  - JAPANESE ... the most common | ||||
|  *  - WESTERN  ... with more accented characters | ||||
|  *  - CYRILLIC ... for the Russian language | ||||
|  * | ||||
|  * To determine the language extension installed on your controller: | ||||
|  * | ||||
|  *  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
|  *  - Click the controller to view the LCD menu | ||||
|  *  - The LCD will display Japanese, Western, or Cyrillic text | ||||
|  * | ||||
|  * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
|  * | ||||
|  * :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
|  */ | ||||
| #define DISPLAY_CHARSET_HD44780 JAPANESE | ||||
|  | ||||
| // | ||||
| // LCD TYPE | ||||
| // | ||||
| // You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, | ||||
| // 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels | ||||
| // (ST7565R family). (This option will be set automatically for certain displays.) | ||||
| // | ||||
| // IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! | ||||
| //                 https://github.com/olikraus/U8glib_Arduino | ||||
| // | ||||
| /** | ||||
|  * LCD TYPE | ||||
|  * | ||||
|  * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. | ||||
|  * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. | ||||
|  * (These options will be enabled automatically for most displays.) | ||||
|  * | ||||
|  * IMPORTANT: The U8glib library is required for Full Graphic Display! | ||||
|  *            https://github.com/olikraus/U8glib_Arduino | ||||
|  */ | ||||
| //#define ULTRA_LCD   // Character based | ||||
| //#define DOGLCD      // Full graphics display | ||||
|  | ||||
| // | ||||
| // SD CARD | ||||
| // | ||||
| // 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. | ||||
| // | ||||
| /** | ||||
|  * SD CARD | ||||
|  * | ||||
|  * 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. | ||||
|  * | ||||
|  */ | ||||
| //#define SDSUPPORT | ||||
|  | ||||
| // | ||||
| // SD CARD: SPI SPEED | ||||
| // | ||||
| // Uncomment ONE of the following items to use a slower SPI transfer | ||||
| // speed. This is usually required if you're getting volume init errors. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: SPI SPEED | ||||
|  * | ||||
|  * Enable one of the following items for a slower SPI transfer speed. | ||||
|  * This may be required to resolve "volume init" errors. | ||||
|  */ | ||||
| //#define SPI_SPEED SPI_HALF_SPEED | ||||
| //#define SPI_SPEED SPI_QUARTER_SPEED | ||||
| //#define SPI_SPEED SPI_EIGHTH_SPEED | ||||
|  | ||||
| // | ||||
| // SD CARD: ENABLE CRC | ||||
| // | ||||
| // Use CRC checks and retries on the SD communication. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: ENABLE CRC | ||||
|  * | ||||
|  * Use CRC checks and retries on the SD communication. | ||||
|  */ | ||||
| //#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 | ||||
| // | ||||
|   | ||||
| @@ -969,23 +969,17 @@ | ||||
| #define PREHEAT_2_TEMP_BED    100 | ||||
| #define PREHEAT_2_FAN_SPEED   255 // Value from 0 to 255 | ||||
|  | ||||
| // | ||||
| // Nozzle Park -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to define a special XYZ position, inside the | ||||
| // machine's topology, to park the nozzle when idle or when receiving the G27 | ||||
| // command. | ||||
| // | ||||
| // The "P" paramenter controls what is the action applied to the Z axis: | ||||
| //    P0: (Default) If current Z-pos is lower than Z-park then the nozzle will | ||||
| //        be raised to reach Z-park height. | ||||
| // | ||||
| //    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. | ||||
| // | ||||
| /** | ||||
|  * Nozzle Park -- EXPERIMENTAL | ||||
|  * | ||||
|  * Park the nozzle at the given XYZ position on idle or G27. | ||||
|  * | ||||
|  * The "P" parameter controls the action applied to the Z axis: | ||||
|  * | ||||
|  *    P0  (Default) If Z is below park Z raise the nozzle. | ||||
|  *    P1  Raise the nozzle always to Z-park height. | ||||
|  *    P2  Raise the nozzle by Z-park amount, limited to Z_MAX_POS. | ||||
|  */ | ||||
| //#define 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 } | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Clean Nozzle Feature -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to send G12 to start the nozzle cleaning | ||||
| // process, the G-Code accepts two parameters: | ||||
| //   "P" for pattern selection | ||||
| //   "S" for defining the number of strokes/repetitions | ||||
| // | ||||
| // Available list of patterns: | ||||
| //   P0: This is the default pattern, this process requires a sponge type | ||||
| //       material at a fixed bed location. S defines "strokes" i.e. | ||||
| //       back-and-forth movements between the starting and end points. | ||||
| // | ||||
| //   P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" | ||||
| //       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 | ||||
| //       be performed in whichever dimension is smallest. As an example, | ||||
| //       sending "G12 P1 S1 T3" will execute: | ||||
| // | ||||
| //          -- | ||||
| //         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
| //         |           |    /  \      /  \      /  \    | | ||||
| //       A |           |   /    \    /    \    /    \   | | ||||
| //         |           |  /      \  /      \  /      \  | | ||||
| //         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
| //          --         +--------------------------------+ | ||||
| //                       |________|_________|_________| | ||||
| //                           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. | ||||
| //       Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. | ||||
| // | ||||
| // Caveats: End point Z should use the same value as Start point Z. | ||||
| // | ||||
| // Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments | ||||
| // may change to add new functionality like different wipe patterns. | ||||
| // | ||||
| /** | ||||
|  * Clean Nozzle Feature -- EXPERIMENTAL | ||||
|  * | ||||
|  * Adds the G12 command to perform a nozzle cleaning process. | ||||
|  * | ||||
|  * Parameters: | ||||
|  *   P  Pattern | ||||
|  *   S  Strokes / Repetitions | ||||
|  *   T  Triangles (P1 only) | ||||
|  * | ||||
|  * Patterns: | ||||
|  *   P0  Straight line (default). This process requires a sponge type material | ||||
|  *       at a fixed bed location. "S" specifies strokes (i.e. back-forth motions) | ||||
|  *       between the start / end points. | ||||
|  * | ||||
|  *   P1  Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the | ||||
|  *       number of zig-zag triangles to do. "S" defines the number of strokes. | ||||
|  *       Zig-zags are done in whichever is the narrower dimension. | ||||
|  *       For example, "G12 P1 S1 T3" will execute: | ||||
|  * | ||||
|  *          -- | ||||
|  *         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
|  *         |           |    /  \      /  \      /  \    | | ||||
|  *       A |           |   /    \    /    \    /    \   | | ||||
|  *         |           |  /      \  /      \  /      \  | | ||||
|  *         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
|  *          --         +--------------------------------+ | ||||
|  *                       |________|_________|_________| | ||||
|  *                           T1        T2        T3 | ||||
|  * | ||||
|  *   P2  Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE. | ||||
|  *       "R" specifies the radius. "S" specifies the stroke count. | ||||
|  *       Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT. | ||||
|  * | ||||
|  *   Caveats: The ending Z should be the same as starting Z. | ||||
|  * Attention: EXPERIMENTAL. G-code arguments may change. | ||||
|  * | ||||
|  */ | ||||
| //#define NOZZLE_CLEAN_FEATURE | ||||
|  | ||||
| #if ENABLED(NOZZLE_CLEAN_FEATURE) | ||||
| @@ -1055,33 +1049,35 @@ | ||||
|   #define NOZZLE_CLEAN_GOBACK | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Print job timer | ||||
| // | ||||
| // Enable this option to automatically start and stop the | ||||
| // print job timer when M104/M109/M190 commands are received. | ||||
| // M104 (extruder without wait) - high temp = none, low temp = stop timer | ||||
| // M109 (extruder with wait) - high temp = start timer, low temp = stop timer | ||||
| // M190 (bed with wait) - high temp = start timer, low temp = none | ||||
| // | ||||
| // In all cases the timer can be started and stopped using | ||||
| // the following commands: | ||||
| // | ||||
| // - M75  - Start the print job timer | ||||
| // - M76  - Pause the print job timer | ||||
| // - M77  - Stop the print job timer | ||||
| /** | ||||
|  * Print Job Timer | ||||
|  * | ||||
|  * Automatically start and stop the print job timer on M104/M109/M190. | ||||
|  * | ||||
|  *   M104 (hotend, no wait) - high temp = none,        low temp = stop timer | ||||
|  *   M109 (hotend, wait)    - high temp = start timer, low temp = stop timer | ||||
|  *   M190 (bed, wait)       - high temp = start timer, low temp = none | ||||
|  * | ||||
|  * The timer can also be controlled with the following commands: | ||||
|  * | ||||
|  *   M75 - Start the print job timer | ||||
|  *   M76 - Pause the print job timer | ||||
|  *   M77 - Stop the print job timer | ||||
|  */ | ||||
| #define PRINTJOB_TIMER_AUTOSTART | ||||
|  | ||||
| // | ||||
| // Print Counter | ||||
| // | ||||
| // When enabled Marlin will keep track of some print statistical data such as: | ||||
| //  - Total print jobs | ||||
| //  - Total successful print jobs | ||||
| //  - Total failed print jobs | ||||
| //  - Total time printing | ||||
| // | ||||
| // This information can be viewed by the M78 command. | ||||
| /** | ||||
|  * Print Counter | ||||
|  * | ||||
|  * Track statistical data such as: | ||||
|  * | ||||
|  *  - Total print jobs | ||||
|  *  - Total successful print jobs | ||||
|  *  - Total failed print jobs | ||||
|  *  - Total time printing | ||||
|  * | ||||
|  * View the current statistics with M78. | ||||
|  */ | ||||
| //#define PRINTCOUNTER | ||||
|  | ||||
| //============================================================================= | ||||
| @@ -1090,78 +1086,79 @@ | ||||
|  | ||||
| // @section lcd | ||||
|  | ||||
| // | ||||
| // LCD LANGUAGE | ||||
| // | ||||
| // Here you may choose the language used by Marlin on the LCD menus, the following | ||||
| // list of languages are available: | ||||
| //    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 | ||||
| // | ||||
| // :{ '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' } | ||||
| // | ||||
| /** | ||||
|  * LCD LANGUAGE | ||||
|  * | ||||
|  * Select the language to display on the LCD. These languages are available: | ||||
|  * | ||||
|  *    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 | ||||
|  * | ||||
|  * :{ '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 | ||||
|  | ||||
| // | ||||
| // LCD Character Set | ||||
| // | ||||
| // Note: This option is NOT applicable to Graphical Displays. | ||||
| // | ||||
| // All character-based LCD's provide ASCII plus one of these | ||||
| // language extensions: | ||||
| // | ||||
| //  - JAPANESE ... the most common | ||||
| //  - WESTERN  ... with more accented characters | ||||
| //  - CYRILLIC ... for the Russian language | ||||
| // | ||||
| // To determine the language extension installed on your controller: | ||||
| // | ||||
| //  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
| //  - Click the controller to view the LCD menu | ||||
| //  - The LCD will display Japanese, Western, or Cyrillic text | ||||
| // | ||||
| // See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
| // | ||||
| // :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
| // | ||||
| /** | ||||
|  * LCD Character Set | ||||
|  * | ||||
|  * Note: This option is NOT applicable to Graphical Displays. | ||||
|  * | ||||
|  * All character-based LCDs provide ASCII plus one of these | ||||
|  * language extensions: | ||||
|  * | ||||
|  *  - JAPANESE ... the most common | ||||
|  *  - WESTERN  ... with more accented characters | ||||
|  *  - CYRILLIC ... for the Russian language | ||||
|  * | ||||
|  * To determine the language extension installed on your controller: | ||||
|  * | ||||
|  *  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
|  *  - Click the controller to view the LCD menu | ||||
|  *  - The LCD will display Japanese, Western, or Cyrillic text | ||||
|  * | ||||
|  * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
|  * | ||||
|  * :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
|  */ | ||||
| #define DISPLAY_CHARSET_HD44780 JAPANESE | ||||
|  | ||||
| // | ||||
| // LCD TYPE | ||||
| // | ||||
| // You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, | ||||
| // 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels | ||||
| // (ST7565R family). (This option will be set automatically for certain displays.) | ||||
| // | ||||
| // IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! | ||||
| //                 https://github.com/olikraus/U8glib_Arduino | ||||
| // | ||||
| /** | ||||
|  * LCD TYPE | ||||
|  * | ||||
|  * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. | ||||
|  * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. | ||||
|  * (These options will be enabled automatically for most displays.) | ||||
|  * | ||||
|  * IMPORTANT: The U8glib library is required for Full Graphic Display! | ||||
|  *            https://github.com/olikraus/U8glib_Arduino | ||||
|  */ | ||||
| //#define ULTRA_LCD   // Character based | ||||
| //#define DOGLCD      // Full graphics display | ||||
|  | ||||
| // | ||||
| // SD CARD | ||||
| // | ||||
| // 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. | ||||
| // | ||||
| /** | ||||
|  * SD CARD | ||||
|  * | ||||
|  * 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. | ||||
|  * | ||||
|  */ | ||||
| //#define SDSUPPORT | ||||
|  | ||||
| // | ||||
| // SD CARD: SPI SPEED | ||||
| // | ||||
| // Uncomment ONE of the following items to use a slower SPI transfer | ||||
| // speed. This is usually required if you're getting volume init errors. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: SPI SPEED | ||||
|  * | ||||
|  * Enable one of the following items for a slower SPI transfer speed. | ||||
|  * This may be required to resolve "volume init" errors. | ||||
|  */ | ||||
| //#define SPI_SPEED SPI_HALF_SPEED | ||||
| //#define SPI_SPEED SPI_QUARTER_SPEED | ||||
| //#define SPI_SPEED SPI_EIGHTH_SPEED | ||||
|  | ||||
| // | ||||
| // SD CARD: ENABLE CRC | ||||
| // | ||||
| // Use CRC checks and retries on the SD communication. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: ENABLE CRC | ||||
|  * | ||||
|  * Use CRC checks and retries on the SD communication. | ||||
|  */ | ||||
| //#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 | ||||
| // | ||||
|   | ||||
| @@ -991,23 +991,17 @@ | ||||
| #define PREHEAT_2_TEMP_BED    110 | ||||
| #define PREHEAT_2_FAN_SPEED     0 // Value from 0 to 255 | ||||
|  | ||||
| // | ||||
| // Nozzle Park -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to define a special XYZ position, inside the | ||||
| // machine's topology, to park the nozzle when idle or when receiving the G27 | ||||
| // command. | ||||
| // | ||||
| // The "P" paramenter controls what is the action applied to the Z axis: | ||||
| //    P0: (Default) If current Z-pos is lower than Z-park then the nozzle will | ||||
| //        be raised to reach Z-park height. | ||||
| // | ||||
| //    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. | ||||
| // | ||||
| /** | ||||
|  * Nozzle Park -- EXPERIMENTAL | ||||
|  * | ||||
|  * Park the nozzle at the given XYZ position on idle or G27. | ||||
|  * | ||||
|  * The "P" parameter controls the action applied to the Z axis: | ||||
|  * | ||||
|  *    P0  (Default) If Z is below park Z raise the nozzle. | ||||
|  *    P1  Raise the nozzle always to Z-park height. | ||||
|  *    P2  Raise the nozzle by Z-park amount, limited to Z_MAX_POS. | ||||
|  */ | ||||
| //#define 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 } | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Clean Nozzle Feature -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to send G12 to start the nozzle cleaning | ||||
| // process, the G-Code accepts two parameters: | ||||
| //   "P" for pattern selection | ||||
| //   "S" for defining the number of strokes/repetitions | ||||
| // | ||||
| // Available list of patterns: | ||||
| //   P0: This is the default pattern, this process requires a sponge type | ||||
| //       material at a fixed bed location. S defines "strokes" i.e. | ||||
| //       back-and-forth movements between the starting and end points. | ||||
| // | ||||
| //   P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" | ||||
| //       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 | ||||
| //       be performed in whichever dimension is smallest. As an example, | ||||
| //       sending "G12 P1 S1 T3" will execute: | ||||
| // | ||||
| //          -- | ||||
| //         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
| //         |           |    /  \      /  \      /  \    | | ||||
| //       A |           |   /    \    /    \    /    \   | | ||||
| //         |           |  /      \  /      \  /      \  | | ||||
| //         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
| //          --         +--------------------------------+ | ||||
| //                       |________|_________|_________| | ||||
| //                           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. | ||||
| //       Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. | ||||
| // | ||||
| // Caveats: End point Z should use the same value as Start point Z. | ||||
| // | ||||
| // Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments | ||||
| // may change to add new functionality like different wipe patterns. | ||||
| // | ||||
| /** | ||||
|  * Clean Nozzle Feature -- EXPERIMENTAL | ||||
|  * | ||||
|  * Adds the G12 command to perform a nozzle cleaning process. | ||||
|  * | ||||
|  * Parameters: | ||||
|  *   P  Pattern | ||||
|  *   S  Strokes / Repetitions | ||||
|  *   T  Triangles (P1 only) | ||||
|  * | ||||
|  * Patterns: | ||||
|  *   P0  Straight line (default). This process requires a sponge type material | ||||
|  *       at a fixed bed location. "S" specifies strokes (i.e. back-forth motions) | ||||
|  *       between the start / end points. | ||||
|  * | ||||
|  *   P1  Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the | ||||
|  *       number of zig-zag triangles to do. "S" defines the number of strokes. | ||||
|  *       Zig-zags are done in whichever is the narrower dimension. | ||||
|  *       For example, "G12 P1 S1 T3" will execute: | ||||
|  * | ||||
|  *          -- | ||||
|  *         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
|  *         |           |    /  \      /  \      /  \    | | ||||
|  *       A |           |   /    \    /    \    /    \   | | ||||
|  *         |           |  /      \  /      \  /      \  | | ||||
|  *         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
|  *          --         +--------------------------------+ | ||||
|  *                       |________|_________|_________| | ||||
|  *                           T1        T2        T3 | ||||
|  * | ||||
|  *   P2  Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE. | ||||
|  *       "R" specifies the radius. "S" specifies the stroke count. | ||||
|  *       Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT. | ||||
|  * | ||||
|  *   Caveats: The ending Z should be the same as starting Z. | ||||
|  * Attention: EXPERIMENTAL. G-code arguments may change. | ||||
|  * | ||||
|  */ | ||||
| //#define NOZZLE_CLEAN_FEATURE | ||||
|  | ||||
| #if ENABLED(NOZZLE_CLEAN_FEATURE) | ||||
| @@ -1077,33 +1071,35 @@ | ||||
|   #define NOZZLE_CLEAN_GOBACK | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Print job timer | ||||
| // | ||||
| // Enable this option to automatically start and stop the | ||||
| // print job timer when M104/M109/M190 commands are received. | ||||
| // M104 (extruder without wait) - high temp = none, low temp = stop timer | ||||
| // M109 (extruder with wait) - high temp = start timer, low temp = stop timer | ||||
| // M190 (bed with wait) - high temp = start timer, low temp = none | ||||
| // | ||||
| // In all cases the timer can be started and stopped using | ||||
| // the following commands: | ||||
| // | ||||
| // - M75  - Start the print job timer | ||||
| // - M76  - Pause the print job timer | ||||
| // - M77  - Stop the print job timer | ||||
| /** | ||||
|  * Print Job Timer | ||||
|  * | ||||
|  * Automatically start and stop the print job timer on M104/M109/M190. | ||||
|  * | ||||
|  *   M104 (hotend, no wait) - high temp = none,        low temp = stop timer | ||||
|  *   M109 (hotend, wait)    - high temp = start timer, low temp = stop timer | ||||
|  *   M190 (bed, wait)       - high temp = start timer, low temp = none | ||||
|  * | ||||
|  * The timer can also be controlled with the following commands: | ||||
|  * | ||||
|  *   M75 - Start the print job timer | ||||
|  *   M76 - Pause the print job timer | ||||
|  *   M77 - Stop the print job timer | ||||
|  */ | ||||
| #define PRINTJOB_TIMER_AUTOSTART | ||||
|  | ||||
| // | ||||
| // Print Counter | ||||
| // | ||||
| // When enabled Marlin will keep track of some print statistical data such as: | ||||
| //  - Total print jobs | ||||
| //  - Total successful print jobs | ||||
| //  - Total failed print jobs | ||||
| //  - Total time printing | ||||
| // | ||||
| // This information can be viewed by the M78 command. | ||||
| /** | ||||
|  * Print Counter | ||||
|  * | ||||
|  * Track statistical data such as: | ||||
|  * | ||||
|  *  - Total print jobs | ||||
|  *  - Total successful print jobs | ||||
|  *  - Total failed print jobs | ||||
|  *  - Total time printing | ||||
|  * | ||||
|  * View the current statistics with M78. | ||||
|  */ | ||||
| //#define PRINTCOUNTER | ||||
|  | ||||
| //============================================================================= | ||||
| @@ -1112,78 +1108,79 @@ | ||||
|  | ||||
| // @section lcd | ||||
|  | ||||
| // | ||||
| // LCD LANGUAGE | ||||
| // | ||||
| // Here you may choose the language used by Marlin on the LCD menus, the following | ||||
| // list of languages are available: | ||||
| //    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 | ||||
| // | ||||
| // :{ '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' } | ||||
| // | ||||
| /** | ||||
|  * LCD LANGUAGE | ||||
|  * | ||||
|  * Select the language to display on the LCD. These languages are available: | ||||
|  * | ||||
|  *    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 | ||||
|  * | ||||
|  * :{ '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 | ||||
|  | ||||
| // | ||||
| // LCD Character Set | ||||
| // | ||||
| // Note: This option is NOT applicable to Graphical Displays. | ||||
| // | ||||
| // All character-based LCD's provide ASCII plus one of these | ||||
| // language extensions: | ||||
| // | ||||
| //  - JAPANESE ... the most common | ||||
| //  - WESTERN  ... with more accented characters | ||||
| //  - CYRILLIC ... for the Russian language | ||||
| // | ||||
| // To determine the language extension installed on your controller: | ||||
| // | ||||
| //  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
| //  - Click the controller to view the LCD menu | ||||
| //  - The LCD will display Japanese, Western, or Cyrillic text | ||||
| // | ||||
| // See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
| // | ||||
| // :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
| // | ||||
| /** | ||||
|  * LCD Character Set | ||||
|  * | ||||
|  * Note: This option is NOT applicable to Graphical Displays. | ||||
|  * | ||||
|  * All character-based LCDs provide ASCII plus one of these | ||||
|  * language extensions: | ||||
|  * | ||||
|  *  - JAPANESE ... the most common | ||||
|  *  - WESTERN  ... with more accented characters | ||||
|  *  - CYRILLIC ... for the Russian language | ||||
|  * | ||||
|  * To determine the language extension installed on your controller: | ||||
|  * | ||||
|  *  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
|  *  - Click the controller to view the LCD menu | ||||
|  *  - The LCD will display Japanese, Western, or Cyrillic text | ||||
|  * | ||||
|  * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
|  * | ||||
|  * :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
|  */ | ||||
| #define DISPLAY_CHARSET_HD44780 JAPANESE | ||||
|  | ||||
| // | ||||
| // LCD TYPE | ||||
| // | ||||
| // You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, | ||||
| // 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels | ||||
| // (ST7565R family). (This option will be set automatically for certain displays.) | ||||
| // | ||||
| // IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! | ||||
| //                 https://github.com/olikraus/U8glib_Arduino | ||||
| // | ||||
| /** | ||||
|  * LCD TYPE | ||||
|  * | ||||
|  * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. | ||||
|  * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. | ||||
|  * (These options will be enabled automatically for most displays.) | ||||
|  * | ||||
|  * IMPORTANT: The U8glib library is required for Full Graphic Display! | ||||
|  *            https://github.com/olikraus/U8glib_Arduino | ||||
|  */ | ||||
| //#define ULTRA_LCD   // Character based | ||||
| //#define DOGLCD      // Full graphics display | ||||
|  | ||||
| // | ||||
| // SD CARD | ||||
| // | ||||
| // 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. | ||||
| // | ||||
| /** | ||||
|  * SD CARD | ||||
|  * | ||||
|  * 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. | ||||
|  * | ||||
|  */ | ||||
| #define SDSUPPORT | ||||
|  | ||||
| // | ||||
| // SD CARD: SPI SPEED | ||||
| // | ||||
| // Uncomment ONE of the following items to use a slower SPI transfer | ||||
| // speed. This is usually required if you're getting volume init errors. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: SPI SPEED | ||||
|  * | ||||
|  * Enable one of the following items for a slower SPI transfer speed. | ||||
|  * This may be required to resolve "volume init" errors. | ||||
|  */ | ||||
| //#define SPI_SPEED SPI_HALF_SPEED | ||||
| //#define SPI_SPEED SPI_QUARTER_SPEED | ||||
| //#define SPI_SPEED SPI_EIGHTH_SPEED | ||||
|  | ||||
| // | ||||
| // SD CARD: ENABLE CRC | ||||
| // | ||||
| // Use CRC checks and retries on the SD communication. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: ENABLE CRC | ||||
|  * | ||||
|  * Use CRC checks and retries on the SD communication. | ||||
|  */ | ||||
| #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 | ||||
| // | ||||
|   | ||||
| @@ -977,23 +977,17 @@ | ||||
| #define PREHEAT_2_TEMP_BED    100 | ||||
| #define PREHEAT_2_FAN_SPEED   255 // Value from 0 to 255 | ||||
|  | ||||
| // | ||||
| // Nozzle Park -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to define a special XYZ position, inside the | ||||
| // machine's topology, to park the nozzle when idle or when receiving the G27 | ||||
| // command. | ||||
| // | ||||
| // The "P" paramenter controls what is the action applied to the Z axis: | ||||
| //    P0: (Default) If current Z-pos is lower than Z-park then the nozzle will | ||||
| //        be raised to reach Z-park height. | ||||
| // | ||||
| //    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. | ||||
| // | ||||
| /** | ||||
|  * Nozzle Park -- EXPERIMENTAL | ||||
|  * | ||||
|  * Park the nozzle at the given XYZ position on idle or G27. | ||||
|  * | ||||
|  * The "P" parameter controls the action applied to the Z axis: | ||||
|  * | ||||
|  *    P0  (Default) If Z is below park Z raise the nozzle. | ||||
|  *    P1  Raise the nozzle always to Z-park height. | ||||
|  *    P2  Raise the nozzle by Z-park amount, limited to Z_MAX_POS. | ||||
|  */ | ||||
| //#define 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 } | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Clean Nozzle Feature -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to send G12 to start the nozzle cleaning | ||||
| // process, the G-Code accepts two parameters: | ||||
| //   "P" for pattern selection | ||||
| //   "S" for defining the number of strokes/repetitions | ||||
| // | ||||
| // Available list of patterns: | ||||
| //   P0: This is the default pattern, this process requires a sponge type | ||||
| //       material at a fixed bed location. S defines "strokes" i.e. | ||||
| //       back-and-forth movements between the starting and end points. | ||||
| // | ||||
| //   P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" | ||||
| //       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 | ||||
| //       be performed in whichever dimension is smallest. As an example, | ||||
| //       sending "G12 P1 S1 T3" will execute: | ||||
| // | ||||
| //          -- | ||||
| //         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
| //         |           |    /  \      /  \      /  \    | | ||||
| //       A |           |   /    \    /    \    /    \   | | ||||
| //         |           |  /      \  /      \  /      \  | | ||||
| //         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
| //          --         +--------------------------------+ | ||||
| //                       |________|_________|_________| | ||||
| //                           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. | ||||
| //       Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. | ||||
| // | ||||
| // Caveats: End point Z should use the same value as Start point Z. | ||||
| // | ||||
| // Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments | ||||
| // may change to add new functionality like different wipe patterns. | ||||
| // | ||||
| /** | ||||
|  * Clean Nozzle Feature -- EXPERIMENTAL | ||||
|  * | ||||
|  * Adds the G12 command to perform a nozzle cleaning process. | ||||
|  * | ||||
|  * Parameters: | ||||
|  *   P  Pattern | ||||
|  *   S  Strokes / Repetitions | ||||
|  *   T  Triangles (P1 only) | ||||
|  * | ||||
|  * Patterns: | ||||
|  *   P0  Straight line (default). This process requires a sponge type material | ||||
|  *       at a fixed bed location. "S" specifies strokes (i.e. back-forth motions) | ||||
|  *       between the start / end points. | ||||
|  * | ||||
|  *   P1  Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the | ||||
|  *       number of zig-zag triangles to do. "S" defines the number of strokes. | ||||
|  *       Zig-zags are done in whichever is the narrower dimension. | ||||
|  *       For example, "G12 P1 S1 T3" will execute: | ||||
|  * | ||||
|  *          -- | ||||
|  *         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
|  *         |           |    /  \      /  \      /  \    | | ||||
|  *       A |           |   /    \    /    \    /    \   | | ||||
|  *         |           |  /      \  /      \  /      \  | | ||||
|  *         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
|  *          --         +--------------------------------+ | ||||
|  *                       |________|_________|_________| | ||||
|  *                           T1        T2        T3 | ||||
|  * | ||||
|  *   P2  Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE. | ||||
|  *       "R" specifies the radius. "S" specifies the stroke count. | ||||
|  *       Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT. | ||||
|  * | ||||
|  *   Caveats: The ending Z should be the same as starting Z. | ||||
|  * Attention: EXPERIMENTAL. G-code arguments may change. | ||||
|  * | ||||
|  */ | ||||
| //#define NOZZLE_CLEAN_FEATURE | ||||
|  | ||||
| #if ENABLED(NOZZLE_CLEAN_FEATURE) | ||||
| @@ -1063,33 +1057,35 @@ | ||||
|   #define NOZZLE_CLEAN_GOBACK | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Print job timer | ||||
| // | ||||
| // Enable this option to automatically start and stop the | ||||
| // print job timer when M104/M109/M190 commands are received. | ||||
| // M104 (extruder without wait) - high temp = none, low temp = stop timer | ||||
| // M109 (extruder with wait) - high temp = start timer, low temp = stop timer | ||||
| // M190 (bed with wait) - high temp = start timer, low temp = none | ||||
| // | ||||
| // In all cases the timer can be started and stopped using | ||||
| // the following commands: | ||||
| // | ||||
| // - M75  - Start the print job timer | ||||
| // - M76  - Pause the print job timer | ||||
| // - M77  - Stop the print job timer | ||||
| /** | ||||
|  * Print Job Timer | ||||
|  * | ||||
|  * Automatically start and stop the print job timer on M104/M109/M190. | ||||
|  * | ||||
|  *   M104 (hotend, no wait) - high temp = none,        low temp = stop timer | ||||
|  *   M109 (hotend, wait)    - high temp = start timer, low temp = stop timer | ||||
|  *   M190 (bed, wait)       - high temp = start timer, low temp = none | ||||
|  * | ||||
|  * The timer can also be controlled with the following commands: | ||||
|  * | ||||
|  *   M75 - Start the print job timer | ||||
|  *   M76 - Pause the print job timer | ||||
|  *   M77 - Stop the print job timer | ||||
|  */ | ||||
| #define PRINTJOB_TIMER_AUTOSTART | ||||
|  | ||||
| // | ||||
| // Print Counter | ||||
| // | ||||
| // When enabled Marlin will keep track of some print statistical data such as: | ||||
| //  - Total print jobs | ||||
| //  - Total successful print jobs | ||||
| //  - Total failed print jobs | ||||
| //  - Total time printing | ||||
| // | ||||
| // This information can be viewed by the M78 command. | ||||
| /** | ||||
|  * Print Counter | ||||
|  * | ||||
|  * Track statistical data such as: | ||||
|  * | ||||
|  *  - Total print jobs | ||||
|  *  - Total successful print jobs | ||||
|  *  - Total failed print jobs | ||||
|  *  - Total time printing | ||||
|  * | ||||
|  * View the current statistics with M78. | ||||
|  */ | ||||
| //#define PRINTCOUNTER | ||||
|  | ||||
| //============================================================================= | ||||
| @@ -1098,78 +1094,79 @@ | ||||
|  | ||||
| // @section lcd | ||||
|  | ||||
| // | ||||
| // LCD LANGUAGE | ||||
| // | ||||
| // Here you may choose the language used by Marlin on the LCD menus, the following | ||||
| // list of languages are available: | ||||
| //    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 | ||||
| // | ||||
| // :{ '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' } | ||||
| // | ||||
| /** | ||||
|  * LCD LANGUAGE | ||||
|  * | ||||
|  * Select the language to display on the LCD. These languages are available: | ||||
|  * | ||||
|  *    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 | ||||
|  * | ||||
|  * :{ '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 | ||||
|  | ||||
| // | ||||
| // LCD Character Set | ||||
| // | ||||
| // Note: This option is NOT applicable to Graphical Displays. | ||||
| // | ||||
| // All character-based LCD's provide ASCII plus one of these | ||||
| // language extensions: | ||||
| // | ||||
| //  - JAPANESE ... the most common | ||||
| //  - WESTERN  ... with more accented characters | ||||
| //  - CYRILLIC ... for the Russian language | ||||
| // | ||||
| // To determine the language extension installed on your controller: | ||||
| // | ||||
| //  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
| //  - Click the controller to view the LCD menu | ||||
| //  - The LCD will display Japanese, Western, or Cyrillic text | ||||
| // | ||||
| // See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
| // | ||||
| // :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
| // | ||||
| /** | ||||
|  * LCD Character Set | ||||
|  * | ||||
|  * Note: This option is NOT applicable to Graphical Displays. | ||||
|  * | ||||
|  * All character-based LCDs provide ASCII plus one of these | ||||
|  * language extensions: | ||||
|  * | ||||
|  *  - JAPANESE ... the most common | ||||
|  *  - WESTERN  ... with more accented characters | ||||
|  *  - CYRILLIC ... for the Russian language | ||||
|  * | ||||
|  * To determine the language extension installed on your controller: | ||||
|  * | ||||
|  *  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
|  *  - Click the controller to view the LCD menu | ||||
|  *  - The LCD will display Japanese, Western, or Cyrillic text | ||||
|  * | ||||
|  * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
|  * | ||||
|  * :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
|  */ | ||||
| #define DISPLAY_CHARSET_HD44780 JAPANESE | ||||
|  | ||||
| // | ||||
| // LCD TYPE | ||||
| // | ||||
| // You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, | ||||
| // 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels | ||||
| // (ST7565R family). (This option will be set automatically for certain displays.) | ||||
| // | ||||
| // IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! | ||||
| //                 https://github.com/olikraus/U8glib_Arduino | ||||
| // | ||||
| /** | ||||
|  * LCD TYPE | ||||
|  * | ||||
|  * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. | ||||
|  * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. | ||||
|  * (These options will be enabled automatically for most displays.) | ||||
|  * | ||||
|  * IMPORTANT: The U8glib library is required for Full Graphic Display! | ||||
|  *            https://github.com/olikraus/U8glib_Arduino | ||||
|  */ | ||||
| #define ULTRA_LCD   // Character based | ||||
| //#define DOGLCD      // Full graphics display | ||||
|  | ||||
| // | ||||
| // SD CARD | ||||
| // | ||||
| // 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. | ||||
| // | ||||
| /** | ||||
|  * SD CARD | ||||
|  * | ||||
|  * 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. | ||||
|  * | ||||
|  */ | ||||
| #define SDSUPPORT | ||||
|  | ||||
| // | ||||
| // SD CARD: SPI SPEED | ||||
| // | ||||
| // Uncomment ONE of the following items to use a slower SPI transfer | ||||
| // speed. This is usually required if you're getting volume init errors. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: SPI SPEED | ||||
|  * | ||||
|  * Enable one of the following items for a slower SPI transfer speed. | ||||
|  * This may be required to resolve "volume init" errors. | ||||
|  */ | ||||
| //#define SPI_SPEED SPI_HALF_SPEED | ||||
| //#define SPI_SPEED SPI_QUARTER_SPEED | ||||
| //#define SPI_SPEED SPI_EIGHTH_SPEED | ||||
|  | ||||
| // | ||||
| // SD CARD: ENABLE CRC | ||||
| // | ||||
| // Use CRC checks and retries on the SD communication. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: ENABLE CRC | ||||
|  * | ||||
|  * Use CRC checks and retries on the SD communication. | ||||
|  */ | ||||
| //#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 | ||||
| // | ||||
|   | ||||
| @@ -980,23 +980,17 @@ | ||||
| #define PREHEAT_2_TEMP_BED    110 | ||||
| #define PREHEAT_2_FAN_SPEED     0 // Value from 0 to 255 | ||||
|  | ||||
| // | ||||
| // Nozzle Park -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to define a special XYZ position, inside the | ||||
| // machine's topology, to park the nozzle when idle or when receiving the G27 | ||||
| // command. | ||||
| // | ||||
| // The "P" paramenter controls what is the action applied to the Z axis: | ||||
| //    P0: (Default) If current Z-pos is lower than Z-park then the nozzle will | ||||
| //        be raised to reach Z-park height. | ||||
| // | ||||
| //    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. | ||||
| // | ||||
| /** | ||||
|  * Nozzle Park -- EXPERIMENTAL | ||||
|  * | ||||
|  * Park the nozzle at the given XYZ position on idle or G27. | ||||
|  * | ||||
|  * The "P" parameter controls the action applied to the Z axis: | ||||
|  * | ||||
|  *    P0  (Default) If Z is below park Z raise the nozzle. | ||||
|  *    P1  Raise the nozzle always to Z-park height. | ||||
|  *    P2  Raise the nozzle by Z-park amount, limited to Z_MAX_POS. | ||||
|  */ | ||||
| #define 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 } | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Clean Nozzle Feature -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to send G12 to start the nozzle cleaning | ||||
| // process, the G-Code accepts two parameters: | ||||
| //   "P" for pattern selection | ||||
| //   "S" for defining the number of strokes/repetitions | ||||
| // | ||||
| // Available list of patterns: | ||||
| //   P0: This is the default pattern, this process requires a sponge type | ||||
| //       material at a fixed bed location. S defines "strokes" i.e. | ||||
| //       back-and-forth movements between the starting and end points. | ||||
| // | ||||
| //   P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" | ||||
| //       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 | ||||
| //       be performed in whichever dimension is smallest. As an example, | ||||
| //       sending "G12 P1 S1 T3" will execute: | ||||
| // | ||||
| //          -- | ||||
| //         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
| //         |           |    /  \      /  \      /  \    | | ||||
| //       A |           |   /    \    /    \    /    \   | | ||||
| //         |           |  /      \  /      \  /      \  | | ||||
| //         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
| //          --         +--------------------------------+ | ||||
| //                       |________|_________|_________| | ||||
| //                           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. | ||||
| //       Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. | ||||
| // | ||||
| // Caveats: End point Z should use the same value as Start point Z. | ||||
| // | ||||
| // Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments | ||||
| // may change to add new functionality like different wipe patterns. | ||||
| // | ||||
| /** | ||||
|  * Clean Nozzle Feature -- EXPERIMENTAL | ||||
|  * | ||||
|  * Adds the G12 command to perform a nozzle cleaning process. | ||||
|  * | ||||
|  * Parameters: | ||||
|  *   P  Pattern | ||||
|  *   S  Strokes / Repetitions | ||||
|  *   T  Triangles (P1 only) | ||||
|  * | ||||
|  * Patterns: | ||||
|  *   P0  Straight line (default). This process requires a sponge type material | ||||
|  *       at a fixed bed location. "S" specifies strokes (i.e. back-forth motions) | ||||
|  *       between the start / end points. | ||||
|  * | ||||
|  *   P1  Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the | ||||
|  *       number of zig-zag triangles to do. "S" defines the number of strokes. | ||||
|  *       Zig-zags are done in whichever is the narrower dimension. | ||||
|  *       For example, "G12 P1 S1 T3" will execute: | ||||
|  * | ||||
|  *          -- | ||||
|  *         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
|  *         |           |    /  \      /  \      /  \    | | ||||
|  *       A |           |   /    \    /    \    /    \   | | ||||
|  *         |           |  /      \  /      \  /      \  | | ||||
|  *         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
|  *          --         +--------------------------------+ | ||||
|  *                       |________|_________|_________| | ||||
|  *                           T1        T2        T3 | ||||
|  * | ||||
|  *   P2  Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE. | ||||
|  *       "R" specifies the radius. "S" specifies the stroke count. | ||||
|  *       Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT. | ||||
|  * | ||||
|  *   Caveats: The ending Z should be the same as starting Z. | ||||
|  * Attention: EXPERIMENTAL. G-code arguments may change. | ||||
|  * | ||||
|  */ | ||||
| #define NOZZLE_CLEAN_FEATURE | ||||
|  | ||||
| #if ENABLED(NOZZLE_CLEAN_FEATURE) | ||||
| @@ -1066,33 +1060,35 @@ | ||||
|   //#define NOZZLE_CLEAN_GOBACK | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Print job timer | ||||
| // | ||||
| // Enable this option to automatically start and stop the | ||||
| // print job timer when M104/M109/M190 commands are received. | ||||
| // M104 (extruder without wait) - high temp = none, low temp = stop timer | ||||
| // M109 (extruder with wait) - high temp = start timer, low temp = stop timer | ||||
| // M190 (bed with wait) - high temp = start timer, low temp = none | ||||
| // | ||||
| // In all cases the timer can be started and stopped using | ||||
| // the following commands: | ||||
| // | ||||
| // - M75  - Start the print job timer | ||||
| // - M76  - Pause the print job timer | ||||
| // - M77  - Stop the print job timer | ||||
| /** | ||||
|  * Print Job Timer | ||||
|  * | ||||
|  * Automatically start and stop the print job timer on M104/M109/M190. | ||||
|  * | ||||
|  *   M104 (hotend, no wait) - high temp = none,        low temp = stop timer | ||||
|  *   M109 (hotend, wait)    - high temp = start timer, low temp = stop timer | ||||
|  *   M190 (bed, wait)       - high temp = start timer, low temp = none | ||||
|  * | ||||
|  * The timer can also be controlled with the following commands: | ||||
|  * | ||||
|  *   M75 - Start the print job timer | ||||
|  *   M76 - Pause the print job timer | ||||
|  *   M77 - Stop the print job timer | ||||
|  */ | ||||
| #define PRINTJOB_TIMER_AUTOSTART | ||||
|  | ||||
| // | ||||
| // Print Counter | ||||
| // | ||||
| // When enabled Marlin will keep track of some print statistical data such as: | ||||
| //  - Total print jobs | ||||
| //  - Total successful print jobs | ||||
| //  - Total failed print jobs | ||||
| //  - Total time printing | ||||
| // | ||||
| // This information can be viewed by the M78 command. | ||||
| /** | ||||
|  * Print Counter | ||||
|  * | ||||
|  * Track statistical data such as: | ||||
|  * | ||||
|  *  - Total print jobs | ||||
|  *  - Total successful print jobs | ||||
|  *  - Total failed print jobs | ||||
|  *  - Total time printing | ||||
|  * | ||||
|  * View the current statistics with M78. | ||||
|  */ | ||||
| #define PRINTCOUNTER | ||||
|  | ||||
| //============================================================================= | ||||
| @@ -1101,78 +1097,79 @@ | ||||
|  | ||||
| // @section lcd | ||||
|  | ||||
| // | ||||
| // LCD LANGUAGE | ||||
| // | ||||
| // Here you may choose the language used by Marlin on the LCD menus, the following | ||||
| // list of languages are available: | ||||
| //    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 | ||||
| // | ||||
| // :{ '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' } | ||||
| // | ||||
| /** | ||||
|  * LCD LANGUAGE | ||||
|  * | ||||
|  * Select the language to display on the LCD. These languages are available: | ||||
|  * | ||||
|  *    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 | ||||
|  * | ||||
|  * :{ '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 | ||||
|  | ||||
| // | ||||
| // LCD Character Set | ||||
| // | ||||
| // Note: This option is NOT applicable to Graphical Displays. | ||||
| // | ||||
| // All character-based LCD's provide ASCII plus one of these | ||||
| // language extensions: | ||||
| // | ||||
| //  - JAPANESE ... the most common | ||||
| //  - WESTERN  ... with more accented characters | ||||
| //  - CYRILLIC ... for the Russian language | ||||
| // | ||||
| // To determine the language extension installed on your controller: | ||||
| // | ||||
| //  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
| //  - Click the controller to view the LCD menu | ||||
| //  - The LCD will display Japanese, Western, or Cyrillic text | ||||
| // | ||||
| // See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
| // | ||||
| // :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
| // | ||||
| /** | ||||
|  * LCD Character Set | ||||
|  * | ||||
|  * Note: This option is NOT applicable to Graphical Displays. | ||||
|  * | ||||
|  * All character-based LCDs provide ASCII plus one of these | ||||
|  * language extensions: | ||||
|  * | ||||
|  *  - JAPANESE ... the most common | ||||
|  *  - WESTERN  ... with more accented characters | ||||
|  *  - CYRILLIC ... for the Russian language | ||||
|  * | ||||
|  * To determine the language extension installed on your controller: | ||||
|  * | ||||
|  *  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
|  *  - Click the controller to view the LCD menu | ||||
|  *  - The LCD will display Japanese, Western, or Cyrillic text | ||||
|  * | ||||
|  * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
|  * | ||||
|  * :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
|  */ | ||||
| #define DISPLAY_CHARSET_HD44780 JAPANESE | ||||
|  | ||||
| // | ||||
| // LCD TYPE | ||||
| // | ||||
| // You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, | ||||
| // 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels | ||||
| // (ST7565R family). (This option will be set automatically for certain displays.) | ||||
| // | ||||
| // IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! | ||||
| //                 https://github.com/olikraus/U8glib_Arduino | ||||
| // | ||||
| /** | ||||
|  * LCD TYPE | ||||
|  * | ||||
|  * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. | ||||
|  * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. | ||||
|  * (These options will be enabled automatically for most displays.) | ||||
|  * | ||||
|  * IMPORTANT: The U8glib library is required for Full Graphic Display! | ||||
|  *            https://github.com/olikraus/U8glib_Arduino | ||||
|  */ | ||||
| //#define ULTRA_LCD   // Character based | ||||
| //#define DOGLCD      // Full graphics display | ||||
|  | ||||
| // | ||||
| // SD CARD | ||||
| // | ||||
| // 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. | ||||
| // | ||||
| /** | ||||
|  * SD CARD | ||||
|  * | ||||
|  * 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. | ||||
|  * | ||||
|  */ | ||||
| #define SDSUPPORT | ||||
|  | ||||
| // | ||||
| // SD CARD: SPI SPEED | ||||
| // | ||||
| // Uncomment ONE of the following items to use a slower SPI transfer | ||||
| // speed. This is usually required if you're getting volume init errors. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: SPI SPEED | ||||
|  * | ||||
|  * Enable one of the following items for a slower SPI transfer speed. | ||||
|  * This may be required to resolve "volume init" errors. | ||||
|  */ | ||||
| //#define SPI_SPEED SPI_HALF_SPEED | ||||
| //#define SPI_SPEED SPI_QUARTER_SPEED | ||||
| //#define SPI_SPEED SPI_EIGHTH_SPEED | ||||
|  | ||||
| // | ||||
| // SD CARD: ENABLE CRC | ||||
| // | ||||
| // Use CRC checks and retries on the SD communication. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: ENABLE CRC | ||||
|  * | ||||
|  * Use CRC checks and retries on the SD communication. | ||||
|  */ | ||||
| #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 | ||||
| // | ||||
|   | ||||
| @@ -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_FAN_SPEED     0 // Value from 0 to 255 | ||||
|  | ||||
| // | ||||
| // Nozzle Park -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to define a special XYZ position, inside the | ||||
| // machine's topology, to park the nozzle when idle or when receiving the G27 | ||||
| // command. | ||||
| // | ||||
| // The "P" paramenter controls what is the action applied to the Z axis: | ||||
| //    P0: (Default) If current Z-pos is lower than Z-park then the nozzle will | ||||
| //        be raised to reach Z-park height. | ||||
| // | ||||
| //    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. | ||||
| // | ||||
| /** | ||||
|  * Nozzle Park -- EXPERIMENTAL | ||||
|  * | ||||
|  * Park the nozzle at the given XYZ position on idle or G27. | ||||
|  * | ||||
|  * The "P" parameter controls the action applied to the Z axis: | ||||
|  * | ||||
|  *    P0  (Default) If Z is below park Z raise the nozzle. | ||||
|  *    P1  Raise the nozzle always to Z-park height. | ||||
|  *    P2  Raise the nozzle by Z-park amount, limited to Z_MAX_POS. | ||||
|  */ | ||||
| //#define 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 } | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Clean Nozzle Feature -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to send G12 to start the nozzle cleaning | ||||
| // process, the G-Code accepts two parameters: | ||||
| //   "P" for pattern selection | ||||
| //   "S" for defining the number of strokes/repetitions | ||||
| // | ||||
| // Available list of patterns: | ||||
| //   P0: This is the default pattern, this process requires a sponge type | ||||
| //       material at a fixed bed location. S defines "strokes" i.e. | ||||
| //       back-and-forth movements between the starting and end points. | ||||
| // | ||||
| //   P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" | ||||
| //       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 | ||||
| //       be performed in whichever dimension is smallest. As an example, | ||||
| //       sending "G12 P1 S1 T3" will execute: | ||||
| // | ||||
| //          -- | ||||
| //         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
| //         |           |    /  \      /  \      /  \    | | ||||
| //       A |           |   /    \    /    \    /    \   | | ||||
| //         |           |  /      \  /      \  /      \  | | ||||
| //         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
| //          --         +--------------------------------+ | ||||
| //                       |________|_________|_________| | ||||
| //                           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. | ||||
| //       Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. | ||||
| // | ||||
| // Caveats: End point Z should use the same value as Start point Z. | ||||
| // | ||||
| // Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments | ||||
| // may change to add new functionality like different wipe patterns. | ||||
| // | ||||
| /** | ||||
|  * Clean Nozzle Feature -- EXPERIMENTAL | ||||
|  * | ||||
|  * Adds the G12 command to perform a nozzle cleaning process. | ||||
|  * | ||||
|  * Parameters: | ||||
|  *   P  Pattern | ||||
|  *   S  Strokes / Repetitions | ||||
|  *   T  Triangles (P1 only) | ||||
|  * | ||||
|  * Patterns: | ||||
|  *   P0  Straight line (default). This process requires a sponge type material | ||||
|  *       at a fixed bed location. "S" specifies strokes (i.e. back-forth motions) | ||||
|  *       between the start / end points. | ||||
|  * | ||||
|  *   P1  Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the | ||||
|  *       number of zig-zag triangles to do. "S" defines the number of strokes. | ||||
|  *       Zig-zags are done in whichever is the narrower dimension. | ||||
|  *       For example, "G12 P1 S1 T3" will execute: | ||||
|  * | ||||
|  *          -- | ||||
|  *         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
|  *         |           |    /  \      /  \      /  \    | | ||||
|  *       A |           |   /    \    /    \    /    \   | | ||||
|  *         |           |  /      \  /      \  /      \  | | ||||
|  *         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
|  *          --         +--------------------------------+ | ||||
|  *                       |________|_________|_________| | ||||
|  *                           T1        T2        T3 | ||||
|  * | ||||
|  *   P2  Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE. | ||||
|  *       "R" specifies the radius. "S" specifies the stroke count. | ||||
|  *       Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT. | ||||
|  * | ||||
|  *   Caveats: The ending Z should be the same as starting Z. | ||||
|  * Attention: EXPERIMENTAL. G-code arguments may change. | ||||
|  * | ||||
|  */ | ||||
| //#define NOZZLE_CLEAN_FEATURE | ||||
|  | ||||
| #if ENABLED(NOZZLE_CLEAN_FEATURE) | ||||
| @@ -1101,33 +1095,35 @@ | ||||
|   #define NOZZLE_CLEAN_GOBACK | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Print job timer | ||||
| // | ||||
| // Enable this option to automatically start and stop the | ||||
| // print job timer when M104/M109/M190 commands are received. | ||||
| // M104 (extruder without wait) - high temp = none, low temp = stop timer | ||||
| // M109 (extruder with wait) - high temp = start timer, low temp = stop timer | ||||
| // M190 (bed with wait) - high temp = start timer, low temp = none | ||||
| // | ||||
| // In all cases the timer can be started and stopped using | ||||
| // the following commands: | ||||
| // | ||||
| // - M75  - Start the print job timer | ||||
| // - M76  - Pause the print job timer | ||||
| // - M77  - Stop the print job timer | ||||
| /** | ||||
|  * Print Job Timer | ||||
|  * | ||||
|  * Automatically start and stop the print job timer on M104/M109/M190. | ||||
|  * | ||||
|  *   M104 (hotend, no wait) - high temp = none,        low temp = stop timer | ||||
|  *   M109 (hotend, wait)    - high temp = start timer, low temp = stop timer | ||||
|  *   M190 (bed, wait)       - high temp = start timer, low temp = none | ||||
|  * | ||||
|  * The timer can also be controlled with the following commands: | ||||
|  * | ||||
|  *   M75 - Start the print job timer | ||||
|  *   M76 - Pause the print job timer | ||||
|  *   M77 - Stop the print job timer | ||||
|  */ | ||||
| #define PRINTJOB_TIMER_AUTOSTART | ||||
|  | ||||
| // | ||||
| // Print Counter | ||||
| // | ||||
| // When enabled Marlin will keep track of some print statistical data such as: | ||||
| //  - Total print jobs | ||||
| //  - Total successful print jobs | ||||
| //  - Total failed print jobs | ||||
| //  - Total time printing | ||||
| // | ||||
| // This information can be viewed by the M78 command. | ||||
| /** | ||||
|  * Print Counter | ||||
|  * | ||||
|  * Track statistical data such as: | ||||
|  * | ||||
|  *  - Total print jobs | ||||
|  *  - Total successful print jobs | ||||
|  *  - Total failed print jobs | ||||
|  *  - Total time printing | ||||
|  * | ||||
|  * View the current statistics with M78. | ||||
|  */ | ||||
| #define PRINTCOUNTER | ||||
|  | ||||
| //============================================================================= | ||||
| @@ -1139,78 +1135,79 @@ | ||||
| // K8200: for Display VM8201 with SD slot | ||||
| #if ENABLED(K8200_VM8201) | ||||
|  | ||||
| // | ||||
| // LCD LANGUAGE | ||||
| // | ||||
| // Here you may choose the language used by Marlin on the LCD menus, the following | ||||
| // list of languages are available: | ||||
| //    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 | ||||
| // | ||||
| // :{ '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' } | ||||
| // | ||||
| /** | ||||
|  * LCD LANGUAGE | ||||
|  * | ||||
|  * Select the language to display on the LCD. These languages are available: | ||||
|  * | ||||
|  *    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 | ||||
|  * | ||||
|  * :{ '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 | ||||
|  | ||||
| // | ||||
| // LCD Character Set | ||||
| // | ||||
| // Note: This option is NOT applicable to Graphical Displays. | ||||
| // | ||||
| // All character-based LCD's provide ASCII plus one of these | ||||
| // language extensions: | ||||
| // | ||||
| //  - JAPANESE ... the most common | ||||
| //  - WESTERN  ... with more accented characters | ||||
| //  - CYRILLIC ... for the Russian language | ||||
| // | ||||
| // To determine the language extension installed on your controller: | ||||
| // | ||||
| //  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
| //  - Click the controller to view the LCD menu | ||||
| //  - The LCD will display Japanese, Western, or Cyrillic text | ||||
| // | ||||
| // See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
| // | ||||
| // :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
| // | ||||
| /** | ||||
|  * LCD Character Set | ||||
|  * | ||||
|  * Note: This option is NOT applicable to Graphical Displays. | ||||
|  * | ||||
|  * All character-based LCDs provide ASCII plus one of these | ||||
|  * language extensions: | ||||
|  * | ||||
|  *  - JAPANESE ... the most common | ||||
|  *  - WESTERN  ... with more accented characters | ||||
|  *  - CYRILLIC ... for the Russian language | ||||
|  * | ||||
|  * To determine the language extension installed on your controller: | ||||
|  * | ||||
|  *  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
|  *  - Click the controller to view the LCD menu | ||||
|  *  - The LCD will display Japanese, Western, or Cyrillic text | ||||
|  * | ||||
|  * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
|  * | ||||
|  * :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
|  */ | ||||
| #define DISPLAY_CHARSET_HD44780 JAPANESE // K8200: for Display VM8201 // this is the most common hardware | ||||
|  | ||||
| // | ||||
| // LCD TYPE | ||||
| // | ||||
| // You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, | ||||
| // 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels | ||||
| // (ST7565R family). (This option will be set automatically for certain displays.) | ||||
| // | ||||
| // IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! | ||||
| //                 https://github.com/olikraus/U8glib_Arduino | ||||
| // | ||||
| /** | ||||
|  * LCD TYPE | ||||
|  * | ||||
|  * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. | ||||
|  * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. | ||||
|  * (These options will be enabled automatically for most displays.) | ||||
|  * | ||||
|  * IMPORTANT: The U8glib library is required for Full Graphic Display! | ||||
|  *            https://github.com/olikraus/U8glib_Arduino | ||||
|  */ | ||||
| //#define ULTRA_LCD   // Character based | ||||
| //#define DOGLCD      // Full graphics display | ||||
|  | ||||
| // | ||||
| // SD CARD | ||||
| // | ||||
| // 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. | ||||
| // | ||||
| /** | ||||
|  * SD CARD | ||||
|  * | ||||
|  * 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. | ||||
|  * | ||||
|  */ | ||||
| #define SDSUPPORT | ||||
|  | ||||
| // | ||||
| // SD CARD: SPI SPEED | ||||
| // | ||||
| // Uncomment ONE of the following items to use a slower SPI transfer | ||||
| // speed. This is usually required if you're getting volume init errors. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: SPI SPEED | ||||
|  * | ||||
|  * Enable one of the following items for a slower SPI transfer speed. | ||||
|  * This may be required to resolve "volume init" errors. | ||||
|  */ | ||||
| //#define SPI_SPEED SPI_HALF_SPEED | ||||
| //#define SPI_SPEED SPI_QUARTER_SPEED | ||||
| //#define SPI_SPEED SPI_EIGHTH_SPEED | ||||
|  | ||||
| // | ||||
| // SD CARD: ENABLE CRC | ||||
| // | ||||
| // Use CRC checks and retries on the SD communication. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: ENABLE CRC | ||||
|  * | ||||
|  * Use CRC checks and retries on the SD communication. | ||||
|  */ | ||||
| #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 | ||||
| // | ||||
|   | ||||
| @@ -986,23 +986,17 @@ | ||||
| #define PREHEAT_2_TEMP_BED      0 | ||||
| #define PREHEAT_2_FAN_SPEED   165 // Value from 0 to 255 | ||||
|  | ||||
| // | ||||
| // Nozzle Park -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to define a special XYZ position, inside the | ||||
| // machine's topology, to park the nozzle when idle or when receiving the G27 | ||||
| // command. | ||||
| // | ||||
| // The "P" paramenter controls what is the action applied to the Z axis: | ||||
| //    P0: (Default) If current Z-pos is lower than Z-park then the nozzle will | ||||
| //        be raised to reach Z-park height. | ||||
| // | ||||
| //    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. | ||||
| // | ||||
| /** | ||||
|  * Nozzle Park -- EXPERIMENTAL | ||||
|  * | ||||
|  * Park the nozzle at the given XYZ position on idle or G27. | ||||
|  * | ||||
|  * The "P" parameter controls the action applied to the Z axis: | ||||
|  * | ||||
|  *    P0  (Default) If Z is below park Z raise the nozzle. | ||||
|  *    P1  Raise the nozzle always to Z-park height. | ||||
|  *    P2  Raise the nozzle by Z-park amount, limited to Z_MAX_POS. | ||||
|  */ | ||||
| //#define 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 } | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Clean Nozzle Feature -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to send G12 to start the nozzle cleaning | ||||
| // process, the G-Code accepts two parameters: | ||||
| //   "P" for pattern selection | ||||
| //   "S" for defining the number of strokes/repetitions | ||||
| // | ||||
| // Available list of patterns: | ||||
| //   P0: This is the default pattern, this process requires a sponge type | ||||
| //       material at a fixed bed location. S defines "strokes" i.e. | ||||
| //       back-and-forth movements between the starting and end points. | ||||
| // | ||||
| //   P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" | ||||
| //       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 | ||||
| //       be performed in whichever dimension is smallest. As an example, | ||||
| //       sending "G12 P1 S1 T3" will execute: | ||||
| // | ||||
| //          -- | ||||
| //         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
| //         |           |    /  \      /  \      /  \    | | ||||
| //       A |           |   /    \    /    \    /    \   | | ||||
| //         |           |  /      \  /      \  /      \  | | ||||
| //         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
| //          --         +--------------------------------+ | ||||
| //                       |________|_________|_________| | ||||
| //                           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. | ||||
| //       Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. | ||||
| // | ||||
| // Caveats: End point Z should use the same value as Start point Z. | ||||
| // | ||||
| // Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments | ||||
| // may change to add new functionality like different wipe patterns. | ||||
| // | ||||
| /** | ||||
|  * Clean Nozzle Feature -- EXPERIMENTAL | ||||
|  * | ||||
|  * Adds the G12 command to perform a nozzle cleaning process. | ||||
|  * | ||||
|  * Parameters: | ||||
|  *   P  Pattern | ||||
|  *   S  Strokes / Repetitions | ||||
|  *   T  Triangles (P1 only) | ||||
|  * | ||||
|  * Patterns: | ||||
|  *   P0  Straight line (default). This process requires a sponge type material | ||||
|  *       at a fixed bed location. "S" specifies strokes (i.e. back-forth motions) | ||||
|  *       between the start / end points. | ||||
|  * | ||||
|  *   P1  Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the | ||||
|  *       number of zig-zag triangles to do. "S" defines the number of strokes. | ||||
|  *       Zig-zags are done in whichever is the narrower dimension. | ||||
|  *       For example, "G12 P1 S1 T3" will execute: | ||||
|  * | ||||
|  *          -- | ||||
|  *         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
|  *         |           |    /  \      /  \      /  \    | | ||||
|  *       A |           |   /    \    /    \    /    \   | | ||||
|  *         |           |  /      \  /      \  /      \  | | ||||
|  *         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
|  *          --         +--------------------------------+ | ||||
|  *                       |________|_________|_________| | ||||
|  *                           T1        T2        T3 | ||||
|  * | ||||
|  *   P2  Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE. | ||||
|  *       "R" specifies the radius. "S" specifies the stroke count. | ||||
|  *       Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT. | ||||
|  * | ||||
|  *   Caveats: The ending Z should be the same as starting Z. | ||||
|  * Attention: EXPERIMENTAL. G-code arguments may change. | ||||
|  * | ||||
|  */ | ||||
| //#define NOZZLE_CLEAN_FEATURE | ||||
|  | ||||
| #if ENABLED(NOZZLE_CLEAN_FEATURE) | ||||
| @@ -1072,33 +1066,35 @@ | ||||
|   #define NOZZLE_CLEAN_GOBACK | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Print job timer | ||||
| // | ||||
| // Enable this option to automatically start and stop the | ||||
| // print job timer when M104/M109/M190 commands are received. | ||||
| // M104 (extruder without wait) - high temp = none, low temp = stop timer | ||||
| // M109 (extruder with wait) - high temp = start timer, low temp = stop timer | ||||
| // M190 (bed with wait) - high temp = start timer, low temp = none | ||||
| // | ||||
| // In all cases the timer can be started and stopped using | ||||
| // the following commands: | ||||
| // | ||||
| // - M75  - Start the print job timer | ||||
| // - M76  - Pause the print job timer | ||||
| // - M77  - Stop the print job timer | ||||
| /** | ||||
|  * Print Job Timer | ||||
|  * | ||||
|  * Automatically start and stop the print job timer on M104/M109/M190. | ||||
|  * | ||||
|  *   M104 (hotend, no wait) - high temp = none,        low temp = stop timer | ||||
|  *   M109 (hotend, wait)    - high temp = start timer, low temp = stop timer | ||||
|  *   M190 (bed, wait)       - high temp = start timer, low temp = none | ||||
|  * | ||||
|  * The timer can also be controlled with the following commands: | ||||
|  * | ||||
|  *   M75 - Start the print job timer | ||||
|  *   M76 - Pause the print job timer | ||||
|  *   M77 - Stop the print job timer | ||||
|  */ | ||||
| #define PRINTJOB_TIMER_AUTOSTART | ||||
|  | ||||
| // | ||||
| // Print Counter | ||||
| // | ||||
| // When enabled Marlin will keep track of some print statistical data such as: | ||||
| //  - Total print jobs | ||||
| //  - Total successful print jobs | ||||
| //  - Total failed print jobs | ||||
| //  - Total time printing | ||||
| // | ||||
| // This information can be viewed by the M78 command. | ||||
| /** | ||||
|  * Print Counter | ||||
|  * | ||||
|  * Track statistical data such as: | ||||
|  * | ||||
|  *  - Total print jobs | ||||
|  *  - Total successful print jobs | ||||
|  *  - Total failed print jobs | ||||
|  *  - Total time printing | ||||
|  * | ||||
|  * View the current statistics with M78. | ||||
|  */ | ||||
| //#define PRINTCOUNTER | ||||
|  | ||||
| //============================================================================= | ||||
| @@ -1107,78 +1103,79 @@ | ||||
|  | ||||
| // @section lcd | ||||
|  | ||||
| // | ||||
| // LCD LANGUAGE | ||||
| // | ||||
| // Here you may choose the language used by Marlin on the LCD menus, the following | ||||
| // list of languages are available: | ||||
| //    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 | ||||
| // | ||||
| // :{ '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' } | ||||
| // | ||||
| /** | ||||
|  * LCD LANGUAGE | ||||
|  * | ||||
|  * Select the language to display on the LCD. These languages are available: | ||||
|  * | ||||
|  *    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 | ||||
|  * | ||||
|  * :{ '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 | ||||
|  | ||||
| // | ||||
| // LCD Character Set | ||||
| // | ||||
| // Note: This option is NOT applicable to Graphical Displays. | ||||
| // | ||||
| // All character-based LCD's provide ASCII plus one of these | ||||
| // language extensions: | ||||
| // | ||||
| //  - JAPANESE ... the most common | ||||
| //  - WESTERN  ... with more accented characters | ||||
| //  - CYRILLIC ... for the Russian language | ||||
| // | ||||
| // To determine the language extension installed on your controller: | ||||
| // | ||||
| //  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
| //  - Click the controller to view the LCD menu | ||||
| //  - The LCD will display Japanese, Western, or Cyrillic text | ||||
| // | ||||
| // See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
| // | ||||
| // :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
| // | ||||
| /** | ||||
|  * LCD Character Set | ||||
|  * | ||||
|  * Note: This option is NOT applicable to Graphical Displays. | ||||
|  * | ||||
|  * All character-based LCDs provide ASCII plus one of these | ||||
|  * language extensions: | ||||
|  * | ||||
|  *  - JAPANESE ... the most common | ||||
|  *  - WESTERN  ... with more accented characters | ||||
|  *  - CYRILLIC ... for the Russian language | ||||
|  * | ||||
|  * To determine the language extension installed on your controller: | ||||
|  * | ||||
|  *  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
|  *  - Click the controller to view the LCD menu | ||||
|  *  - The LCD will display Japanese, Western, or Cyrillic text | ||||
|  * | ||||
|  * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
|  * | ||||
|  * :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
|  */ | ||||
| #define DISPLAY_CHARSET_HD44780 JAPANESE | ||||
|  | ||||
| // | ||||
| // LCD TYPE | ||||
| // | ||||
| // You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, | ||||
| // 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels | ||||
| // (ST7565R family). (This option will be set automatically for certain displays.) | ||||
| // | ||||
| // IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! | ||||
| //                 https://github.com/olikraus/U8glib_Arduino | ||||
| // | ||||
| /** | ||||
|  * LCD TYPE | ||||
|  * | ||||
|  * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. | ||||
|  * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. | ||||
|  * (These options will be enabled automatically for most displays.) | ||||
|  * | ||||
|  * IMPORTANT: The U8glib library is required for Full Graphic Display! | ||||
|  *            https://github.com/olikraus/U8glib_Arduino | ||||
|  */ | ||||
| #define ULTRA_LCD   // Character based | ||||
| //#define DOGLCD      // Full graphics display | ||||
|  | ||||
| // | ||||
| // SD CARD | ||||
| // | ||||
| // 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. | ||||
| // | ||||
| /** | ||||
|  * SD CARD | ||||
|  * | ||||
|  * 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. | ||||
|  * | ||||
|  */ | ||||
| #define SDSUPPORT | ||||
|  | ||||
| // | ||||
| // SD CARD: SPI SPEED | ||||
| // | ||||
| // Uncomment ONE of the following items to use a slower SPI transfer | ||||
| // speed. This is usually required if you're getting volume init errors. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: SPI SPEED | ||||
|  * | ||||
|  * Enable one of the following items for a slower SPI transfer speed. | ||||
|  * This may be required to resolve "volume init" errors. | ||||
|  */ | ||||
| //#define SPI_SPEED SPI_HALF_SPEED | ||||
| //#define SPI_SPEED SPI_QUARTER_SPEED | ||||
| //#define SPI_SPEED SPI_EIGHTH_SPEED | ||||
|  | ||||
| // | ||||
| // SD CARD: ENABLE CRC | ||||
| // | ||||
| // Use CRC checks and retries on the SD communication. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: ENABLE CRC | ||||
|  * | ||||
|  * Use CRC checks and retries on the SD communication. | ||||
|  */ | ||||
| //#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 | ||||
| // | ||||
|   | ||||
| @@ -986,23 +986,17 @@ | ||||
| #define PREHEAT_2_TEMP_BED      0 | ||||
| #define PREHEAT_2_FAN_SPEED   165 // Value from 0 to 255 | ||||
|  | ||||
| // | ||||
| // Nozzle Park -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to define a special XYZ position, inside the | ||||
| // machine's topology, to park the nozzle when idle or when receiving the G27 | ||||
| // command. | ||||
| // | ||||
| // The "P" paramenter controls what is the action applied to the Z axis: | ||||
| //    P0: (Default) If current Z-pos is lower than Z-park then the nozzle will | ||||
| //        be raised to reach Z-park height. | ||||
| // | ||||
| //    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. | ||||
| // | ||||
| /** | ||||
|  * Nozzle Park -- EXPERIMENTAL | ||||
|  * | ||||
|  * Park the nozzle at the given XYZ position on idle or G27. | ||||
|  * | ||||
|  * The "P" parameter controls the action applied to the Z axis: | ||||
|  * | ||||
|  *    P0  (Default) If Z is below park Z raise the nozzle. | ||||
|  *    P1  Raise the nozzle always to Z-park height. | ||||
|  *    P2  Raise the nozzle by Z-park amount, limited to Z_MAX_POS. | ||||
|  */ | ||||
| //#define 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 } | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Clean Nozzle Feature -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to send G12 to start the nozzle cleaning | ||||
| // process, the G-Code accepts two parameters: | ||||
| //   "P" for pattern selection | ||||
| //   "S" for defining the number of strokes/repetitions | ||||
| // | ||||
| // Available list of patterns: | ||||
| //   P0: This is the default pattern, this process requires a sponge type | ||||
| //       material at a fixed bed location. S defines "strokes" i.e. | ||||
| //       back-and-forth movements between the starting and end points. | ||||
| // | ||||
| //   P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" | ||||
| //       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 | ||||
| //       be performed in whichever dimension is smallest. As an example, | ||||
| //       sending "G12 P1 S1 T3" will execute: | ||||
| // | ||||
| //          -- | ||||
| //         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
| //         |           |    /  \      /  \      /  \    | | ||||
| //       A |           |   /    \    /    \    /    \   | | ||||
| //         |           |  /      \  /      \  /      \  | | ||||
| //         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
| //          --         +--------------------------------+ | ||||
| //                       |________|_________|_________| | ||||
| //                           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. | ||||
| //       Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. | ||||
| // | ||||
| // Caveats: End point Z should use the same value as Start point Z. | ||||
| // | ||||
| // Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments | ||||
| // may change to add new functionality like different wipe patterns. | ||||
| // | ||||
| /** | ||||
|  * Clean Nozzle Feature -- EXPERIMENTAL | ||||
|  * | ||||
|  * Adds the G12 command to perform a nozzle cleaning process. | ||||
|  * | ||||
|  * Parameters: | ||||
|  *   P  Pattern | ||||
|  *   S  Strokes / Repetitions | ||||
|  *   T  Triangles (P1 only) | ||||
|  * | ||||
|  * Patterns: | ||||
|  *   P0  Straight line (default). This process requires a sponge type material | ||||
|  *       at a fixed bed location. "S" specifies strokes (i.e. back-forth motions) | ||||
|  *       between the start / end points. | ||||
|  * | ||||
|  *   P1  Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the | ||||
|  *       number of zig-zag triangles to do. "S" defines the number of strokes. | ||||
|  *       Zig-zags are done in whichever is the narrower dimension. | ||||
|  *       For example, "G12 P1 S1 T3" will execute: | ||||
|  * | ||||
|  *          -- | ||||
|  *         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
|  *         |           |    /  \      /  \      /  \    | | ||||
|  *       A |           |   /    \    /    \    /    \   | | ||||
|  *         |           |  /      \  /      \  /      \  | | ||||
|  *         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
|  *          --         +--------------------------------+ | ||||
|  *                       |________|_________|_________| | ||||
|  *                           T1        T2        T3 | ||||
|  * | ||||
|  *   P2  Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE. | ||||
|  *       "R" specifies the radius. "S" specifies the stroke count. | ||||
|  *       Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT. | ||||
|  * | ||||
|  *   Caveats: The ending Z should be the same as starting Z. | ||||
|  * Attention: EXPERIMENTAL. G-code arguments may change. | ||||
|  * | ||||
|  */ | ||||
| //#define NOZZLE_CLEAN_FEATURE | ||||
|  | ||||
| #if ENABLED(NOZZLE_CLEAN_FEATURE) | ||||
| @@ -1072,33 +1066,35 @@ | ||||
|   #define NOZZLE_CLEAN_GOBACK | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Print job timer | ||||
| // | ||||
| // Enable this option to automatically start and stop the | ||||
| // print job timer when M104/M109/M190 commands are received. | ||||
| // M104 (extruder without wait) - high temp = none, low temp = stop timer | ||||
| // M109 (extruder with wait) - high temp = start timer, low temp = stop timer | ||||
| // M190 (bed with wait) - high temp = start timer, low temp = none | ||||
| // | ||||
| // In all cases the timer can be started and stopped using | ||||
| // the following commands: | ||||
| // | ||||
| // - M75  - Start the print job timer | ||||
| // - M76  - Pause the print job timer | ||||
| // - M77  - Stop the print job timer | ||||
| /** | ||||
|  * Print Job Timer | ||||
|  * | ||||
|  * Automatically start and stop the print job timer on M104/M109/M190. | ||||
|  * | ||||
|  *   M104 (hotend, no wait) - high temp = none,        low temp = stop timer | ||||
|  *   M109 (hotend, wait)    - high temp = start timer, low temp = stop timer | ||||
|  *   M190 (bed, wait)       - high temp = start timer, low temp = none | ||||
|  * | ||||
|  * The timer can also be controlled with the following commands: | ||||
|  * | ||||
|  *   M75 - Start the print job timer | ||||
|  *   M76 - Pause the print job timer | ||||
|  *   M77 - Stop the print job timer | ||||
|  */ | ||||
| #define PRINTJOB_TIMER_AUTOSTART | ||||
|  | ||||
| // | ||||
| // Print Counter | ||||
| // | ||||
| // When enabled Marlin will keep track of some print statistical data such as: | ||||
| //  - Total print jobs | ||||
| //  - Total successful print jobs | ||||
| //  - Total failed print jobs | ||||
| //  - Total time printing | ||||
| // | ||||
| // This information can be viewed by the M78 command. | ||||
| /** | ||||
|  * Print Counter | ||||
|  * | ||||
|  * Track statistical data such as: | ||||
|  * | ||||
|  *  - Total print jobs | ||||
|  *  - Total successful print jobs | ||||
|  *  - Total failed print jobs | ||||
|  *  - Total time printing | ||||
|  * | ||||
|  * View the current statistics with M78. | ||||
|  */ | ||||
| //#define PRINTCOUNTER | ||||
|  | ||||
| //============================================================================= | ||||
| @@ -1107,78 +1103,79 @@ | ||||
|  | ||||
| // @section lcd | ||||
|  | ||||
| // | ||||
| // LCD LANGUAGE | ||||
| // | ||||
| // Here you may choose the language used by Marlin on the LCD menus, the following | ||||
| // list of languages are available: | ||||
| //    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 | ||||
| // | ||||
| // :{ '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' } | ||||
| // | ||||
| /** | ||||
|  * LCD LANGUAGE | ||||
|  * | ||||
|  * Select the language to display on the LCD. These languages are available: | ||||
|  * | ||||
|  *    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 | ||||
|  * | ||||
|  * :{ '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 | ||||
|  | ||||
| // | ||||
| // LCD Character Set | ||||
| // | ||||
| // Note: This option is NOT applicable to Graphical Displays. | ||||
| // | ||||
| // All character-based LCD's provide ASCII plus one of these | ||||
| // language extensions: | ||||
| // | ||||
| //  - JAPANESE ... the most common | ||||
| //  - WESTERN  ... with more accented characters | ||||
| //  - CYRILLIC ... for the Russian language | ||||
| // | ||||
| // To determine the language extension installed on your controller: | ||||
| // | ||||
| //  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
| //  - Click the controller to view the LCD menu | ||||
| //  - The LCD will display Japanese, Western, or Cyrillic text | ||||
| // | ||||
| // See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
| // | ||||
| // :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
| // | ||||
| /** | ||||
|  * LCD Character Set | ||||
|  * | ||||
|  * Note: This option is NOT applicable to Graphical Displays. | ||||
|  * | ||||
|  * All character-based LCDs provide ASCII plus one of these | ||||
|  * language extensions: | ||||
|  * | ||||
|  *  - JAPANESE ... the most common | ||||
|  *  - WESTERN  ... with more accented characters | ||||
|  *  - CYRILLIC ... for the Russian language | ||||
|  * | ||||
|  * To determine the language extension installed on your controller: | ||||
|  * | ||||
|  *  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
|  *  - Click the controller to view the LCD menu | ||||
|  *  - The LCD will display Japanese, Western, or Cyrillic text | ||||
|  * | ||||
|  * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
|  * | ||||
|  * :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
|  */ | ||||
| #define DISPLAY_CHARSET_HD44780 JAPANESE | ||||
|  | ||||
| // | ||||
| // LCD TYPE | ||||
| // | ||||
| // You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, | ||||
| // 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels | ||||
| // (ST7565R family). (This option will be set automatically for certain displays.) | ||||
| // | ||||
| // IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! | ||||
| //                 https://github.com/olikraus/U8glib_Arduino | ||||
| // | ||||
| /** | ||||
|  * LCD TYPE | ||||
|  * | ||||
|  * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. | ||||
|  * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. | ||||
|  * (These options will be enabled automatically for most displays.) | ||||
|  * | ||||
|  * IMPORTANT: The U8glib library is required for Full Graphic Display! | ||||
|  *            https://github.com/olikraus/U8glib_Arduino | ||||
|  */ | ||||
| #define ULTRA_LCD   // Character based | ||||
| //#define DOGLCD      // Full graphics display | ||||
|  | ||||
| // | ||||
| // SD CARD | ||||
| // | ||||
| // 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. | ||||
| // | ||||
| /** | ||||
|  * SD CARD | ||||
|  * | ||||
|  * 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. | ||||
|  * | ||||
|  */ | ||||
| #define SDSUPPORT | ||||
|  | ||||
| // | ||||
| // SD CARD: SPI SPEED | ||||
| // | ||||
| // Uncomment ONE of the following items to use a slower SPI transfer | ||||
| // speed. This is usually required if you're getting volume init errors. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: SPI SPEED | ||||
|  * | ||||
|  * Enable one of the following items for a slower SPI transfer speed. | ||||
|  * This may be required to resolve "volume init" errors. | ||||
|  */ | ||||
| //#define SPI_SPEED SPI_HALF_SPEED | ||||
| //#define SPI_SPEED SPI_QUARTER_SPEED | ||||
| //#define SPI_SPEED SPI_EIGHTH_SPEED | ||||
|  | ||||
| // | ||||
| // SD CARD: ENABLE CRC | ||||
| // | ||||
| // Use CRC checks and retries on the SD communication. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: ENABLE CRC | ||||
|  * | ||||
|  * Use CRC checks and retries on the SD communication. | ||||
|  */ | ||||
| //#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 | ||||
| // | ||||
|   | ||||
| @@ -986,23 +986,17 @@ | ||||
| #define PREHEAT_2_TEMP_BED    110 | ||||
| #define PREHEAT_2_FAN_SPEED     0 // Value from 0 to 255 | ||||
|  | ||||
| // | ||||
| // Nozzle Park -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to define a special XYZ position, inside the | ||||
| // machine's topology, to park the nozzle when idle or when receiving the G27 | ||||
| // command. | ||||
| // | ||||
| // The "P" paramenter controls what is the action applied to the Z axis: | ||||
| //    P0: (Default) If current Z-pos is lower than Z-park then the nozzle will | ||||
| //        be raised to reach Z-park height. | ||||
| // | ||||
| //    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. | ||||
| // | ||||
| /** | ||||
|  * Nozzle Park -- EXPERIMENTAL | ||||
|  * | ||||
|  * Park the nozzle at the given XYZ position on idle or G27. | ||||
|  * | ||||
|  * The "P" parameter controls the action applied to the Z axis: | ||||
|  * | ||||
|  *    P0  (Default) If Z is below park Z raise the nozzle. | ||||
|  *    P1  Raise the nozzle always to Z-park height. | ||||
|  *    P2  Raise the nozzle by Z-park amount, limited to Z_MAX_POS. | ||||
|  */ | ||||
| //#define 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 } | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Clean Nozzle Feature -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to send G12 to start the nozzle cleaning | ||||
| // process, the G-Code accepts two parameters: | ||||
| //   "P" for pattern selection | ||||
| //   "S" for defining the number of strokes/repetitions | ||||
| // | ||||
| // Available list of patterns: | ||||
| //   P0: This is the default pattern, this process requires a sponge type | ||||
| //       material at a fixed bed location. S defines "strokes" i.e. | ||||
| //       back-and-forth movements between the starting and end points. | ||||
| // | ||||
| //   P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" | ||||
| //       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 | ||||
| //       be performed in whichever dimension is smallest. As an example, | ||||
| //       sending "G12 P1 S1 T3" will execute: | ||||
| // | ||||
| //          -- | ||||
| //         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
| //         |           |    /  \      /  \      /  \    | | ||||
| //       A |           |   /    \    /    \    /    \   | | ||||
| //         |           |  /      \  /      \  /      \  | | ||||
| //         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
| //          --         +--------------------------------+ | ||||
| //                       |________|_________|_________| | ||||
| //                           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. | ||||
| //       Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. | ||||
| // | ||||
| // Caveats: End point Z should use the same value as Start point Z. | ||||
| // | ||||
| // Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments | ||||
| // may change to add new functionality like different wipe patterns. | ||||
| // | ||||
| /** | ||||
|  * Clean Nozzle Feature -- EXPERIMENTAL | ||||
|  * | ||||
|  * Adds the G12 command to perform a nozzle cleaning process. | ||||
|  * | ||||
|  * Parameters: | ||||
|  *   P  Pattern | ||||
|  *   S  Strokes / Repetitions | ||||
|  *   T  Triangles (P1 only) | ||||
|  * | ||||
|  * Patterns: | ||||
|  *   P0  Straight line (default). This process requires a sponge type material | ||||
|  *       at a fixed bed location. "S" specifies strokes (i.e. back-forth motions) | ||||
|  *       between the start / end points. | ||||
|  * | ||||
|  *   P1  Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the | ||||
|  *       number of zig-zag triangles to do. "S" defines the number of strokes. | ||||
|  *       Zig-zags are done in whichever is the narrower dimension. | ||||
|  *       For example, "G12 P1 S1 T3" will execute: | ||||
|  * | ||||
|  *          -- | ||||
|  *         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
|  *         |           |    /  \      /  \      /  \    | | ||||
|  *       A |           |   /    \    /    \    /    \   | | ||||
|  *         |           |  /      \  /      \  /      \  | | ||||
|  *         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
|  *          --         +--------------------------------+ | ||||
|  *                       |________|_________|_________| | ||||
|  *                           T1        T2        T3 | ||||
|  * | ||||
|  *   P2  Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE. | ||||
|  *       "R" specifies the radius. "S" specifies the stroke count. | ||||
|  *       Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT. | ||||
|  * | ||||
|  *   Caveats: The ending Z should be the same as starting Z. | ||||
|  * Attention: EXPERIMENTAL. G-code arguments may change. | ||||
|  * | ||||
|  */ | ||||
| //#define NOZZLE_CLEAN_FEATURE | ||||
|  | ||||
| #if ENABLED(NOZZLE_CLEAN_FEATURE) | ||||
| @@ -1072,33 +1066,35 @@ | ||||
|   #define NOZZLE_CLEAN_GOBACK | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Print job timer | ||||
| // | ||||
| // Enable this option to automatically start and stop the | ||||
| // print job timer when M104/M109/M190 commands are received. | ||||
| // M104 (extruder without wait) - high temp = none, low temp = stop timer | ||||
| // M109 (extruder with wait) - high temp = start timer, low temp = stop timer | ||||
| // M190 (bed with wait) - high temp = start timer, low temp = none | ||||
| // | ||||
| // In all cases the timer can be started and stopped using | ||||
| // the following commands: | ||||
| // | ||||
| // - M75  - Start the print job timer | ||||
| // - M76  - Pause the print job timer | ||||
| // - M77  - Stop the print job timer | ||||
| /** | ||||
|  * Print Job Timer | ||||
|  * | ||||
|  * Automatically start and stop the print job timer on M104/M109/M190. | ||||
|  * | ||||
|  *   M104 (hotend, no wait) - high temp = none,        low temp = stop timer | ||||
|  *   M109 (hotend, wait)    - high temp = start timer, low temp = stop timer | ||||
|  *   M190 (bed, wait)       - high temp = start timer, low temp = none | ||||
|  * | ||||
|  * The timer can also be controlled with the following commands: | ||||
|  * | ||||
|  *   M75 - Start the print job timer | ||||
|  *   M76 - Pause the print job timer | ||||
|  *   M77 - Stop the print job timer | ||||
|  */ | ||||
| #define PRINTJOB_TIMER_AUTOSTART | ||||
|  | ||||
| // | ||||
| // Print Counter | ||||
| // | ||||
| // When enabled Marlin will keep track of some print statistical data such as: | ||||
| //  - Total print jobs | ||||
| //  - Total successful print jobs | ||||
| //  - Total failed print jobs | ||||
| //  - Total time printing | ||||
| // | ||||
| // This information can be viewed by the M78 command. | ||||
| /** | ||||
|  * Print Counter | ||||
|  * | ||||
|  * Track statistical data such as: | ||||
|  * | ||||
|  *  - Total print jobs | ||||
|  *  - Total successful print jobs | ||||
|  *  - Total failed print jobs | ||||
|  *  - Total time printing | ||||
|  * | ||||
|  * View the current statistics with M78. | ||||
|  */ | ||||
| //#define PRINTCOUNTER | ||||
|  | ||||
| //============================================================================= | ||||
| @@ -1107,78 +1103,79 @@ | ||||
|  | ||||
| // @section lcd | ||||
|  | ||||
| // | ||||
| // LCD LANGUAGE | ||||
| // | ||||
| // Here you may choose the language used by Marlin on the LCD menus, the following | ||||
| // list of languages are available: | ||||
| //    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 | ||||
| // | ||||
| // :{ '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' } | ||||
| // | ||||
| /** | ||||
|  * LCD LANGUAGE | ||||
|  * | ||||
|  * Select the language to display on the LCD. These languages are available: | ||||
|  * | ||||
|  *    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 | ||||
|  * | ||||
|  * :{ '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 | ||||
|  | ||||
| // | ||||
| // LCD Character Set | ||||
| // | ||||
| // Note: This option is NOT applicable to Graphical Displays. | ||||
| // | ||||
| // All character-based LCD's provide ASCII plus one of these | ||||
| // language extensions: | ||||
| // | ||||
| //  - JAPANESE ... the most common | ||||
| //  - WESTERN  ... with more accented characters | ||||
| //  - CYRILLIC ... for the Russian language | ||||
| // | ||||
| // To determine the language extension installed on your controller: | ||||
| // | ||||
| //  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
| //  - Click the controller to view the LCD menu | ||||
| //  - The LCD will display Japanese, Western, or Cyrillic text | ||||
| // | ||||
| // See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
| // | ||||
| // :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
| // | ||||
| /** | ||||
|  * LCD Character Set | ||||
|  * | ||||
|  * Note: This option is NOT applicable to Graphical Displays. | ||||
|  * | ||||
|  * All character-based LCDs provide ASCII plus one of these | ||||
|  * language extensions: | ||||
|  * | ||||
|  *  - JAPANESE ... the most common | ||||
|  *  - WESTERN  ... with more accented characters | ||||
|  *  - CYRILLIC ... for the Russian language | ||||
|  * | ||||
|  * To determine the language extension installed on your controller: | ||||
|  * | ||||
|  *  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
|  *  - Click the controller to view the LCD menu | ||||
|  *  - The LCD will display Japanese, Western, or Cyrillic text | ||||
|  * | ||||
|  * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
|  * | ||||
|  * :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
|  */ | ||||
| #define DISPLAY_CHARSET_HD44780 JAPANESE | ||||
|  | ||||
| // | ||||
| // LCD TYPE | ||||
| // | ||||
| // You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, | ||||
| // 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels | ||||
| // (ST7565R family). (This option will be set automatically for certain displays.) | ||||
| // | ||||
| // IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! | ||||
| //                 https://github.com/olikraus/U8glib_Arduino | ||||
| // | ||||
| /** | ||||
|  * LCD TYPE | ||||
|  * | ||||
|  * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. | ||||
|  * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. | ||||
|  * (These options will be enabled automatically for most displays.) | ||||
|  * | ||||
|  * IMPORTANT: The U8glib library is required for Full Graphic Display! | ||||
|  *            https://github.com/olikraus/U8glib_Arduino | ||||
|  */ | ||||
| #define ULTRA_LCD   // Character based | ||||
| //#define DOGLCD      // Full graphics display | ||||
|  | ||||
| // | ||||
| // SD CARD | ||||
| // | ||||
| // 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. | ||||
| // | ||||
| /** | ||||
|  * SD CARD | ||||
|  * | ||||
|  * 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. | ||||
|  * | ||||
|  */ | ||||
| #define SDSUPPORT | ||||
|  | ||||
| // | ||||
| // SD CARD: SPI SPEED | ||||
| // | ||||
| // Uncomment ONE of the following items to use a slower SPI transfer | ||||
| // speed. This is usually required if you're getting volume init errors. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: SPI SPEED | ||||
|  * | ||||
|  * Enable one of the following items for a slower SPI transfer speed. | ||||
|  * This may be required to resolve "volume init" errors. | ||||
|  */ | ||||
| //#define SPI_SPEED SPI_HALF_SPEED | ||||
| //#define SPI_SPEED SPI_QUARTER_SPEED | ||||
| //#define SPI_SPEED SPI_EIGHTH_SPEED | ||||
|  | ||||
| // | ||||
| // SD CARD: ENABLE CRC | ||||
| // | ||||
| // Use CRC checks and retries on the SD communication. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: ENABLE CRC | ||||
|  * | ||||
|  * Use CRC checks and retries on the SD communication. | ||||
|  */ | ||||
| #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 | ||||
| // | ||||
|   | ||||
| @@ -985,23 +985,17 @@ | ||||
| #define PREHEAT_2_TEMP_BED    110 | ||||
| #define PREHEAT_2_FAN_SPEED   255 // Value from 0 to 255 | ||||
|  | ||||
| // | ||||
| // Nozzle Park -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to define a special XYZ position, inside the | ||||
| // machine's topology, to park the nozzle when idle or when receiving the G27 | ||||
| // command. | ||||
| // | ||||
| // The "P" paramenter controls what is the action applied to the Z axis: | ||||
| //    P0: (Default) If current Z-pos is lower than Z-park then the nozzle will | ||||
| //        be raised to reach Z-park height. | ||||
| // | ||||
| //    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. | ||||
| // | ||||
| /** | ||||
|  * Nozzle Park -- EXPERIMENTAL | ||||
|  * | ||||
|  * Park the nozzle at the given XYZ position on idle or G27. | ||||
|  * | ||||
|  * The "P" parameter controls the action applied to the Z axis: | ||||
|  * | ||||
|  *    P0  (Default) If Z is below park Z raise the nozzle. | ||||
|  *    P1  Raise the nozzle always to Z-park height. | ||||
|  *    P2  Raise the nozzle by Z-park amount, limited to Z_MAX_POS. | ||||
|  */ | ||||
| //#define 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 } | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Clean Nozzle Feature -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to send G12 to start the nozzle cleaning | ||||
| // process, the G-Code accepts two parameters: | ||||
| //   "P" for pattern selection | ||||
| //   "S" for defining the number of strokes/repetitions | ||||
| // | ||||
| // Available list of patterns: | ||||
| //   P0: This is the default pattern, this process requires a sponge type | ||||
| //       material at a fixed bed location. S defines "strokes" i.e. | ||||
| //       back-and-forth movements between the starting and end points. | ||||
| // | ||||
| //   P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" | ||||
| //       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 | ||||
| //       be performed in whichever dimension is smallest. As an example, | ||||
| //       sending "G12 P1 S1 T3" will execute: | ||||
| // | ||||
| //          -- | ||||
| //         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
| //         |           |    /  \      /  \      /  \    | | ||||
| //       A |           |   /    \    /    \    /    \   | | ||||
| //         |           |  /      \  /      \  /      \  | | ||||
| //         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
| //          --         +--------------------------------+ | ||||
| //                       |________|_________|_________| | ||||
| //                           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. | ||||
| //       Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. | ||||
| // | ||||
| // Caveats: End point Z should use the same value as Start point Z. | ||||
| // | ||||
| // Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments | ||||
| // may change to add new functionality like different wipe patterns. | ||||
| // | ||||
| /** | ||||
|  * Clean Nozzle Feature -- EXPERIMENTAL | ||||
|  * | ||||
|  * Adds the G12 command to perform a nozzle cleaning process. | ||||
|  * | ||||
|  * Parameters: | ||||
|  *   P  Pattern | ||||
|  *   S  Strokes / Repetitions | ||||
|  *   T  Triangles (P1 only) | ||||
|  * | ||||
|  * Patterns: | ||||
|  *   P0  Straight line (default). This process requires a sponge type material | ||||
|  *       at a fixed bed location. "S" specifies strokes (i.e. back-forth motions) | ||||
|  *       between the start / end points. | ||||
|  * | ||||
|  *   P1  Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the | ||||
|  *       number of zig-zag triangles to do. "S" defines the number of strokes. | ||||
|  *       Zig-zags are done in whichever is the narrower dimension. | ||||
|  *       For example, "G12 P1 S1 T3" will execute: | ||||
|  * | ||||
|  *          -- | ||||
|  *         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
|  *         |           |    /  \      /  \      /  \    | | ||||
|  *       A |           |   /    \    /    \    /    \   | | ||||
|  *         |           |  /      \  /      \  /      \  | | ||||
|  *         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
|  *          --         +--------------------------------+ | ||||
|  *                       |________|_________|_________| | ||||
|  *                           T1        T2        T3 | ||||
|  * | ||||
|  *   P2  Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE. | ||||
|  *       "R" specifies the radius. "S" specifies the stroke count. | ||||
|  *       Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT. | ||||
|  * | ||||
|  *   Caveats: The ending Z should be the same as starting Z. | ||||
|  * Attention: EXPERIMENTAL. G-code arguments may change. | ||||
|  * | ||||
|  */ | ||||
| //#define NOZZLE_CLEAN_FEATURE | ||||
|  | ||||
| #if ENABLED(NOZZLE_CLEAN_FEATURE) | ||||
| @@ -1071,33 +1065,35 @@ | ||||
|   #define NOZZLE_CLEAN_GOBACK | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Print job timer | ||||
| // | ||||
| // Enable this option to automatically start and stop the | ||||
| // print job timer when M104/M109/M190 commands are received. | ||||
| // M104 (extruder without wait) - high temp = none, low temp = stop timer | ||||
| // M109 (extruder with wait) - high temp = start timer, low temp = stop timer | ||||
| // M190 (bed with wait) - high temp = start timer, low temp = none | ||||
| // | ||||
| // In all cases the timer can be started and stopped using | ||||
| // the following commands: | ||||
| // | ||||
| // - M75  - Start the print job timer | ||||
| // - M76  - Pause the print job timer | ||||
| // - M77  - Stop the print job timer | ||||
| /** | ||||
|  * Print Job Timer | ||||
|  * | ||||
|  * Automatically start and stop the print job timer on M104/M109/M190. | ||||
|  * | ||||
|  *   M104 (hotend, no wait) - high temp = none,        low temp = stop timer | ||||
|  *   M109 (hotend, wait)    - high temp = start timer, low temp = stop timer | ||||
|  *   M190 (bed, wait)       - high temp = start timer, low temp = none | ||||
|  * | ||||
|  * The timer can also be controlled with the following commands: | ||||
|  * | ||||
|  *   M75 - Start the print job timer | ||||
|  *   M76 - Pause the print job timer | ||||
|  *   M77 - Stop the print job timer | ||||
|  */ | ||||
| #define PRINTJOB_TIMER_AUTOSTART | ||||
|  | ||||
| // | ||||
| // Print Counter | ||||
| // | ||||
| // When enabled Marlin will keep track of some print statistical data such as: | ||||
| //  - Total print jobs | ||||
| //  - Total successful print jobs | ||||
| //  - Total failed print jobs | ||||
| //  - Total time printing | ||||
| // | ||||
| // This information can be viewed by the M78 command. | ||||
| /** | ||||
|  * Print Counter | ||||
|  * | ||||
|  * Track statistical data such as: | ||||
|  * | ||||
|  *  - Total print jobs | ||||
|  *  - Total successful print jobs | ||||
|  *  - Total failed print jobs | ||||
|  *  - Total time printing | ||||
|  * | ||||
|  * View the current statistics with M78. | ||||
|  */ | ||||
| //#define PRINTCOUNTER | ||||
|  | ||||
| //============================================================================= | ||||
| @@ -1106,78 +1102,79 @@ | ||||
|  | ||||
| // @section lcd | ||||
|  | ||||
| // | ||||
| // LCD LANGUAGE | ||||
| // | ||||
| // Here you may choose the language used by Marlin on the LCD menus, the following | ||||
| // list of languages are available: | ||||
| //    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 | ||||
| // | ||||
| // :{ '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' } | ||||
| // | ||||
| /** | ||||
|  * LCD LANGUAGE | ||||
|  * | ||||
|  * Select the language to display on the LCD. These languages are available: | ||||
|  * | ||||
|  *    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 | ||||
|  * | ||||
|  * :{ '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 | ||||
|  | ||||
| // | ||||
| // LCD Character Set | ||||
| // | ||||
| // Note: This option is NOT applicable to Graphical Displays. | ||||
| // | ||||
| // All character-based LCD's provide ASCII plus one of these | ||||
| // language extensions: | ||||
| // | ||||
| //  - JAPANESE ... the most common | ||||
| //  - WESTERN  ... with more accented characters | ||||
| //  - CYRILLIC ... for the Russian language | ||||
| // | ||||
| // To determine the language extension installed on your controller: | ||||
| // | ||||
| //  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
| //  - Click the controller to view the LCD menu | ||||
| //  - The LCD will display Japanese, Western, or Cyrillic text | ||||
| // | ||||
| // See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
| // | ||||
| // :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
| // | ||||
| /** | ||||
|  * LCD Character Set | ||||
|  * | ||||
|  * Note: This option is NOT applicable to Graphical Displays. | ||||
|  * | ||||
|  * All character-based LCDs provide ASCII plus one of these | ||||
|  * language extensions: | ||||
|  * | ||||
|  *  - JAPANESE ... the most common | ||||
|  *  - WESTERN  ... with more accented characters | ||||
|  *  - CYRILLIC ... for the Russian language | ||||
|  * | ||||
|  * To determine the language extension installed on your controller: | ||||
|  * | ||||
|  *  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
|  *  - Click the controller to view the LCD menu | ||||
|  *  - The LCD will display Japanese, Western, or Cyrillic text | ||||
|  * | ||||
|  * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
|  * | ||||
|  * :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
|  */ | ||||
| #define DISPLAY_CHARSET_HD44780 JAPANESE | ||||
|  | ||||
| // | ||||
| // LCD TYPE | ||||
| // | ||||
| // You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, | ||||
| // 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels | ||||
| // (ST7565R family). (This option will be set automatically for certain displays.) | ||||
| // | ||||
| // IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! | ||||
| //                 https://github.com/olikraus/U8glib_Arduino | ||||
| // | ||||
| /** | ||||
|  * LCD TYPE | ||||
|  * | ||||
|  * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. | ||||
|  * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. | ||||
|  * (These options will be enabled automatically for most displays.) | ||||
|  * | ||||
|  * IMPORTANT: The U8glib library is required for Full Graphic Display! | ||||
|  *            https://github.com/olikraus/U8glib_Arduino | ||||
|  */ | ||||
| //#define ULTRA_LCD   // Character based | ||||
| //#define DOGLCD      // Full graphics display | ||||
|  | ||||
| // | ||||
| // SD CARD | ||||
| // | ||||
| // 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. | ||||
| // | ||||
| /** | ||||
|  * SD CARD | ||||
|  * | ||||
|  * 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. | ||||
|  * | ||||
|  */ | ||||
| #define SDSUPPORT | ||||
|  | ||||
| // | ||||
| // SD CARD: SPI SPEED | ||||
| // | ||||
| // Uncomment ONE of the following items to use a slower SPI transfer | ||||
| // speed. This is usually required if you're getting volume init errors. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: SPI SPEED | ||||
|  * | ||||
|  * Enable one of the following items for a slower SPI transfer speed. | ||||
|  * This may be required to resolve "volume init" errors. | ||||
|  */ | ||||
| //#define SPI_SPEED SPI_HALF_SPEED | ||||
| //#define SPI_SPEED SPI_QUARTER_SPEED | ||||
| #define SPI_SPEED SPI_EIGHTH_SPEED | ||||
|  | ||||
| // | ||||
| // SD CARD: ENABLE CRC | ||||
| // | ||||
| // Use CRC checks and retries on the SD communication. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: ENABLE CRC | ||||
|  * | ||||
|  * Use CRC checks and retries on the SD communication. | ||||
|  */ | ||||
| //#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 | ||||
| // | ||||
|   | ||||
| @@ -1001,23 +1001,17 @@ | ||||
| #define PREHEAT_2_TEMP_BED    100 | ||||
| #define PREHEAT_2_FAN_SPEED   255 // Value from 0 to 255 | ||||
|  | ||||
| // | ||||
| // Nozzle Park -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to define a special XYZ position, inside the | ||||
| // machine's topology, to park the nozzle when idle or when receiving the G27 | ||||
| // command. | ||||
| // | ||||
| // The "P" paramenter controls what is the action applied to the Z axis: | ||||
| //    P0: (Default) If current Z-pos is lower than Z-park then the nozzle will | ||||
| //        be raised to reach Z-park height. | ||||
| // | ||||
| //    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. | ||||
| // | ||||
| /** | ||||
|  * Nozzle Park -- EXPERIMENTAL | ||||
|  * | ||||
|  * Park the nozzle at the given XYZ position on idle or G27. | ||||
|  * | ||||
|  * The "P" parameter controls the action applied to the Z axis: | ||||
|  * | ||||
|  *    P0  (Default) If Z is below park Z raise the nozzle. | ||||
|  *    P1  Raise the nozzle always to Z-park height. | ||||
|  *    P2  Raise the nozzle by Z-park amount, limited to Z_MAX_POS. | ||||
|  */ | ||||
| //#define 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 } | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Clean Nozzle Feature -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to send G12 to start the nozzle cleaning | ||||
| // process, the G-Code accepts two parameters: | ||||
| //   "P" for pattern selection | ||||
| //   "S" for defining the number of strokes/repetitions | ||||
| // | ||||
| // Available list of patterns: | ||||
| //   P0: This is the default pattern, this process requires a sponge type | ||||
| //       material at a fixed bed location. S defines "strokes" i.e. | ||||
| //       back-and-forth movements between the starting and end points. | ||||
| // | ||||
| //   P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" | ||||
| //       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 | ||||
| //       be performed in whichever dimension is smallest. As an example, | ||||
| //       sending "G12 P1 S1 T3" will execute: | ||||
| // | ||||
| //          -- | ||||
| //         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
| //         |           |    /  \      /  \      /  \    | | ||||
| //       A |           |   /    \    /    \    /    \   | | ||||
| //         |           |  /      \  /      \  /      \  | | ||||
| //         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
| //          --         +--------------------------------+ | ||||
| //                       |________|_________|_________| | ||||
| //                           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. | ||||
| //       Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. | ||||
| // | ||||
| // Caveats: End point Z should use the same value as Start point Z. | ||||
| // | ||||
| // Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments | ||||
| // may change to add new functionality like different wipe patterns. | ||||
| // | ||||
| /** | ||||
|  * Clean Nozzle Feature -- EXPERIMENTAL | ||||
|  * | ||||
|  * Adds the G12 command to perform a nozzle cleaning process. | ||||
|  * | ||||
|  * Parameters: | ||||
|  *   P  Pattern | ||||
|  *   S  Strokes / Repetitions | ||||
|  *   T  Triangles (P1 only) | ||||
|  * | ||||
|  * Patterns: | ||||
|  *   P0  Straight line (default). This process requires a sponge type material | ||||
|  *       at a fixed bed location. "S" specifies strokes (i.e. back-forth motions) | ||||
|  *       between the start / end points. | ||||
|  * | ||||
|  *   P1  Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the | ||||
|  *       number of zig-zag triangles to do. "S" defines the number of strokes. | ||||
|  *       Zig-zags are done in whichever is the narrower dimension. | ||||
|  *       For example, "G12 P1 S1 T3" will execute: | ||||
|  * | ||||
|  *          -- | ||||
|  *         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
|  *         |           |    /  \      /  \      /  \    | | ||||
|  *       A |           |   /    \    /    \    /    \   | | ||||
|  *         |           |  /      \  /      \  /      \  | | ||||
|  *         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
|  *          --         +--------------------------------+ | ||||
|  *                       |________|_________|_________| | ||||
|  *                           T1        T2        T3 | ||||
|  * | ||||
|  *   P2  Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE. | ||||
|  *       "R" specifies the radius. "S" specifies the stroke count. | ||||
|  *       Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT. | ||||
|  * | ||||
|  *   Caveats: The ending Z should be the same as starting Z. | ||||
|  * Attention: EXPERIMENTAL. G-code arguments may change. | ||||
|  * | ||||
|  */ | ||||
| //#define NOZZLE_CLEAN_FEATURE | ||||
|  | ||||
| #if ENABLED(NOZZLE_CLEAN_FEATURE) | ||||
| @@ -1087,33 +1081,35 @@ | ||||
|   #define NOZZLE_CLEAN_GOBACK | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Print job timer | ||||
| // | ||||
| // Enable this option to automatically start and stop the | ||||
| // print job timer when M104/M109/M190 commands are received. | ||||
| // M104 (extruder without wait) - high temp = none, low temp = stop timer | ||||
| // M109 (extruder with wait) - high temp = start timer, low temp = stop timer | ||||
| // M190 (bed with wait) - high temp = start timer, low temp = none | ||||
| // | ||||
| // In all cases the timer can be started and stopped using | ||||
| // the following commands: | ||||
| // | ||||
| // - M75  - Start the print job timer | ||||
| // - M76  - Pause the print job timer | ||||
| // - M77  - Stop the print job timer | ||||
| /** | ||||
|  * Print Job Timer | ||||
|  * | ||||
|  * Automatically start and stop the print job timer on M104/M109/M190. | ||||
|  * | ||||
|  *   M104 (hotend, no wait) - high temp = none,        low temp = stop timer | ||||
|  *   M109 (hotend, wait)    - high temp = start timer, low temp = stop timer | ||||
|  *   M190 (bed, wait)       - high temp = start timer, low temp = none | ||||
|  * | ||||
|  * The timer can also be controlled with the following commands: | ||||
|  * | ||||
|  *   M75 - Start the print job timer | ||||
|  *   M76 - Pause the print job timer | ||||
|  *   M77 - Stop the print job timer | ||||
|  */ | ||||
| #define PRINTJOB_TIMER_AUTOSTART | ||||
|  | ||||
| // | ||||
| // Print Counter | ||||
| // | ||||
| // When enabled Marlin will keep track of some print statistical data such as: | ||||
| //  - Total print jobs | ||||
| //  - Total successful print jobs | ||||
| //  - Total failed print jobs | ||||
| //  - Total time printing | ||||
| // | ||||
| // This information can be viewed by the M78 command. | ||||
| /** | ||||
|  * Print Counter | ||||
|  * | ||||
|  * Track statistical data such as: | ||||
|  * | ||||
|  *  - Total print jobs | ||||
|  *  - Total successful print jobs | ||||
|  *  - Total failed print jobs | ||||
|  *  - Total time printing | ||||
|  * | ||||
|  * View the current statistics with M78. | ||||
|  */ | ||||
| //#define PRINTCOUNTER | ||||
|  | ||||
| //============================================================================= | ||||
| @@ -1122,78 +1118,79 @@ | ||||
|  | ||||
| // @section lcd | ||||
|  | ||||
| // | ||||
| // LCD LANGUAGE | ||||
| // | ||||
| // Here you may choose the language used by Marlin on the LCD menus, the following | ||||
| // list of languages are available: | ||||
| //    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 | ||||
| // | ||||
| // :{ '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' } | ||||
| // | ||||
| /** | ||||
|  * LCD LANGUAGE | ||||
|  * | ||||
|  * Select the language to display on the LCD. These languages are available: | ||||
|  * | ||||
|  *    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 | ||||
|  * | ||||
|  * :{ '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 | ||||
|  | ||||
| // | ||||
| // LCD Character Set | ||||
| // | ||||
| // Note: This option is NOT applicable to Graphical Displays. | ||||
| // | ||||
| // All character-based LCD's provide ASCII plus one of these | ||||
| // language extensions: | ||||
| // | ||||
| //  - JAPANESE ... the most common | ||||
| //  - WESTERN  ... with more accented characters | ||||
| //  - CYRILLIC ... for the Russian language | ||||
| // | ||||
| // To determine the language extension installed on your controller: | ||||
| // | ||||
| //  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
| //  - Click the controller to view the LCD menu | ||||
| //  - The LCD will display Japanese, Western, or Cyrillic text | ||||
| // | ||||
| // See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
| // | ||||
| // :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
| // | ||||
| /** | ||||
|  * LCD Character Set | ||||
|  * | ||||
|  * Note: This option is NOT applicable to Graphical Displays. | ||||
|  * | ||||
|  * All character-based LCDs provide ASCII plus one of these | ||||
|  * language extensions: | ||||
|  * | ||||
|  *  - JAPANESE ... the most common | ||||
|  *  - WESTERN  ... with more accented characters | ||||
|  *  - CYRILLIC ... for the Russian language | ||||
|  * | ||||
|  * To determine the language extension installed on your controller: | ||||
|  * | ||||
|  *  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
|  *  - Click the controller to view the LCD menu | ||||
|  *  - The LCD will display Japanese, Western, or Cyrillic text | ||||
|  * | ||||
|  * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
|  * | ||||
|  * :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
|  */ | ||||
| #define DISPLAY_CHARSET_HD44780 JAPANESE | ||||
|  | ||||
| // | ||||
| // LCD TYPE | ||||
| // | ||||
| // You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, | ||||
| // 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels | ||||
| // (ST7565R family). (This option will be set automatically for certain displays.) | ||||
| // | ||||
| // IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! | ||||
| //                 https://github.com/olikraus/U8glib_Arduino | ||||
| // | ||||
| /** | ||||
|  * LCD TYPE | ||||
|  * | ||||
|  * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. | ||||
|  * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. | ||||
|  * (These options will be enabled automatically for most displays.) | ||||
|  * | ||||
|  * IMPORTANT: The U8glib library is required for Full Graphic Display! | ||||
|  *            https://github.com/olikraus/U8glib_Arduino | ||||
|  */ | ||||
| //#define ULTRA_LCD   // Character based | ||||
| //#define DOGLCD      // Full graphics display | ||||
|  | ||||
| // | ||||
| // SD CARD | ||||
| // | ||||
| // 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. | ||||
| // | ||||
| /** | ||||
|  * SD CARD | ||||
|  * | ||||
|  * 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. | ||||
|  * | ||||
|  */ | ||||
| //#define SDSUPPORT | ||||
|  | ||||
| // | ||||
| // SD CARD: SPI SPEED | ||||
| // | ||||
| // Uncomment ONE of the following items to use a slower SPI transfer | ||||
| // speed. This is usually required if you're getting volume init errors. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: SPI SPEED | ||||
|  * | ||||
|  * Enable one of the following items for a slower SPI transfer speed. | ||||
|  * This may be required to resolve "volume init" errors. | ||||
|  */ | ||||
| //#define SPI_SPEED SPI_HALF_SPEED | ||||
| //#define SPI_SPEED SPI_QUARTER_SPEED | ||||
| //#define SPI_SPEED SPI_EIGHTH_SPEED | ||||
|  | ||||
| // | ||||
| // SD CARD: ENABLE CRC | ||||
| // | ||||
| // Use CRC checks and retries on the SD communication. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: ENABLE CRC | ||||
|  * | ||||
|  * Use CRC checks and retries on the SD communication. | ||||
|  */ | ||||
| //#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 | ||||
| // | ||||
|   | ||||
| @@ -1006,23 +1006,17 @@ | ||||
| #define PREHEAT_2_TEMP_BED    110 | ||||
| #define PREHEAT_2_FAN_SPEED     0 // Value from 0 to 255 | ||||
|  | ||||
| // | ||||
| // Nozzle Park -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to define a special XYZ position, inside the | ||||
| // machine's topology, to park the nozzle when idle or when receiving the G27 | ||||
| // command. | ||||
| // | ||||
| // The "P" paramenter controls what is the action applied to the Z axis: | ||||
| //    P0: (Default) If current Z-pos is lower than Z-park then the nozzle will | ||||
| //        be raised to reach Z-park height. | ||||
| // | ||||
| //    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. | ||||
| // | ||||
| /** | ||||
|  * Nozzle Park -- EXPERIMENTAL | ||||
|  * | ||||
|  * Park the nozzle at the given XYZ position on idle or G27. | ||||
|  * | ||||
|  * The "P" parameter controls the action applied to the Z axis: | ||||
|  * | ||||
|  *    P0  (Default) If Z is below park Z raise the nozzle. | ||||
|  *    P1  Raise the nozzle always to Z-park height. | ||||
|  *    P2  Raise the nozzle by Z-park amount, limited to Z_MAX_POS. | ||||
|  */ | ||||
| //#define 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 } | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Clean Nozzle Feature -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to send G12 to start the nozzle cleaning | ||||
| // process, the G-Code accepts two parameters: | ||||
| //   "P" for pattern selection | ||||
| //   "S" for defining the number of strokes/repetitions | ||||
| // | ||||
| // Available list of patterns: | ||||
| //   P0: This is the default pattern, this process requires a sponge type | ||||
| //       material at a fixed bed location. S defines "strokes" i.e. | ||||
| //       back-and-forth movements between the starting and end points. | ||||
| // | ||||
| //   P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" | ||||
| //       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 | ||||
| //       be performed in whichever dimension is smallest. As an example, | ||||
| //       sending "G12 P1 S1 T3" will execute: | ||||
| // | ||||
| //          -- | ||||
| //         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
| //         |           |    /  \      /  \      /  \    | | ||||
| //       A |           |   /    \    /    \    /    \   | | ||||
| //         |           |  /      \  /      \  /      \  | | ||||
| //         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
| //          --         +--------------------------------+ | ||||
| //                       |________|_________|_________| | ||||
| //                           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. | ||||
| //       Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. | ||||
| // | ||||
| // Caveats: End point Z should use the same value as Start point Z. | ||||
| // | ||||
| // Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments | ||||
| // may change to add new functionality like different wipe patterns. | ||||
| // | ||||
| /** | ||||
|  * Clean Nozzle Feature -- EXPERIMENTAL | ||||
|  * | ||||
|  * Adds the G12 command to perform a nozzle cleaning process. | ||||
|  * | ||||
|  * Parameters: | ||||
|  *   P  Pattern | ||||
|  *   S  Strokes / Repetitions | ||||
|  *   T  Triangles (P1 only) | ||||
|  * | ||||
|  * Patterns: | ||||
|  *   P0  Straight line (default). This process requires a sponge type material | ||||
|  *       at a fixed bed location. "S" specifies strokes (i.e. back-forth motions) | ||||
|  *       between the start / end points. | ||||
|  * | ||||
|  *   P1  Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the | ||||
|  *       number of zig-zag triangles to do. "S" defines the number of strokes. | ||||
|  *       Zig-zags are done in whichever is the narrower dimension. | ||||
|  *       For example, "G12 P1 S1 T3" will execute: | ||||
|  * | ||||
|  *          -- | ||||
|  *         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
|  *         |           |    /  \      /  \      /  \    | | ||||
|  *       A |           |   /    \    /    \    /    \   | | ||||
|  *         |           |  /      \  /      \  /      \  | | ||||
|  *         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
|  *          --         +--------------------------------+ | ||||
|  *                       |________|_________|_________| | ||||
|  *                           T1        T2        T3 | ||||
|  * | ||||
|  *   P2  Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE. | ||||
|  *       "R" specifies the radius. "S" specifies the stroke count. | ||||
|  *       Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT. | ||||
|  * | ||||
|  *   Caveats: The ending Z should be the same as starting Z. | ||||
|  * Attention: EXPERIMENTAL. G-code arguments may change. | ||||
|  * | ||||
|  */ | ||||
| //#define NOZZLE_CLEAN_FEATURE | ||||
|  | ||||
| #if ENABLED(NOZZLE_CLEAN_FEATURE) | ||||
| @@ -1092,33 +1086,35 @@ | ||||
|   #define NOZZLE_CLEAN_GOBACK | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Print job timer | ||||
| // | ||||
| // Enable this option to automatically start and stop the | ||||
| // print job timer when M104/M109/M190 commands are received. | ||||
| // M104 (extruder without wait) - high temp = none, low temp = stop timer | ||||
| // M109 (extruder with wait) - high temp = start timer, low temp = stop timer | ||||
| // M190 (bed with wait) - high temp = start timer, low temp = none | ||||
| // | ||||
| // In all cases the timer can be started and stopped using | ||||
| // the following commands: | ||||
| // | ||||
| // - M75  - Start the print job timer | ||||
| // - M76  - Pause the print job timer | ||||
| // - M77  - Stop the print job timer | ||||
| /** | ||||
|  * Print Job Timer | ||||
|  * | ||||
|  * Automatically start and stop the print job timer on M104/M109/M190. | ||||
|  * | ||||
|  *   M104 (hotend, no wait) - high temp = none,        low temp = stop timer | ||||
|  *   M109 (hotend, wait)    - high temp = start timer, low temp = stop timer | ||||
|  *   M190 (bed, wait)       - high temp = start timer, low temp = none | ||||
|  * | ||||
|  * The timer can also be controlled with the following commands: | ||||
|  * | ||||
|  *   M75 - Start the print job timer | ||||
|  *   M76 - Pause the print job timer | ||||
|  *   M77 - Stop the print job timer | ||||
|  */ | ||||
| #define PRINTJOB_TIMER_AUTOSTART | ||||
|  | ||||
| // | ||||
| // Print Counter | ||||
| // | ||||
| // When enabled Marlin will keep track of some print statistical data such as: | ||||
| //  - Total print jobs | ||||
| //  - Total successful print jobs | ||||
| //  - Total failed print jobs | ||||
| //  - Total time printing | ||||
| // | ||||
| // This information can be viewed by the M78 command. | ||||
| /** | ||||
|  * Print Counter | ||||
|  * | ||||
|  * Track statistical data such as: | ||||
|  * | ||||
|  *  - Total print jobs | ||||
|  *  - Total successful print jobs | ||||
|  *  - Total failed print jobs | ||||
|  *  - Total time printing | ||||
|  * | ||||
|  * View the current statistics with M78. | ||||
|  */ | ||||
| //#define PRINTCOUNTER | ||||
|  | ||||
| //============================================================================= | ||||
| @@ -1127,78 +1123,79 @@ | ||||
|  | ||||
| // @section lcd | ||||
|  | ||||
| // | ||||
| // LCD LANGUAGE | ||||
| // | ||||
| // Here you may choose the language used by Marlin on the LCD menus, the following | ||||
| // list of languages are available: | ||||
| //    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 | ||||
| // | ||||
| // :{ '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' } | ||||
| // | ||||
| /** | ||||
|  * LCD LANGUAGE | ||||
|  * | ||||
|  * Select the language to display on the LCD. These languages are available: | ||||
|  * | ||||
|  *    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 | ||||
|  * | ||||
|  * :{ '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 | ||||
|  | ||||
| // | ||||
| // LCD Character Set | ||||
| // | ||||
| // Note: This option is NOT applicable to Graphical Displays. | ||||
| // | ||||
| // All character-based LCD's provide ASCII plus one of these | ||||
| // language extensions: | ||||
| // | ||||
| //  - JAPANESE ... the most common | ||||
| //  - WESTERN  ... with more accented characters | ||||
| //  - CYRILLIC ... for the Russian language | ||||
| // | ||||
| // To determine the language extension installed on your controller: | ||||
| // | ||||
| //  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
| //  - Click the controller to view the LCD menu | ||||
| //  - The LCD will display Japanese, Western, or Cyrillic text | ||||
| // | ||||
| // See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
| // | ||||
| // :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
| // | ||||
| /** | ||||
|  * LCD Character Set | ||||
|  * | ||||
|  * Note: This option is NOT applicable to Graphical Displays. | ||||
|  * | ||||
|  * All character-based LCDs provide ASCII plus one of these | ||||
|  * language extensions: | ||||
|  * | ||||
|  *  - JAPANESE ... the most common | ||||
|  *  - WESTERN  ... with more accented characters | ||||
|  *  - CYRILLIC ... for the Russian language | ||||
|  * | ||||
|  * To determine the language extension installed on your controller: | ||||
|  * | ||||
|  *  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
|  *  - Click the controller to view the LCD menu | ||||
|  *  - The LCD will display Japanese, Western, or Cyrillic text | ||||
|  * | ||||
|  * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
|  * | ||||
|  * :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
|  */ | ||||
| #define DISPLAY_CHARSET_HD44780 JAPANESE | ||||
|  | ||||
| // | ||||
| // LCD TYPE | ||||
| // | ||||
| // You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, | ||||
| // 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels | ||||
| // (ST7565R family). (This option will be set automatically for certain displays.) | ||||
| // | ||||
| // IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! | ||||
| //                 https://github.com/olikraus/U8glib_Arduino | ||||
| // | ||||
| /** | ||||
|  * LCD TYPE | ||||
|  * | ||||
|  * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. | ||||
|  * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. | ||||
|  * (These options will be enabled automatically for most displays.) | ||||
|  * | ||||
|  * IMPORTANT: The U8glib library is required for Full Graphic Display! | ||||
|  *            https://github.com/olikraus/U8glib_Arduino | ||||
|  */ | ||||
| //#define ULTRA_LCD   // Character based | ||||
| //#define DOGLCD      // Full graphics display | ||||
|  | ||||
| // | ||||
| // SD CARD | ||||
| // | ||||
| // 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. | ||||
| // | ||||
| /** | ||||
|  * SD CARD | ||||
|  * | ||||
|  * 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. | ||||
|  * | ||||
|  */ | ||||
| //#define SDSUPPORT | ||||
|  | ||||
| // | ||||
| // SD CARD: SPI SPEED | ||||
| // | ||||
| // Uncomment ONE of the following items to use a slower SPI transfer | ||||
| // speed. This is usually required if you're getting volume init errors. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: SPI SPEED | ||||
|  * | ||||
|  * Enable one of the following items for a slower SPI transfer speed. | ||||
|  * This may be required to resolve "volume init" errors. | ||||
|  */ | ||||
| //#define SPI_SPEED SPI_HALF_SPEED | ||||
| //#define SPI_SPEED SPI_QUARTER_SPEED | ||||
| //#define SPI_SPEED SPI_EIGHTH_SPEED | ||||
|  | ||||
| // | ||||
| // SD CARD: ENABLE CRC | ||||
| // | ||||
| // Use CRC checks and retries on the SD communication. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: ENABLE CRC | ||||
|  * | ||||
|  * Use CRC checks and retries on the SD communication. | ||||
|  */ | ||||
| //#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 | ||||
| // | ||||
|   | ||||
| @@ -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_FAN_SPEED     0 // Value from 0 to 255 | ||||
|  | ||||
| // | ||||
| // Nozzle Park -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to define a special XYZ position, inside the | ||||
| // machine's topology, to park the nozzle when idle or when receiving the G27 | ||||
| // command. | ||||
| // | ||||
| // The "P" paramenter controls what is the action applied to the Z axis: | ||||
| //    P0: (Default) If current Z-pos is lower than Z-park then the nozzle will | ||||
| //        be raised to reach Z-park height. | ||||
| // | ||||
| //    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. | ||||
| // | ||||
| /** | ||||
|  * Nozzle Park -- EXPERIMENTAL | ||||
|  * | ||||
|  * Park the nozzle at the given XYZ position on idle or G27. | ||||
|  * | ||||
|  * The "P" parameter controls the action applied to the Z axis: | ||||
|  * | ||||
|  *    P0  (Default) If Z is below park Z raise the nozzle. | ||||
|  *    P1  Raise the nozzle always to Z-park height. | ||||
|  *    P2  Raise the nozzle by Z-park amount, limited to Z_MAX_POS. | ||||
|  */ | ||||
| #define 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 } | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Clean Nozzle Feature -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to send G12 to start the nozzle cleaning | ||||
| // process, the G-Code accepts two parameters: | ||||
| //   "P" for pattern selection | ||||
| //   "S" for defining the number of strokes/repetitions | ||||
| // | ||||
| // Available list of patterns: | ||||
| //   P0: This is the default pattern, this process requires a sponge type | ||||
| //       material at a fixed bed location. S defines "strokes" i.e. | ||||
| //       back-and-forth movements between the starting and end points. | ||||
| // | ||||
| //   P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" | ||||
| //       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 | ||||
| //       be performed in whichever dimension is smallest. As an example, | ||||
| //       sending "G12 P1 S1 T3" will execute: | ||||
| // | ||||
| //          -- | ||||
| //         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
| //         |           |    /  \      /  \      /  \    | | ||||
| //       A |           |   /    \    /    \    /    \   | | ||||
| //         |           |  /      \  /      \  /      \  | | ||||
| //         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
| //          --         +--------------------------------+ | ||||
| //                       |________|_________|_________| | ||||
| //                           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. | ||||
| //       Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. | ||||
| // | ||||
| // Caveats: End point Z should use the same value as Start point Z. | ||||
| // | ||||
| // Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments | ||||
| // may change to add new functionality like different wipe patterns. | ||||
| // | ||||
| /** | ||||
|  * Clean Nozzle Feature -- EXPERIMENTAL | ||||
|  * | ||||
|  * Adds the G12 command to perform a nozzle cleaning process. | ||||
|  * | ||||
|  * Parameters: | ||||
|  *   P  Pattern | ||||
|  *   S  Strokes / Repetitions | ||||
|  *   T  Triangles (P1 only) | ||||
|  * | ||||
|  * Patterns: | ||||
|  *   P0  Straight line (default). This process requires a sponge type material | ||||
|  *       at a fixed bed location. "S" specifies strokes (i.e. back-forth motions) | ||||
|  *       between the start / end points. | ||||
|  * | ||||
|  *   P1  Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the | ||||
|  *       number of zig-zag triangles to do. "S" defines the number of strokes. | ||||
|  *       Zig-zags are done in whichever is the narrower dimension. | ||||
|  *       For example, "G12 P1 S1 T3" will execute: | ||||
|  * | ||||
|  *          -- | ||||
|  *         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
|  *         |           |    /  \      /  \      /  \    | | ||||
|  *       A |           |   /    \    /    \    /    \   | | ||||
|  *         |           |  /      \  /      \  /      \  | | ||||
|  *         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
|  *          --         +--------------------------------+ | ||||
|  *                       |________|_________|_________| | ||||
|  *                           T1        T2        T3 | ||||
|  * | ||||
|  *   P2  Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE. | ||||
|  *       "R" specifies the radius. "S" specifies the stroke count. | ||||
|  *       Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT. | ||||
|  * | ||||
|  *   Caveats: The ending Z should be the same as starting Z. | ||||
|  * Attention: EXPERIMENTAL. G-code arguments may change. | ||||
|  * | ||||
|  */ | ||||
| //#define NOZZLE_CLEAN_FEATURE | ||||
|  | ||||
| #if ENABLED(NOZZLE_CLEAN_FEATURE) | ||||
| @@ -1128,33 +1122,35 @@ | ||||
|   #define NOZZLE_CLEAN_GOBACK | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Print job timer | ||||
| // | ||||
| // Enable this option to automatically start and stop the | ||||
| // print job timer when M104/M109/M190 commands are received. | ||||
| // M104 (extruder without wait) - high temp = none, low temp = stop timer | ||||
| // M109 (extruder with wait) - high temp = start timer, low temp = stop timer | ||||
| // M190 (bed with wait) - high temp = start timer, low temp = none | ||||
| // | ||||
| // In all cases the timer can be started and stopped using | ||||
| // the following commands: | ||||
| // | ||||
| // - M75  - Start the print job timer | ||||
| // - M76  - Pause the print job timer | ||||
| // - M77  - Stop the print job timer | ||||
| /** | ||||
|  * Print Job Timer | ||||
|  * | ||||
|  * Automatically start and stop the print job timer on M104/M109/M190. | ||||
|  * | ||||
|  *   M104 (hotend, no wait) - high temp = none,        low temp = stop timer | ||||
|  *   M109 (hotend, wait)    - high temp = start timer, low temp = stop timer | ||||
|  *   M190 (bed, wait)       - high temp = start timer, low temp = none | ||||
|  * | ||||
|  * The timer can also be controlled with the following commands: | ||||
|  * | ||||
|  *   M75 - Start the print job timer | ||||
|  *   M76 - Pause the print job timer | ||||
|  *   M77 - Stop the print job timer | ||||
|  */ | ||||
| #define PRINTJOB_TIMER_AUTOSTART | ||||
|  | ||||
| // | ||||
| // Print Counter | ||||
| // | ||||
| // When enabled Marlin will keep track of some print statistical data such as: | ||||
| //  - Total print jobs | ||||
| //  - Total successful print jobs | ||||
| //  - Total failed print jobs | ||||
| //  - Total time printing | ||||
| // | ||||
| // This information can be viewed by the M78 command. | ||||
| /** | ||||
|  * Print Counter | ||||
|  * | ||||
|  * Track statistical data such as: | ||||
|  * | ||||
|  *  - Total print jobs | ||||
|  *  - Total successful print jobs | ||||
|  *  - Total failed print jobs | ||||
|  *  - Total time printing | ||||
|  * | ||||
|  * View the current statistics with M78. | ||||
|  */ | ||||
| #define PRINTCOUNTER | ||||
|  | ||||
| //============================================================================= | ||||
| @@ -1163,78 +1159,79 @@ | ||||
|  | ||||
| // @section lcd | ||||
|  | ||||
| // | ||||
| // LCD LANGUAGE | ||||
| // | ||||
| // Here you may choose the language used by Marlin on the LCD menus, the following | ||||
| // list of languages are available: | ||||
| //    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 | ||||
| // | ||||
| // :{ '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' } | ||||
| // | ||||
| /** | ||||
|  * LCD LANGUAGE | ||||
|  * | ||||
|  * Select the language to display on the LCD. These languages are available: | ||||
|  * | ||||
|  *    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 | ||||
|  * | ||||
|  * :{ '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 | ||||
|  | ||||
| // | ||||
| // LCD Character Set | ||||
| // | ||||
| // Note: This option is NOT applicable to Graphical Displays. | ||||
| // | ||||
| // All character-based LCD's provide ASCII plus one of these | ||||
| // language extensions: | ||||
| // | ||||
| //  - JAPANESE ... the most common | ||||
| //  - WESTERN  ... with more accented characters | ||||
| //  - CYRILLIC ... for the Russian language | ||||
| // | ||||
| // To determine the language extension installed on your controller: | ||||
| // | ||||
| //  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
| //  - Click the controller to view the LCD menu | ||||
| //  - The LCD will display Japanese, Western, or Cyrillic text | ||||
| // | ||||
| // See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
| // | ||||
| // :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
| // | ||||
| /** | ||||
|  * LCD Character Set | ||||
|  * | ||||
|  * Note: This option is NOT applicable to Graphical Displays. | ||||
|  * | ||||
|  * All character-based LCDs provide ASCII plus one of these | ||||
|  * language extensions: | ||||
|  * | ||||
|  *  - JAPANESE ... the most common | ||||
|  *  - WESTERN  ... with more accented characters | ||||
|  *  - CYRILLIC ... for the Russian language | ||||
|  * | ||||
|  * To determine the language extension installed on your controller: | ||||
|  * | ||||
|  *  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
|  *  - Click the controller to view the LCD menu | ||||
|  *  - The LCD will display Japanese, Western, or Cyrillic text | ||||
|  * | ||||
|  * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
|  * | ||||
|  * :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
|  */ | ||||
| #define DISPLAY_CHARSET_HD44780 JAPANESE | ||||
|  | ||||
| // | ||||
| // LCD TYPE | ||||
| // | ||||
| // You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, | ||||
| // 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels | ||||
| // (ST7565R family). (This option will be set automatically for certain displays.) | ||||
| // | ||||
| // IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! | ||||
| //                 https://github.com/olikraus/U8glib_Arduino | ||||
| // | ||||
| /** | ||||
|  * LCD TYPE | ||||
|  * | ||||
|  * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. | ||||
|  * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. | ||||
|  * (These options will be enabled automatically for most displays.) | ||||
|  * | ||||
|  * IMPORTANT: The U8glib library is required for Full Graphic Display! | ||||
|  *            https://github.com/olikraus/U8glib_Arduino | ||||
|  */ | ||||
| //#define ULTRA_LCD   // Character based | ||||
| //#define DOGLCD      // Full graphics display | ||||
|  | ||||
| // | ||||
| // SD CARD | ||||
| // | ||||
| // 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. | ||||
| // | ||||
| /** | ||||
|  * SD CARD | ||||
|  * | ||||
|  * 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. | ||||
|  * | ||||
|  */ | ||||
| #define SDSUPPORT | ||||
|  | ||||
| // | ||||
| // SD CARD: SPI SPEED | ||||
| // | ||||
| // Uncomment ONE of the following items to use a slower SPI transfer | ||||
| // speed. This is usually required if you're getting volume init errors. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: SPI SPEED | ||||
|  * | ||||
|  * Enable one of the following items for a slower SPI transfer speed. | ||||
|  * This may be required to resolve "volume init" errors. | ||||
|  */ | ||||
| //#define SPI_SPEED SPI_HALF_SPEED | ||||
| //#define SPI_SPEED SPI_QUARTER_SPEED | ||||
| //#define SPI_SPEED SPI_EIGHTH_SPEED | ||||
|  | ||||
| // | ||||
| // SD CARD: ENABLE CRC | ||||
| // | ||||
| // Use CRC checks and retries on the SD communication. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: ENABLE CRC | ||||
|  * | ||||
|  * Use CRC checks and retries on the SD communication. | ||||
|  */ | ||||
| #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 | ||||
| // | ||||
|   | ||||
| @@ -977,23 +977,17 @@ | ||||
| #define PREHEAT_2_TEMP_BED    100 | ||||
| #define PREHEAT_2_FAN_SPEED   255 // Value from 0 to 255 | ||||
|  | ||||
| // | ||||
| // Nozzle Park -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to define a special XYZ position, inside the | ||||
| // machine's topology, to park the nozzle when idle or when receiving the G27 | ||||
| // command. | ||||
| // | ||||
| // The "P" paramenter controls what is the action applied to the Z axis: | ||||
| //    P0: (Default) If current Z-pos is lower than Z-park then the nozzle will | ||||
| //        be raised to reach Z-park height. | ||||
| // | ||||
| //    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. | ||||
| // | ||||
| /** | ||||
|  * Nozzle Park -- EXPERIMENTAL | ||||
|  * | ||||
|  * Park the nozzle at the given XYZ position on idle or G27. | ||||
|  * | ||||
|  * The "P" parameter controls the action applied to the Z axis: | ||||
|  * | ||||
|  *    P0  (Default) If Z is below park Z raise the nozzle. | ||||
|  *    P1  Raise the nozzle always to Z-park height. | ||||
|  *    P2  Raise the nozzle by Z-park amount, limited to Z_MAX_POS. | ||||
|  */ | ||||
| //#define 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 } | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Clean Nozzle Feature -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to send G12 to start the nozzle cleaning | ||||
| // process, the G-Code accepts two parameters: | ||||
| //   "P" for pattern selection | ||||
| //   "S" for defining the number of strokes/repetitions | ||||
| // | ||||
| // Available list of patterns: | ||||
| //   P0: This is the default pattern, this process requires a sponge type | ||||
| //       material at a fixed bed location. S defines "strokes" i.e. | ||||
| //       back-and-forth movements between the starting and end points. | ||||
| // | ||||
| //   P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" | ||||
| //       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 | ||||
| //       be performed in whichever dimension is smallest. As an example, | ||||
| //       sending "G12 P1 S1 T3" will execute: | ||||
| // | ||||
| //          -- | ||||
| //         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
| //         |           |    /  \      /  \      /  \    | | ||||
| //       A |           |   /    \    /    \    /    \   | | ||||
| //         |           |  /      \  /      \  /      \  | | ||||
| //         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
| //          --         +--------------------------------+ | ||||
| //                       |________|_________|_________| | ||||
| //                           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. | ||||
| //       Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. | ||||
| // | ||||
| // Caveats: End point Z should use the same value as Start point Z. | ||||
| // | ||||
| // Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments | ||||
| // may change to add new functionality like different wipe patterns. | ||||
| // | ||||
| /** | ||||
|  * Clean Nozzle Feature -- EXPERIMENTAL | ||||
|  * | ||||
|  * Adds the G12 command to perform a nozzle cleaning process. | ||||
|  * | ||||
|  * Parameters: | ||||
|  *   P  Pattern | ||||
|  *   S  Strokes / Repetitions | ||||
|  *   T  Triangles (P1 only) | ||||
|  * | ||||
|  * Patterns: | ||||
|  *   P0  Straight line (default). This process requires a sponge type material | ||||
|  *       at a fixed bed location. "S" specifies strokes (i.e. back-forth motions) | ||||
|  *       between the start / end points. | ||||
|  * | ||||
|  *   P1  Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the | ||||
|  *       number of zig-zag triangles to do. "S" defines the number of strokes. | ||||
|  *       Zig-zags are done in whichever is the narrower dimension. | ||||
|  *       For example, "G12 P1 S1 T3" will execute: | ||||
|  * | ||||
|  *          -- | ||||
|  *         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
|  *         |           |    /  \      /  \      /  \    | | ||||
|  *       A |           |   /    \    /    \    /    \   | | ||||
|  *         |           |  /      \  /      \  /      \  | | ||||
|  *         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
|  *          --         +--------------------------------+ | ||||
|  *                       |________|_________|_________| | ||||
|  *                           T1        T2        T3 | ||||
|  * | ||||
|  *   P2  Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE. | ||||
|  *       "R" specifies the radius. "S" specifies the stroke count. | ||||
|  *       Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT. | ||||
|  * | ||||
|  *   Caveats: The ending Z should be the same as starting Z. | ||||
|  * Attention: EXPERIMENTAL. G-code arguments may change. | ||||
|  * | ||||
|  */ | ||||
| //#define NOZZLE_CLEAN_FEATURE | ||||
|  | ||||
| #if ENABLED(NOZZLE_CLEAN_FEATURE) | ||||
| @@ -1063,33 +1057,35 @@ | ||||
|   #define NOZZLE_CLEAN_GOBACK | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Print job timer | ||||
| // | ||||
| // Enable this option to automatically start and stop the | ||||
| // print job timer when M104/M109/M190 commands are received. | ||||
| // M104 (extruder without wait) - high temp = none, low temp = stop timer | ||||
| // M109 (extruder with wait) - high temp = start timer, low temp = stop timer | ||||
| // M190 (bed with wait) - high temp = start timer, low temp = none | ||||
| // | ||||
| // In all cases the timer can be started and stopped using | ||||
| // the following commands: | ||||
| // | ||||
| // - M75  - Start the print job timer | ||||
| // - M76  - Pause the print job timer | ||||
| // - M77  - Stop the print job timer | ||||
| /** | ||||
|  * Print Job Timer | ||||
|  * | ||||
|  * Automatically start and stop the print job timer on M104/M109/M190. | ||||
|  * | ||||
|  *   M104 (hotend, no wait) - high temp = none,        low temp = stop timer | ||||
|  *   M109 (hotend, wait)    - high temp = start timer, low temp = stop timer | ||||
|  *   M190 (bed, wait)       - high temp = start timer, low temp = none | ||||
|  * | ||||
|  * The timer can also be controlled with the following commands: | ||||
|  * | ||||
|  *   M75 - Start the print job timer | ||||
|  *   M76 - Pause the print job timer | ||||
|  *   M77 - Stop the print job timer | ||||
|  */ | ||||
| #define PRINTJOB_TIMER_AUTOSTART | ||||
|  | ||||
| // | ||||
| // Print Counter | ||||
| // | ||||
| // When enabled Marlin will keep track of some print statistical data such as: | ||||
| //  - Total print jobs | ||||
| //  - Total successful print jobs | ||||
| //  - Total failed print jobs | ||||
| //  - Total time printing | ||||
| // | ||||
| // This information can be viewed by the M78 command. | ||||
| /** | ||||
|  * Print Counter | ||||
|  * | ||||
|  * Track statistical data such as: | ||||
|  * | ||||
|  *  - Total print jobs | ||||
|  *  - Total successful print jobs | ||||
|  *  - Total failed print jobs | ||||
|  *  - Total time printing | ||||
|  * | ||||
|  * View the current statistics with M78. | ||||
|  */ | ||||
| //#define PRINTCOUNTER | ||||
|  | ||||
| //============================================================================= | ||||
| @@ -1098,78 +1094,79 @@ | ||||
|  | ||||
| // @section lcd | ||||
|  | ||||
| // | ||||
| // LCD LANGUAGE | ||||
| // | ||||
| // Here you may choose the language used by Marlin on the LCD menus, the following | ||||
| // list of languages are available: | ||||
| //    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 | ||||
| // | ||||
| // :{ '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' } | ||||
| // | ||||
| /** | ||||
|  * LCD LANGUAGE | ||||
|  * | ||||
|  * Select the language to display on the LCD. These languages are available: | ||||
|  * | ||||
|  *    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 | ||||
|  * | ||||
|  * :{ '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 | ||||
|  | ||||
| // | ||||
| // LCD Character Set | ||||
| // | ||||
| // Note: This option is NOT applicable to Graphical Displays. | ||||
| // | ||||
| // All character-based LCD's provide ASCII plus one of these | ||||
| // language extensions: | ||||
| // | ||||
| //  - JAPANESE ... the most common | ||||
| //  - WESTERN  ... with more accented characters | ||||
| //  - CYRILLIC ... for the Russian language | ||||
| // | ||||
| // To determine the language extension installed on your controller: | ||||
| // | ||||
| //  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
| //  - Click the controller to view the LCD menu | ||||
| //  - The LCD will display Japanese, Western, or Cyrillic text | ||||
| // | ||||
| // See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
| // | ||||
| // :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
| // | ||||
| /** | ||||
|  * LCD Character Set | ||||
|  * | ||||
|  * Note: This option is NOT applicable to Graphical Displays. | ||||
|  * | ||||
|  * All character-based LCDs provide ASCII plus one of these | ||||
|  * language extensions: | ||||
|  * | ||||
|  *  - JAPANESE ... the most common | ||||
|  *  - WESTERN  ... with more accented characters | ||||
|  *  - CYRILLIC ... for the Russian language | ||||
|  * | ||||
|  * To determine the language extension installed on your controller: | ||||
|  * | ||||
|  *  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
|  *  - Click the controller to view the LCD menu | ||||
|  *  - The LCD will display Japanese, Western, or Cyrillic text | ||||
|  * | ||||
|  * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
|  * | ||||
|  * :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
|  */ | ||||
| #define DISPLAY_CHARSET_HD44780 JAPANESE | ||||
|  | ||||
| // | ||||
| // LCD TYPE | ||||
| // | ||||
| // You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, | ||||
| // 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels | ||||
| // (ST7565R family). (This option will be set automatically for certain displays.) | ||||
| // | ||||
| // IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! | ||||
| //                 https://github.com/olikraus/U8glib_Arduino | ||||
| // | ||||
| /** | ||||
|  * LCD TYPE | ||||
|  * | ||||
|  * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. | ||||
|  * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. | ||||
|  * (These options will be enabled automatically for most displays.) | ||||
|  * | ||||
|  * IMPORTANT: The U8glib library is required for Full Graphic Display! | ||||
|  *            https://github.com/olikraus/U8glib_Arduino | ||||
|  */ | ||||
| #define ULTRA_LCD   // Character based | ||||
| //#define DOGLCD      // Full graphics display | ||||
|  | ||||
| // | ||||
| // SD CARD | ||||
| // | ||||
| // 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. | ||||
| // | ||||
| /** | ||||
|  * SD CARD | ||||
|  * | ||||
|  * 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. | ||||
|  * | ||||
|  */ | ||||
| #define SDSUPPORT | ||||
|  | ||||
| // | ||||
| // SD CARD: SPI SPEED | ||||
| // | ||||
| // Uncomment ONE of the following items to use a slower SPI transfer | ||||
| // speed. This is usually required if you're getting volume init errors. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: SPI SPEED | ||||
|  * | ||||
|  * Enable one of the following items for a slower SPI transfer speed. | ||||
|  * This may be required to resolve "volume init" errors. | ||||
|  */ | ||||
| //#define SPI_SPEED SPI_HALF_SPEED | ||||
| //#define SPI_SPEED SPI_QUARTER_SPEED | ||||
| //#define SPI_SPEED SPI_EIGHTH_SPEED | ||||
|  | ||||
| // | ||||
| // SD CARD: ENABLE CRC | ||||
| // | ||||
| // Use CRC checks and retries on the SD communication. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: ENABLE CRC | ||||
|  * | ||||
|  * Use CRC checks and retries on the SD communication. | ||||
|  */ | ||||
| //#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 | ||||
| // | ||||
|   | ||||
| @@ -986,23 +986,17 @@ | ||||
| #define PREHEAT_2_TEMP_BED    110 | ||||
| #define PREHEAT_2_FAN_SPEED     0 // Value from 0 to 255 | ||||
|  | ||||
| // | ||||
| // Nozzle Park -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to define a special XYZ position, inside the | ||||
| // machine's topology, to park the nozzle when idle or when receiving the G27 | ||||
| // command. | ||||
| // | ||||
| // The "P" paramenter controls what is the action applied to the Z axis: | ||||
| //    P0: (Default) If current Z-pos is lower than Z-park then the nozzle will | ||||
| //        be raised to reach Z-park height. | ||||
| // | ||||
| //    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. | ||||
| // | ||||
| /** | ||||
|  * Nozzle Park -- EXPERIMENTAL | ||||
|  * | ||||
|  * Park the nozzle at the given XYZ position on idle or G27. | ||||
|  * | ||||
|  * The "P" parameter controls the action applied to the Z axis: | ||||
|  * | ||||
|  *    P0  (Default) If Z is below park Z raise the nozzle. | ||||
|  *    P1  Raise the nozzle always to Z-park height. | ||||
|  *    P2  Raise the nozzle by Z-park amount, limited to Z_MAX_POS. | ||||
|  */ | ||||
| //#define 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 } | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Clean Nozzle Feature -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to send G12 to start the nozzle cleaning | ||||
| // process, the G-Code accepts two parameters: | ||||
| //   "P" for pattern selection | ||||
| //   "S" for defining the number of strokes/repetitions | ||||
| // | ||||
| // Available list of patterns: | ||||
| //   P0: This is the default pattern, this process requires a sponge type | ||||
| //       material at a fixed bed location. S defines "strokes" i.e. | ||||
| //       back-and-forth movements between the starting and end points. | ||||
| // | ||||
| //   P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" | ||||
| //       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 | ||||
| //       be performed in whichever dimension is smallest. As an example, | ||||
| //       sending "G12 P1 S1 T3" will execute: | ||||
| // | ||||
| //          -- | ||||
| //         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
| //         |           |    /  \      /  \      /  \    | | ||||
| //       A |           |   /    \    /    \    /    \   | | ||||
| //         |           |  /      \  /      \  /      \  | | ||||
| //         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
| //          --         +--------------------------------+ | ||||
| //                       |________|_________|_________| | ||||
| //                           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. | ||||
| //       Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. | ||||
| // | ||||
| // Caveats: End point Z should use the same value as Start point Z. | ||||
| // | ||||
| // Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments | ||||
| // may change to add new functionality like different wipe patterns. | ||||
| // | ||||
| /** | ||||
|  * Clean Nozzle Feature -- EXPERIMENTAL | ||||
|  * | ||||
|  * Adds the G12 command to perform a nozzle cleaning process. | ||||
|  * | ||||
|  * Parameters: | ||||
|  *   P  Pattern | ||||
|  *   S  Strokes / Repetitions | ||||
|  *   T  Triangles (P1 only) | ||||
|  * | ||||
|  * Patterns: | ||||
|  *   P0  Straight line (default). This process requires a sponge type material | ||||
|  *       at a fixed bed location. "S" specifies strokes (i.e. back-forth motions) | ||||
|  *       between the start / end points. | ||||
|  * | ||||
|  *   P1  Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the | ||||
|  *       number of zig-zag triangles to do. "S" defines the number of strokes. | ||||
|  *       Zig-zags are done in whichever is the narrower dimension. | ||||
|  *       For example, "G12 P1 S1 T3" will execute: | ||||
|  * | ||||
|  *          -- | ||||
|  *         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
|  *         |           |    /  \      /  \      /  \    | | ||||
|  *       A |           |   /    \    /    \    /    \   | | ||||
|  *         |           |  /      \  /      \  /      \  | | ||||
|  *         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
|  *          --         +--------------------------------+ | ||||
|  *                       |________|_________|_________| | ||||
|  *                           T1        T2        T3 | ||||
|  * | ||||
|  *   P2  Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE. | ||||
|  *       "R" specifies the radius. "S" specifies the stroke count. | ||||
|  *       Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT. | ||||
|  * | ||||
|  *   Caveats: The ending Z should be the same as starting Z. | ||||
|  * Attention: EXPERIMENTAL. G-code arguments may change. | ||||
|  * | ||||
|  */ | ||||
| //#define NOZZLE_CLEAN_FEATURE | ||||
|  | ||||
| #if ENABLED(NOZZLE_CLEAN_FEATURE) | ||||
| @@ -1072,33 +1066,35 @@ | ||||
|   #define NOZZLE_CLEAN_GOBACK | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Print job timer | ||||
| // | ||||
| // Enable this option to automatically start and stop the | ||||
| // print job timer when M104/M109/M190 commands are received. | ||||
| // M104 (extruder without wait) - high temp = none, low temp = stop timer | ||||
| // M109 (extruder with wait) - high temp = start timer, low temp = stop timer | ||||
| // M190 (bed with wait) - high temp = start timer, low temp = none | ||||
| // | ||||
| // In all cases the timer can be started and stopped using | ||||
| // the following commands: | ||||
| // | ||||
| // - M75  - Start the print job timer | ||||
| // - M76  - Pause the print job timer | ||||
| // - M77  - Stop the print job timer | ||||
| /** | ||||
|  * Print Job Timer | ||||
|  * | ||||
|  * Automatically start and stop the print job timer on M104/M109/M190. | ||||
|  * | ||||
|  *   M104 (hotend, no wait) - high temp = none,        low temp = stop timer | ||||
|  *   M109 (hotend, wait)    - high temp = start timer, low temp = stop timer | ||||
|  *   M190 (bed, wait)       - high temp = start timer, low temp = none | ||||
|  * | ||||
|  * The timer can also be controlled with the following commands: | ||||
|  * | ||||
|  *   M75 - Start the print job timer | ||||
|  *   M76 - Pause the print job timer | ||||
|  *   M77 - Stop the print job timer | ||||
|  */ | ||||
| #define PRINTJOB_TIMER_AUTOSTART | ||||
|  | ||||
| // | ||||
| // Print Counter | ||||
| // | ||||
| // When enabled Marlin will keep track of some print statistical data such as: | ||||
| //  - Total print jobs | ||||
| //  - Total successful print jobs | ||||
| //  - Total failed print jobs | ||||
| //  - Total time printing | ||||
| // | ||||
| // This information can be viewed by the M78 command. | ||||
| /** | ||||
|  * Print Counter | ||||
|  * | ||||
|  * Track statistical data such as: | ||||
|  * | ||||
|  *  - Total print jobs | ||||
|  *  - Total successful print jobs | ||||
|  *  - Total failed print jobs | ||||
|  *  - Total time printing | ||||
|  * | ||||
|  * View the current statistics with M78. | ||||
|  */ | ||||
| //#define PRINTCOUNTER | ||||
|  | ||||
| //============================================================================= | ||||
| @@ -1107,78 +1103,79 @@ | ||||
|  | ||||
| // @section lcd | ||||
|  | ||||
| // | ||||
| // LCD LANGUAGE | ||||
| // | ||||
| // Here you may choose the language used by Marlin on the LCD menus, the following | ||||
| // list of languages are available: | ||||
| //    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 | ||||
| // | ||||
| // :{ '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' } | ||||
| // | ||||
| /** | ||||
|  * LCD LANGUAGE | ||||
|  * | ||||
|  * Select the language to display on the LCD. These languages are available: | ||||
|  * | ||||
|  *    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 | ||||
|  * | ||||
|  * :{ '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 | ||||
|  | ||||
| // | ||||
| // LCD Character Set | ||||
| // | ||||
| // Note: This option is NOT applicable to Graphical Displays. | ||||
| // | ||||
| // All character-based LCD's provide ASCII plus one of these | ||||
| // language extensions: | ||||
| // | ||||
| //  - JAPANESE ... the most common | ||||
| //  - WESTERN  ... with more accented characters | ||||
| //  - CYRILLIC ... for the Russian language | ||||
| // | ||||
| // To determine the language extension installed on your controller: | ||||
| // | ||||
| //  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
| //  - Click the controller to view the LCD menu | ||||
| //  - The LCD will display Japanese, Western, or Cyrillic text | ||||
| // | ||||
| // See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
| // | ||||
| // :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
| // | ||||
| /** | ||||
|  * LCD Character Set | ||||
|  * | ||||
|  * Note: This option is NOT applicable to Graphical Displays. | ||||
|  * | ||||
|  * All character-based LCDs provide ASCII plus one of these | ||||
|  * language extensions: | ||||
|  * | ||||
|  *  - JAPANESE ... the most common | ||||
|  *  - WESTERN  ... with more accented characters | ||||
|  *  - CYRILLIC ... for the Russian language | ||||
|  * | ||||
|  * To determine the language extension installed on your controller: | ||||
|  * | ||||
|  *  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
|  *  - Click the controller to view the LCD menu | ||||
|  *  - The LCD will display Japanese, Western, or Cyrillic text | ||||
|  * | ||||
|  * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
|  * | ||||
|  * :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
|  */ | ||||
| #define DISPLAY_CHARSET_HD44780 JAPANESE | ||||
|  | ||||
| // | ||||
| // LCD TYPE | ||||
| // | ||||
| // You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, | ||||
| // 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels | ||||
| // (ST7565R family). (This option will be set automatically for certain displays.) | ||||
| // | ||||
| // IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! | ||||
| //                 https://github.com/olikraus/U8glib_Arduino | ||||
| // | ||||
| /** | ||||
|  * LCD TYPE | ||||
|  * | ||||
|  * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. | ||||
|  * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. | ||||
|  * (These options will be enabled automatically for most displays.) | ||||
|  * | ||||
|  * IMPORTANT: The U8glib library is required for Full Graphic Display! | ||||
|  *            https://github.com/olikraus/U8glib_Arduino | ||||
|  */ | ||||
| //#define ULTRA_LCD   // Character based | ||||
| //#define DOGLCD      // Full graphics display | ||||
|  | ||||
| // | ||||
| // SD CARD | ||||
| // | ||||
| // 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. | ||||
| // | ||||
| /** | ||||
|  * SD CARD | ||||
|  * | ||||
|  * 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. | ||||
|  * | ||||
|  */ | ||||
| #define SDSUPPORT | ||||
|  | ||||
| // | ||||
| // SD CARD: SPI SPEED | ||||
| // | ||||
| // Uncomment ONE of the following items to use a slower SPI transfer | ||||
| // speed. This is usually required if you're getting volume init errors. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: SPI SPEED | ||||
|  * | ||||
|  * Enable one of the following items for a slower SPI transfer speed. | ||||
|  * This may be required to resolve "volume init" errors. | ||||
|  */ | ||||
| #define SPI_SPEED SPI_HALF_SPEED | ||||
| //#define SPI_SPEED SPI_QUARTER_SPEED | ||||
| //#define SPI_SPEED SPI_EIGHTH_SPEED | ||||
|  | ||||
| // | ||||
| // SD CARD: ENABLE CRC | ||||
| // | ||||
| // Use CRC checks and retries on the SD communication. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: ENABLE CRC | ||||
|  * | ||||
|  * Use CRC checks and retries on the SD communication. | ||||
|  */ | ||||
| //#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 | ||||
| // | ||||
|   | ||||
| @@ -1104,23 +1104,17 @@ | ||||
| #define PREHEAT_2_TEMP_BED    100 | ||||
| #define PREHEAT_2_FAN_SPEED     0 // Value from 0 to 255 | ||||
|  | ||||
| // | ||||
| // Nozzle Park -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to define a special XYZ position, inside the | ||||
| // machine's topology, to park the nozzle when idle or when receiving the G27 | ||||
| // command. | ||||
| // | ||||
| // The "P" paramenter controls what is the action applied to the Z axis: | ||||
| //    P0: (Default) If current Z-pos is lower than Z-park then the nozzle will | ||||
| //        be raised to reach Z-park height. | ||||
| // | ||||
| //    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. | ||||
| // | ||||
| /** | ||||
|  * Nozzle Park -- EXPERIMENTAL | ||||
|  * | ||||
|  * Park the nozzle at the given XYZ position on idle or G27. | ||||
|  * | ||||
|  * The "P" parameter controls the action applied to the Z axis: | ||||
|  * | ||||
|  *    P0  (Default) If Z is below park Z raise the nozzle. | ||||
|  *    P1  Raise the nozzle always to Z-park height. | ||||
|  *    P2  Raise the nozzle by Z-park amount, limited to Z_MAX_POS. | ||||
|  */ | ||||
| //#define 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 } | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Clean Nozzle Feature -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to send G12 to start the nozzle cleaning | ||||
| // process, the G-Code accepts two parameters: | ||||
| //   "P" for pattern selection | ||||
| //   "S" for defining the number of strokes/repetitions | ||||
| // | ||||
| // Available list of patterns: | ||||
| //   P0: This is the default pattern, this process requires a sponge type | ||||
| //       material at a fixed bed location. S defines "strokes" i.e. | ||||
| //       back-and-forth movements between the starting and end points. | ||||
| // | ||||
| //   P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" | ||||
| //       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 | ||||
| //       be performed in whichever dimension is smallest. As an example, | ||||
| //       sending "G12 P1 S1 T3" will execute: | ||||
| // | ||||
| //          -- | ||||
| //         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
| //         |           |    /  \      /  \      /  \    | | ||||
| //       A |           |   /    \    /    \    /    \   | | ||||
| //         |           |  /      \  /      \  /      \  | | ||||
| //         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
| //          --         +--------------------------------+ | ||||
| //                       |________|_________|_________| | ||||
| //                           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. | ||||
| //       Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. | ||||
| // | ||||
| // Caveats: End point Z should use the same value as Start point Z. | ||||
| // | ||||
| // Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments | ||||
| // may change to add new functionality like different wipe patterns. | ||||
| // | ||||
| /** | ||||
|  * Clean Nozzle Feature -- EXPERIMENTAL | ||||
|  * | ||||
|  * Adds the G12 command to perform a nozzle cleaning process. | ||||
|  * | ||||
|  * Parameters: | ||||
|  *   P  Pattern | ||||
|  *   S  Strokes / Repetitions | ||||
|  *   T  Triangles (P1 only) | ||||
|  * | ||||
|  * Patterns: | ||||
|  *   P0  Straight line (default). This process requires a sponge type material | ||||
|  *       at a fixed bed location. "S" specifies strokes (i.e. back-forth motions) | ||||
|  *       between the start / end points. | ||||
|  * | ||||
|  *   P1  Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the | ||||
|  *       number of zig-zag triangles to do. "S" defines the number of strokes. | ||||
|  *       Zig-zags are done in whichever is the narrower dimension. | ||||
|  *       For example, "G12 P1 S1 T3" will execute: | ||||
|  * | ||||
|  *          -- | ||||
|  *         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
|  *         |           |    /  \      /  \      /  \    | | ||||
|  *       A |           |   /    \    /    \    /    \   | | ||||
|  *         |           |  /      \  /      \  /      \  | | ||||
|  *         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
|  *          --         +--------------------------------+ | ||||
|  *                       |________|_________|_________| | ||||
|  *                           T1        T2        T3 | ||||
|  * | ||||
|  *   P2  Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE. | ||||
|  *       "R" specifies the radius. "S" specifies the stroke count. | ||||
|  *       Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT. | ||||
|  * | ||||
|  *   Caveats: The ending Z should be the same as starting Z. | ||||
|  * Attention: EXPERIMENTAL. G-code arguments may change. | ||||
|  * | ||||
|  */ | ||||
| //#define NOZZLE_CLEAN_FEATURE | ||||
|  | ||||
| #if ENABLED(NOZZLE_CLEAN_FEATURE) | ||||
| @@ -1190,33 +1184,35 @@ | ||||
|   #define NOZZLE_CLEAN_GOBACK | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Print job timer | ||||
| // | ||||
| // Enable this option to automatically start and stop the | ||||
| // print job timer when M104/M109/M190 commands are received. | ||||
| // M104 (extruder without wait) - high temp = none, low temp = stop timer | ||||
| // M109 (extruder with wait) - high temp = start timer, low temp = stop timer | ||||
| // M190 (bed with wait) - high temp = start timer, low temp = none | ||||
| // | ||||
| // In all cases the timer can be started and stopped using | ||||
| // the following commands: | ||||
| // | ||||
| // - M75  - Start the print job timer | ||||
| // - M76  - Pause the print job timer | ||||
| // - M77  - Stop the print job timer | ||||
| /** | ||||
|  * Print Job Timer | ||||
|  * | ||||
|  * Automatically start and stop the print job timer on M104/M109/M190. | ||||
|  * | ||||
|  *   M104 (hotend, no wait) - high temp = none,        low temp = stop timer | ||||
|  *   M109 (hotend, wait)    - high temp = start timer, low temp = stop timer | ||||
|  *   M190 (bed, wait)       - high temp = start timer, low temp = none | ||||
|  * | ||||
|  * The timer can also be controlled with the following commands: | ||||
|  * | ||||
|  *   M75 - Start the print job timer | ||||
|  *   M76 - Pause the print job timer | ||||
|  *   M77 - Stop the print job timer | ||||
|  */ | ||||
| #define PRINTJOB_TIMER_AUTOSTART | ||||
|  | ||||
| // | ||||
| // Print Counter | ||||
| // | ||||
| // When enabled Marlin will keep track of some print statistical data such as: | ||||
| //  - Total print jobs | ||||
| //  - Total successful print jobs | ||||
| //  - Total failed print jobs | ||||
| //  - Total time printing | ||||
| // | ||||
| // This information can be viewed by the M78 command. | ||||
| /** | ||||
|  * Print Counter | ||||
|  * | ||||
|  * Track statistical data such as: | ||||
|  * | ||||
|  *  - Total print jobs | ||||
|  *  - Total successful print jobs | ||||
|  *  - Total failed print jobs | ||||
|  *  - Total time printing | ||||
|  * | ||||
|  * View the current statistics with M78. | ||||
|  */ | ||||
| #define PRINTCOUNTER | ||||
|  | ||||
| //============================================================================= | ||||
| @@ -1225,78 +1221,79 @@ | ||||
|  | ||||
| // @section lcd | ||||
|  | ||||
| // | ||||
| // LCD LANGUAGE | ||||
| // | ||||
| // Here you may choose the language used by Marlin on the LCD menus, the following | ||||
| // list of languages are available: | ||||
| //    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 | ||||
| // | ||||
| // :{ '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' } | ||||
| // | ||||
| /** | ||||
|  * LCD LANGUAGE | ||||
|  * | ||||
|  * Select the language to display on the LCD. These languages are available: | ||||
|  * | ||||
|  *    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 | ||||
|  * | ||||
|  * :{ '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 | ||||
|  | ||||
| // | ||||
| // LCD Character Set | ||||
| // | ||||
| // Note: This option is NOT applicable to Graphical Displays. | ||||
| // | ||||
| // All character-based LCD's provide ASCII plus one of these | ||||
| // language extensions: | ||||
| // | ||||
| //  - JAPANESE ... the most common | ||||
| //  - WESTERN  ... with more accented characters | ||||
| //  - CYRILLIC ... for the Russian language | ||||
| // | ||||
| // To determine the language extension installed on your controller: | ||||
| // | ||||
| //  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
| //  - Click the controller to view the LCD menu | ||||
| //  - The LCD will display Japanese, Western, or Cyrillic text | ||||
| // | ||||
| // See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
| // | ||||
| // :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
| // | ||||
| /** | ||||
|  * LCD Character Set | ||||
|  * | ||||
|  * Note: This option is NOT applicable to Graphical Displays. | ||||
|  * | ||||
|  * All character-based LCDs provide ASCII plus one of these | ||||
|  * language extensions: | ||||
|  * | ||||
|  *  - JAPANESE ... the most common | ||||
|  *  - WESTERN  ... with more accented characters | ||||
|  *  - CYRILLIC ... for the Russian language | ||||
|  * | ||||
|  * To determine the language extension installed on your controller: | ||||
|  * | ||||
|  *  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
|  *  - Click the controller to view the LCD menu | ||||
|  *  - The LCD will display Japanese, Western, or Cyrillic text | ||||
|  * | ||||
|  * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
|  * | ||||
|  * :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
|  */ | ||||
| #define DISPLAY_CHARSET_HD44780 WESTERN | ||||
|  | ||||
| // | ||||
| // LCD TYPE | ||||
| // | ||||
| // You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, | ||||
| // 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels | ||||
| // (ST7565R family). (This option will be set automatically for certain displays.) | ||||
| // | ||||
| // IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! | ||||
| //                 https://github.com/olikraus/U8glib_Arduino | ||||
| // | ||||
| /** | ||||
|  * LCD TYPE | ||||
|  * | ||||
|  * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. | ||||
|  * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. | ||||
|  * (These options will be enabled automatically for most displays.) | ||||
|  * | ||||
|  * IMPORTANT: The U8glib library is required for Full Graphic Display! | ||||
|  *            https://github.com/olikraus/U8glib_Arduino | ||||
|  */ | ||||
| //#define ULTRA_LCD   // Character based | ||||
| //#define DOGLCD      // Full graphics display | ||||
|  | ||||
| // | ||||
| // SD CARD | ||||
| // | ||||
| // 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. | ||||
| // | ||||
| /** | ||||
|  * SD CARD | ||||
|  * | ||||
|  * 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. | ||||
|  * | ||||
|  */ | ||||
| #define SDSUPPORT | ||||
|  | ||||
| // | ||||
| // SD CARD: SPI SPEED | ||||
| // | ||||
| // Uncomment ONE of the following items to use a slower SPI transfer | ||||
| // speed. This is usually required if you're getting volume init errors. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: SPI SPEED | ||||
|  * | ||||
|  * Enable one of the following items for a slower SPI transfer speed. | ||||
|  * This may be required to resolve "volume init" errors. | ||||
|  */ | ||||
| //#define SPI_SPEED SPI_HALF_SPEED | ||||
| //#define SPI_SPEED SPI_QUARTER_SPEED | ||||
| //#define SPI_SPEED SPI_EIGHTH_SPEED | ||||
|  | ||||
| // | ||||
| // SD CARD: ENABLE CRC | ||||
| // | ||||
| // Use CRC checks and retries on the SD communication. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: ENABLE CRC | ||||
|  * | ||||
|  * Use CRC checks and retries on the SD communication. | ||||
|  */ | ||||
| #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 | ||||
| // | ||||
|   | ||||
| @@ -1106,23 +1106,17 @@ | ||||
| #define PREHEAT_2_TEMP_BED    100 | ||||
| #define PREHEAT_2_FAN_SPEED     0 // Value from 0 to 255 | ||||
|  | ||||
| // | ||||
| // Nozzle Park -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to define a special XYZ position, inside the | ||||
| // machine's topology, to park the nozzle when idle or when receiving the G27 | ||||
| // command. | ||||
| // | ||||
| // The "P" paramenter controls what is the action applied to the Z axis: | ||||
| //    P0: (Default) If current Z-pos is lower than Z-park then the nozzle will | ||||
| //        be raised to reach Z-park height. | ||||
| // | ||||
| //    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. | ||||
| // | ||||
| /** | ||||
|  * Nozzle Park -- EXPERIMENTAL | ||||
|  * | ||||
|  * Park the nozzle at the given XYZ position on idle or G27. | ||||
|  * | ||||
|  * The "P" parameter controls the action applied to the Z axis: | ||||
|  * | ||||
|  *    P0  (Default) If Z is below park Z raise the nozzle. | ||||
|  *    P1  Raise the nozzle always to Z-park height. | ||||
|  *    P2  Raise the nozzle by Z-park amount, limited to Z_MAX_POS. | ||||
|  */ | ||||
| //#define 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 } | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Clean Nozzle Feature -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to send G12 to start the nozzle cleaning | ||||
| // process, the G-Code accepts two parameters: | ||||
| //   "P" for pattern selection | ||||
| //   "S" for defining the number of strokes/repetitions | ||||
| // | ||||
| // Available list of patterns: | ||||
| //   P0: This is the default pattern, this process requires a sponge type | ||||
| //       material at a fixed bed location. S defines "strokes" i.e. | ||||
| //       back-and-forth movements between the starting and end points. | ||||
| // | ||||
| //   P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" | ||||
| //       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 | ||||
| //       be performed in whichever dimension is smallest. As an example, | ||||
| //       sending "G12 P1 S1 T3" will execute: | ||||
| // | ||||
| //          -- | ||||
| //         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
| //         |           |    /  \      /  \      /  \    | | ||||
| //       A |           |   /    \    /    \    /    \   | | ||||
| //         |           |  /      \  /      \  /      \  | | ||||
| //         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
| //          --         +--------------------------------+ | ||||
| //                       |________|_________|_________| | ||||
| //                           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. | ||||
| //       Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. | ||||
| // | ||||
| // Caveats: End point Z should use the same value as Start point Z. | ||||
| // | ||||
| // Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments | ||||
| // may change to add new functionality like different wipe patterns. | ||||
| // | ||||
| /** | ||||
|  * Clean Nozzle Feature -- EXPERIMENTAL | ||||
|  * | ||||
|  * Adds the G12 command to perform a nozzle cleaning process. | ||||
|  * | ||||
|  * Parameters: | ||||
|  *   P  Pattern | ||||
|  *   S  Strokes / Repetitions | ||||
|  *   T  Triangles (P1 only) | ||||
|  * | ||||
|  * Patterns: | ||||
|  *   P0  Straight line (default). This process requires a sponge type material | ||||
|  *       at a fixed bed location. "S" specifies strokes (i.e. back-forth motions) | ||||
|  *       between the start / end points. | ||||
|  * | ||||
|  *   P1  Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the | ||||
|  *       number of zig-zag triangles to do. "S" defines the number of strokes. | ||||
|  *       Zig-zags are done in whichever is the narrower dimension. | ||||
|  *       For example, "G12 P1 S1 T3" will execute: | ||||
|  * | ||||
|  *          -- | ||||
|  *         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
|  *         |           |    /  \      /  \      /  \    | | ||||
|  *       A |           |   /    \    /    \    /    \   | | ||||
|  *         |           |  /      \  /      \  /      \  | | ||||
|  *         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
|  *          --         +--------------------------------+ | ||||
|  *                       |________|_________|_________| | ||||
|  *                           T1        T2        T3 | ||||
|  * | ||||
|  *   P2  Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE. | ||||
|  *       "R" specifies the radius. "S" specifies the stroke count. | ||||
|  *       Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT. | ||||
|  * | ||||
|  *   Caveats: The ending Z should be the same as starting Z. | ||||
|  * Attention: EXPERIMENTAL. G-code arguments may change. | ||||
|  * | ||||
|  */ | ||||
| //#define NOZZLE_CLEAN_FEATURE | ||||
|  | ||||
| #if ENABLED(NOZZLE_CLEAN_FEATURE) | ||||
| @@ -1192,33 +1186,35 @@ | ||||
|   #define NOZZLE_CLEAN_GOBACK | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Print job timer | ||||
| // | ||||
| // Enable this option to automatically start and stop the | ||||
| // print job timer when M104/M109/M190 commands are received. | ||||
| // M104 (extruder without wait) - high temp = none, low temp = stop timer | ||||
| // M109 (extruder with wait) - high temp = start timer, low temp = stop timer | ||||
| // M190 (bed with wait) - high temp = start timer, low temp = none | ||||
| // | ||||
| // In all cases the timer can be started and stopped using | ||||
| // the following commands: | ||||
| // | ||||
| // - M75  - Start the print job timer | ||||
| // - M76  - Pause the print job timer | ||||
| // - M77  - Stop the print job timer | ||||
| /** | ||||
|  * Print Job Timer | ||||
|  * | ||||
|  * Automatically start and stop the print job timer on M104/M109/M190. | ||||
|  * | ||||
|  *   M104 (hotend, no wait) - high temp = none,        low temp = stop timer | ||||
|  *   M109 (hotend, wait)    - high temp = start timer, low temp = stop timer | ||||
|  *   M190 (bed, wait)       - high temp = start timer, low temp = none | ||||
|  * | ||||
|  * The timer can also be controlled with the following commands: | ||||
|  * | ||||
|  *   M75 - Start the print job timer | ||||
|  *   M76 - Pause the print job timer | ||||
|  *   M77 - Stop the print job timer | ||||
|  */ | ||||
| #define PRINTJOB_TIMER_AUTOSTART | ||||
|  | ||||
| // | ||||
| // Print Counter | ||||
| // | ||||
| // When enabled Marlin will keep track of some print statistical data such as: | ||||
| //  - Total print jobs | ||||
| //  - Total successful print jobs | ||||
| //  - Total failed print jobs | ||||
| //  - Total time printing | ||||
| // | ||||
| // This information can be viewed by the M78 command. | ||||
| /** | ||||
|  * Print Counter | ||||
|  * | ||||
|  * Track statistical data such as: | ||||
|  * | ||||
|  *  - Total print jobs | ||||
|  *  - Total successful print jobs | ||||
|  *  - Total failed print jobs | ||||
|  *  - Total time printing | ||||
|  * | ||||
|  * View the current statistics with M78. | ||||
|  */ | ||||
| #define PRINTCOUNTER | ||||
|  | ||||
| //============================================================================= | ||||
| @@ -1227,78 +1223,79 @@ | ||||
|  | ||||
| // @section lcd | ||||
|  | ||||
| // | ||||
| // LCD LANGUAGE | ||||
| // | ||||
| // Here you may choose the language used by Marlin on the LCD menus, the following | ||||
| // list of languages are available: | ||||
| //    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 | ||||
| // | ||||
| // :{ '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' } | ||||
| // | ||||
| /** | ||||
|  * LCD LANGUAGE | ||||
|  * | ||||
|  * Select the language to display on the LCD. These languages are available: | ||||
|  * | ||||
|  *    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 | ||||
|  * | ||||
|  * :{ '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 | ||||
|  | ||||
| // | ||||
| // LCD Character Set | ||||
| // | ||||
| // Note: This option is NOT applicable to Graphical Displays. | ||||
| // | ||||
| // All character-based LCD's provide ASCII plus one of these | ||||
| // language extensions: | ||||
| // | ||||
| //  - JAPANESE ... the most common | ||||
| //  - WESTERN  ... with more accented characters | ||||
| //  - CYRILLIC ... for the Russian language | ||||
| // | ||||
| // To determine the language extension installed on your controller: | ||||
| // | ||||
| //  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
| //  - Click the controller to view the LCD menu | ||||
| //  - The LCD will display Japanese, Western, or Cyrillic text | ||||
| // | ||||
| // See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
| // | ||||
| // :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
| // | ||||
| /** | ||||
|  * LCD Character Set | ||||
|  * | ||||
|  * Note: This option is NOT applicable to Graphical Displays. | ||||
|  * | ||||
|  * All character-based LCDs provide ASCII plus one of these | ||||
|  * language extensions: | ||||
|  * | ||||
|  *  - JAPANESE ... the most common | ||||
|  *  - WESTERN  ... with more accented characters | ||||
|  *  - CYRILLIC ... for the Russian language | ||||
|  * | ||||
|  * To determine the language extension installed on your controller: | ||||
|  * | ||||
|  *  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
|  *  - Click the controller to view the LCD menu | ||||
|  *  - The LCD will display Japanese, Western, or Cyrillic text | ||||
|  * | ||||
|  * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
|  * | ||||
|  * :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
|  */ | ||||
| #define DISPLAY_CHARSET_HD44780 WESTERN | ||||
|  | ||||
| // | ||||
| // LCD TYPE | ||||
| // | ||||
| // You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, | ||||
| // 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels | ||||
| // (ST7565R family). (This option will be set automatically for certain displays.) | ||||
| // | ||||
| // IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! | ||||
| //                 https://github.com/olikraus/U8glib_Arduino | ||||
| // | ||||
| /** | ||||
|  * LCD TYPE | ||||
|  * | ||||
|  * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. | ||||
|  * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. | ||||
|  * (These options will be enabled automatically for most displays.) | ||||
|  * | ||||
|  * IMPORTANT: The U8glib library is required for Full Graphic Display! | ||||
|  *            https://github.com/olikraus/U8glib_Arduino | ||||
|  */ | ||||
| //#define ULTRA_LCD   // Character based | ||||
| //#define DOGLCD      // Full graphics display | ||||
|  | ||||
| // | ||||
| // SD CARD | ||||
| // | ||||
| // 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. | ||||
| // | ||||
| /** | ||||
|  * SD CARD | ||||
|  * | ||||
|  * 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. | ||||
|  * | ||||
|  */ | ||||
| #define SDSUPPORT | ||||
|  | ||||
| // | ||||
| // SD CARD: SPI SPEED | ||||
| // | ||||
| // Uncomment ONE of the following items to use a slower SPI transfer | ||||
| // speed. This is usually required if you're getting volume init errors. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: SPI SPEED | ||||
|  * | ||||
|  * Enable one of the following items for a slower SPI transfer speed. | ||||
|  * This may be required to resolve "volume init" errors. | ||||
|  */ | ||||
| //#define SPI_SPEED SPI_HALF_SPEED | ||||
| //#define SPI_SPEED SPI_QUARTER_SPEED | ||||
| //#define SPI_SPEED SPI_EIGHTH_SPEED | ||||
|  | ||||
| // | ||||
| // SD CARD: ENABLE CRC | ||||
| // | ||||
| // Use CRC checks and retries on the SD communication. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: ENABLE CRC | ||||
|  * | ||||
|  * Use CRC checks and retries on the SD communication. | ||||
|  */ | ||||
| //#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 | ||||
| // | ||||
|   | ||||
| @@ -1093,23 +1093,17 @@ | ||||
| #define PREHEAT_2_TEMP_BED    100 | ||||
| #define PREHEAT_2_FAN_SPEED   255 // Value from 0 to 255 | ||||
|  | ||||
| // | ||||
| // Nozzle Park -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to define a special XYZ position, inside the | ||||
| // machine's topology, to park the nozzle when idle or when receiving the G27 | ||||
| // command. | ||||
| // | ||||
| // The "P" paramenter controls what is the action applied to the Z axis: | ||||
| //    P0: (Default) If current Z-pos is lower than Z-park then the nozzle will | ||||
| //        be raised to reach Z-park height. | ||||
| // | ||||
| //    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. | ||||
| // | ||||
| /** | ||||
|  * Nozzle Park -- EXPERIMENTAL | ||||
|  * | ||||
|  * Park the nozzle at the given XYZ position on idle or G27. | ||||
|  * | ||||
|  * The "P" parameter controls the action applied to the Z axis: | ||||
|  * | ||||
|  *    P0  (Default) If Z is below park Z raise the nozzle. | ||||
|  *    P1  Raise the nozzle always to Z-park height. | ||||
|  *    P2  Raise the nozzle by Z-park amount, limited to Z_MAX_POS. | ||||
|  */ | ||||
| //#define 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 } | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Clean Nozzle Feature -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to send G12 to start the nozzle cleaning | ||||
| // process, the G-Code accepts two parameters: | ||||
| //   "P" for pattern selection | ||||
| //   "S" for defining the number of strokes/repetitions | ||||
| // | ||||
| // Available list of patterns: | ||||
| //   P0: This is the default pattern, this process requires a sponge type | ||||
| //       material at a fixed bed location. S defines "strokes" i.e. | ||||
| //       back-and-forth movements between the starting and end points. | ||||
| // | ||||
| //   P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" | ||||
| //       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 | ||||
| //       be performed in whichever dimension is smallest. As an example, | ||||
| //       sending "G12 P1 S1 T3" will execute: | ||||
| // | ||||
| //          -- | ||||
| //         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
| //         |           |    /  \      /  \      /  \    | | ||||
| //       A |           |   /    \    /    \    /    \   | | ||||
| //         |           |  /      \  /      \  /      \  | | ||||
| //         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
| //          --         +--------------------------------+ | ||||
| //                       |________|_________|_________| | ||||
| //                           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. | ||||
| //       Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. | ||||
| // | ||||
| // Caveats: End point Z should use the same value as Start point Z. | ||||
| // | ||||
| // Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments | ||||
| // may change to add new functionality like different wipe patterns. | ||||
| // | ||||
| /** | ||||
|  * Clean Nozzle Feature -- EXPERIMENTAL | ||||
|  * | ||||
|  * Adds the G12 command to perform a nozzle cleaning process. | ||||
|  * | ||||
|  * Parameters: | ||||
|  *   P  Pattern | ||||
|  *   S  Strokes / Repetitions | ||||
|  *   T  Triangles (P1 only) | ||||
|  * | ||||
|  * Patterns: | ||||
|  *   P0  Straight line (default). This process requires a sponge type material | ||||
|  *       at a fixed bed location. "S" specifies strokes (i.e. back-forth motions) | ||||
|  *       between the start / end points. | ||||
|  * | ||||
|  *   P1  Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the | ||||
|  *       number of zig-zag triangles to do. "S" defines the number of strokes. | ||||
|  *       Zig-zags are done in whichever is the narrower dimension. | ||||
|  *       For example, "G12 P1 S1 T3" will execute: | ||||
|  * | ||||
|  *          -- | ||||
|  *         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
|  *         |           |    /  \      /  \      /  \    | | ||||
|  *       A |           |   /    \    /    \    /    \   | | ||||
|  *         |           |  /      \  /      \  /      \  | | ||||
|  *         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
|  *          --         +--------------------------------+ | ||||
|  *                       |________|_________|_________| | ||||
|  *                           T1        T2        T3 | ||||
|  * | ||||
|  *   P2  Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE. | ||||
|  *       "R" specifies the radius. "S" specifies the stroke count. | ||||
|  *       Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT. | ||||
|  * | ||||
|  *   Caveats: The ending Z should be the same as starting Z. | ||||
|  * Attention: EXPERIMENTAL. G-code arguments may change. | ||||
|  * | ||||
|  */ | ||||
| //#define NOZZLE_CLEAN_FEATURE | ||||
|  | ||||
| #if ENABLED(NOZZLE_CLEAN_FEATURE) | ||||
| @@ -1179,33 +1173,35 @@ | ||||
|   #define NOZZLE_CLEAN_GOBACK | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Print job timer | ||||
| // | ||||
| // Enable this option to automatically start and stop the | ||||
| // print job timer when M104/M109/M190 commands are received. | ||||
| // M104 (extruder without wait) - high temp = none, low temp = stop timer | ||||
| // M109 (extruder with wait) - high temp = start timer, low temp = stop timer | ||||
| // M190 (bed with wait) - high temp = start timer, low temp = none | ||||
| // | ||||
| // In all cases the timer can be started and stopped using | ||||
| // the following commands: | ||||
| // | ||||
| // - M75  - Start the print job timer | ||||
| // - M76  - Pause the print job timer | ||||
| // - M77  - Stop the print job timer | ||||
| /** | ||||
|  * Print Job Timer | ||||
|  * | ||||
|  * Automatically start and stop the print job timer on M104/M109/M190. | ||||
|  * | ||||
|  *   M104 (hotend, no wait) - high temp = none,        low temp = stop timer | ||||
|  *   M109 (hotend, wait)    - high temp = start timer, low temp = stop timer | ||||
|  *   M190 (bed, wait)       - high temp = start timer, low temp = none | ||||
|  * | ||||
|  * The timer can also be controlled with the following commands: | ||||
|  * | ||||
|  *   M75 - Start the print job timer | ||||
|  *   M76 - Pause the print job timer | ||||
|  *   M77 - Stop the print job timer | ||||
|  */ | ||||
| #define PRINTJOB_TIMER_AUTOSTART | ||||
|  | ||||
| // | ||||
| // Print Counter | ||||
| // | ||||
| // When enabled Marlin will keep track of some print statistical data such as: | ||||
| //  - Total print jobs | ||||
| //  - Total successful print jobs | ||||
| //  - Total failed print jobs | ||||
| //  - Total time printing | ||||
| // | ||||
| // This information can be viewed by the M78 command. | ||||
| /** | ||||
|  * Print Counter | ||||
|  * | ||||
|  * Track statistical data such as: | ||||
|  * | ||||
|  *  - Total print jobs | ||||
|  *  - Total successful print jobs | ||||
|  *  - Total failed print jobs | ||||
|  *  - Total time printing | ||||
|  * | ||||
|  * View the current statistics with M78. | ||||
|  */ | ||||
| //#define PRINTCOUNTER | ||||
|  | ||||
| //============================================================================= | ||||
| @@ -1214,78 +1210,79 @@ | ||||
|  | ||||
| // @section lcd | ||||
|  | ||||
| // | ||||
| // LCD LANGUAGE | ||||
| // | ||||
| // Here you may choose the language used by Marlin on the LCD menus, the following | ||||
| // list of languages are available: | ||||
| //    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 | ||||
| // | ||||
| // :{ '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' } | ||||
| // | ||||
| /** | ||||
|  * LCD LANGUAGE | ||||
|  * | ||||
|  * Select the language to display on the LCD. These languages are available: | ||||
|  * | ||||
|  *    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 | ||||
|  * | ||||
|  * :{ '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 | ||||
|  | ||||
| // | ||||
| // LCD Character Set | ||||
| // | ||||
| // Note: This option is NOT applicable to Graphical Displays. | ||||
| // | ||||
| // All character-based LCD's provide ASCII plus one of these | ||||
| // language extensions: | ||||
| // | ||||
| //  - JAPANESE ... the most common | ||||
| //  - WESTERN  ... with more accented characters | ||||
| //  - CYRILLIC ... for the Russian language | ||||
| // | ||||
| // To determine the language extension installed on your controller: | ||||
| // | ||||
| //  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
| //  - Click the controller to view the LCD menu | ||||
| //  - The LCD will display Japanese, Western, or Cyrillic text | ||||
| // | ||||
| // See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
| // | ||||
| // :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
| // | ||||
| /** | ||||
|  * LCD Character Set | ||||
|  * | ||||
|  * Note: This option is NOT applicable to Graphical Displays. | ||||
|  * | ||||
|  * All character-based LCDs provide ASCII plus one of these | ||||
|  * language extensions: | ||||
|  * | ||||
|  *  - JAPANESE ... the most common | ||||
|  *  - WESTERN  ... with more accented characters | ||||
|  *  - CYRILLIC ... for the Russian language | ||||
|  * | ||||
|  * To determine the language extension installed on your controller: | ||||
|  * | ||||
|  *  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
|  *  - Click the controller to view the LCD menu | ||||
|  *  - The LCD will display Japanese, Western, or Cyrillic text | ||||
|  * | ||||
|  * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
|  * | ||||
|  * :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
|  */ | ||||
| #define DISPLAY_CHARSET_HD44780 JAPANESE | ||||
|  | ||||
| // | ||||
| // LCD TYPE | ||||
| // | ||||
| // You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, | ||||
| // 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels | ||||
| // (ST7565R family). (This option will be set automatically for certain displays.) | ||||
| // | ||||
| // IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! | ||||
| //                 https://github.com/olikraus/U8glib_Arduino | ||||
| // | ||||
| /** | ||||
|  * LCD TYPE | ||||
|  * | ||||
|  * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. | ||||
|  * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. | ||||
|  * (These options will be enabled automatically for most displays.) | ||||
|  * | ||||
|  * IMPORTANT: The U8glib library is required for Full Graphic Display! | ||||
|  *            https://github.com/olikraus/U8glib_Arduino | ||||
|  */ | ||||
| //#define ULTRA_LCD   // Character based | ||||
| //#define DOGLCD      // Full graphics display | ||||
|  | ||||
| // | ||||
| // SD CARD | ||||
| // | ||||
| // 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. | ||||
| // | ||||
| /** | ||||
|  * SD CARD | ||||
|  * | ||||
|  * 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. | ||||
|  * | ||||
|  */ | ||||
| //#define SDSUPPORT | ||||
|  | ||||
| // | ||||
| // SD CARD: SPI SPEED | ||||
| // | ||||
| // Uncomment ONE of the following items to use a slower SPI transfer | ||||
| // speed. This is usually required if you're getting volume init errors. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: SPI SPEED | ||||
|  * | ||||
|  * Enable one of the following items for a slower SPI transfer speed. | ||||
|  * This may be required to resolve "volume init" errors. | ||||
|  */ | ||||
| //#define SPI_SPEED SPI_HALF_SPEED | ||||
| //#define SPI_SPEED SPI_QUARTER_SPEED | ||||
| //#define SPI_SPEED SPI_EIGHTH_SPEED | ||||
|  | ||||
| // | ||||
| // SD CARD: ENABLE CRC | ||||
| // | ||||
| // Use CRC checks and retries on the SD communication. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: ENABLE CRC | ||||
|  * | ||||
|  * Use CRC checks and retries on the SD communication. | ||||
|  */ | ||||
| //#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 | ||||
| // | ||||
|   | ||||
| @@ -1096,23 +1096,17 @@ | ||||
| #define PREHEAT_2_TEMP_BED    100 | ||||
| #define PREHEAT_2_FAN_SPEED   255 // Value from 0 to 255 | ||||
|  | ||||
| // | ||||
| // Nozzle Park -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to define a special XYZ position, inside the | ||||
| // machine's topology, to park the nozzle when idle or when receiving the G27 | ||||
| // command. | ||||
| // | ||||
| // The "P" paramenter controls what is the action applied to the Z axis: | ||||
| //    P0: (Default) If current Z-pos is lower than Z-park then the nozzle will | ||||
| //        be raised to reach Z-park height. | ||||
| // | ||||
| //    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. | ||||
| // | ||||
| /** | ||||
|  * Nozzle Park -- EXPERIMENTAL | ||||
|  * | ||||
|  * Park the nozzle at the given XYZ position on idle or G27. | ||||
|  * | ||||
|  * The "P" parameter controls the action applied to the Z axis: | ||||
|  * | ||||
|  *    P0  (Default) If Z is below park Z raise the nozzle. | ||||
|  *    P1  Raise the nozzle always to Z-park height. | ||||
|  *    P2  Raise the nozzle by Z-park amount, limited to Z_MAX_POS. | ||||
|  */ | ||||
| //#define 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 } | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Clean Nozzle Feature -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to send G12 to start the nozzle cleaning | ||||
| // process, the G-Code accepts two parameters: | ||||
| //   "P" for pattern selection | ||||
| //   "S" for defining the number of strokes/repetitions | ||||
| // | ||||
| // Available list of patterns: | ||||
| //   P0: This is the default pattern, this process requires a sponge type | ||||
| //       material at a fixed bed location. S defines "strokes" i.e. | ||||
| //       back-and-forth movements between the starting and end points. | ||||
| // | ||||
| //   P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" | ||||
| //       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 | ||||
| //       be performed in whichever dimension is smallest. As an example, | ||||
| //       sending "G12 P1 S1 T3" will execute: | ||||
| // | ||||
| //          -- | ||||
| //         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
| //         |           |    /  \      /  \      /  \    | | ||||
| //       A |           |   /    \    /    \    /    \   | | ||||
| //         |           |  /      \  /      \  /      \  | | ||||
| //         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
| //          --         +--------------------------------+ | ||||
| //                       |________|_________|_________| | ||||
| //                           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. | ||||
| //       Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. | ||||
| // | ||||
| // Caveats: End point Z should use the same value as Start point Z. | ||||
| // | ||||
| // Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments | ||||
| // may change to add new functionality like different wipe patterns. | ||||
| // | ||||
| /** | ||||
|  * Clean Nozzle Feature -- EXPERIMENTAL | ||||
|  * | ||||
|  * Adds the G12 command to perform a nozzle cleaning process. | ||||
|  * | ||||
|  * Parameters: | ||||
|  *   P  Pattern | ||||
|  *   S  Strokes / Repetitions | ||||
|  *   T  Triangles (P1 only) | ||||
|  * | ||||
|  * Patterns: | ||||
|  *   P0  Straight line (default). This process requires a sponge type material | ||||
|  *       at a fixed bed location. "S" specifies strokes (i.e. back-forth motions) | ||||
|  *       between the start / end points. | ||||
|  * | ||||
|  *   P1  Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the | ||||
|  *       number of zig-zag triangles to do. "S" defines the number of strokes. | ||||
|  *       Zig-zags are done in whichever is the narrower dimension. | ||||
|  *       For example, "G12 P1 S1 T3" will execute: | ||||
|  * | ||||
|  *          -- | ||||
|  *         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
|  *         |           |    /  \      /  \      /  \    | | ||||
|  *       A |           |   /    \    /    \    /    \   | | ||||
|  *         |           |  /      \  /      \  /      \  | | ||||
|  *         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
|  *          --         +--------------------------------+ | ||||
|  *                       |________|_________|_________| | ||||
|  *                           T1        T2        T3 | ||||
|  * | ||||
|  *   P2  Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE. | ||||
|  *       "R" specifies the radius. "S" specifies the stroke count. | ||||
|  *       Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT. | ||||
|  * | ||||
|  *   Caveats: The ending Z should be the same as starting Z. | ||||
|  * Attention: EXPERIMENTAL. G-code arguments may change. | ||||
|  * | ||||
|  */ | ||||
| //#define NOZZLE_CLEAN_FEATURE | ||||
|  | ||||
| #if ENABLED(NOZZLE_CLEAN_FEATURE) | ||||
| @@ -1182,33 +1176,35 @@ | ||||
|   #define NOZZLE_CLEAN_GOBACK | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Print job timer | ||||
| // | ||||
| // Enable this option to automatically start and stop the | ||||
| // print job timer when M104/M109/M190 commands are received. | ||||
| // M104 (extruder without wait) - high temp = none, low temp = stop timer | ||||
| // M109 (extruder with wait) - high temp = start timer, low temp = stop timer | ||||
| // M190 (bed with wait) - high temp = start timer, low temp = none | ||||
| // | ||||
| // In all cases the timer can be started and stopped using | ||||
| // the following commands: | ||||
| // | ||||
| // - M75  - Start the print job timer | ||||
| // - M76  - Pause the print job timer | ||||
| // - M77  - Stop the print job timer | ||||
| /** | ||||
|  * Print Job Timer | ||||
|  * | ||||
|  * Automatically start and stop the print job timer on M104/M109/M190. | ||||
|  * | ||||
|  *   M104 (hotend, no wait) - high temp = none,        low temp = stop timer | ||||
|  *   M109 (hotend, wait)    - high temp = start timer, low temp = stop timer | ||||
|  *   M190 (bed, wait)       - high temp = start timer, low temp = none | ||||
|  * | ||||
|  * The timer can also be controlled with the following commands: | ||||
|  * | ||||
|  *   M75 - Start the print job timer | ||||
|  *   M76 - Pause the print job timer | ||||
|  *   M77 - Stop the print job timer | ||||
|  */ | ||||
| #define PRINTJOB_TIMER_AUTOSTART | ||||
|  | ||||
| // | ||||
| // Print Counter | ||||
| // | ||||
| // When enabled Marlin will keep track of some print statistical data such as: | ||||
| //  - Total print jobs | ||||
| //  - Total successful print jobs | ||||
| //  - Total failed print jobs | ||||
| //  - Total time printing | ||||
| // | ||||
| // This information can be viewed by the M78 command. | ||||
| /** | ||||
|  * Print Counter | ||||
|  * | ||||
|  * Track statistical data such as: | ||||
|  * | ||||
|  *  - Total print jobs | ||||
|  *  - Total successful print jobs | ||||
|  *  - Total failed print jobs | ||||
|  *  - Total time printing | ||||
|  * | ||||
|  * View the current statistics with M78. | ||||
|  */ | ||||
| //#define PRINTCOUNTER | ||||
|  | ||||
| //============================================================================= | ||||
| @@ -1217,78 +1213,79 @@ | ||||
|  | ||||
| // @section lcd | ||||
|  | ||||
| // | ||||
| // LCD LANGUAGE | ||||
| // | ||||
| // Here you may choose the language used by Marlin on the LCD menus, the following | ||||
| // list of languages are available: | ||||
| //    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 | ||||
| // | ||||
| // :{ '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' } | ||||
| // | ||||
| /** | ||||
|  * LCD LANGUAGE | ||||
|  * | ||||
|  * Select the language to display on the LCD. These languages are available: | ||||
|  * | ||||
|  *    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 | ||||
|  * | ||||
|  * :{ '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 | ||||
|  | ||||
| // | ||||
| // LCD Character Set | ||||
| // | ||||
| // Note: This option is NOT applicable to Graphical Displays. | ||||
| // | ||||
| // All character-based LCD's provide ASCII plus one of these | ||||
| // language extensions: | ||||
| // | ||||
| //  - JAPANESE ... the most common | ||||
| //  - WESTERN  ... with more accented characters | ||||
| //  - CYRILLIC ... for the Russian language | ||||
| // | ||||
| // To determine the language extension installed on your controller: | ||||
| // | ||||
| //  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
| //  - Click the controller to view the LCD menu | ||||
| //  - The LCD will display Japanese, Western, or Cyrillic text | ||||
| // | ||||
| // See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
| // | ||||
| // :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
| // | ||||
| /** | ||||
|  * LCD Character Set | ||||
|  * | ||||
|  * Note: This option is NOT applicable to Graphical Displays. | ||||
|  * | ||||
|  * All character-based LCDs provide ASCII plus one of these | ||||
|  * language extensions: | ||||
|  * | ||||
|  *  - JAPANESE ... the most common | ||||
|  *  - WESTERN  ... with more accented characters | ||||
|  *  - CYRILLIC ... for the Russian language | ||||
|  * | ||||
|  * To determine the language extension installed on your controller: | ||||
|  * | ||||
|  *  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
|  *  - Click the controller to view the LCD menu | ||||
|  *  - The LCD will display Japanese, Western, or Cyrillic text | ||||
|  * | ||||
|  * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
|  * | ||||
|  * :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
|  */ | ||||
| #define DISPLAY_CHARSET_HD44780 JAPANESE | ||||
|  | ||||
| // | ||||
| // LCD TYPE | ||||
| // | ||||
| // You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, | ||||
| // 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels | ||||
| // (ST7565R family). (This option will be set automatically for certain displays.) | ||||
| // | ||||
| // IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! | ||||
| //                 https://github.com/olikraus/U8glib_Arduino | ||||
| // | ||||
| /** | ||||
|  * LCD TYPE | ||||
|  * | ||||
|  * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. | ||||
|  * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. | ||||
|  * (These options will be enabled automatically for most displays.) | ||||
|  * | ||||
|  * IMPORTANT: The U8glib library is required for Full Graphic Display! | ||||
|  *            https://github.com/olikraus/U8glib_Arduino | ||||
|  */ | ||||
| //#define ULTRA_LCD   // Character based | ||||
| //#define DOGLCD      // Full graphics display | ||||
|  | ||||
| // | ||||
| // SD CARD | ||||
| // | ||||
| // 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. | ||||
| // | ||||
| /** | ||||
|  * SD CARD | ||||
|  * | ||||
|  * 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. | ||||
|  * | ||||
|  */ | ||||
| //#define SDSUPPORT | ||||
|  | ||||
| // | ||||
| // SD CARD: SPI SPEED | ||||
| // | ||||
| // Uncomment ONE of the following items to use a slower SPI transfer | ||||
| // speed. This is usually required if you're getting volume init errors. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: SPI SPEED | ||||
|  * | ||||
|  * Enable one of the following items for a slower SPI transfer speed. | ||||
|  * This may be required to resolve "volume init" errors. | ||||
|  */ | ||||
| //#define SPI_SPEED SPI_HALF_SPEED | ||||
| //#define SPI_SPEED SPI_QUARTER_SPEED | ||||
| //#define SPI_SPEED SPI_EIGHTH_SPEED | ||||
|  | ||||
| // | ||||
| // SD CARD: ENABLE CRC | ||||
| // | ||||
| // Use CRC checks and retries on the SD communication. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: ENABLE CRC | ||||
|  * | ||||
|  * Use CRC checks and retries on the SD communication. | ||||
|  */ | ||||
| //#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 | ||||
| // | ||||
|   | ||||
| @@ -1102,23 +1102,17 @@ | ||||
| #define PREHEAT_2_TEMP_BED    100 | ||||
| #define PREHEAT_2_FAN_SPEED   255 // Value from 0 to 255 | ||||
|  | ||||
| // | ||||
| // Nozzle Park -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to define a special XYZ position, inside the | ||||
| // machine's topology, to park the nozzle when idle or when receiving the G27 | ||||
| // command. | ||||
| // | ||||
| // The "P" paramenter controls what is the action applied to the Z axis: | ||||
| //    P0: (Default) If current Z-pos is lower than Z-park then the nozzle will | ||||
| //        be raised to reach Z-park height. | ||||
| // | ||||
| //    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. | ||||
| // | ||||
| /** | ||||
|  * Nozzle Park -- EXPERIMENTAL | ||||
|  * | ||||
|  * Park the nozzle at the given XYZ position on idle or G27. | ||||
|  * | ||||
|  * The "P" parameter controls the action applied to the Z axis: | ||||
|  * | ||||
|  *    P0  (Default) If Z is below park Z raise the nozzle. | ||||
|  *    P1  Raise the nozzle always to Z-park height. | ||||
|  *    P2  Raise the nozzle by Z-park amount, limited to Z_MAX_POS. | ||||
|  */ | ||||
| //#define 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 } | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Clean Nozzle Feature -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to send G12 to start the nozzle cleaning | ||||
| // process, the G-Code accepts two parameters: | ||||
| //   "P" for pattern selection | ||||
| //   "S" for defining the number of strokes/repetitions | ||||
| // | ||||
| // Available list of patterns: | ||||
| //   P0: This is the default pattern, this process requires a sponge type | ||||
| //       material at a fixed bed location. S defines "strokes" i.e. | ||||
| //       back-and-forth movements between the starting and end points. | ||||
| // | ||||
| //   P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" | ||||
| //       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 | ||||
| //       be performed in whichever dimension is smallest. As an example, | ||||
| //       sending "G12 P1 S1 T3" will execute: | ||||
| // | ||||
| //          -- | ||||
| //         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
| //         |           |    /  \      /  \      /  \    | | ||||
| //       A |           |   /    \    /    \    /    \   | | ||||
| //         |           |  /      \  /      \  /      \  | | ||||
| //         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
| //          --         +--------------------------------+ | ||||
| //                       |________|_________|_________| | ||||
| //                           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. | ||||
| //       Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. | ||||
| // | ||||
| // Caveats: End point Z should use the same value as Start point Z. | ||||
| // | ||||
| // Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments | ||||
| // may change to add new functionality like different wipe patterns. | ||||
| // | ||||
| /** | ||||
|  * Clean Nozzle Feature -- EXPERIMENTAL | ||||
|  * | ||||
|  * Adds the G12 command to perform a nozzle cleaning process. | ||||
|  * | ||||
|  * Parameters: | ||||
|  *   P  Pattern | ||||
|  *   S  Strokes / Repetitions | ||||
|  *   T  Triangles (P1 only) | ||||
|  * | ||||
|  * Patterns: | ||||
|  *   P0  Straight line (default). This process requires a sponge type material | ||||
|  *       at a fixed bed location. "S" specifies strokes (i.e. back-forth motions) | ||||
|  *       between the start / end points. | ||||
|  * | ||||
|  *   P1  Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the | ||||
|  *       number of zig-zag triangles to do. "S" defines the number of strokes. | ||||
|  *       Zig-zags are done in whichever is the narrower dimension. | ||||
|  *       For example, "G12 P1 S1 T3" will execute: | ||||
|  * | ||||
|  *          -- | ||||
|  *         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
|  *         |           |    /  \      /  \      /  \    | | ||||
|  *       A |           |   /    \    /    \    /    \   | | ||||
|  *         |           |  /      \  /      \  /      \  | | ||||
|  *         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
|  *          --         +--------------------------------+ | ||||
|  *                       |________|_________|_________| | ||||
|  *                           T1        T2        T3 | ||||
|  * | ||||
|  *   P2  Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE. | ||||
|  *       "R" specifies the radius. "S" specifies the stroke count. | ||||
|  *       Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT. | ||||
|  * | ||||
|  *   Caveats: The ending Z should be the same as starting Z. | ||||
|  * Attention: EXPERIMENTAL. G-code arguments may change. | ||||
|  * | ||||
|  */ | ||||
| //#define NOZZLE_CLEAN_FEATURE | ||||
|  | ||||
| #if ENABLED(NOZZLE_CLEAN_FEATURE) | ||||
| @@ -1188,33 +1182,35 @@ | ||||
|   #define NOZZLE_CLEAN_GOBACK | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Print job timer | ||||
| // | ||||
| // Enable this option to automatically start and stop the | ||||
| // print job timer when M104/M109/M190 commands are received. | ||||
| // M104 (extruder without wait) - high temp = none, low temp = stop timer | ||||
| // M109 (extruder with wait) - high temp = start timer, low temp = stop timer | ||||
| // M190 (bed with wait) - high temp = start timer, low temp = none | ||||
| // | ||||
| // In all cases the timer can be started and stopped using | ||||
| // the following commands: | ||||
| // | ||||
| // - M75  - Start the print job timer | ||||
| // - M76  - Pause the print job timer | ||||
| // - M77  - Stop the print job timer | ||||
| /** | ||||
|  * Print Job Timer | ||||
|  * | ||||
|  * Automatically start and stop the print job timer on M104/M109/M190. | ||||
|  * | ||||
|  *   M104 (hotend, no wait) - high temp = none,        low temp = stop timer | ||||
|  *   M109 (hotend, wait)    - high temp = start timer, low temp = stop timer | ||||
|  *   M190 (bed, wait)       - high temp = start timer, low temp = none | ||||
|  * | ||||
|  * The timer can also be controlled with the following commands: | ||||
|  * | ||||
|  *   M75 - Start the print job timer | ||||
|  *   M76 - Pause the print job timer | ||||
|  *   M77 - Stop the print job timer | ||||
|  */ | ||||
| #define PRINTJOB_TIMER_AUTOSTART | ||||
|  | ||||
| // | ||||
| // Print Counter | ||||
| // | ||||
| // When enabled Marlin will keep track of some print statistical data such as: | ||||
| //  - Total print jobs | ||||
| //  - Total successful print jobs | ||||
| //  - Total failed print jobs | ||||
| //  - Total time printing | ||||
| // | ||||
| // This information can be viewed by the M78 command. | ||||
| /** | ||||
|  * Print Counter | ||||
|  * | ||||
|  * Track statistical data such as: | ||||
|  * | ||||
|  *  - Total print jobs | ||||
|  *  - Total successful print jobs | ||||
|  *  - Total failed print jobs | ||||
|  *  - Total time printing | ||||
|  * | ||||
|  * View the current statistics with M78. | ||||
|  */ | ||||
| //#define PRINTCOUNTER | ||||
|  | ||||
| //============================================================================= | ||||
| @@ -1223,78 +1219,79 @@ | ||||
|  | ||||
| // @section lcd | ||||
|  | ||||
| // | ||||
| // LCD LANGUAGE | ||||
| // | ||||
| // Here you may choose the language used by Marlin on the LCD menus, the following | ||||
| // list of languages are available: | ||||
| //    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 | ||||
| // | ||||
| // :{ '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' } | ||||
| // | ||||
| /** | ||||
|  * LCD LANGUAGE | ||||
|  * | ||||
|  * Select the language to display on the LCD. These languages are available: | ||||
|  * | ||||
|  *    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 | ||||
|  * | ||||
|  * :{ '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 | ||||
|  | ||||
| // | ||||
| // LCD Character Set | ||||
| // | ||||
| // Note: This option is NOT applicable to Graphical Displays. | ||||
| // | ||||
| // All character-based LCD's provide ASCII plus one of these | ||||
| // language extensions: | ||||
| // | ||||
| //  - JAPANESE ... the most common | ||||
| //  - WESTERN  ... with more accented characters | ||||
| //  - CYRILLIC ... for the Russian language | ||||
| // | ||||
| // To determine the language extension installed on your controller: | ||||
| // | ||||
| //  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
| //  - Click the controller to view the LCD menu | ||||
| //  - The LCD will display Japanese, Western, or Cyrillic text | ||||
| // | ||||
| // See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
| // | ||||
| // :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
| // | ||||
| /** | ||||
|  * LCD Character Set | ||||
|  * | ||||
|  * Note: This option is NOT applicable to Graphical Displays. | ||||
|  * | ||||
|  * All character-based LCDs provide ASCII plus one of these | ||||
|  * language extensions: | ||||
|  * | ||||
|  *  - JAPANESE ... the most common | ||||
|  *  - WESTERN  ... with more accented characters | ||||
|  *  - CYRILLIC ... for the Russian language | ||||
|  * | ||||
|  * To determine the language extension installed on your controller: | ||||
|  * | ||||
|  *  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
|  *  - Click the controller to view the LCD menu | ||||
|  *  - The LCD will display Japanese, Western, or Cyrillic text | ||||
|  * | ||||
|  * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
|  * | ||||
|  * :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
|  */ | ||||
| #define DISPLAY_CHARSET_HD44780 JAPANESE | ||||
|  | ||||
| // | ||||
| // LCD TYPE | ||||
| // | ||||
| // You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, | ||||
| // 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels | ||||
| // (ST7565R family). (This option will be set automatically for certain displays.) | ||||
| // | ||||
| // IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! | ||||
| //                 https://github.com/olikraus/U8glib_Arduino | ||||
| // | ||||
| /** | ||||
|  * LCD TYPE | ||||
|  * | ||||
|  * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. | ||||
|  * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. | ||||
|  * (These options will be enabled automatically for most displays.) | ||||
|  * | ||||
|  * IMPORTANT: The U8glib library is required for Full Graphic Display! | ||||
|  *            https://github.com/olikraus/U8glib_Arduino | ||||
|  */ | ||||
| //#define ULTRA_LCD   // Character based | ||||
| //#define DOGLCD      // Full graphics display | ||||
|  | ||||
| // | ||||
| // SD CARD | ||||
| // | ||||
| // 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. | ||||
| // | ||||
| /** | ||||
|  * SD CARD | ||||
|  * | ||||
|  * 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. | ||||
|  * | ||||
|  */ | ||||
| #define SDSUPPORT | ||||
|  | ||||
| // | ||||
| // SD CARD: SPI SPEED | ||||
| // | ||||
| // Uncomment ONE of the following items to use a slower SPI transfer | ||||
| // speed. This is usually required if you're getting volume init errors. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: SPI SPEED | ||||
|  * | ||||
|  * Enable one of the following items for a slower SPI transfer speed. | ||||
|  * This may be required to resolve "volume init" errors. | ||||
|  */ | ||||
| //#define SPI_SPEED SPI_HALF_SPEED | ||||
| //#define SPI_SPEED SPI_QUARTER_SPEED | ||||
| //#define SPI_SPEED SPI_EIGHTH_SPEED | ||||
|  | ||||
| // | ||||
| // SD CARD: ENABLE CRC | ||||
| // | ||||
| // Use CRC checks and retries on the SD communication. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: ENABLE CRC | ||||
|  * | ||||
|  * Use CRC checks and retries on the SD communication. | ||||
|  */ | ||||
| //#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 | ||||
| // | ||||
|   | ||||
| @@ -1160,23 +1160,17 @@ | ||||
| #define PREHEAT_2_TEMP_BED    100 | ||||
| #define PREHEAT_2_FAN_SPEED   255 // Value from 0 to 255 | ||||
|  | ||||
| // | ||||
| // Nozzle Park -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to define a special XYZ position, inside the | ||||
| // machine's topology, to park the nozzle when idle or when receiving the G27 | ||||
| // command. | ||||
| // | ||||
| // The "P" paramenter controls what is the action applied to the Z axis: | ||||
| //    P0: (Default) If current Z-pos is lower than Z-park then the nozzle will | ||||
| //        be raised to reach Z-park height. | ||||
| // | ||||
| //    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. | ||||
| // | ||||
| /** | ||||
|  * Nozzle Park -- EXPERIMENTAL | ||||
|  * | ||||
|  * Park the nozzle at the given XYZ position on idle or G27. | ||||
|  * | ||||
|  * The "P" parameter controls the action applied to the Z axis: | ||||
|  * | ||||
|  *    P0  (Default) If Z is below park Z raise the nozzle. | ||||
|  *    P1  Raise the nozzle always to Z-park height. | ||||
|  *    P2  Raise the nozzle by Z-park amount, limited to Z_MAX_POS. | ||||
|  */ | ||||
| //#define 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 } | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Clean Nozzle Feature -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to send G12 to start the nozzle cleaning | ||||
| // process, the G-Code accepts two parameters: | ||||
| //   "P" for pattern selection | ||||
| //   "S" for defining the number of strokes/repetitions | ||||
| // | ||||
| // Available list of patterns: | ||||
| //   P0: This is the default pattern, this process requires a sponge type | ||||
| //       material at a fixed bed location. S defines "strokes" i.e. | ||||
| //       back-and-forth movements between the starting and end points. | ||||
| // | ||||
| //   P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" | ||||
| //       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 | ||||
| //       be performed in whichever dimension is smallest. As an example, | ||||
| //       sending "G12 P1 S1 T3" will execute: | ||||
| // | ||||
| //          -- | ||||
| //         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
| //         |           |    /  \      /  \      /  \    | | ||||
| //       A |           |   /    \    /    \    /    \   | | ||||
| //         |           |  /      \  /      \  /      \  | | ||||
| //         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
| //          --         +--------------------------------+ | ||||
| //                       |________|_________|_________| | ||||
| //                           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. | ||||
| //       Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. | ||||
| // | ||||
| // Caveats: End point Z should use the same value as Start point Z. | ||||
| // | ||||
| // Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments | ||||
| // may change to add new functionality like different wipe patterns. | ||||
| // | ||||
| /** | ||||
|  * Clean Nozzle Feature -- EXPERIMENTAL | ||||
|  * | ||||
|  * Adds the G12 command to perform a nozzle cleaning process. | ||||
|  * | ||||
|  * Parameters: | ||||
|  *   P  Pattern | ||||
|  *   S  Strokes / Repetitions | ||||
|  *   T  Triangles (P1 only) | ||||
|  * | ||||
|  * Patterns: | ||||
|  *   P0  Straight line (default). This process requires a sponge type material | ||||
|  *       at a fixed bed location. "S" specifies strokes (i.e. back-forth motions) | ||||
|  *       between the start / end points. | ||||
|  * | ||||
|  *   P1  Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the | ||||
|  *       number of zig-zag triangles to do. "S" defines the number of strokes. | ||||
|  *       Zig-zags are done in whichever is the narrower dimension. | ||||
|  *       For example, "G12 P1 S1 T3" will execute: | ||||
|  * | ||||
|  *          -- | ||||
|  *         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
|  *         |           |    /  \      /  \      /  \    | | ||||
|  *       A |           |   /    \    /    \    /    \   | | ||||
|  *         |           |  /      \  /      \  /      \  | | ||||
|  *         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
|  *          --         +--------------------------------+ | ||||
|  *                       |________|_________|_________| | ||||
|  *                           T1        T2        T3 | ||||
|  * | ||||
|  *   P2  Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE. | ||||
|  *       "R" specifies the radius. "S" specifies the stroke count. | ||||
|  *       Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT. | ||||
|  * | ||||
|  *   Caveats: The ending Z should be the same as starting Z. | ||||
|  * Attention: EXPERIMENTAL. G-code arguments may change. | ||||
|  * | ||||
|  */ | ||||
| //#define NOZZLE_CLEAN_FEATURE | ||||
|  | ||||
| #if ENABLED(NOZZLE_CLEAN_FEATURE) | ||||
| @@ -1246,33 +1240,35 @@ | ||||
|   #define NOZZLE_CLEAN_GOBACK | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Print job timer | ||||
| // | ||||
| // Enable this option to automatically start and stop the | ||||
| // print job timer when M104/M109/M190 commands are received. | ||||
| // M104 (extruder without wait) - high temp = none, low temp = stop timer | ||||
| // M109 (extruder with wait) - high temp = start timer, low temp = stop timer | ||||
| // M190 (bed with wait) - high temp = start timer, low temp = none | ||||
| // | ||||
| // In all cases the timer can be started and stopped using | ||||
| // the following commands: | ||||
| // | ||||
| // - M75  - Start the print job timer | ||||
| // - M76  - Pause the print job timer | ||||
| // - M77  - Stop the print job timer | ||||
| /** | ||||
|  * Print Job Timer | ||||
|  * | ||||
|  * Automatically start and stop the print job timer on M104/M109/M190. | ||||
|  * | ||||
|  *   M104 (hotend, no wait) - high temp = none,        low temp = stop timer | ||||
|  *   M109 (hotend, wait)    - high temp = start timer, low temp = stop timer | ||||
|  *   M190 (bed, wait)       - high temp = start timer, low temp = none | ||||
|  * | ||||
|  * The timer can also be controlled with the following commands: | ||||
|  * | ||||
|  *   M75 - Start the print job timer | ||||
|  *   M76 - Pause the print job timer | ||||
|  *   M77 - Stop the print job timer | ||||
|  */ | ||||
| #define PRINTJOB_TIMER_AUTOSTART | ||||
|  | ||||
| // | ||||
| // Print Counter | ||||
| // | ||||
| // When enabled Marlin will keep track of some print statistical data such as: | ||||
| //  - Total print jobs | ||||
| //  - Total successful print jobs | ||||
| //  - Total failed print jobs | ||||
| //  - Total time printing | ||||
| // | ||||
| // This information can be viewed by the M78 command. | ||||
| /** | ||||
|  * Print Counter | ||||
|  * | ||||
|  * Track statistical data such as: | ||||
|  * | ||||
|  *  - Total print jobs | ||||
|  *  - Total successful print jobs | ||||
|  *  - Total failed print jobs | ||||
|  *  - Total time printing | ||||
|  * | ||||
|  * View the current statistics with M78. | ||||
|  */ | ||||
| //#define PRINTCOUNTER | ||||
|  | ||||
| //============================================================================= | ||||
| @@ -1281,78 +1277,79 @@ | ||||
|  | ||||
| // @section lcd | ||||
|  | ||||
| // | ||||
| // LCD LANGUAGE | ||||
| // | ||||
| // Here you may choose the language used by Marlin on the LCD menus, the following | ||||
| // list of languages are available: | ||||
| //    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 | ||||
| // | ||||
| // :{ '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' } | ||||
| // | ||||
| /** | ||||
|  * LCD LANGUAGE | ||||
|  * | ||||
|  * Select the language to display on the LCD. These languages are available: | ||||
|  * | ||||
|  *    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 | ||||
|  * | ||||
|  * :{ '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 | ||||
|  | ||||
| // | ||||
| // LCD Character Set | ||||
| // | ||||
| // Note: This option is NOT applicable to Graphical Displays. | ||||
| // | ||||
| // All character-based LCD's provide ASCII plus one of these | ||||
| // language extensions: | ||||
| // | ||||
| //  - JAPANESE ... the most common | ||||
| //  - WESTERN  ... with more accented characters | ||||
| //  - CYRILLIC ... for the Russian language | ||||
| // | ||||
| // To determine the language extension installed on your controller: | ||||
| // | ||||
| //  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
| //  - Click the controller to view the LCD menu | ||||
| //  - The LCD will display Japanese, Western, or Cyrillic text | ||||
| // | ||||
| // See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
| // | ||||
| // :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
| // | ||||
| /** | ||||
|  * LCD Character Set | ||||
|  * | ||||
|  * Note: This option is NOT applicable to Graphical Displays. | ||||
|  * | ||||
|  * All character-based LCDs provide ASCII plus one of these | ||||
|  * language extensions: | ||||
|  * | ||||
|  *  - JAPANESE ... the most common | ||||
|  *  - WESTERN  ... with more accented characters | ||||
|  *  - CYRILLIC ... for the Russian language | ||||
|  * | ||||
|  * To determine the language extension installed on your controller: | ||||
|  * | ||||
|  *  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
|  *  - Click the controller to view the LCD menu | ||||
|  *  - The LCD will display Japanese, Western, or Cyrillic text | ||||
|  * | ||||
|  * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
|  * | ||||
|  * :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
|  */ | ||||
| #define DISPLAY_CHARSET_HD44780 JAPANESE | ||||
|  | ||||
| // | ||||
| // LCD TYPE | ||||
| // | ||||
| // You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, | ||||
| // 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels | ||||
| // (ST7565R family). (This option will be set automatically for certain displays.) | ||||
| // | ||||
| // IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! | ||||
| //                 https://github.com/olikraus/U8glib_Arduino | ||||
| // | ||||
| /** | ||||
|  * LCD TYPE | ||||
|  * | ||||
|  * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. | ||||
|  * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. | ||||
|  * (These options will be enabled automatically for most displays.) | ||||
|  * | ||||
|  * IMPORTANT: The U8glib library is required for Full Graphic Display! | ||||
|  *            https://github.com/olikraus/U8glib_Arduino | ||||
|  */ | ||||
| //#define ULTRA_LCD   // Character based | ||||
| //#define DOGLCD      // Full graphics display | ||||
|  | ||||
| // | ||||
| // SD CARD | ||||
| // | ||||
| // 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. | ||||
| // | ||||
| /** | ||||
|  * SD CARD | ||||
|  * | ||||
|  * 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. | ||||
|  * | ||||
|  */ | ||||
| //#define SDSUPPORT | ||||
|  | ||||
| // | ||||
| // SD CARD: SPI SPEED | ||||
| // | ||||
| // Uncomment ONE of the following items to use a slower SPI transfer | ||||
| // speed. This is usually required if you're getting volume init errors. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: SPI SPEED | ||||
|  * | ||||
|  * Enable one of the following items for a slower SPI transfer speed. | ||||
|  * This may be required to resolve "volume init" errors. | ||||
|  */ | ||||
| //#define SPI_SPEED SPI_HALF_SPEED | ||||
| //#define SPI_SPEED SPI_QUARTER_SPEED | ||||
| //#define SPI_SPEED SPI_EIGHTH_SPEED | ||||
|  | ||||
| // | ||||
| // SD CARD: ENABLE CRC | ||||
| // | ||||
| // Use CRC checks and retries on the SD communication. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: ENABLE CRC | ||||
|  * | ||||
|  * Use CRC checks and retries on the SD communication. | ||||
|  */ | ||||
| //#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 | ||||
| // | ||||
|   | ||||
| @@ -971,23 +971,17 @@ | ||||
| #define PREHEAT_2_TEMP_BED    110 | ||||
| #define PREHEAT_2_FAN_SPEED     0 // Value from 0 to 255 | ||||
|  | ||||
| // | ||||
| // Nozzle Park -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to define a special XYZ position, inside the | ||||
| // machine's topology, to park the nozzle when idle or when receiving the G27 | ||||
| // command. | ||||
| // | ||||
| // The "P" paramenter controls what is the action applied to the Z axis: | ||||
| //    P0: (Default) If current Z-pos is lower than Z-park then the nozzle will | ||||
| //        be raised to reach Z-park height. | ||||
| // | ||||
| //    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. | ||||
| // | ||||
| /** | ||||
|  * Nozzle Park -- EXPERIMENTAL | ||||
|  * | ||||
|  * Park the nozzle at the given XYZ position on idle or G27. | ||||
|  * | ||||
|  * The "P" parameter controls the action applied to the Z axis: | ||||
|  * | ||||
|  *    P0  (Default) If Z is below park Z raise the nozzle. | ||||
|  *    P1  Raise the nozzle always to Z-park height. | ||||
|  *    P2  Raise the nozzle by Z-park amount, limited to Z_MAX_POS. | ||||
|  */ | ||||
| //#define 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 } | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Clean Nozzle Feature -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to send G12 to start the nozzle cleaning | ||||
| // process, the G-Code accepts two parameters: | ||||
| //   "P" for pattern selection | ||||
| //   "S" for defining the number of strokes/repetitions | ||||
| // | ||||
| // Available list of patterns: | ||||
| //   P0: This is the default pattern, this process requires a sponge type | ||||
| //       material at a fixed bed location. S defines "strokes" i.e. | ||||
| //       back-and-forth movements between the starting and end points. | ||||
| // | ||||
| //   P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" | ||||
| //       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 | ||||
| //       be performed in whichever dimension is smallest. As an example, | ||||
| //       sending "G12 P1 S1 T3" will execute: | ||||
| // | ||||
| //          -- | ||||
| //         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
| //         |           |    /  \      /  \      /  \    | | ||||
| //       A |           |   /    \    /    \    /    \   | | ||||
| //         |           |  /      \  /      \  /      \  | | ||||
| //         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
| //          --         +--------------------------------+ | ||||
| //                       |________|_________|_________| | ||||
| //                           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. | ||||
| //       Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. | ||||
| // | ||||
| // Caveats: End point Z should use the same value as Start point Z. | ||||
| // | ||||
| // Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments | ||||
| // may change to add new functionality like different wipe patterns. | ||||
| // | ||||
| /** | ||||
|  * Clean Nozzle Feature -- EXPERIMENTAL | ||||
|  * | ||||
|  * Adds the G12 command to perform a nozzle cleaning process. | ||||
|  * | ||||
|  * Parameters: | ||||
|  *   P  Pattern | ||||
|  *   S  Strokes / Repetitions | ||||
|  *   T  Triangles (P1 only) | ||||
|  * | ||||
|  * Patterns: | ||||
|  *   P0  Straight line (default). This process requires a sponge type material | ||||
|  *       at a fixed bed location. "S" specifies strokes (i.e. back-forth motions) | ||||
|  *       between the start / end points. | ||||
|  * | ||||
|  *   P1  Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the | ||||
|  *       number of zig-zag triangles to do. "S" defines the number of strokes. | ||||
|  *       Zig-zags are done in whichever is the narrower dimension. | ||||
|  *       For example, "G12 P1 S1 T3" will execute: | ||||
|  * | ||||
|  *          -- | ||||
|  *         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
|  *         |           |    /  \      /  \      /  \    | | ||||
|  *       A |           |   /    \    /    \    /    \   | | ||||
|  *         |           |  /      \  /      \  /      \  | | ||||
|  *         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
|  *          --         +--------------------------------+ | ||||
|  *                       |________|_________|_________| | ||||
|  *                           T1        T2        T3 | ||||
|  * | ||||
|  *   P2  Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE. | ||||
|  *       "R" specifies the radius. "S" specifies the stroke count. | ||||
|  *       Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT. | ||||
|  * | ||||
|  *   Caveats: The ending Z should be the same as starting Z. | ||||
|  * Attention: EXPERIMENTAL. G-code arguments may change. | ||||
|  * | ||||
|  */ | ||||
| //#define NOZZLE_CLEAN_FEATURE | ||||
|  | ||||
| #if ENABLED(NOZZLE_CLEAN_FEATURE) | ||||
| @@ -1057,33 +1051,35 @@ | ||||
|   #define NOZZLE_CLEAN_GOBACK | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Print job timer | ||||
| // | ||||
| // Enable this option to automatically start and stop the | ||||
| // print job timer when M104/M109/M190 commands are received. | ||||
| // M104 (extruder without wait) - high temp = none, low temp = stop timer | ||||
| // M109 (extruder with wait) - high temp = start timer, low temp = stop timer | ||||
| // M190 (bed with wait) - high temp = start timer, low temp = none | ||||
| // | ||||
| // In all cases the timer can be started and stopped using | ||||
| // the following commands: | ||||
| // | ||||
| // - M75  - Start the print job timer | ||||
| // - M76  - Pause the print job timer | ||||
| // - M77  - Stop the print job timer | ||||
| /** | ||||
|  * Print Job Timer | ||||
|  * | ||||
|  * Automatically start and stop the print job timer on M104/M109/M190. | ||||
|  * | ||||
|  *   M104 (hotend, no wait) - high temp = none,        low temp = stop timer | ||||
|  *   M109 (hotend, wait)    - high temp = start timer, low temp = stop timer | ||||
|  *   M190 (bed, wait)       - high temp = start timer, low temp = none | ||||
|  * | ||||
|  * The timer can also be controlled with the following commands: | ||||
|  * | ||||
|  *   M75 - Start the print job timer | ||||
|  *   M76 - Pause the print job timer | ||||
|  *   M77 - Stop the print job timer | ||||
|  */ | ||||
| #define PRINTJOB_TIMER_AUTOSTART | ||||
|  | ||||
| // | ||||
| // Print Counter | ||||
| // | ||||
| // When enabled Marlin will keep track of some print statistical data such as: | ||||
| //  - Total print jobs | ||||
| //  - Total successful print jobs | ||||
| //  - Total failed print jobs | ||||
| //  - Total time printing | ||||
| // | ||||
| // This information can be viewed by the M78 command. | ||||
| /** | ||||
|  * Print Counter | ||||
|  * | ||||
|  * Track statistical data such as: | ||||
|  * | ||||
|  *  - Total print jobs | ||||
|  *  - Total successful print jobs | ||||
|  *  - Total failed print jobs | ||||
|  *  - Total time printing | ||||
|  * | ||||
|  * View the current statistics with M78. | ||||
|  */ | ||||
| //#define PRINTCOUNTER | ||||
|  | ||||
| //============================================================================= | ||||
| @@ -1092,78 +1088,79 @@ | ||||
|  | ||||
| // @section lcd | ||||
|  | ||||
| // | ||||
| // LCD LANGUAGE | ||||
| // | ||||
| // Here you may choose the language used by Marlin on the LCD menus, the following | ||||
| // list of languages are available: | ||||
| //    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 | ||||
| // | ||||
| // :{ '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' } | ||||
| // | ||||
| /** | ||||
|  * LCD LANGUAGE | ||||
|  * | ||||
|  * Select the language to display on the LCD. These languages are available: | ||||
|  * | ||||
|  *    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 | ||||
|  * | ||||
|  * :{ '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 | ||||
|  | ||||
| // | ||||
| // LCD Character Set | ||||
| // | ||||
| // Note: This option is NOT applicable to Graphical Displays. | ||||
| // | ||||
| // All character-based LCD's provide ASCII plus one of these | ||||
| // language extensions: | ||||
| // | ||||
| //  - JAPANESE ... the most common | ||||
| //  - WESTERN  ... with more accented characters | ||||
| //  - CYRILLIC ... for the Russian language | ||||
| // | ||||
| // To determine the language extension installed on your controller: | ||||
| // | ||||
| //  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
| //  - Click the controller to view the LCD menu | ||||
| //  - The LCD will display Japanese, Western, or Cyrillic text | ||||
| // | ||||
| // See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
| // | ||||
| // :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
| // | ||||
| /** | ||||
|  * LCD Character Set | ||||
|  * | ||||
|  * Note: This option is NOT applicable to Graphical Displays. | ||||
|  * | ||||
|  * All character-based LCDs provide ASCII plus one of these | ||||
|  * language extensions: | ||||
|  * | ||||
|  *  - JAPANESE ... the most common | ||||
|  *  - WESTERN  ... with more accented characters | ||||
|  *  - CYRILLIC ... for the Russian language | ||||
|  * | ||||
|  * To determine the language extension installed on your controller: | ||||
|  * | ||||
|  *  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
|  *  - Click the controller to view the LCD menu | ||||
|  *  - The LCD will display Japanese, Western, or Cyrillic text | ||||
|  * | ||||
|  * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
|  * | ||||
|  * :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
|  */ | ||||
| #define DISPLAY_CHARSET_HD44780 JAPANESE | ||||
|  | ||||
| // | ||||
| // LCD TYPE | ||||
| // | ||||
| // You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, | ||||
| // 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels | ||||
| // (ST7565R family). (This option will be set automatically for certain displays.) | ||||
| // | ||||
| // IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! | ||||
| //                 https://github.com/olikraus/U8glib_Arduino | ||||
| // | ||||
| /** | ||||
|  * LCD TYPE | ||||
|  * | ||||
|  * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. | ||||
|  * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. | ||||
|  * (These options will be enabled automatically for most displays.) | ||||
|  * | ||||
|  * IMPORTANT: The U8glib library is required for Full Graphic Display! | ||||
|  *            https://github.com/olikraus/U8glib_Arduino | ||||
|  */ | ||||
| //#define ULTRA_LCD   // Character based | ||||
| //#define DOGLCD      // Full graphics display | ||||
|  | ||||
| // | ||||
| // SD CARD | ||||
| // | ||||
| // 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. | ||||
| // | ||||
| /** | ||||
|  * SD CARD | ||||
|  * | ||||
|  * 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. | ||||
|  * | ||||
|  */ | ||||
| #define SDSUPPORT | ||||
|  | ||||
| // | ||||
| // SD CARD: SPI SPEED | ||||
| // | ||||
| // Uncomment ONE of the following items to use a slower SPI transfer | ||||
| // speed. This is usually required if you're getting volume init errors. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: SPI SPEED | ||||
|  * | ||||
|  * Enable one of the following items for a slower SPI transfer speed. | ||||
|  * This may be required to resolve "volume init" errors. | ||||
|  */ | ||||
| //#define SPI_SPEED SPI_HALF_SPEED | ||||
| //#define SPI_SPEED SPI_QUARTER_SPEED | ||||
| //#define SPI_SPEED SPI_EIGHTH_SPEED | ||||
|  | ||||
| // | ||||
| // SD CARD: ENABLE CRC | ||||
| // | ||||
| // Use CRC checks and retries on the SD communication. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: ENABLE CRC | ||||
|  * | ||||
|  * Use CRC checks and retries on the SD communication. | ||||
|  */ | ||||
| #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 | ||||
| // | ||||
|   | ||||
| @@ -989,23 +989,17 @@ | ||||
| #define PREHEAT_2_TEMP_BED    100 | ||||
| #define PREHEAT_2_FAN_SPEED   255 // Value from 0 to 255 | ||||
|  | ||||
| // | ||||
| // Nozzle Park -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to define a special XYZ position, inside the | ||||
| // machine's topology, to park the nozzle when idle or when receiving the G27 | ||||
| // command. | ||||
| // | ||||
| // The "P" paramenter controls what is the action applied to the Z axis: | ||||
| //    P0: (Default) If current Z-pos is lower than Z-park then the nozzle will | ||||
| //        be raised to reach Z-park height. | ||||
| // | ||||
| //    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. | ||||
| // | ||||
| /** | ||||
|  * Nozzle Park -- EXPERIMENTAL | ||||
|  * | ||||
|  * Park the nozzle at the given XYZ position on idle or G27. | ||||
|  * | ||||
|  * The "P" parameter controls the action applied to the Z axis: | ||||
|  * | ||||
|  *    P0  (Default) If Z is below park Z raise the nozzle. | ||||
|  *    P1  Raise the nozzle always to Z-park height. | ||||
|  *    P2  Raise the nozzle by Z-park amount, limited to Z_MAX_POS. | ||||
|  */ | ||||
| //#define 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 } | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Clean Nozzle Feature -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to send G12 to start the nozzle cleaning | ||||
| // process, the G-Code accepts two parameters: | ||||
| //   "P" for pattern selection | ||||
| //   "S" for defining the number of strokes/repetitions | ||||
| // | ||||
| // Available list of patterns: | ||||
| //   P0: This is the default pattern, this process requires a sponge type | ||||
| //       material at a fixed bed location. S defines "strokes" i.e. | ||||
| //       back-and-forth movements between the starting and end points. | ||||
| // | ||||
| //   P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" | ||||
| //       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 | ||||
| //       be performed in whichever dimension is smallest. As an example, | ||||
| //       sending "G12 P1 S1 T3" will execute: | ||||
| // | ||||
| //          -- | ||||
| //         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
| //         |           |    /  \      /  \      /  \    | | ||||
| //       A |           |   /    \    /    \    /    \   | | ||||
| //         |           |  /      \  /      \  /      \  | | ||||
| //         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
| //          --         +--------------------------------+ | ||||
| //                       |________|_________|_________| | ||||
| //                           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. | ||||
| //       Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. | ||||
| // | ||||
| // Caveats: End point Z should use the same value as Start point Z. | ||||
| // | ||||
| // Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments | ||||
| // may change to add new functionality like different wipe patterns. | ||||
| // | ||||
| /** | ||||
|  * Clean Nozzle Feature -- EXPERIMENTAL | ||||
|  * | ||||
|  * Adds the G12 command to perform a nozzle cleaning process. | ||||
|  * | ||||
|  * Parameters: | ||||
|  *   P  Pattern | ||||
|  *   S  Strokes / Repetitions | ||||
|  *   T  Triangles (P1 only) | ||||
|  * | ||||
|  * Patterns: | ||||
|  *   P0  Straight line (default). This process requires a sponge type material | ||||
|  *       at a fixed bed location. "S" specifies strokes (i.e. back-forth motions) | ||||
|  *       between the start / end points. | ||||
|  * | ||||
|  *   P1  Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the | ||||
|  *       number of zig-zag triangles to do. "S" defines the number of strokes. | ||||
|  *       Zig-zags are done in whichever is the narrower dimension. | ||||
|  *       For example, "G12 P1 S1 T3" will execute: | ||||
|  * | ||||
|  *          -- | ||||
|  *         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
|  *         |           |    /  \      /  \      /  \    | | ||||
|  *       A |           |   /    \    /    \    /    \   | | ||||
|  *         |           |  /      \  /      \  /      \  | | ||||
|  *         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
|  *          --         +--------------------------------+ | ||||
|  *                       |________|_________|_________| | ||||
|  *                           T1        T2        T3 | ||||
|  * | ||||
|  *   P2  Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE. | ||||
|  *       "R" specifies the radius. "S" specifies the stroke count. | ||||
|  *       Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT. | ||||
|  * | ||||
|  *   Caveats: The ending Z should be the same as starting Z. | ||||
|  * Attention: EXPERIMENTAL. G-code arguments may change. | ||||
|  * | ||||
|  */ | ||||
| //#define NOZZLE_CLEAN_FEATURE | ||||
|  | ||||
| #if ENABLED(NOZZLE_CLEAN_FEATURE) | ||||
| @@ -1075,33 +1069,35 @@ | ||||
|   #define NOZZLE_CLEAN_GOBACK | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Print job timer | ||||
| // | ||||
| // Enable this option to automatically start and stop the | ||||
| // print job timer when M104/M109/M190 commands are received. | ||||
| // M104 (extruder without wait) - high temp = none, low temp = stop timer | ||||
| // M109 (extruder with wait) - high temp = start timer, low temp = stop timer | ||||
| // M190 (bed with wait) - high temp = start timer, low temp = none | ||||
| // | ||||
| // In all cases the timer can be started and stopped using | ||||
| // the following commands: | ||||
| // | ||||
| // - M75  - Start the print job timer | ||||
| // - M76  - Pause the print job timer | ||||
| // - M77  - Stop the print job timer | ||||
| /** | ||||
|  * Print Job Timer | ||||
|  * | ||||
|  * Automatically start and stop the print job timer on M104/M109/M190. | ||||
|  * | ||||
|  *   M104 (hotend, no wait) - high temp = none,        low temp = stop timer | ||||
|  *   M109 (hotend, wait)    - high temp = start timer, low temp = stop timer | ||||
|  *   M190 (bed, wait)       - high temp = start timer, low temp = none | ||||
|  * | ||||
|  * The timer can also be controlled with the following commands: | ||||
|  * | ||||
|  *   M75 - Start the print job timer | ||||
|  *   M76 - Pause the print job timer | ||||
|  *   M77 - Stop the print job timer | ||||
|  */ | ||||
| #define PRINTJOB_TIMER_AUTOSTART | ||||
|  | ||||
| // | ||||
| // Print Counter | ||||
| // | ||||
| // When enabled Marlin will keep track of some print statistical data such as: | ||||
| //  - Total print jobs | ||||
| //  - Total successful print jobs | ||||
| //  - Total failed print jobs | ||||
| //  - Total time printing | ||||
| // | ||||
| // This information can be viewed by the M78 command. | ||||
| /** | ||||
|  * Print Counter | ||||
|  * | ||||
|  * Track statistical data such as: | ||||
|  * | ||||
|  *  - Total print jobs | ||||
|  *  - Total successful print jobs | ||||
|  *  - Total failed print jobs | ||||
|  *  - Total time printing | ||||
|  * | ||||
|  * View the current statistics with M78. | ||||
|  */ | ||||
| //#define PRINTCOUNTER | ||||
|  | ||||
| //============================================================================= | ||||
| @@ -1110,78 +1106,79 @@ | ||||
|  | ||||
| // @section lcd | ||||
|  | ||||
| // | ||||
| // LCD LANGUAGE | ||||
| // | ||||
| // Here you may choose the language used by Marlin on the LCD menus, the following | ||||
| // list of languages are available: | ||||
| //    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 | ||||
| // | ||||
| // :{ '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' } | ||||
| // | ||||
| /** | ||||
|  * LCD LANGUAGE | ||||
|  * | ||||
|  * Select the language to display on the LCD. These languages are available: | ||||
|  * | ||||
|  *    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 | ||||
|  * | ||||
|  * :{ '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 | ||||
|  | ||||
| // | ||||
| // LCD Character Set | ||||
| // | ||||
| // Note: This option is NOT applicable to Graphical Displays. | ||||
| // | ||||
| // All character-based LCD's provide ASCII plus one of these | ||||
| // language extensions: | ||||
| // | ||||
| //  - JAPANESE ... the most common | ||||
| //  - WESTERN  ... with more accented characters | ||||
| //  - CYRILLIC ... for the Russian language | ||||
| // | ||||
| // To determine the language extension installed on your controller: | ||||
| // | ||||
| //  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
| //  - Click the controller to view the LCD menu | ||||
| //  - The LCD will display Japanese, Western, or Cyrillic text | ||||
| // | ||||
| // See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
| // | ||||
| // :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
| // | ||||
| /** | ||||
|  * LCD Character Set | ||||
|  * | ||||
|  * Note: This option is NOT applicable to Graphical Displays. | ||||
|  * | ||||
|  * All character-based LCDs provide ASCII plus one of these | ||||
|  * language extensions: | ||||
|  * | ||||
|  *  - JAPANESE ... the most common | ||||
|  *  - WESTERN  ... with more accented characters | ||||
|  *  - CYRILLIC ... for the Russian language | ||||
|  * | ||||
|  * To determine the language extension installed on your controller: | ||||
|  * | ||||
|  *  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
|  *  - Click the controller to view the LCD menu | ||||
|  *  - The LCD will display Japanese, Western, or Cyrillic text | ||||
|  * | ||||
|  * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
|  * | ||||
|  * :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
|  */ | ||||
| #define DISPLAY_CHARSET_HD44780 JAPANESE | ||||
|  | ||||
| // | ||||
| // LCD TYPE | ||||
| // | ||||
| // You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, | ||||
| // 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels | ||||
| // (ST7565R family). (This option will be set automatically for certain displays.) | ||||
| // | ||||
| // IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! | ||||
| //                 https://github.com/olikraus/U8glib_Arduino | ||||
| // | ||||
| /** | ||||
|  * LCD TYPE | ||||
|  * | ||||
|  * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. | ||||
|  * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. | ||||
|  * (These options will be enabled automatically for most displays.) | ||||
|  * | ||||
|  * IMPORTANT: The U8glib library is required for Full Graphic Display! | ||||
|  *            https://github.com/olikraus/U8glib_Arduino | ||||
|  */ | ||||
| //#define ULTRA_LCD   // Character based | ||||
| //#define DOGLCD      // Full graphics display | ||||
|  | ||||
| // | ||||
| // SD CARD | ||||
| // | ||||
| // 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. | ||||
| // | ||||
| /** | ||||
|  * SD CARD | ||||
|  * | ||||
|  * 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. | ||||
|  * | ||||
|  */ | ||||
| #define SDSUPPORT | ||||
|  | ||||
| // | ||||
| // SD CARD: SPI SPEED | ||||
| // | ||||
| // Uncomment ONE of the following items to use a slower SPI transfer | ||||
| // speed. This is usually required if you're getting volume init errors. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: SPI SPEED | ||||
|  * | ||||
|  * Enable one of the following items for a slower SPI transfer speed. | ||||
|  * This may be required to resolve "volume init" errors. | ||||
|  */ | ||||
| #define SPI_SPEED SPI_HALF_SPEED | ||||
| //#define SPI_SPEED SPI_QUARTER_SPEED | ||||
| //#define SPI_SPEED SPI_EIGHTH_SPEED | ||||
|  | ||||
| // | ||||
| // SD CARD: ENABLE CRC | ||||
| // | ||||
| // Use CRC checks and retries on the SD communication. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: ENABLE CRC | ||||
|  * | ||||
|  * Use CRC checks and retries on the SD communication. | ||||
|  */ | ||||
| //#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 | ||||
| // | ||||
|   | ||||
| @@ -982,23 +982,17 @@ | ||||
| #define PREHEAT_2_TEMP_BED    100 | ||||
| #define PREHEAT_2_FAN_SPEED   255 // Value from 0 to 255 | ||||
|  | ||||
| // | ||||
| // Nozzle Park -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to define a special XYZ position, inside the | ||||
| // machine's topology, to park the nozzle when idle or when receiving the G27 | ||||
| // command. | ||||
| // | ||||
| // The "P" paramenter controls what is the action applied to the Z axis: | ||||
| //    P0: (Default) If current Z-pos is lower than Z-park then the nozzle will | ||||
| //        be raised to reach Z-park height. | ||||
| // | ||||
| //    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. | ||||
| // | ||||
| /** | ||||
|  * Nozzle Park -- EXPERIMENTAL | ||||
|  * | ||||
|  * Park the nozzle at the given XYZ position on idle or G27. | ||||
|  * | ||||
|  * The "P" parameter controls the action applied to the Z axis: | ||||
|  * | ||||
|  *    P0  (Default) If Z is below park Z raise the nozzle. | ||||
|  *    P1  Raise the nozzle always to Z-park height. | ||||
|  *    P2  Raise the nozzle by Z-park amount, limited to Z_MAX_POS. | ||||
|  */ | ||||
| //#define 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 } | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Clean Nozzle Feature -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to send G12 to start the nozzle cleaning | ||||
| // process, the G-Code accepts two parameters: | ||||
| //   "P" for pattern selection | ||||
| //   "S" for defining the number of strokes/repetitions | ||||
| // | ||||
| // Available list of patterns: | ||||
| //   P0: This is the default pattern, this process requires a sponge type | ||||
| //       material at a fixed bed location. S defines "strokes" i.e. | ||||
| //       back-and-forth movements between the starting and end points. | ||||
| // | ||||
| //   P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" | ||||
| //       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 | ||||
| //       be performed in whichever dimension is smallest. As an example, | ||||
| //       sending "G12 P1 S1 T3" will execute: | ||||
| // | ||||
| //          -- | ||||
| //         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
| //         |           |    /  \      /  \      /  \    | | ||||
| //       A |           |   /    \    /    \    /    \   | | ||||
| //         |           |  /      \  /      \  /      \  | | ||||
| //         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
| //          --         +--------------------------------+ | ||||
| //                       |________|_________|_________| | ||||
| //                           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. | ||||
| //       Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. | ||||
| // | ||||
| // Caveats: End point Z should use the same value as Start point Z. | ||||
| // | ||||
| // Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments | ||||
| // may change to add new functionality like different wipe patterns. | ||||
| // | ||||
| /** | ||||
|  * Clean Nozzle Feature -- EXPERIMENTAL | ||||
|  * | ||||
|  * Adds the G12 command to perform a nozzle cleaning process. | ||||
|  * | ||||
|  * Parameters: | ||||
|  *   P  Pattern | ||||
|  *   S  Strokes / Repetitions | ||||
|  *   T  Triangles (P1 only) | ||||
|  * | ||||
|  * Patterns: | ||||
|  *   P0  Straight line (default). This process requires a sponge type material | ||||
|  *       at a fixed bed location. "S" specifies strokes (i.e. back-forth motions) | ||||
|  *       between the start / end points. | ||||
|  * | ||||
|  *   P1  Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the | ||||
|  *       number of zig-zag triangles to do. "S" defines the number of strokes. | ||||
|  *       Zig-zags are done in whichever is the narrower dimension. | ||||
|  *       For example, "G12 P1 S1 T3" will execute: | ||||
|  * | ||||
|  *          -- | ||||
|  *         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
|  *         |           |    /  \      /  \      /  \    | | ||||
|  *       A |           |   /    \    /    \    /    \   | | ||||
|  *         |           |  /      \  /      \  /      \  | | ||||
|  *         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
|  *          --         +--------------------------------+ | ||||
|  *                       |________|_________|_________| | ||||
|  *                           T1        T2        T3 | ||||
|  * | ||||
|  *   P2  Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE. | ||||
|  *       "R" specifies the radius. "S" specifies the stroke count. | ||||
|  *       Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT. | ||||
|  * | ||||
|  *   Caveats: The ending Z should be the same as starting Z. | ||||
|  * Attention: EXPERIMENTAL. G-code arguments may change. | ||||
|  * | ||||
|  */ | ||||
| //#define NOZZLE_CLEAN_FEATURE | ||||
|  | ||||
| #if ENABLED(NOZZLE_CLEAN_FEATURE) | ||||
| @@ -1068,33 +1062,35 @@ | ||||
|   #define NOZZLE_CLEAN_GOBACK | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Print job timer | ||||
| // | ||||
| // Enable this option to automatically start and stop the | ||||
| // print job timer when M104/M109/M190 commands are received. | ||||
| // M104 (extruder without wait) - high temp = none, low temp = stop timer | ||||
| // M109 (extruder with wait) - high temp = start timer, low temp = stop timer | ||||
| // M190 (bed with wait) - high temp = start timer, low temp = none | ||||
| // | ||||
| // In all cases the timer can be started and stopped using | ||||
| // the following commands: | ||||
| // | ||||
| // - M75  - Start the print job timer | ||||
| // - M76  - Pause the print job timer | ||||
| // - M77  - Stop the print job timer | ||||
| /** | ||||
|  * Print Job Timer | ||||
|  * | ||||
|  * Automatically start and stop the print job timer on M104/M109/M190. | ||||
|  * | ||||
|  *   M104 (hotend, no wait) - high temp = none,        low temp = stop timer | ||||
|  *   M109 (hotend, wait)    - high temp = start timer, low temp = stop timer | ||||
|  *   M190 (bed, wait)       - high temp = start timer, low temp = none | ||||
|  * | ||||
|  * The timer can also be controlled with the following commands: | ||||
|  * | ||||
|  *   M75 - Start the print job timer | ||||
|  *   M76 - Pause the print job timer | ||||
|  *   M77 - Stop the print job timer | ||||
|  */ | ||||
| #define PRINTJOB_TIMER_AUTOSTART | ||||
|  | ||||
| // | ||||
| // Print Counter | ||||
| // | ||||
| // When enabled Marlin will keep track of some print statistical data such as: | ||||
| //  - Total print jobs | ||||
| //  - Total successful print jobs | ||||
| //  - Total failed print jobs | ||||
| //  - Total time printing | ||||
| // | ||||
| // This information can be viewed by the M78 command. | ||||
| /** | ||||
|  * Print Counter | ||||
|  * | ||||
|  * Track statistical data such as: | ||||
|  * | ||||
|  *  - Total print jobs | ||||
|  *  - Total successful print jobs | ||||
|  *  - Total failed print jobs | ||||
|  *  - Total time printing | ||||
|  * | ||||
|  * View the current statistics with M78. | ||||
|  */ | ||||
| //#define PRINTCOUNTER | ||||
|  | ||||
| //============================================================================= | ||||
| @@ -1103,78 +1099,79 @@ | ||||
|  | ||||
| // @section lcd | ||||
|  | ||||
| // | ||||
| // LCD LANGUAGE | ||||
| // | ||||
| // Here you may choose the language used by Marlin on the LCD menus, the following | ||||
| // list of languages are available: | ||||
| //    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 | ||||
| // | ||||
| // :{ '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' } | ||||
| // | ||||
| /** | ||||
|  * LCD LANGUAGE | ||||
|  * | ||||
|  * Select the language to display on the LCD. These languages are available: | ||||
|  * | ||||
|  *    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 | ||||
|  * | ||||
|  * :{ '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 | ||||
|  | ||||
| // | ||||
| // LCD Character Set | ||||
| // | ||||
| // Note: This option is NOT applicable to Graphical Displays. | ||||
| // | ||||
| // All character-based LCD's provide ASCII plus one of these | ||||
| // language extensions: | ||||
| // | ||||
| //  - JAPANESE ... the most common | ||||
| //  - WESTERN  ... with more accented characters | ||||
| //  - CYRILLIC ... for the Russian language | ||||
| // | ||||
| // To determine the language extension installed on your controller: | ||||
| // | ||||
| //  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
| //  - Click the controller to view the LCD menu | ||||
| //  - The LCD will display Japanese, Western, or Cyrillic text | ||||
| // | ||||
| // See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
| // | ||||
| // :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
| // | ||||
| /** | ||||
|  * LCD Character Set | ||||
|  * | ||||
|  * Note: This option is NOT applicable to Graphical Displays. | ||||
|  * | ||||
|  * All character-based LCDs provide ASCII plus one of these | ||||
|  * language extensions: | ||||
|  * | ||||
|  *  - JAPANESE ... the most common | ||||
|  *  - WESTERN  ... with more accented characters | ||||
|  *  - CYRILLIC ... for the Russian language | ||||
|  * | ||||
|  * To determine the language extension installed on your controller: | ||||
|  * | ||||
|  *  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
|  *  - Click the controller to view the LCD menu | ||||
|  *  - The LCD will display Japanese, Western, or Cyrillic text | ||||
|  * | ||||
|  * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
|  * | ||||
|  * :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
|  */ | ||||
| #define DISPLAY_CHARSET_HD44780 JAPANESE | ||||
|  | ||||
| // | ||||
| // LCD TYPE | ||||
| // | ||||
| // You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, | ||||
| // 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels | ||||
| // (ST7565R family). (This option will be set automatically for certain displays.) | ||||
| // | ||||
| // IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! | ||||
| //                 https://github.com/olikraus/U8glib_Arduino | ||||
| // | ||||
| /** | ||||
|  * LCD TYPE | ||||
|  * | ||||
|  * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. | ||||
|  * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. | ||||
|  * (These options will be enabled automatically for most displays.) | ||||
|  * | ||||
|  * IMPORTANT: The U8glib library is required for Full Graphic Display! | ||||
|  *            https://github.com/olikraus/U8glib_Arduino | ||||
|  */ | ||||
| //#define ULTRA_LCD   // Character based | ||||
| //#define DOGLCD      // Full graphics display | ||||
|  | ||||
| // | ||||
| // SD CARD | ||||
| // | ||||
| // 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. | ||||
| // | ||||
| /** | ||||
|  * SD CARD | ||||
|  * | ||||
|  * 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. | ||||
|  * | ||||
|  */ | ||||
| //#define SDSUPPORT | ||||
|  | ||||
| // | ||||
| // SD CARD: SPI SPEED | ||||
| // | ||||
| // Uncomment ONE of the following items to use a slower SPI transfer | ||||
| // speed. This is usually required if you're getting volume init errors. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: SPI SPEED | ||||
|  * | ||||
|  * Enable one of the following items for a slower SPI transfer speed. | ||||
|  * This may be required to resolve "volume init" errors. | ||||
|  */ | ||||
| //#define SPI_SPEED SPI_HALF_SPEED | ||||
| //#define SPI_SPEED SPI_QUARTER_SPEED | ||||
| //#define SPI_SPEED SPI_EIGHTH_SPEED | ||||
|  | ||||
| // | ||||
| // SD CARD: ENABLE CRC | ||||
| // | ||||
| // Use CRC checks and retries on the SD communication. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: ENABLE CRC | ||||
|  * | ||||
|  * Use CRC checks and retries on the SD communication. | ||||
|  */ | ||||
| //#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 | ||||
| // | ||||
|   | ||||
| @@ -991,23 +991,17 @@ | ||||
| #define PREHEAT_2_TEMP_BED    110 | ||||
| #define PREHEAT_2_FAN_SPEED     0 // Value from 0 to 255 | ||||
|  | ||||
| // | ||||
| // Nozzle Park -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to define a special XYZ position, inside the | ||||
| // machine's topology, to park the nozzle when idle or when receiving the G27 | ||||
| // command. | ||||
| // | ||||
| // The "P" paramenter controls what is the action applied to the Z axis: | ||||
| //    P0: (Default) If current Z-pos is lower than Z-park then the nozzle will | ||||
| //        be raised to reach Z-park height. | ||||
| // | ||||
| //    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. | ||||
| // | ||||
| /** | ||||
|  * Nozzle Park -- EXPERIMENTAL | ||||
|  * | ||||
|  * Park the nozzle at the given XYZ position on idle or G27. | ||||
|  * | ||||
|  * The "P" parameter controls the action applied to the Z axis: | ||||
|  * | ||||
|  *    P0  (Default) If Z is below park Z raise the nozzle. | ||||
|  *    P1  Raise the nozzle always to Z-park height. | ||||
|  *    P2  Raise the nozzle by Z-park amount, limited to Z_MAX_POS. | ||||
|  */ | ||||
| //#define 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 } | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Clean Nozzle Feature -- EXPERIMENTAL | ||||
| // | ||||
| // When enabled allows the user to send G12 to start the nozzle cleaning | ||||
| // process, the G-Code accepts two parameters: | ||||
| //   "P" for pattern selection | ||||
| //   "S" for defining the number of strokes/repetitions | ||||
| // | ||||
| // Available list of patterns: | ||||
| //   P0: This is the default pattern, this process requires a sponge type | ||||
| //       material at a fixed bed location. S defines "strokes" i.e. | ||||
| //       back-and-forth movements between the starting and end points. | ||||
| // | ||||
| //   P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T" | ||||
| //       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 | ||||
| //       be performed in whichever dimension is smallest. As an example, | ||||
| //       sending "G12 P1 S1 T3" will execute: | ||||
| // | ||||
| //          -- | ||||
| //         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
| //         |           |    /  \      /  \      /  \    | | ||||
| //       A |           |   /    \    /    \    /    \   | | ||||
| //         |           |  /      \  /      \  /      \  | | ||||
| //         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
| //          --         +--------------------------------+ | ||||
| //                       |________|_________|_________| | ||||
| //                           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. | ||||
| //       Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT. | ||||
| // | ||||
| // Caveats: End point Z should use the same value as Start point Z. | ||||
| // | ||||
| // Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments | ||||
| // may change to add new functionality like different wipe patterns. | ||||
| // | ||||
| /** | ||||
|  * Clean Nozzle Feature -- EXPERIMENTAL | ||||
|  * | ||||
|  * Adds the G12 command to perform a nozzle cleaning process. | ||||
|  * | ||||
|  * Parameters: | ||||
|  *   P  Pattern | ||||
|  *   S  Strokes / Repetitions | ||||
|  *   T  Triangles (P1 only) | ||||
|  * | ||||
|  * Patterns: | ||||
|  *   P0  Straight line (default). This process requires a sponge type material | ||||
|  *       at a fixed bed location. "S" specifies strokes (i.e. back-forth motions) | ||||
|  *       between the start / end points. | ||||
|  * | ||||
|  *   P1  Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the | ||||
|  *       number of zig-zag triangles to do. "S" defines the number of strokes. | ||||
|  *       Zig-zags are done in whichever is the narrower dimension. | ||||
|  *       For example, "G12 P1 S1 T3" will execute: | ||||
|  * | ||||
|  *          -- | ||||
|  *         |  (X0, Y1) |     /\        /\        /\     | (X1, Y1) | ||||
|  *         |           |    /  \      /  \      /  \    | | ||||
|  *       A |           |   /    \    /    \    /    \   | | ||||
|  *         |           |  /      \  /      \  /      \  | | ||||
|  *         |  (X0, Y0) | /        \/        \/        \ | (X1, Y0) | ||||
|  *          --         +--------------------------------+ | ||||
|  *                       |________|_________|_________| | ||||
|  *                           T1        T2        T3 | ||||
|  * | ||||
|  *   P2  Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE. | ||||
|  *       "R" specifies the radius. "S" specifies the stroke count. | ||||
|  *       Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT. | ||||
|  * | ||||
|  *   Caveats: The ending Z should be the same as starting Z. | ||||
|  * Attention: EXPERIMENTAL. G-code arguments may change. | ||||
|  * | ||||
|  */ | ||||
| //#define NOZZLE_CLEAN_FEATURE | ||||
|  | ||||
| #if ENABLED(NOZZLE_CLEAN_FEATURE) | ||||
| @@ -1077,33 +1071,35 @@ | ||||
|   #define NOZZLE_CLEAN_GOBACK | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Print job timer | ||||
| // | ||||
| // Enable this option to automatically start and stop the | ||||
| // print job timer when M104/M109/M190 commands are received. | ||||
| // M104 (extruder without wait) - high temp = none, low temp = stop timer | ||||
| // M109 (extruder with wait) - high temp = start timer, low temp = stop timer | ||||
| // M190 (bed with wait) - high temp = start timer, low temp = none | ||||
| // | ||||
| // In all cases the timer can be started and stopped using | ||||
| // the following commands: | ||||
| // | ||||
| // - M75  - Start the print job timer | ||||
| // - M76  - Pause the print job timer | ||||
| // - M77  - Stop the print job timer | ||||
| /** | ||||
|  * Print Job Timer | ||||
|  * | ||||
|  * Automatically start and stop the print job timer on M104/M109/M190. | ||||
|  * | ||||
|  *   M104 (hotend, no wait) - high temp = none,        low temp = stop timer | ||||
|  *   M109 (hotend, wait)    - high temp = start timer, low temp = stop timer | ||||
|  *   M190 (bed, wait)       - high temp = start timer, low temp = none | ||||
|  * | ||||
|  * The timer can also be controlled with the following commands: | ||||
|  * | ||||
|  *   M75 - Start the print job timer | ||||
|  *   M76 - Pause the print job timer | ||||
|  *   M77 - Stop the print job timer | ||||
|  */ | ||||
| #define PRINTJOB_TIMER_AUTOSTART | ||||
|  | ||||
| // | ||||
| // Print Counter | ||||
| // | ||||
| // When enabled Marlin will keep track of some print statistical data such as: | ||||
| //  - Total print jobs | ||||
| //  - Total successful print jobs | ||||
| //  - Total failed print jobs | ||||
| //  - Total time printing | ||||
| // | ||||
| // This information can be viewed by the M78 command. | ||||
| /** | ||||
|  * Print Counter | ||||
|  * | ||||
|  * Track statistical data such as: | ||||
|  * | ||||
|  *  - Total print jobs | ||||
|  *  - Total successful print jobs | ||||
|  *  - Total failed print jobs | ||||
|  *  - Total time printing | ||||
|  * | ||||
|  * View the current statistics with M78. | ||||
|  */ | ||||
| #define PRINTCOUNTER | ||||
|  | ||||
| //============================================================================= | ||||
| @@ -1112,78 +1108,79 @@ | ||||
|  | ||||
| // @section lcd | ||||
|  | ||||
| // | ||||
| // LCD LANGUAGE | ||||
| // | ||||
| // Here you may choose the language used by Marlin on the LCD menus, the following | ||||
| // list of languages are available: | ||||
| //    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 | ||||
| // | ||||
| // :{ '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' } | ||||
| // | ||||
| /** | ||||
|  * LCD LANGUAGE | ||||
|  * | ||||
|  * Select the language to display on the LCD. These languages are available: | ||||
|  * | ||||
|  *    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 | ||||
|  * | ||||
|  * :{ '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 | ||||
|  | ||||
| // | ||||
| // LCD Character Set | ||||
| // | ||||
| // Note: This option is NOT applicable to Graphical Displays. | ||||
| // | ||||
| // All character-based LCD's provide ASCII plus one of these | ||||
| // language extensions: | ||||
| // | ||||
| //  - JAPANESE ... the most common | ||||
| //  - WESTERN  ... with more accented characters | ||||
| //  - CYRILLIC ... for the Russian language | ||||
| // | ||||
| // To determine the language extension installed on your controller: | ||||
| // | ||||
| //  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
| //  - Click the controller to view the LCD menu | ||||
| //  - The LCD will display Japanese, Western, or Cyrillic text | ||||
| // | ||||
| // See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
| // | ||||
| // :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
| // | ||||
| /** | ||||
|  * LCD Character Set | ||||
|  * | ||||
|  * Note: This option is NOT applicable to Graphical Displays. | ||||
|  * | ||||
|  * All character-based LCDs provide ASCII plus one of these | ||||
|  * language extensions: | ||||
|  * | ||||
|  *  - JAPANESE ... the most common | ||||
|  *  - WESTERN  ... with more accented characters | ||||
|  *  - CYRILLIC ... for the Russian language | ||||
|  * | ||||
|  * To determine the language extension installed on your controller: | ||||
|  * | ||||
|  *  - Compile and upload with LCD_LANGUAGE set to 'test' | ||||
|  *  - Click the controller to view the LCD menu | ||||
|  *  - The LCD will display Japanese, Western, or Cyrillic text | ||||
|  * | ||||
|  * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language | ||||
|  * | ||||
|  * :['JAPANESE', 'WESTERN', 'CYRILLIC'] | ||||
|  */ | ||||
| #define DISPLAY_CHARSET_HD44780 JAPANESE | ||||
|  | ||||
| // | ||||
| // LCD TYPE | ||||
| // | ||||
| // You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2, | ||||
| // 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels | ||||
| // (ST7565R family). (This option will be set automatically for certain displays.) | ||||
| // | ||||
| // IMPORTANT NOTE: The U8glib library is required for Full Graphic Display! | ||||
| //                 https://github.com/olikraus/U8glib_Arduino | ||||
| // | ||||
| /** | ||||
|  * LCD TYPE | ||||
|  * | ||||
|  * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. | ||||
|  * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. | ||||
|  * (These options will be enabled automatically for most displays.) | ||||
|  * | ||||
|  * IMPORTANT: The U8glib library is required for Full Graphic Display! | ||||
|  *            https://github.com/olikraus/U8glib_Arduino | ||||
|  */ | ||||
| //#define ULTRA_LCD   // Character based | ||||
| //#define DOGLCD      // Full graphics display | ||||
|  | ||||
| // | ||||
| // SD CARD | ||||
| // | ||||
| // 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. | ||||
| // | ||||
| /** | ||||
|  * SD CARD | ||||
|  * | ||||
|  * 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. | ||||
|  * | ||||
|  */ | ||||
| #define SDSUPPORT | ||||
|  | ||||
| // | ||||
| // SD CARD: SPI SPEED | ||||
| // | ||||
| // Uncomment ONE of the following items to use a slower SPI transfer | ||||
| // speed. This is usually required if you're getting volume init errors. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: SPI SPEED | ||||
|  * | ||||
|  * Enable one of the following items for a slower SPI transfer speed. | ||||
|  * This may be required to resolve "volume init" errors. | ||||
|  */ | ||||
| //#define SPI_SPEED SPI_HALF_SPEED | ||||
| //#define SPI_SPEED SPI_QUARTER_SPEED | ||||
| //#define SPI_SPEED SPI_EIGHTH_SPEED | ||||
|  | ||||
| // | ||||
| // SD CARD: ENABLE CRC | ||||
| // | ||||
| // Use CRC checks and retries on the SD communication. | ||||
| // | ||||
| /** | ||||
|  * SD CARD: ENABLE CRC | ||||
|  * | ||||
|  * Use CRC checks and retries on the SD communication. | ||||
|  */ | ||||
| //#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 | ||||
| // | ||||
|   | ||||
		Reference in New Issue
	
	Block a user