Compare commits
23 Commits
bugfix-1.1
...
1.1.1
Author | SHA1 | Date | |
---|---|---|---|
|
5996c3a907 | ||
|
bb7e3f1d07 | ||
|
c9bfe7004c | ||
|
fa9e54146a | ||
|
0079166388 | ||
|
232f5d235d | ||
|
41cf1c9e6a | ||
|
2e61c1fb37 | ||
|
a68084f417 | ||
|
d5346a0689 | ||
|
c45b668142 | ||
|
ad0e5928f5 | ||
|
06ca56a13c | ||
|
fbd021a756 | ||
|
d99794f11d | ||
|
c0f1052efb | ||
|
bf7ecc761f | ||
|
d0480c15ef | ||
|
771f42744a | ||
|
3a44157ee8 | ||
|
a666ff1255 | ||
|
264f0960f7 | ||
|
03f94a7a18 |
@@ -645,6 +645,15 @@
|
||||
#endif
|
||||
#define WRITE_FAN_N(n, v) WRITE_FAN##n(v)
|
||||
|
||||
|
||||
/**
|
||||
* Heater & Fan Pausing
|
||||
*/
|
||||
#if ENABLED(PROBING_FANS_OFF) && FAN_COUNT == 0
|
||||
#undef PROBING_FANS_OFF
|
||||
#endif
|
||||
#define QUIET_PROBING (ENABLED(PROBING_HEATERS_OFF) || ENABLED(PROBING_FANS_OFF))
|
||||
|
||||
/**
|
||||
* Servos and probes
|
||||
*/
|
||||
|
@@ -474,14 +474,14 @@
|
||||
/**
|
||||
* Default Axis Steps Per Unit (steps/mm)
|
||||
* Override with M92
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 4000, 500 }
|
||||
|
||||
/**
|
||||
* Default Max Feed Rate (mm/s)
|
||||
* Override with M203
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 25 }
|
||||
|
||||
@@ -489,7 +489,7 @@
|
||||
* Default Max Acceleration (change/s) change = mm/s
|
||||
* (Maximum start speed for accelerated moves)
|
||||
* Override with M201
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 10000 }
|
||||
|
||||
@@ -584,14 +584,23 @@
|
||||
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
|
||||
|
||||
/**
|
||||
* The BLTouch probe is a Hall effect sensor that emulates a servo.
|
||||
* The BLTouch probe uses a Hall effect sensor and emulates a servo.
|
||||
*/
|
||||
//#define BLTOUCH
|
||||
#if ENABLED(BLTOUCH)
|
||||
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
|
||||
//#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable if probing seems unreliable. Heaters and/or fans - consistent with the
|
||||
* options selected below - will be disabled during probing so as to minimize
|
||||
* potential EM interference by quieting/silencing the source of the 'noise' (the change
|
||||
* in current flowing through the wires). This is likely most useful to users of the
|
||||
* BLTouch probe, but may also help those with inductive or other probe types.
|
||||
*/
|
||||
//#define PROBING_HEATERS_OFF // Turn heaters off when probing
|
||||
//#define PROBING_FANS_OFF // Turn fans off when probing
|
||||
|
||||
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
|
||||
//#define SOLENOID_PROBE
|
||||
|
||||
@@ -987,23 +996,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 +1014,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 +1076,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 +1113,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 +1213,7 @@
|
||||
*/
|
||||
|
||||
//
|
||||
// This option reverses the encoder direction everywhere
|
||||
// This option reverses the encoder direction everywhere.
|
||||
//
|
||||
// Set this option if CLOCKWISE causes values to DECREASE
|
||||
//
|
||||
|
@@ -92,6 +92,7 @@
|
||||
* un-retraction is at 1.2mm These numbers will be scaled by the specified amount
|
||||
*
|
||||
* N # Nozzle Used to control the size of nozzle diameter. If not specified, a .4mm nozzle is assumed.
|
||||
* 'n' can be used instead if your host program does not appreciate you using 'N'.
|
||||
*
|
||||
* O # Ooooze How much your nozzle will Ooooze filament while getting in position to print. This
|
||||
* is over kill, but using this parameter will let you get the very first 'cicle' perfect
|
||||
@@ -674,7 +675,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
if (code_seen('N')) {
|
||||
if (code_seen('N') || code_seen('n')) {
|
||||
nozzle = code_value_float();
|
||||
if (!WITHIN(nozzle, 0.1, 1.0)) {
|
||||
SERIAL_PROTOCOLLNPGM("?Specified nozzle size not plausible.");
|
||||
|
@@ -362,6 +362,10 @@ int16_t code_value_temp_diff();
|
||||
|
||||
#if FAN_COUNT > 0
|
||||
extern int16_t fanSpeeds[FAN_COUNT];
|
||||
#if ENABLED(PROBING_FANS_OFF)
|
||||
extern bool fans_paused;
|
||||
extern int16_t paused_fanSpeeds[FAN_COUNT];
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if ENABLED(BARICUDA)
|
||||
|
@@ -441,6 +441,10 @@ float soft_endstop_min[XYZ] = { X_MIN_POS, Y_MIN_POS, Z_MIN_POS },
|
||||
|
||||
#if FAN_COUNT > 0
|
||||
int16_t fanSpeeds[FAN_COUNT] = { 0 };
|
||||
#if ENABLED(PROBING_FANS_OFF)
|
||||
bool fans_paused = false;
|
||||
int16_t paused_fanSpeeds[FAN_COUNT] = { 0 };
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// The active extruder (tool). Set with T<extruder> command.
|
||||
@@ -832,7 +836,7 @@ void clear_command_queue() {
|
||||
*/
|
||||
inline void _commit_command(bool say_ok) {
|
||||
send_ok[cmd_queue_index_w] = say_ok;
|
||||
cmd_queue_index_w = (cmd_queue_index_w + 1) % BUFSIZE;
|
||||
if (++cmd_queue_index_w >= BUFSIZE) cmd_queue_index_w = 0;
|
||||
commands_in_queue++;
|
||||
}
|
||||
|
||||
@@ -1294,25 +1298,37 @@ inline bool code_value_bool() { return !code_has_value() || code_value_byte() >
|
||||
#if ENABLED(TEMPERATURE_UNITS_SUPPORT)
|
||||
inline void set_input_temp_units(TempUnit units) { input_temp_units = units; }
|
||||
|
||||
int16_t code_value_temp_abs() {
|
||||
float to_temp_units(const float &c) {
|
||||
switch (input_temp_units) {
|
||||
case TEMPUNIT_F:
|
||||
return (code_value_float() - 32) * 0.5555555556;
|
||||
return c * 0.5555555556 + 32.0;
|
||||
case TEMPUNIT_K:
|
||||
return code_value_float() - 273.15;
|
||||
return c + 273.15;
|
||||
case TEMPUNIT_C:
|
||||
default:
|
||||
return code_value_int();
|
||||
return c;
|
||||
}
|
||||
}
|
||||
|
||||
int16_t code_value_temp_abs() {
|
||||
const float c = code_value_float();
|
||||
switch (input_temp_units) {
|
||||
case TEMPUNIT_F:
|
||||
return (int16_t)((c - 32.0) * 0.5555555556);
|
||||
case TEMPUNIT_K:
|
||||
return (int16_t)(c - 273.15);
|
||||
case TEMPUNIT_C:
|
||||
default:
|
||||
return (int16_t)(c);
|
||||
}
|
||||
}
|
||||
|
||||
int16_t code_value_temp_diff() {
|
||||
switch (input_temp_units) {
|
||||
case TEMPUNIT_C:
|
||||
case TEMPUNIT_K:
|
||||
return code_value_float();
|
||||
case TEMPUNIT_F:
|
||||
return code_value_float() * 0.5555555556;
|
||||
case TEMPUNIT_C:
|
||||
case TEMPUNIT_K:
|
||||
default:
|
||||
return code_value_float();
|
||||
}
|
||||
@@ -2040,6 +2056,35 @@ static void clean_up_after_endstop_or_probe_move() {
|
||||
|
||||
#endif
|
||||
|
||||
#if ENABLED(PROBING_FANS_OFF)
|
||||
void fans_pause(bool p) {
|
||||
if (p && fans_paused) { // If called out of order something is wrong
|
||||
SERIAL_ERROR_START;
|
||||
SERIAL_ERRORLNPGM("Fans already paused!");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!p && !fans_paused) {
|
||||
SERIAL_ERROR_START;
|
||||
SERIAL_ERRORLNPGM("Fans already unpaused!");
|
||||
return;
|
||||
}
|
||||
|
||||
if (p) {
|
||||
for (uint8_t x = 0;x < FAN_COUNT;x++) {
|
||||
paused_fanSpeeds[x] = fanSpeeds[x];
|
||||
fanSpeeds[x] = 0;
|
||||
}
|
||||
}
|
||||
else {
|
||||
for (uint8_t x = 0;x < FAN_COUNT;x++)
|
||||
fanSpeeds[x] = paused_fanSpeeds[x];
|
||||
}
|
||||
|
||||
fans_paused = p;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if HAS_BED_PROBE
|
||||
|
||||
// TRIGGERED_WHEN_STOWED_TEST can easily be extended to servo probes, ... if needed.
|
||||
@@ -2051,6 +2096,20 @@ static void clean_up_after_endstop_or_probe_move() {
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if QUIET_PROBING
|
||||
void probing_pause(bool pause) {
|
||||
#if ENABLED(PROBING_HEATERS_OFF)
|
||||
thermalManager.pause(pause);
|
||||
#endif
|
||||
|
||||
#if ENABLED(PROBING_FANS_OFF)
|
||||
fans_pause(pause);
|
||||
#endif
|
||||
|
||||
if(pause) safe_delay(25);
|
||||
}
|
||||
#endif
|
||||
|
||||
#if ENABLED(BLTOUCH)
|
||||
|
||||
void bltouch_command(int angle) {
|
||||
@@ -2058,51 +2117,6 @@ static void clean_up_after_endstop_or_probe_move() {
|
||||
safe_delay(BLTOUCH_DELAY);
|
||||
}
|
||||
|
||||
/**
|
||||
* BLTouch probes have a Hall effect sensor. The high currents switching
|
||||
* on and off cause a magnetic field that can affect the repeatability of the
|
||||
* sensor. So for BLTouch probes, heaters are turned off during the probe,
|
||||
* then quickly turned back on after the point is sampled.
|
||||
*/
|
||||
#if ENABLED(BLTOUCH_HEATERS_OFF)
|
||||
|
||||
void set_heaters_for_bltouch(const bool deploy) {
|
||||
static bool heaters_were_disabled = false;
|
||||
static millis_t next_emi_protection = 0;
|
||||
static int16_t temps_at_entry[HOTENDS];
|
||||
|
||||
#if HAS_TEMP_BED
|
||||
static int16_t bed_temp_at_entry;
|
||||
#endif
|
||||
|
||||
// If called out of order or far apart something is seriously wrong
|
||||
if (deploy == heaters_were_disabled
|
||||
|| (next_emi_protection && ELAPSED(millis(), next_emi_protection)))
|
||||
kill(PSTR(MSG_KILLED));
|
||||
|
||||
if (deploy) {
|
||||
next_emi_protection = millis() + 20 * 1000UL;
|
||||
HOTEND_LOOP() {
|
||||
temps_at_entry[e] = thermalManager.degTargetHotend(e);
|
||||
thermalManager.setTargetHotend(0, e);
|
||||
}
|
||||
#if HAS_TEMP_BED
|
||||
bed_temp_at_entry = thermalManager.degTargetBed();
|
||||
thermalManager.setTargetBed(0);
|
||||
#endif
|
||||
}
|
||||
else {
|
||||
next_emi_protection = 0;
|
||||
HOTEND_LOOP() thermalManager.setTargetHotend(temps_at_entry[e], e);
|
||||
#if HAS_TEMP_BED
|
||||
thermalManager.setTargetBed(bed_temp_at_entry);
|
||||
#endif
|
||||
}
|
||||
heaters_were_disabled = deploy;
|
||||
}
|
||||
|
||||
#endif // BLTOUCH_HEATERS_OFF
|
||||
|
||||
void set_bltouch_deployed(const bool deploy) {
|
||||
if (deploy && TEST_BLTOUCH()) { // If BL-Touch says it's triggered
|
||||
bltouch_command(BLTOUCH_RESET); // try to reset it.
|
||||
@@ -2117,9 +2131,6 @@ static void clean_up_after_endstop_or_probe_move() {
|
||||
stop(); // punt!
|
||||
}
|
||||
}
|
||||
#if ENABLED(BLTOUCH_HEATERS_OFF)
|
||||
set_heaters_for_bltouch(deploy);
|
||||
#endif
|
||||
|
||||
bltouch_command(deploy ? BLTOUCH_DEPLOY : BLTOUCH_STOW);
|
||||
|
||||
@@ -2248,9 +2259,17 @@ static void clean_up_after_endstop_or_probe_move() {
|
||||
set_bltouch_deployed(true);
|
||||
#endif
|
||||
|
||||
#if QUIET_PROBING
|
||||
probing_pause(true);
|
||||
#endif
|
||||
|
||||
// Move down until probe triggered
|
||||
do_blocking_move_to_z(LOGICAL_Z_POSITION(z), MMM_TO_MMS(fr_mm_m));
|
||||
|
||||
#if QUIET_PROBING
|
||||
probing_pause(false);
|
||||
#endif
|
||||
|
||||
// Retract BLTouch immediately after a probe
|
||||
#if ENABLED(BLTOUCH)
|
||||
set_bltouch_deployed(false);
|
||||
@@ -2808,6 +2827,10 @@ static void do_homing_move(const AxisEnum axis, float distance, float fr_mm_s=0.
|
||||
if (deploy_bltouch) set_bltouch_deployed(true);
|
||||
#endif
|
||||
|
||||
#if QUIET_PROBING
|
||||
if (axis == Z_AXIS) probing_pause(true);
|
||||
#endif
|
||||
|
||||
// Tell the planner we're at Z=0
|
||||
current_position[axis] = 0;
|
||||
|
||||
@@ -2824,6 +2847,10 @@ static void do_homing_move(const AxisEnum axis, float distance, float fr_mm_s=0.
|
||||
|
||||
stepper.synchronize();
|
||||
|
||||
#if QUIET_PROBING
|
||||
if (axis == Z_AXIS) probing_pause(false);
|
||||
#endif
|
||||
|
||||
#if HOMING_Z_WITH_PROBE && ENABLED(BLTOUCH)
|
||||
if (deploy_bltouch) set_bltouch_deployed(false);
|
||||
#endif
|
||||
@@ -3740,6 +3767,9 @@ inline void gcode_G28() {
|
||||
|
||||
// Disable the leveling matrix before homing
|
||||
#if HAS_LEVELING
|
||||
#if ENABLED(AUTO_BED_LEVELING_UBL)
|
||||
const bool bed_leveling_state_at_entry = ubl.state.active;
|
||||
#endif
|
||||
set_bed_leveling_enabled(false);
|
||||
#endif
|
||||
|
||||
@@ -3881,6 +3911,9 @@ inline void gcode_G28() {
|
||||
// move to a height where we can use the full xy-area
|
||||
do_blocking_move_to_z(delta_clip_start_height);
|
||||
#endif
|
||||
#if ENABLED(AUTO_BED_LEVELING_UBL)
|
||||
set_bed_leveling_enabled(bed_leveling_state_at_entry);
|
||||
#endif
|
||||
|
||||
clean_up_after_endstop_or_probe_move();
|
||||
|
||||
@@ -4360,7 +4393,7 @@ void home_all_axes() { gcode_G28(); }
|
||||
|
||||
verbose_level = code_seen('V') && code_has_value() ? code_value_int() : 0;
|
||||
if (!WITHIN(verbose_level, 0, 4)) {
|
||||
SERIAL_PROTOCOLLNPGM("?(V)erbose Level is implausible (0-4).");
|
||||
SERIAL_PROTOCOLLNPGM("?(V)erbose level is implausible (0-4).");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -5081,7 +5114,7 @@ void home_all_axes() { gcode_G28(); }
|
||||
|
||||
const int8_t verbose_level = code_seen('V') ? code_value_byte() : 1;
|
||||
if (!WITHIN(verbose_level, 0, 2)) {
|
||||
SERIAL_PROTOCOLLNPGM("?(V)erbose Level is implausible (0-2).");
|
||||
SERIAL_PROTOCOLLNPGM("?(V)erbose level is implausible (0-2).");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -6183,7 +6216,7 @@ inline void gcode_M42() {
|
||||
|
||||
const int8_t verbose_level = code_seen('V') ? code_value_byte() : 1;
|
||||
if (!WITHIN(verbose_level, 0, 4)) {
|
||||
SERIAL_PROTOCOLLNPGM("?Verbose Level not plausible (0-4).");
|
||||
SERIAL_PROTOCOLLNPGM("?(V)erbose level is implausible (0-4).");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -6467,6 +6500,7 @@ inline void gcode_M104() {
|
||||
if (code_seen('S')) {
|
||||
const int16_t temp = code_value_temp_abs();
|
||||
thermalManager.setTargetHotend(temp, target_extruder);
|
||||
|
||||
#if ENABLED(DUAL_X_CARRIAGE)
|
||||
if (dual_x_carriage_mode == DXC_DUPLICATION_MODE && target_extruder == 0)
|
||||
thermalManager.setTargetHotend(temp ? temp + duplicate_extruder_temp_offset : 0, 1);
|
||||
@@ -6498,9 +6532,9 @@ inline void gcode_M104() {
|
||||
void print_heaterstates() {
|
||||
#if HAS_TEMP_HOTEND
|
||||
SERIAL_PROTOCOLPGM(" T:");
|
||||
SERIAL_PROTOCOL_F(thermalManager.degHotend(target_extruder), 1);
|
||||
SERIAL_PROTOCOL(thermalManager.degHotend(target_extruder));
|
||||
SERIAL_PROTOCOLPGM(" /");
|
||||
SERIAL_PROTOCOL_F(thermalManager.degTargetHotend(target_extruder), 1);
|
||||
SERIAL_PROTOCOL(thermalManager.degTargetHotend(target_extruder));
|
||||
#if ENABLED(SHOW_TEMP_ADC_VALUES)
|
||||
SERIAL_PROTOCOLPAIR(" (", thermalManager.rawHotendTemp(target_extruder) / OVERSAMPLENR);
|
||||
SERIAL_PROTOCOLCHAR(')');
|
||||
@@ -6508,9 +6542,9 @@ inline void gcode_M104() {
|
||||
#endif
|
||||
#if HAS_TEMP_BED
|
||||
SERIAL_PROTOCOLPGM(" B:");
|
||||
SERIAL_PROTOCOL_F(thermalManager.degBed(), 1);
|
||||
SERIAL_PROTOCOL(thermalManager.degBed());
|
||||
SERIAL_PROTOCOLPGM(" /");
|
||||
SERIAL_PROTOCOL_F(thermalManager.degTargetBed(), 1);
|
||||
SERIAL_PROTOCOL(thermalManager.degTargetBed());
|
||||
#if ENABLED(SHOW_TEMP_ADC_VALUES)
|
||||
SERIAL_PROTOCOLPAIR(" (", thermalManager.rawBedTemp() / OVERSAMPLENR);
|
||||
SERIAL_PROTOCOLCHAR(')');
|
||||
@@ -6520,9 +6554,9 @@ inline void gcode_M104() {
|
||||
HOTEND_LOOP() {
|
||||
SERIAL_PROTOCOLPAIR(" T", e);
|
||||
SERIAL_PROTOCOLCHAR(':');
|
||||
SERIAL_PROTOCOL_F(thermalManager.degHotend(e), 1);
|
||||
SERIAL_PROTOCOL(thermalManager.degHotend(e));
|
||||
SERIAL_PROTOCOLPGM(" /");
|
||||
SERIAL_PROTOCOL_F(thermalManager.degTargetHotend(e), 1);
|
||||
SERIAL_PROTOCOL(thermalManager.degTargetHotend(e));
|
||||
#if ENABLED(SHOW_TEMP_ADC_VALUES)
|
||||
SERIAL_PROTOCOLPAIR(" (", thermalManager.rawHotendTemp(e) / OVERSAMPLENR);
|
||||
SERIAL_PROTOCOLCHAR(')');
|
||||
@@ -6662,6 +6696,7 @@ inline void gcode_M109() {
|
||||
if (no_wait_for_cooling || code_seen('R')) {
|
||||
const int16_t temp = code_value_temp_abs();
|
||||
thermalManager.setTargetHotend(temp, target_extruder);
|
||||
|
||||
#if ENABLED(DUAL_X_CARRIAGE)
|
||||
if (dual_x_carriage_mode == DXC_DUPLICATION_MODE && target_extruder == 0)
|
||||
thermalManager.setTargetHotend(temp ? temp + duplicate_extruder_temp_offset : 0, 1);
|
||||
@@ -6813,6 +6848,7 @@ inline void gcode_M109() {
|
||||
const bool no_wait_for_cooling = code_seen('S');
|
||||
if (no_wait_for_cooling || code_seen('R')) {
|
||||
thermalManager.setTargetBed(code_value_temp_abs());
|
||||
|
||||
#if ENABLED(PRINTJOB_TIMER_AUTOSTART)
|
||||
if (code_value_temp_abs() > BED_MINTEMP)
|
||||
print_job_timer.start();
|
||||
@@ -7106,10 +7142,11 @@ inline void gcode_M81() {
|
||||
thermalManager.disable_all_heaters();
|
||||
stepper.finish_and_disable();
|
||||
#if FAN_COUNT > 0
|
||||
#if FAN_COUNT > 1
|
||||
for (uint8_t i = 0; i < FAN_COUNT; i++) fanSpeeds[i] = 0;
|
||||
#else
|
||||
fanSpeeds[0] = 0;
|
||||
for (uint8_t i = 0; i < FAN_COUNT; i++) fanSpeeds[i] = 0;
|
||||
|
||||
#if ENABLED(PROBING_FANS_OFF)
|
||||
fans_paused = false;
|
||||
ZERO(paused_fanSpeeds);
|
||||
#endif
|
||||
#endif
|
||||
safe_delay(1000); // Wait 1 second before switching off
|
||||
@@ -11479,7 +11516,7 @@ void prepare_move_to_destination() {
|
||||
|
||||
#endif // BEZIER_CURVE_SUPPORT
|
||||
|
||||
#if USE_CONTROLLER_FAN
|
||||
#if ENABLED(USE_CONTROLLER_FAN)
|
||||
|
||||
void controllerFan() {
|
||||
static millis_t lastMotorOn = 0, // Last time a motor was turned on
|
||||
@@ -11933,7 +11970,7 @@ void manage_inactivity(bool ignore_stepper_queue/*=false*/) {
|
||||
}
|
||||
#endif
|
||||
|
||||
#if USE_CONTROLLER_FAN
|
||||
#if ENABLED(USE_CONTROLLER_FAN)
|
||||
controllerFan(); // Check if fan should be turned on to cool stepper drivers down
|
||||
#endif
|
||||
|
||||
@@ -12086,7 +12123,12 @@ void kill(const char* lcd_msg) {
|
||||
* After a stop the machine may be resumed with M999
|
||||
*/
|
||||
void stop() {
|
||||
thermalManager.disable_all_heaters();
|
||||
thermalManager.disable_all_heaters(); // 'unpause' taken care of in here
|
||||
|
||||
#if ENABLED(PROBING_FANS_OFF)
|
||||
if (fans_paused) fans_pause(false); // put things back the way they were
|
||||
#endif
|
||||
|
||||
if (IsRunning()) {
|
||||
Stopped_gcode_LastN = gcode_LastN; // Save last g_code for restart
|
||||
SERIAL_ERROR_START;
|
||||
@@ -12203,7 +12245,7 @@ void setup() {
|
||||
endstops.enable_z_probe(false);
|
||||
#endif
|
||||
|
||||
#if USE_CONTROLLER_FAN
|
||||
#if ENABLED(USE_CONTROLLER_FAN)
|
||||
SET_OUTPUT(CONTROLLER_FAN_PIN); //Set pin used for driver cooling fan
|
||||
#endif
|
||||
|
||||
@@ -12330,7 +12372,7 @@ void loop() {
|
||||
// The queue may be reset by a command handler or by code invoked by idle() within a handler
|
||||
if (commands_in_queue) {
|
||||
--commands_in_queue;
|
||||
cmd_queue_index_r = (cmd_queue_index_r + 1) % BUFSIZE;
|
||||
if (++cmd_queue_index_r >= BUFSIZE) cmd_queue_index_r = 0;
|
||||
}
|
||||
}
|
||||
endstops.report_state();
|
||||
|
@@ -771,7 +771,7 @@ static_assert(1 >= 0
|
||||
#error "You cannot set CONTROLLER_FAN_PIN equal to FAN_PIN."
|
||||
#endif
|
||||
|
||||
#if USE_CONTROLLER_FAN
|
||||
#if ENABLED(USE_CONTROLLER_FAN)
|
||||
#if !HAS_CONTROLLER_FAN
|
||||
#error "USE_CONTROLLER_FAN requires a CONTROLLER_FAN_PIN. Define in Configuration_adv.h."
|
||||
#elif E0_AUTO_FAN_PIN == CONTROLLER_FAN_PIN
|
||||
|
@@ -35,7 +35,7 @@
|
||||
/**
|
||||
* Marlin release version identifier
|
||||
*/
|
||||
#define SHORT_BUILD_VERSION "1.1.0-RCBugFix"
|
||||
#define SHORT_BUILD_VERSION "1.1.1"
|
||||
|
||||
/**
|
||||
* Verbose version identifier which should contain a reference to the location
|
||||
@@ -48,7 +48,7 @@
|
||||
* here we define this default string as the date where the latest release
|
||||
* version was tagged.
|
||||
*/
|
||||
#define STRING_DISTRIBUTION_DATE "2016-12-06 12:00"
|
||||
#define STRING_DISTRIBUTION_DATE "2017-05-12 12:00"
|
||||
|
||||
/**
|
||||
* Required minimum Configuration.h and Configuration_adv.h file versions.
|
||||
|
@@ -1239,7 +1239,10 @@ void MarlinSettings::reset() {
|
||||
extern float linear_unit_factor, volumetric_unit_factor;
|
||||
#define LINEAR_UNIT(N) ((N) / linear_unit_factor)
|
||||
#define VOLUMETRIC_UNIT(N) ((N) / (volumetric_enabled ? volumetric_unit_factor : linear_unit_factor))
|
||||
serialprintPGM(linear_unit_factor == 1.0 ? PSTR(" G21 ; Units in mm\n") : PSTR(" G20 ; Units in inches\n"));
|
||||
SERIAL_ECHOPGM(" G2");
|
||||
SERIAL_CHAR(linear_unit_factor == 1.0 ? '1' : '0');
|
||||
SERIAL_ECHOPGM(" ; Units in ");
|
||||
serialprintPGM(linear_unit_factor == 1.0 ? PSTR("mm\n") : PSTR("inches\n"));
|
||||
#else
|
||||
#define LINEAR_UNIT(N) N
|
||||
#define VOLUMETRIC_UNIT(N) N
|
||||
@@ -1247,6 +1250,27 @@ void MarlinSettings::reset() {
|
||||
#endif
|
||||
SERIAL_EOL;
|
||||
|
||||
#if ENABLED(ULTIPANEL)
|
||||
|
||||
// Temperature units - for Ultipanel temperature options
|
||||
|
||||
CONFIG_ECHO_START;
|
||||
#if ENABLED(TEMPERATURE_UNITS_SUPPORT)
|
||||
extern TempUnit input_temp_units;
|
||||
extern float to_temp_units(const float &f);
|
||||
#define TEMP_UNIT(N) to_temp_units(N)
|
||||
SERIAL_ECHOPGM(" M149 ");
|
||||
SERIAL_CHAR(input_temp_units == TEMPUNIT_K ? 'K' : input_temp_units == TEMPUNIT_F ? 'F' : 'C');
|
||||
SERIAL_ECHOPGM(" ; Units in ");
|
||||
serialprintPGM(input_temp_units == TEMPUNIT_K ? PSTR("Kelvin\n") : input_temp_units == TEMPUNIT_F ? PSTR("Fahrenheit\n") : PSTR("Celsius\n"));
|
||||
#else
|
||||
#define TEMP_UNIT(N) N
|
||||
SERIAL_ECHOLNPGM(" M149 C ; Units in Celsius\n");
|
||||
#endif
|
||||
SERIAL_EOL;
|
||||
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Volumetric extrusion M200
|
||||
*/
|
||||
@@ -1519,8 +1543,8 @@ void MarlinSettings::reset() {
|
||||
CONFIG_ECHO_START;
|
||||
for (uint8_t i = 0; i < COUNT(lcd_preheat_hotend_temp); i++) {
|
||||
SERIAL_ECHOPAIR(" M145 S", (int)i);
|
||||
SERIAL_ECHOPAIR(" H", lcd_preheat_hotend_temp[i]);
|
||||
SERIAL_ECHOPAIR(" B", lcd_preheat_bed_temp[i]);
|
||||
SERIAL_ECHOPAIR(" H", TEMP_UNIT(lcd_preheat_hotend_temp[i]));
|
||||
SERIAL_ECHOPAIR(" B", TEMP_UNIT(lcd_preheat_bed_temp[i]));
|
||||
SERIAL_ECHOLNPAIR(" F", lcd_preheat_fan_speed[i]);
|
||||
}
|
||||
#endif // ULTIPANEL
|
||||
|
@@ -473,14 +473,14 @@
|
||||
/**
|
||||
* Default Axis Steps Per Unit (steps/mm)
|
||||
* Override with M92
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_AXIS_STEPS_PER_UNIT { 71.128, 71.128, 640, 152 }
|
||||
|
||||
/**
|
||||
* Default Max Feed Rate (mm/s)
|
||||
* Override with M203
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_FEEDRATE { 200, 200, 20, 20 }
|
||||
|
||||
@@ -488,7 +488,7 @@
|
||||
* Default Max Acceleration (change/s) change = mm/s
|
||||
* (Maximum start speed for accelerated moves)
|
||||
* Override with M201
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_ACCELERATION { 1000, 1000, 100, 10000 }
|
||||
|
||||
@@ -582,14 +582,23 @@
|
||||
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
|
||||
|
||||
/**
|
||||
* The BLTouch probe is a Hall effect sensor that emulates a servo.
|
||||
* The BLTouch probe uses a Hall effect sensor and emulates a servo.
|
||||
*/
|
||||
//#define BLTOUCH
|
||||
#if ENABLED(BLTOUCH)
|
||||
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
|
||||
//#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable if probing seems unreliable. Heaters and/or fans - consistent with the
|
||||
* options selected below - will be disabled during probing so as to minimize
|
||||
* potential EM interference by quieting/silencing the source of the 'noise' (the change
|
||||
* in current flowing through the wires). This is likely most useful to users of the
|
||||
* BLTouch probe, but may also help those with inductive or other probe types.
|
||||
*/
|
||||
//#define PROBING_HEATERS_OFF // Turn heaters off when probing
|
||||
//#define PROBING_FANS_OFF // Turn fans off when probing
|
||||
|
||||
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
|
||||
//#define SOLENOID_PROBE
|
||||
|
||||
@@ -985,23 +994,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 +1012,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 +1074,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 +1111,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 +1211,7 @@
|
||||
*/
|
||||
|
||||
//
|
||||
// This option reverses the encoder direction everywhere
|
||||
// This option reverses the encoder direction everywhere.
|
||||
//
|
||||
// Set this option if CLOCKWISE causes values to DECREASE
|
||||
//
|
||||
|
@@ -457,14 +457,14 @@
|
||||
/**
|
||||
* Default Axis Steps Per Unit (steps/mm)
|
||||
* Override with M92
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_AXIS_STEPS_PER_UNIT { 76.190476, 76.190476, 1600, 164 }
|
||||
|
||||
/**
|
||||
* Default Max Feed Rate (mm/s)
|
||||
* Override with M203
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_FEEDRATE { 500, 500, 5, 25 }
|
||||
|
||||
@@ -472,7 +472,7 @@
|
||||
* Default Max Acceleration (change/s) change = mm/s
|
||||
* (Maximum start speed for accelerated moves)
|
||||
* Override with M201
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_ACCELERATION { 5000, 5000, 100, 80000 }
|
||||
|
||||
@@ -566,14 +566,23 @@
|
||||
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
|
||||
|
||||
/**
|
||||
* The BLTouch probe is a Hall effect sensor that emulates a servo.
|
||||
* The BLTouch probe uses a Hall effect sensor and emulates a servo.
|
||||
*/
|
||||
//#define BLTOUCH
|
||||
#if ENABLED(BLTOUCH)
|
||||
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
|
||||
//#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable if probing seems unreliable. Heaters and/or fans - consistent with the
|
||||
* options selected below - will be disabled during probing so as to minimize
|
||||
* potential EM interference by quieting/silencing the source of the 'noise' (the change
|
||||
* in current flowing through the wires). This is likely most useful to users of the
|
||||
* BLTouch probe, but may also help those with inductive or other probe types.
|
||||
*/
|
||||
//#define PROBING_HEATERS_OFF // Turn heaters off when probing
|
||||
//#define PROBING_FANS_OFF // Turn fans off when probing
|
||||
|
||||
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
|
||||
//#define SOLENOID_PROBE
|
||||
|
||||
@@ -969,23 +978,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 +996,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 +1058,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 +1095,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 +1195,7 @@
|
||||
*/
|
||||
|
||||
//
|
||||
// This option reverses the encoder direction everywhere
|
||||
// This option reverses the encoder direction everywhere.
|
||||
//
|
||||
// Set this option if CLOCKWISE causes values to DECREASE
|
||||
//
|
||||
|
@@ -457,14 +457,14 @@
|
||||
/**
|
||||
* Default Axis Steps Per Unit (steps/mm)
|
||||
* Override with M92
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_AXIS_STEPS_PER_UNIT { 76.190476, 76.190476, 1600, 164 }
|
||||
|
||||
/**
|
||||
* Default Max Feed Rate (mm/s)
|
||||
* Override with M203
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_FEEDRATE { 500, 500, 5, 25 }
|
||||
|
||||
@@ -472,7 +472,7 @@
|
||||
* Default Max Acceleration (change/s) change = mm/s
|
||||
* (Maximum start speed for accelerated moves)
|
||||
* Override with M201
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_ACCELERATION { 5000, 5000, 100, 80000 }
|
||||
|
||||
@@ -566,14 +566,23 @@
|
||||
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
|
||||
|
||||
/**
|
||||
* The BLTouch probe is a Hall effect sensor that emulates a servo.
|
||||
* The BLTouch probe uses a Hall effect sensor and emulates a servo.
|
||||
*/
|
||||
//#define BLTOUCH
|
||||
#if ENABLED(BLTOUCH)
|
||||
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
|
||||
//#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable if probing seems unreliable. Heaters and/or fans - consistent with the
|
||||
* options selected below - will be disabled during probing so as to minimize
|
||||
* potential EM interference by quieting/silencing the source of the 'noise' (the change
|
||||
* in current flowing through the wires). This is likely most useful to users of the
|
||||
* BLTouch probe, but may also help those with inductive or other probe types.
|
||||
*/
|
||||
//#define PROBING_HEATERS_OFF // Turn heaters off when probing
|
||||
//#define PROBING_FANS_OFF // Turn fans off when probing
|
||||
|
||||
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
|
||||
//#define SOLENOID_PROBE
|
||||
|
||||
@@ -969,23 +978,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 +996,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 +1058,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 +1095,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 +1195,7 @@
|
||||
*/
|
||||
|
||||
//
|
||||
// This option reverses the encoder direction everywhere
|
||||
// This option reverses the encoder direction everywhere.
|
||||
//
|
||||
// Set this option if CLOCKWISE causes values to DECREASE
|
||||
//
|
||||
|
@@ -480,14 +480,14 @@
|
||||
/**
|
||||
* Default Axis Steps Per Unit (steps/mm)
|
||||
* Override with M92
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 4000, 52.2 }
|
||||
|
||||
/**
|
||||
* Default Max Feed Rate (mm/s)
|
||||
* Override with M203
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_FEEDRATE { 250, 250, 2, 17 }
|
||||
|
||||
@@ -495,7 +495,7 @@
|
||||
* Default Max Acceleration (change/s) change = mm/s
|
||||
* (Maximum start speed for accelerated moves)
|
||||
* Override with M201
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_ACCELERATION { 1000, 1000, 4, 750 }
|
||||
|
||||
@@ -590,14 +590,23 @@
|
||||
#define Z_SERVO_ANGLES {40,85} // Z Servo Deploy and Stow angles
|
||||
|
||||
/**
|
||||
* The BLTouch probe is a Hall effect sensor that emulates a servo.
|
||||
* The BLTouch probe uses a Hall effect sensor and emulates a servo.
|
||||
*/
|
||||
//#define BLTOUCH
|
||||
#if ENABLED(BLTOUCH)
|
||||
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
|
||||
//#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable if probing seems unreliable. Heaters and/or fans - consistent with the
|
||||
* options selected below - will be disabled during probing so as to minimize
|
||||
* potential EM interference by quieting/silencing the source of the 'noise' (the change
|
||||
* in current flowing through the wires). This is likely most useful to users of the
|
||||
* BLTouch probe, but may also help those with inductive or other probe types.
|
||||
*/
|
||||
//#define PROBING_HEATERS_OFF // Turn heaters off when probing
|
||||
//#define PROBING_FANS_OFF // Turn fans off when probing
|
||||
|
||||
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
|
||||
//#define SOLENOID_PROBE
|
||||
|
||||
@@ -991,23 +1000,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 +1018,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 +1080,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 +1117,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 +1217,7 @@
|
||||
*/
|
||||
|
||||
//
|
||||
// This option reverses the encoder direction everywhere
|
||||
// This option reverses the encoder direction everywhere.
|
||||
//
|
||||
// Set this option if CLOCKWISE causes values to DECREASE
|
||||
//
|
||||
|
@@ -465,14 +465,14 @@
|
||||
/**
|
||||
* Default Axis Steps Per Unit (steps/mm)
|
||||
* Override with M92
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 4000, 100.47095761381482 }
|
||||
|
||||
/**
|
||||
* Default Max Feed Rate (mm/s)
|
||||
* Override with M203
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_FEEDRATE { 200, 200, 3.3, 25 }
|
||||
|
||||
@@ -480,7 +480,7 @@
|
||||
* Default Max Acceleration (change/s) change = mm/s
|
||||
* (Maximum start speed for accelerated moves)
|
||||
* Override with M201
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_ACCELERATION { 1100, 1100, 100, 10000 }
|
||||
|
||||
@@ -574,14 +574,23 @@
|
||||
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
|
||||
|
||||
/**
|
||||
* The BLTouch probe is a Hall effect sensor that emulates a servo.
|
||||
* The BLTouch probe uses a Hall effect sensor and emulates a servo.
|
||||
*/
|
||||
//#define BLTOUCH
|
||||
#if ENABLED(BLTOUCH)
|
||||
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
|
||||
//#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable if probing seems unreliable. Heaters and/or fans - consistent with the
|
||||
* options selected below - will be disabled during probing so as to minimize
|
||||
* potential EM interference by quieting/silencing the source of the 'noise' (the change
|
||||
* in current flowing through the wires). This is likely most useful to users of the
|
||||
* BLTouch probe, but may also help those with inductive or other probe types.
|
||||
*/
|
||||
//#define PROBING_HEATERS_OFF // Turn heaters off when probing
|
||||
//#define PROBING_FANS_OFF // Turn fans off when probing
|
||||
|
||||
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
|
||||
//#define SOLENOID_PROBE
|
||||
|
||||
@@ -977,23 +986,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 +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)
|
||||
@@ -1063,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
|
||||
|
||||
//=============================================================================
|
||||
@@ -1098,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
|
||||
//
|
||||
#define ULTRA_LCD // Character based
|
||||
/**
|
||||
* 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 +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
|
||||
//
|
||||
|
@@ -468,14 +468,14 @@
|
||||
/**
|
||||
* Default Axis Steps Per Unit (steps/mm)
|
||||
* Override with M92
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_AXIS_STEPS_PER_UNIT { 160, 160, 8000, 204 }
|
||||
|
||||
/**
|
||||
* Default Max Feed Rate (mm/s)
|
||||
* Override with M203
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_FEEDRATE { 250, 250, 2, 200 }
|
||||
|
||||
@@ -483,7 +483,7 @@
|
||||
* Default Max Acceleration (change/s) change = mm/s
|
||||
* (Maximum start speed for accelerated moves)
|
||||
* Override with M201
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_ACCELERATION { 800, 800, 20, 1000 }
|
||||
|
||||
@@ -577,14 +577,23 @@
|
||||
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
|
||||
|
||||
/**
|
||||
* The BLTouch probe is a Hall effect sensor that emulates a servo.
|
||||
* The BLTouch probe uses a Hall effect sensor and emulates a servo.
|
||||
*/
|
||||
//#define BLTOUCH
|
||||
#if ENABLED(BLTOUCH)
|
||||
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
|
||||
//#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable if probing seems unreliable. Heaters and/or fans - consistent with the
|
||||
* options selected below - will be disabled during probing so as to minimize
|
||||
* potential EM interference by quieting/silencing the source of the 'noise' (the change
|
||||
* in current flowing through the wires). This is likely most useful to users of the
|
||||
* BLTouch probe, but may also help those with inductive or other probe types.
|
||||
*/
|
||||
//#define PROBING_HEATERS_OFF // Turn heaters off when probing
|
||||
//#define PROBING_FANS_OFF // Turn fans off when probing
|
||||
|
||||
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
|
||||
//#define SOLENOID_PROBE
|
||||
|
||||
@@ -980,23 +989,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 +1007,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 +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
|
||||
|
||||
//=============================================================================
|
||||
@@ -1101,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
|
||||
|
||||
//
|
||||
@@ -1200,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
|
||||
//
|
||||
|
@@ -504,13 +504,13 @@
|
||||
/**
|
||||
* Default Axis Steps Per Unit (steps/mm)
|
||||
* Override with M92
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_AXIS_STEPS_PER_UNIT { 64.25, 64.25, 2560, 600 }
|
||||
/**
|
||||
* Default Max Feed Rate (mm/s)
|
||||
* Override with M203
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_FEEDRATE { 500, 500, 5, 25 }
|
||||
|
||||
@@ -518,7 +518,7 @@
|
||||
* Default Max Acceleration (change/s) change = mm/s
|
||||
* (Maximum start speed for accelerated moves)
|
||||
* Override with M201
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_ACCELERATION { 9000, 9000, 100, 10000 }
|
||||
|
||||
@@ -612,14 +612,23 @@
|
||||
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
|
||||
|
||||
/**
|
||||
* The BLTouch probe is a Hall effect sensor that emulates a servo.
|
||||
* The BLTouch probe uses a Hall effect sensor and emulates a servo.
|
||||
*/
|
||||
//#define BLTOUCH
|
||||
#if ENABLED(BLTOUCH)
|
||||
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
|
||||
//#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable if probing seems unreliable. Heaters and/or fans - consistent with the
|
||||
* options selected below - will be disabled during probing so as to minimize
|
||||
* potential EM interference by quieting/silencing the source of the 'noise' (the change
|
||||
* in current flowing through the wires). This is likely most useful to users of the
|
||||
* BLTouch probe, but may also help those with inductive or other probe types.
|
||||
*/
|
||||
//#define PROBING_HEATERS_OFF // Turn heaters off when probing
|
||||
//#define PROBING_FANS_OFF // Turn fans off when probing
|
||||
|
||||
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
|
||||
//#define SOLENOID_PROBE
|
||||
|
||||
@@ -1015,23 +1024,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 +1042,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 +1104,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 +1144,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 +1244,7 @@
|
||||
*/
|
||||
|
||||
//
|
||||
// This option reverses the encoder direction everywhere
|
||||
// This option reverses the encoder direction everywhere.
|
||||
//
|
||||
// Set this option if CLOCKWISE causes values to DECREASE
|
||||
//
|
||||
|
@@ -4,7 +4,7 @@
|
||||
|
||||
* updated manually with parameters from genuine Vellemann Firmware "firmware_k8200_marlinv2" based on the recent development branch
|
||||
|
||||
* VM8201 uses "DISPLAY_CHARSET_HD44870_JAPAN" and "ULTIMAKERCONTROLLER"
|
||||
* VM8201 uses "DISPLAY_CHARSET_HD44870 JAPANESE" and "ULTIMAKERCONTROLLER"
|
||||
* german (de) translation with umlaut is supported now - thanks to @AnHardt for the great hardware based umlaut support
|
||||
|
||||
I [@CONSULitAS](https://github.com/CONSULitAS) tested the changes on my K8200 with 20x4-LCD and Arduino 1.6.12 for Mac (SD library added to IDE manually), 2016-11-18 - everything works well.
|
||||
|
@@ -474,14 +474,14 @@
|
||||
/**
|
||||
* Default Axis Steps Per Unit (steps/mm)
|
||||
* Override with M92
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_AXIS_STEPS_PER_UNIT { 134.74, 134.74, 4266.66, 148.7 }
|
||||
|
||||
/**
|
||||
* Default Max Feed Rate (mm/s)
|
||||
* Override with M203
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_FEEDRATE { 160, 160, 10, 10000 }
|
||||
|
||||
@@ -489,7 +489,7 @@
|
||||
* Default Max Acceleration (change/s) change = mm/s
|
||||
* (Maximum start speed for accelerated moves)
|
||||
* Override with M201
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_ACCELERATION { 9000, 9000, 100, 10000 }
|
||||
|
||||
@@ -583,14 +583,23 @@
|
||||
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
|
||||
|
||||
/**
|
||||
* The BLTouch probe is a Hall effect sensor that emulates a servo.
|
||||
* The BLTouch probe uses a Hall effect sensor and emulates a servo.
|
||||
*/
|
||||
//#define BLTOUCH
|
||||
#if ENABLED(BLTOUCH)
|
||||
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
|
||||
//#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable if probing seems unreliable. Heaters and/or fans - consistent with the
|
||||
* options selected below - will be disabled during probing so as to minimize
|
||||
* potential EM interference by quieting/silencing the source of the 'noise' (the change
|
||||
* in current flowing through the wires). This is likely most useful to users of the
|
||||
* BLTouch probe, but may also help those with inductive or other probe types.
|
||||
*/
|
||||
//#define PROBING_HEATERS_OFF // Turn heaters off when probing
|
||||
//#define PROBING_FANS_OFF // Turn fans off when probing
|
||||
|
||||
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
|
||||
//#define SOLENOID_PROBE
|
||||
|
||||
@@ -986,23 +995,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 +1013,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 +1075,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 +1112,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
|
||||
//
|
||||
#define ULTRA_LCD // Character based
|
||||
/**
|
||||
* 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 +1212,7 @@
|
||||
*/
|
||||
|
||||
//
|
||||
// This option reverses the encoder direction everywhere
|
||||
// This option reverses the encoder direction everywhere.
|
||||
//
|
||||
// Set this option if CLOCKWISE causes values to DECREASE
|
||||
//
|
||||
|
@@ -474,14 +474,14 @@
|
||||
/**
|
||||
* Default Axis Steps Per Unit (steps/mm)
|
||||
* Override with M92
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_AXIS_STEPS_PER_UNIT { 134.74, 134.74, 4266.66, 148.7 }
|
||||
|
||||
/**
|
||||
* Default Max Feed Rate (mm/s)
|
||||
* Override with M203
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_FEEDRATE { 160, 160, 10, 10000 }
|
||||
|
||||
@@ -489,7 +489,7 @@
|
||||
* Default Max Acceleration (change/s) change = mm/s
|
||||
* (Maximum start speed for accelerated moves)
|
||||
* Override with M201
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_ACCELERATION { 9000, 9000, 100, 10000 }
|
||||
|
||||
@@ -583,14 +583,23 @@
|
||||
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
|
||||
|
||||
/**
|
||||
* The BLTouch probe is a Hall effect sensor that emulates a servo.
|
||||
* The BLTouch probe uses a Hall effect sensor and emulates a servo.
|
||||
*/
|
||||
//#define BLTOUCH
|
||||
#if ENABLED(BLTOUCH)
|
||||
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
|
||||
//#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable if probing seems unreliable. Heaters and/or fans - consistent with the
|
||||
* options selected below - will be disabled during probing so as to minimize
|
||||
* potential EM interference by quieting/silencing the source of the 'noise' (the change
|
||||
* in current flowing through the wires). This is likely most useful to users of the
|
||||
* BLTouch probe, but may also help those with inductive or other probe types.
|
||||
*/
|
||||
//#define PROBING_HEATERS_OFF // Turn heaters off when probing
|
||||
//#define PROBING_FANS_OFF // Turn fans off when probing
|
||||
|
||||
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
|
||||
//#define SOLENOID_PROBE
|
||||
|
||||
@@ -986,23 +995,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 +1013,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 +1075,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 +1112,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 +1212,7 @@
|
||||
*/
|
||||
|
||||
//
|
||||
// This option reverses the encoder direction everywhere
|
||||
// This option reverses the encoder direction everywhere.
|
||||
//
|
||||
// Set this option if CLOCKWISE causes values to DECREASE
|
||||
//
|
||||
|
@@ -474,14 +474,14 @@
|
||||
/**
|
||||
* Default Axis Steps Per Unit (steps/mm)
|
||||
* Override with M92
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_AXIS_STEPS_PER_UNIT { 78.7402*2, 78.7402*2, 5120.00, 760*1*1.5 }
|
||||
|
||||
/**
|
||||
* Default Max Feed Rate (mm/s)
|
||||
* Override with M203
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 25 }
|
||||
|
||||
@@ -489,7 +489,7 @@
|
||||
* Default Max Acceleration (change/s) change = mm/s
|
||||
* (Maximum start speed for accelerated moves)
|
||||
* Override with M201
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 10000 }
|
||||
|
||||
@@ -583,14 +583,23 @@
|
||||
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
|
||||
|
||||
/**
|
||||
* The BLTouch probe is a Hall effect sensor that emulates a servo.
|
||||
* The BLTouch probe uses a Hall effect sensor and emulates a servo.
|
||||
*/
|
||||
//#define BLTOUCH
|
||||
#if ENABLED(BLTOUCH)
|
||||
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
|
||||
//#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable if probing seems unreliable. Heaters and/or fans - consistent with the
|
||||
* options selected below - will be disabled during probing so as to minimize
|
||||
* potential EM interference by quieting/silencing the source of the 'noise' (the change
|
||||
* in current flowing through the wires). This is likely most useful to users of the
|
||||
* BLTouch probe, but may also help those with inductive or other probe types.
|
||||
*/
|
||||
//#define PROBING_HEATERS_OFF // Turn heaters off when probing
|
||||
//#define PROBING_FANS_OFF // Turn fans off when probing
|
||||
|
||||
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
|
||||
//#define SOLENOID_PROBE
|
||||
|
||||
@@ -986,23 +995,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 +1013,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 +1075,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 +1112,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 +1212,7 @@
|
||||
*/
|
||||
|
||||
//
|
||||
// This option reverses the encoder direction everywhere
|
||||
// This option reverses the encoder direction everywhere.
|
||||
//
|
||||
// Set this option if CLOCKWISE causes values to DECREASE
|
||||
//
|
||||
|
@@ -471,7 +471,7 @@
|
||||
/**
|
||||
* Default Axis Steps Per Unit (steps/mm)
|
||||
* Override with M92
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
// default steps per unit for RigidBot with standard hardware
|
||||
#define DEFAULT_AXIS_STEPS_PER_UNIT { 44.3090, 22.1545, 1600, 53.5 }
|
||||
@@ -480,7 +480,7 @@
|
||||
/**
|
||||
* Default Max Feed Rate (mm/s)
|
||||
* Override with M203
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_FEEDRATE { 500, 500, 5, 25 }
|
||||
|
||||
@@ -488,7 +488,7 @@
|
||||
* Default Max Acceleration (change/s) change = mm/s
|
||||
* (Maximum start speed for accelerated moves)
|
||||
* Override with M201
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_ACCELERATION { 800, 800, 100, 10000 }
|
||||
|
||||
@@ -582,14 +582,23 @@
|
||||
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
|
||||
|
||||
/**
|
||||
* The BLTouch probe is a Hall effect sensor that emulates a servo.
|
||||
* The BLTouch probe uses a Hall effect sensor and emulates a servo.
|
||||
*/
|
||||
//#define BLTOUCH
|
||||
#if ENABLED(BLTOUCH)
|
||||
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
|
||||
//#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable if probing seems unreliable. Heaters and/or fans - consistent with the
|
||||
* options selected below - will be disabled during probing so as to minimize
|
||||
* potential EM interference by quieting/silencing the source of the 'noise' (the change
|
||||
* in current flowing through the wires). This is likely most useful to users of the
|
||||
* BLTouch probe, but may also help those with inductive or other probe types.
|
||||
*/
|
||||
//#define PROBING_HEATERS_OFF // Turn heaters off when probing
|
||||
//#define PROBING_FANS_OFF // Turn fans off when probing
|
||||
|
||||
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
|
||||
//#define SOLENOID_PROBE
|
||||
|
||||
@@ -985,23 +994,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 +1012,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 +1074,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 +1111,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 +1211,7 @@
|
||||
*/
|
||||
|
||||
//
|
||||
// This option reverses the encoder direction everywhere
|
||||
// This option reverses the encoder direction everywhere.
|
||||
//
|
||||
// Set this option if CLOCKWISE causes values to DECREASE
|
||||
//
|
||||
|
@@ -489,14 +489,14 @@
|
||||
/**
|
||||
* Default Axis Steps Per Unit (steps/mm)
|
||||
* Override with M92
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_AXIS_STEPS_PER_UNIT { 103.69, 106.65, 200/1.25, 1000 } // default steps per unit for SCARA
|
||||
|
||||
/**
|
||||
* Default Max Feed Rate (mm/s)
|
||||
* Override with M203
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_FEEDRATE { 300, 300, 30, 25 }
|
||||
|
||||
@@ -504,7 +504,7 @@
|
||||
* Default Max Acceleration (change/s) change = mm/s
|
||||
* (Maximum start speed for accelerated moves)
|
||||
* Override with M201
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_ACCELERATION { 300, 300, 20, 1000 }
|
||||
|
||||
@@ -598,14 +598,23 @@
|
||||
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
|
||||
|
||||
/**
|
||||
* The BLTouch probe is a Hall effect sensor that emulates a servo.
|
||||
* The BLTouch probe uses a Hall effect sensor and emulates a servo.
|
||||
*/
|
||||
//#define BLTOUCH
|
||||
#if ENABLED(BLTOUCH)
|
||||
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
|
||||
//#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable if probing seems unreliable. Heaters and/or fans - consistent with the
|
||||
* options selected below - will be disabled during probing so as to minimize
|
||||
* potential EM interference by quieting/silencing the source of the 'noise' (the change
|
||||
* in current flowing through the wires). This is likely most useful to users of the
|
||||
* BLTouch probe, but may also help those with inductive or other probe types.
|
||||
*/
|
||||
//#define PROBING_HEATERS_OFF // Turn heaters off when probing
|
||||
//#define PROBING_FANS_OFF // Turn fans off when probing
|
||||
|
||||
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
|
||||
//#define SOLENOID_PROBE
|
||||
|
||||
@@ -1001,23 +1010,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 +1028,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 +1090,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 +1127,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 +1227,7 @@
|
||||
*/
|
||||
|
||||
//
|
||||
// This option reverses the encoder direction everywhere
|
||||
// This option reverses the encoder direction everywhere.
|
||||
//
|
||||
// Set this option if CLOCKWISE causes values to DECREASE
|
||||
//
|
||||
|
@@ -494,14 +494,14 @@
|
||||
/**
|
||||
* Default Axis Steps Per Unit (steps/mm)
|
||||
* Override with M92
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_AXIS_STEPS_PER_UNIT { 100.5, 100.5, 400, 850 }
|
||||
|
||||
/**
|
||||
* Default Max Feed Rate (mm/s)
|
||||
* Override with M203
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_FEEDRATE { 800, 800, 8, 50 }
|
||||
|
||||
@@ -509,7 +509,7 @@
|
||||
* Default Max Acceleration (change/s) change = mm/s
|
||||
* (Maximum start speed for accelerated moves)
|
||||
* Override with M201
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_ACCELERATION { 9000, 9000, 100, 10000 }
|
||||
|
||||
@@ -603,14 +603,23 @@
|
||||
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
|
||||
|
||||
/**
|
||||
* The BLTouch probe is a Hall effect sensor that emulates a servo.
|
||||
* The BLTouch probe uses a Hall effect sensor and emulates a servo.
|
||||
*/
|
||||
//#define BLTOUCH
|
||||
#if ENABLED(BLTOUCH)
|
||||
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
|
||||
//#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable if probing seems unreliable. Heaters and/or fans - consistent with the
|
||||
* options selected below - will be disabled during probing so as to minimize
|
||||
* potential EM interference by quieting/silencing the source of the 'noise' (the change
|
||||
* in current flowing through the wires). This is likely most useful to users of the
|
||||
* BLTouch probe, but may also help those with inductive or other probe types.
|
||||
*/
|
||||
//#define PROBING_HEATERS_OFF // Turn heaters off when probing
|
||||
//#define PROBING_FANS_OFF // Turn fans off when probing
|
||||
|
||||
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
|
||||
//#define SOLENOID_PROBE
|
||||
|
||||
@@ -1006,23 +1015,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 +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)
|
||||
@@ -1092,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
|
||||
|
||||
//=============================================================================
|
||||
@@ -1127,78 +1132,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 +1232,7 @@
|
||||
*/
|
||||
|
||||
//
|
||||
// This option reverses the encoder direction everywhere
|
||||
// This option reverses the encoder direction everywhere.
|
||||
//
|
||||
// Set this option if CLOCKWISE causes values to DECREASE
|
||||
//
|
||||
|
@@ -525,14 +525,14 @@
|
||||
/**
|
||||
* Default Axis Steps Per Unit (steps/mm)
|
||||
* Override with M92
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_AXIS_STEPS_PER_UNIT { 100, 100, 6400, 88.16 }
|
||||
|
||||
/**
|
||||
* Default Max Feed Rate (mm/s)
|
||||
* Override with M203
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_FEEDRATE { 300, 300, 7, 35 }
|
||||
|
||||
@@ -540,7 +540,7 @@
|
||||
* Default Max Acceleration (change/s) change = mm/s
|
||||
* (Maximum start speed for accelerated moves)
|
||||
* Override with M201
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 10000 }
|
||||
|
||||
@@ -634,14 +634,23 @@
|
||||
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
|
||||
|
||||
/**
|
||||
* The BLTouch probe is a Hall effect sensor that emulates a servo.
|
||||
* The BLTouch probe uses a Hall effect sensor and emulates a servo.
|
||||
*/
|
||||
//#define BLTOUCH
|
||||
#if ENABLED(BLTOUCH)
|
||||
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
|
||||
//#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable if probing seems unreliable. Heaters and/or fans - consistent with the
|
||||
* options selected below - will be disabled during probing so as to minimize
|
||||
* potential EM interference by quieting/silencing the source of the 'noise' (the change
|
||||
* in current flowing through the wires). This is likely most useful to users of the
|
||||
* BLTouch probe, but may also help those with inductive or other probe types.
|
||||
*/
|
||||
//#define PROBING_HEATERS_OFF // Turn heaters off when probing
|
||||
//#define PROBING_FANS_OFF // Turn fans off when probing
|
||||
|
||||
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
|
||||
//#define SOLENOID_PROBE
|
||||
|
||||
@@ -1042,23 +1051,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 +1069,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 +1131,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 +1168,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 +1268,7 @@
|
||||
*/
|
||||
|
||||
//
|
||||
// This option reverses the encoder direction everywhere
|
||||
// This option reverses the encoder direction everywhere.
|
||||
//
|
||||
// Set this option if CLOCKWISE causes values to DECREASE
|
||||
//
|
||||
|
@@ -465,14 +465,14 @@
|
||||
/**
|
||||
* Default Axis Steps Per Unit (steps/mm)
|
||||
* Override with M92
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 600.0*8/3, 102.073 }
|
||||
|
||||
/**
|
||||
* Default Max Feed Rate (mm/s)
|
||||
* Override with M203
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_FEEDRATE { 350, 350, 7.2, 80 }
|
||||
|
||||
@@ -480,7 +480,7 @@
|
||||
* Default Max Acceleration (change/s) change = mm/s
|
||||
* (Maximum start speed for accelerated moves)
|
||||
* Override with M201
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_ACCELERATION { 1000, 1000, 10, 1000 }
|
||||
|
||||
@@ -574,14 +574,23 @@
|
||||
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
|
||||
|
||||
/**
|
||||
* The BLTouch probe is a Hall effect sensor that emulates a servo.
|
||||
* The BLTouch probe uses a Hall effect sensor and emulates a servo.
|
||||
*/
|
||||
//#define BLTOUCH
|
||||
#if ENABLED(BLTOUCH)
|
||||
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
|
||||
//#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable if probing seems unreliable. Heaters and/or fans - consistent with the
|
||||
* options selected below - will be disabled during probing so as to minimize
|
||||
* potential EM interference by quieting/silencing the source of the 'noise' (the change
|
||||
* in current flowing through the wires). This is likely most useful to users of the
|
||||
* BLTouch probe, but may also help those with inductive or other probe types.
|
||||
*/
|
||||
//#define PROBING_HEATERS_OFF // Turn heaters off when probing
|
||||
//#define PROBING_FANS_OFF // Turn fans off when probing
|
||||
|
||||
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
|
||||
//#define SOLENOID_PROBE
|
||||
|
||||
@@ -977,23 +986,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 +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)
|
||||
@@ -1063,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
|
||||
|
||||
//=============================================================================
|
||||
@@ -1098,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
|
||||
|
||||
//
|
||||
@@ -1197,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
|
||||
//
|
||||
|
@@ -474,14 +474,14 @@
|
||||
/**
|
||||
* Default Axis Steps Per Unit (steps/mm)
|
||||
* Override with M92
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 4000, 500 }
|
||||
|
||||
/**
|
||||
* Default Max Feed Rate (mm/s)
|
||||
* Override with M203
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 25 }
|
||||
|
||||
@@ -489,7 +489,7 @@
|
||||
* Default Max Acceleration (change/s) change = mm/s
|
||||
* (Maximum start speed for accelerated moves)
|
||||
* Override with M201
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 10000 }
|
||||
|
||||
@@ -583,14 +583,23 @@
|
||||
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
|
||||
|
||||
/**
|
||||
* The BLTouch probe is a Hall effect sensor that emulates a servo.
|
||||
* The BLTouch probe uses a Hall effect sensor and emulates a servo.
|
||||
*/
|
||||
//#define BLTOUCH
|
||||
#if ENABLED(BLTOUCH)
|
||||
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
|
||||
//#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable if probing seems unreliable. Heaters and/or fans - consistent with the
|
||||
* options selected below - will be disabled during probing so as to minimize
|
||||
* potential EM interference by quieting/silencing the source of the 'noise' (the change
|
||||
* in current flowing through the wires). This is likely most useful to users of the
|
||||
* BLTouch probe, but may also help those with inductive or other probe types.
|
||||
*/
|
||||
//#define PROBING_HEATERS_OFF // Turn heaters off when probing
|
||||
//#define PROBING_FANS_OFF // Turn fans off when probing
|
||||
|
||||
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
|
||||
//#define SOLENOID_PROBE
|
||||
|
||||
@@ -986,23 +995,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 +1013,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 +1075,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 +1112,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 +1212,7 @@
|
||||
*/
|
||||
|
||||
//
|
||||
// This option reverses the encoder direction everywhere
|
||||
// This option reverses the encoder direction everywhere.
|
||||
//
|
||||
// Set this option if CLOCKWISE causes values to DECREASE
|
||||
//
|
||||
|
@@ -542,14 +542,14 @@
|
||||
/**
|
||||
* Default Axis Steps Per Unit (steps/mm)
|
||||
* Override with M92
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_AXIS_STEPS_PER_UNIT { 100, 100, 100, 100 } // default steps per unit for Kossel (GT2, 20 tooth)
|
||||
|
||||
/**
|
||||
* Default Max Feed Rate (mm/s)
|
||||
* Override with M203
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_FEEDRATE { 200, 200, 200, 25 }
|
||||
|
||||
@@ -557,7 +557,7 @@
|
||||
* Default Max Acceleration (change/s) change = mm/s
|
||||
* (Maximum start speed for accelerated moves)
|
||||
* Override with M201
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_ACCELERATION { 4000, 4000, 4000, 4000 }
|
||||
|
||||
@@ -651,14 +651,23 @@
|
||||
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
|
||||
|
||||
/**
|
||||
* The BLTouch probe is a Hall effect sensor that emulates a servo.
|
||||
* The BLTouch probe uses a Hall effect sensor and emulates a servo.
|
||||
*/
|
||||
//#define BLTOUCH
|
||||
#if ENABLED(BLTOUCH)
|
||||
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
|
||||
//#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable if probing seems unreliable. Heaters and/or fans - consistent with the
|
||||
* options selected below - will be disabled during probing so as to minimize
|
||||
* potential EM interference by quieting/silencing the source of the 'noise' (the change
|
||||
* in current flowing through the wires). This is likely most useful to users of the
|
||||
* BLTouch probe, but may also help those with inductive or other probe types.
|
||||
*/
|
||||
//#define PROBING_HEATERS_OFF // Turn heaters off when probing
|
||||
//#define PROBING_FANS_OFF // Turn fans off when probing
|
||||
|
||||
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
|
||||
//#define SOLENOID_PROBE
|
||||
|
||||
@@ -1104,23 +1113,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 +1131,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 +1193,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 +1230,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 +1330,7 @@
|
||||
*/
|
||||
|
||||
//
|
||||
// This option reverses the encoder direction everywhere
|
||||
// This option reverses the encoder direction everywhere.
|
||||
//
|
||||
// Set this option if CLOCKWISE causes values to DECREASE
|
||||
//
|
||||
|
@@ -549,14 +549,14 @@
|
||||
/**
|
||||
* Default Axis Steps Per Unit (steps/mm)
|
||||
* Override with M92
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_AXIS_STEPS_PER_UNIT { 100, 100, 100, 90 } // default steps per unit for Kossel (GT2, 20 tooth)
|
||||
|
||||
/**
|
||||
* Default Max Feed Rate (mm/s)
|
||||
* Override with M203
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_FEEDRATE { 200, 200, 200, 200 }
|
||||
|
||||
@@ -564,7 +564,7 @@
|
||||
* Default Max Acceleration (change/s) change = mm/s
|
||||
* (Maximum start speed for accelerated moves)
|
||||
* Override with M201
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_ACCELERATION { 4000, 4000, 4000, 4000 }
|
||||
|
||||
@@ -658,14 +658,23 @@
|
||||
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
|
||||
|
||||
/**
|
||||
* The BLTouch probe is a Hall effect sensor that emulates a servo.
|
||||
* The BLTouch probe uses a Hall effect sensor and emulates a servo.
|
||||
*/
|
||||
//#define BLTOUCH
|
||||
#if ENABLED(BLTOUCH)
|
||||
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
|
||||
//#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable if probing seems unreliable. Heaters and/or fans - consistent with the
|
||||
* options selected below - will be disabled during probing so as to minimize
|
||||
* potential EM interference by quieting/silencing the source of the 'noise' (the change
|
||||
* in current flowing through the wires). This is likely most useful to users of the
|
||||
* BLTouch probe, but may also help those with inductive or other probe types.
|
||||
*/
|
||||
//#define PROBING_HEATERS_OFF // Turn heaters off when probing
|
||||
//#define PROBING_FANS_OFF // Turn fans off when probing
|
||||
|
||||
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
|
||||
//#define SOLENOID_PROBE
|
||||
|
||||
@@ -1106,23 +1115,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 +1133,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 +1195,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 +1232,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 +1332,7 @@
|
||||
*/
|
||||
|
||||
//
|
||||
// This option reverses the encoder direction everywhere
|
||||
// This option reverses the encoder direction everywhere.
|
||||
//
|
||||
// Set this option if CLOCKWISE causes values to DECREASE
|
||||
//
|
||||
|
@@ -538,14 +538,14 @@
|
||||
/**
|
||||
* Default Axis Steps Per Unit (steps/mm)
|
||||
* Override with M92
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 80, 760*1.1 } // default steps per unit for Kossel (GT2, 20 tooth)
|
||||
|
||||
/**
|
||||
* Default Max Feed Rate (mm/s)
|
||||
* Override with M203
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_FEEDRATE { 500, 500, 500, 25 }
|
||||
|
||||
@@ -553,7 +553,7 @@
|
||||
* Default Max Acceleration (change/s) change = mm/s
|
||||
* (Maximum start speed for accelerated moves)
|
||||
* Override with M201
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_ACCELERATION { 9000, 9000, 9000, 10000 }
|
||||
|
||||
@@ -647,14 +647,23 @@
|
||||
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
|
||||
|
||||
/**
|
||||
* The BLTouch probe is a Hall effect sensor that emulates a servo.
|
||||
* The BLTouch probe uses a Hall effect sensor and emulates a servo.
|
||||
*/
|
||||
//#define BLTOUCH
|
||||
#if ENABLED(BLTOUCH)
|
||||
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
|
||||
//#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable if probing seems unreliable. Heaters and/or fans - consistent with the
|
||||
* options selected below - will be disabled during probing so as to minimize
|
||||
* potential EM interference by quieting/silencing the source of the 'noise' (the change
|
||||
* in current flowing through the wires). This is likely most useful to users of the
|
||||
* BLTouch probe, but may also help those with inductive or other probe types.
|
||||
*/
|
||||
//#define PROBING_HEATERS_OFF // Turn heaters off when probing
|
||||
//#define PROBING_FANS_OFF // Turn fans off when probing
|
||||
|
||||
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
|
||||
//#define SOLENOID_PROBE
|
||||
|
||||
@@ -1093,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)
|
||||
@@ -1117,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)
|
||||
@@ -1179,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
|
||||
|
||||
//=============================================================================
|
||||
@@ -1214,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
|
||||
|
||||
//
|
||||
@@ -1313,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
|
||||
//
|
||||
|
@@ -538,14 +538,14 @@
|
||||
/**
|
||||
* Default Axis Steps Per Unit (steps/mm)
|
||||
* Override with M92
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 80, 760*1.1 } // default steps per unit for Kossel (GT2, 20 tooth)
|
||||
|
||||
/**
|
||||
* Default Max Feed Rate (mm/s)
|
||||
* Override with M203
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_FEEDRATE { 500, 500, 500, 25 }
|
||||
|
||||
@@ -553,7 +553,7 @@
|
||||
* Default Max Acceleration (change/s) change = mm/s
|
||||
* (Maximum start speed for accelerated moves)
|
||||
* Override with M201
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_ACCELERATION { 9000, 9000, 9000, 10000 }
|
||||
|
||||
@@ -642,14 +642,23 @@
|
||||
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
|
||||
|
||||
/**
|
||||
* The BLTouch probe is a Hall effect sensor that emulates a servo.
|
||||
* The BLTouch probe uses a Hall effect sensor and emulates a servo.
|
||||
*/
|
||||
//#define BLTOUCH
|
||||
#if ENABLED(BLTOUCH)
|
||||
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
|
||||
//#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable if probing seems unreliable. Heaters and/or fans - consistent with the
|
||||
* options selected below - will be disabled during probing so as to minimize
|
||||
* potential EM interference by quieting/silencing the source of the 'noise' (the change
|
||||
* in current flowing through the wires). This is likely most useful to users of the
|
||||
* BLTouch probe, but may also help those with inductive or other probe types.
|
||||
*/
|
||||
//#define PROBING_HEATERS_OFF // Turn heaters off when probing
|
||||
//#define PROBING_FANS_OFF // Turn fans off when probing
|
||||
|
||||
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
|
||||
//#define SOLENOID_PROBE
|
||||
|
||||
@@ -1096,23 +1105,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 +1123,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 +1185,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 +1222,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 +1322,7 @@
|
||||
*/
|
||||
|
||||
//
|
||||
// This option reverses the encoder direction everywhere
|
||||
// This option reverses the encoder direction everywhere.
|
||||
//
|
||||
// Set this option if CLOCKWISE causes values to DECREASE
|
||||
//
|
||||
|
@@ -532,14 +532,14 @@
|
||||
/**
|
||||
* Default Axis Steps Per Unit (steps/mm)
|
||||
* Override with M92
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_AXIS_STEPS_PER_UNIT { XYZ_STEPS, XYZ_STEPS, XYZ_STEPS, 184.8 }
|
||||
|
||||
/**
|
||||
* Default Max Feed Rate (mm/s)
|
||||
* Override with M203
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_FEEDRATE { 200, 200, 200, 200 }
|
||||
|
||||
@@ -547,7 +547,7 @@
|
||||
* Default Max Acceleration (change/s) change = mm/s
|
||||
* (Maximum start speed for accelerated moves)
|
||||
* Override with M201
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_ACCELERATION { 9000, 9000, 9000, 9000 }
|
||||
|
||||
@@ -641,14 +641,23 @@
|
||||
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
|
||||
|
||||
/**
|
||||
* The BLTouch probe is a Hall effect sensor that emulates a servo.
|
||||
* The BLTouch probe uses a Hall effect sensor and emulates a servo.
|
||||
*/
|
||||
//#define BLTOUCH
|
||||
#if ENABLED(BLTOUCH)
|
||||
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
|
||||
//#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable if probing seems unreliable. Heaters and/or fans - consistent with the
|
||||
* options selected below - will be disabled during probing so as to minimize
|
||||
* potential EM interference by quieting/silencing the source of the 'noise' (the change
|
||||
* in current flowing through the wires). This is likely most useful to users of the
|
||||
* BLTouch probe, but may also help those with inductive or other probe types.
|
||||
*/
|
||||
//#define PROBING_HEATERS_OFF // Turn heaters off when probing
|
||||
//#define PROBING_FANS_OFF // Turn fans off when probing
|
||||
|
||||
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
|
||||
//#define SOLENOID_PROBE
|
||||
|
||||
@@ -1102,23 +1111,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 +1129,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 +1191,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 +1228,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 +1328,7 @@
|
||||
*/
|
||||
|
||||
//
|
||||
// This option reverses the encoder direction everywhere
|
||||
// This option reverses the encoder direction everywhere.
|
||||
//
|
||||
// Set this option if CLOCKWISE causes values to DECREASE
|
||||
//
|
||||
|
@@ -551,14 +551,14 @@
|
||||
/**
|
||||
* Default Axis Steps Per Unit (steps/mm)
|
||||
* Override with M92
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_AXIS_STEPS_PER_UNIT { XYZ_STEPS, XYZ_STEPS, XYZ_STEPS, 158 } // default steps per unit for PowerWasp
|
||||
|
||||
/**
|
||||
* Default Max Feed Rate (mm/s)
|
||||
* Override with M203
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_FEEDRATE { 200, 200, 200, 25 }
|
||||
|
||||
@@ -566,7 +566,7 @@
|
||||
* Default Max Acceleration (change/s) change = mm/s
|
||||
* (Maximum start speed for accelerated moves)
|
||||
* Override with M201
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_ACCELERATION { 9000, 9000, 9000, 10000 }
|
||||
|
||||
@@ -660,14 +660,23 @@
|
||||
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
|
||||
|
||||
/**
|
||||
* The BLTouch probe is a Hall effect sensor that emulates a servo.
|
||||
* The BLTouch probe uses a Hall effect sensor and emulates a servo.
|
||||
*/
|
||||
//#define BLTOUCH
|
||||
#if ENABLED(BLTOUCH)
|
||||
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
|
||||
//#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable if probing seems unreliable. Heaters and/or fans - consistent with the
|
||||
* options selected below - will be disabled during probing so as to minimize
|
||||
* potential EM interference by quieting/silencing the source of the 'noise' (the change
|
||||
* in current flowing through the wires). This is likely most useful to users of the
|
||||
* BLTouch probe, but may also help those with inductive or other probe types.
|
||||
*/
|
||||
//#define PROBING_HEATERS_OFF // Turn heaters off when probing
|
||||
//#define PROBING_FANS_OFF // Turn fans off when probing
|
||||
|
||||
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
|
||||
//#define SOLENOID_PROBE
|
||||
|
||||
@@ -1160,23 +1169,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 +1187,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 +1249,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 +1286,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 +1386,7 @@
|
||||
*/
|
||||
|
||||
//
|
||||
// This option reverses the encoder direction everywhere
|
||||
// This option reverses the encoder direction everywhere.
|
||||
//
|
||||
// Set this option if CLOCKWISE causes values to DECREASE
|
||||
//
|
||||
|
@@ -488,14 +488,14 @@
|
||||
/**
|
||||
* Default Axis Steps Per Unit (steps/mm)
|
||||
* Override with M92
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 96 }
|
||||
|
||||
/**
|
||||
* Default Max Feed Rate (mm/s)
|
||||
* Override with M203
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_FEEDRATE { 500, 500, 25, 25 }
|
||||
|
||||
@@ -503,7 +503,7 @@
|
||||
* Default Max Acceleration (change/s) change = mm/s
|
||||
* (Maximum start speed for accelerated moves)
|
||||
* Override with M201
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_ACCELERATION { 800, 800, 700, 10000 }
|
||||
|
||||
@@ -532,21 +532,51 @@
|
||||
#define DEFAULT_ZJERK 1.0
|
||||
#define DEFAULT_EJERK 4.0
|
||||
|
||||
//===========================================================================
|
||||
//============================= Z Probe Options =============================
|
||||
//===========================================================================
|
||||
// @section probes
|
||||
|
||||
//
|
||||
// See http://marlinfw.org/configuration/probes.html
|
||||
//
|
||||
|
||||
|
||||
/**
|
||||
* ===========================================================================
|
||||
* ============================= Z Probe Options =============================
|
||||
* ===========================================================================
|
||||
* @section probes
|
||||
* Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
|
||||
*
|
||||
* Enable this option for a probe connected to the Z Min endstop pin.
|
||||
*/
|
||||
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
|
||||
|
||||
|
||||
/**
|
||||
* Z_MIN_PROBE_ENDSTOP
|
||||
*
|
||||
* Enable this option for a probe connected to any pin except Z-Min.
|
||||
* (By default Marlin assumes the Z-Max endstop pin.)
|
||||
* To use a custom Z Probe pin, set Z_MIN_PROBE_PIN below.
|
||||
*
|
||||
* - The simplest option is to use a free endstop connector.
|
||||
* - Use 5V for powered (usually inductive) sensors.
|
||||
*
|
||||
* - RAMPS 1.3/1.4 boards may use the 5V, GND, and Aux4->D32 pin:
|
||||
* - For simple switches connect...
|
||||
* - normally-closed switches to GND and D32.
|
||||
* - normally-open switches to 5V and D32.
|
||||
*
|
||||
* WARNING: Setting the wrong pin may have unexpected and potentially
|
||||
* disastrous consequences. Use with caution and do your homework.
|
||||
*
|
||||
*/
|
||||
//#define Z_MIN_PROBE_ENDSTOP
|
||||
//#define Z_MIN_PROBE_PIN Z_MAX_PIN
|
||||
|
||||
/**
|
||||
* Probe Type
|
||||
* Probes are sensors/switches that are activated / deactivated before/after use.
|
||||
*
|
||||
* Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
|
||||
* You must activate one of these to use Auto Bed Leveling below.
|
||||
*
|
||||
* Use M851 to set the Z probe vertical offset from the nozzle. Store with M500.
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -569,11 +599,22 @@
|
||||
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
|
||||
|
||||
/**
|
||||
* The BLTouch probe is a Hall effect sensor that emulates a servo.
|
||||
* The BLTouch probe uses a Hall effect sensor and emulates a servo.
|
||||
*/
|
||||
#define BLTOUCH
|
||||
#define BLTOUCH_DELAY 500 // (ms) Enable and increase if needed
|
||||
#define BLTOUCH_HEATERS_OFF // if defined the printer's heaters are turned off during probe event
|
||||
#if ENABLED(BLTOUCH)
|
||||
#define BLTOUCH_DELAY 500 // (ms) Enable and increase if needed
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable if probing seems unreliable. Heaters and/or fans - consistent with the
|
||||
* options selected below - will be disabled during probing so as to minimize
|
||||
* potential EM interference by quieting/silencing the source of the 'noise' (the change
|
||||
* in current flowing through the wires). This is likely most useful to users of the
|
||||
* BLTouch probe, but may also help those with inductive or other probe types.
|
||||
*/
|
||||
//#define PROBING_HEATERS_OFF // Turn heaters off when probing
|
||||
//#define PROBING_FANS_OFF // Turn fans off when probing
|
||||
|
||||
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
|
||||
//#define SOLENOID_PROBE
|
||||
@@ -971,23 +1012,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 +1030,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 +1092,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 +1129,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 +1229,7 @@
|
||||
*/
|
||||
|
||||
//
|
||||
// This option reverses the encoder direction everywhere
|
||||
// This option reverses the encoder direction everywhere.
|
||||
//
|
||||
// Set this option if CLOCKWISE causes values to DECREASE
|
||||
//
|
||||
|
@@ -477,14 +477,14 @@
|
||||
/**
|
||||
* Default Axis Steps Per Unit (steps/mm)
|
||||
* Override with M92
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_AXIS_STEPS_PER_UNIT { 400, 400, 400, 163 } // default steps per unit for ***** MakiBox A6 *****
|
||||
|
||||
/**
|
||||
* Default Max Feed Rate (mm/s)
|
||||
* Override with M203
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_FEEDRATE { 60, 60, 20, 45 }
|
||||
|
||||
@@ -492,7 +492,7 @@
|
||||
* Default Max Acceleration (change/s) change = mm/s
|
||||
* (Maximum start speed for accelerated moves)
|
||||
* Override with M201
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_ACCELERATION { 2000, 2000, 30, 10000 }
|
||||
|
||||
@@ -586,14 +586,23 @@
|
||||
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
|
||||
|
||||
/**
|
||||
* The BLTouch probe is a Hall effect sensor that emulates a servo.
|
||||
* The BLTouch probe uses a Hall effect sensor and emulates a servo.
|
||||
*/
|
||||
//#define BLTOUCH
|
||||
#if ENABLED(BLTOUCH)
|
||||
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
|
||||
//#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable if probing seems unreliable. Heaters and/or fans - consistent with the
|
||||
* options selected below - will be disabled during probing so as to minimize
|
||||
* potential EM interference by quieting/silencing the source of the 'noise' (the change
|
||||
* in current flowing through the wires). This is likely most useful to users of the
|
||||
* BLTouch probe, but may also help those with inductive or other probe types.
|
||||
*/
|
||||
//#define PROBING_HEATERS_OFF // Turn heaters off when probing
|
||||
//#define PROBING_FANS_OFF // Turn fans off when probing
|
||||
|
||||
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
|
||||
//#define SOLENOID_PROBE
|
||||
|
||||
@@ -989,23 +998,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 +1016,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 +1078,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 +1115,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 +1215,7 @@
|
||||
*/
|
||||
|
||||
//
|
||||
// This option reverses the encoder direction everywhere
|
||||
// This option reverses the encoder direction everywhere.
|
||||
//
|
||||
// Set this option if CLOCKWISE causes values to DECREASE
|
||||
//
|
||||
|
@@ -464,7 +464,7 @@
|
||||
/**
|
||||
* Default Axis Steps Per Unit (steps/mm)
|
||||
* Override with M92
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_AXIS_STEPS_PER_UNIT { 71.1, 71.1, 2560, 600 } // David TVRR
|
||||
|
||||
@@ -475,7 +475,7 @@
|
||||
/**
|
||||
* Default Max Feed Rate (mm/s)
|
||||
* Override with M203
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_FEEDRATE { 500, 500, 5, 45 } // David TVRR
|
||||
|
||||
@@ -483,7 +483,7 @@
|
||||
* Default Max Acceleration (change/s) change = mm/s
|
||||
* (Maximum start speed for accelerated moves)
|
||||
* Override with M201
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_ACCELERATION { 9000, 9000, 100, 10000 }
|
||||
|
||||
@@ -579,14 +579,23 @@
|
||||
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
|
||||
|
||||
/**
|
||||
* The BLTouch probe is a Hall effect sensor that emulates a servo.
|
||||
* The BLTouch probe uses a Hall effect sensor and emulates a servo.
|
||||
*/
|
||||
//#define BLTOUCH
|
||||
#if ENABLED(BLTOUCH)
|
||||
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
|
||||
//#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable if probing seems unreliable. Heaters and/or fans - consistent with the
|
||||
* options selected below - will be disabled during probing so as to minimize
|
||||
* potential EM interference by quieting/silencing the source of the 'noise' (the change
|
||||
* in current flowing through the wires). This is likely most useful to users of the
|
||||
* BLTouch probe, but may also help those with inductive or other probe types.
|
||||
*/
|
||||
//#define PROBING_HEATERS_OFF // Turn heaters off when probing
|
||||
//#define PROBING_FANS_OFF // Turn fans off when probing
|
||||
|
||||
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
|
||||
//#define SOLENOID_PROBE
|
||||
|
||||
@@ -982,23 +991,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 +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)
|
||||
@@ -1068,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
|
||||
|
||||
//=============================================================================
|
||||
@@ -1103,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
|
||||
|
||||
//
|
||||
@@ -1202,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
|
||||
//
|
||||
|
@@ -479,14 +479,14 @@
|
||||
/**
|
||||
* Default Axis Steps Per Unit (steps/mm)
|
||||
* Override with M92
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_AXIS_STEPS_PER_UNIT { 71.699959, 71.699959, 71.699959, 100.470955 }
|
||||
|
||||
/**
|
||||
* Default Max Feed Rate (mm/s)
|
||||
* Override with M203
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_FEEDRATE { 83.333333, 83.333333, 19.5, 26.666666 }
|
||||
|
||||
@@ -494,7 +494,7 @@
|
||||
* Default Max Acceleration (change/s) change = mm/s
|
||||
* (Maximum start speed for accelerated moves)
|
||||
* Override with M201
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3]]]
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||
*/
|
||||
#define DEFAULT_MAX_ACCELERATION { 1200, 1200, 100, 10000 }
|
||||
|
||||
@@ -588,14 +588,23 @@
|
||||
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
|
||||
|
||||
/**
|
||||
* The BLTouch probe is a Hall effect sensor that emulates a servo.
|
||||
* The BLTouch probe uses a Hall effect sensor and emulates a servo.
|
||||
*/
|
||||
//#define BLTOUCH
|
||||
#if ENABLED(BLTOUCH)
|
||||
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
|
||||
//#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable if probing seems unreliable. Heaters and/or fans - consistent with the
|
||||
* options selected below - will be disabled during probing so as to minimize
|
||||
* potential EM interference by quieting/silencing the source of the 'noise' (the change
|
||||
* in current flowing through the wires). This is likely most useful to users of the
|
||||
* BLTouch probe, but may also help those with inductive or other probe types.
|
||||
*/
|
||||
//#define PROBING_HEATERS_OFF // Turn heaters off when probing
|
||||
//#define PROBING_FANS_OFF // Turn fans off when probing
|
||||
|
||||
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
|
||||
//#define SOLENOID_PROBE
|
||||
|
||||
@@ -991,23 +1000,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 +1018,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 +1080,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 +1117,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 +1217,7 @@
|
||||
*/
|
||||
|
||||
//
|
||||
// This option reverses the encoder direction everywhere
|
||||
// This option reverses the encoder direction everywhere.
|
||||
//
|
||||
// Set this option if CLOCKWISE causes values to DECREASE
|
||||
//
|
||||
|
@@ -52,9 +52,9 @@ void incremental_LSF(struct linear_fit_data *lsf, float x, float y, float z) {
|
||||
lsf->x2bar += sq(x);
|
||||
lsf->y2bar += sq(y);
|
||||
lsf->z2bar += sq(z);
|
||||
lsf->xybar += sq(x);
|
||||
lsf->xzbar += sq(x);
|
||||
lsf->yzbar += sq(y);
|
||||
lsf->xybar += x * y;
|
||||
lsf->xzbar += x * z;
|
||||
lsf->yzbar += y * z;
|
||||
lsf->max_absx = max(fabs(x), lsf->max_absx);
|
||||
lsf->max_absy = max(fabs(y), lsf->max_absy);
|
||||
lsf->n++;
|
||||
@@ -73,8 +73,9 @@ int finish_incremental_LSF(struct linear_fit_data *lsf) {
|
||||
lsf->yzbar = lsf->yzbar / N - lsf->ybar * lsf->zbar;
|
||||
lsf->xzbar = lsf->xzbar / N - lsf->xbar * lsf->zbar;
|
||||
const float DD = lsf->x2bar * lsf->y2bar - sq(lsf->xybar);
|
||||
|
||||
if (fabs(DD) <= 1e-10 * (lsf->max_absx + lsf->max_absy))
|
||||
return -1;
|
||||
return 1;
|
||||
|
||||
lsf->A = (lsf->yzbar * lsf->xybar - lsf->xzbar * lsf->y2bar) / DD;
|
||||
lsf->B = (lsf->xzbar * lsf->xybar - lsf->yzbar * lsf->x2bar) / DD;
|
||||
|
@@ -204,6 +204,14 @@ uint8_t Temperature::soft_pwm[HOTENDS];
|
||||
int Temperature::current_raw_filwidth = 0; //Holds measured filament diameter - one extruder only
|
||||
#endif
|
||||
|
||||
#if ENABLED(PROBING_HEATERS_OFF)
|
||||
bool Temperature::paused;
|
||||
int16_t Temperature::paused_hotend_temps[HOTENDS];
|
||||
#if HAS_TEMP_BED
|
||||
int16_t Temperature::paused_bed_temp;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if HAS_PID_HEATING
|
||||
|
||||
void Temperature::PID_autotune(float temp, int hotend, int ncycles, bool set_result/*=false*/) {
|
||||
@@ -1194,6 +1202,14 @@ void Temperature::init() {
|
||||
#endif
|
||||
}
|
||||
#endif //BED_MAXTEMP
|
||||
|
||||
#if ENABLED(PROBING_HEATERS_OFF)
|
||||
paused = false;
|
||||
ZERO(paused_hotend_temps);
|
||||
#if HAS_TEMP_BED
|
||||
paused_bed_temp = 0;
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
#if WATCH_HOTENDS
|
||||
@@ -1297,6 +1313,15 @@ void Temperature::disable_all_heaters() {
|
||||
HOTEND_LOOP() setTargetHotend(0, e);
|
||||
setTargetBed(0);
|
||||
|
||||
// Unpause and reset everything
|
||||
#if ENABLED(PROBING_HEATERS_OFF)
|
||||
paused = false;
|
||||
ZERO(paused_hotend_temps);
|
||||
#if HAS_TEMP_BED
|
||||
paused_bed_temp = 0;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// If all heaters go down then for sure our print job has stopped
|
||||
print_job_timer.stop();
|
||||
|
||||
@@ -1331,6 +1356,45 @@ void Temperature::disable_all_heaters() {
|
||||
#endif
|
||||
}
|
||||
|
||||
#if ENABLED(PROBING_HEATERS_OFF)
|
||||
void Temperature::pause(bool p) {
|
||||
if (p && paused) { // If called out of order something is wrong
|
||||
SERIAL_ERROR_START;
|
||||
SERIAL_ERRORLNPGM("Heaters already paused!");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!p && !paused) {
|
||||
SERIAL_ERROR_START;
|
||||
SERIAL_ERRORLNPGM("Heaters already unpaused!");
|
||||
return;
|
||||
}
|
||||
|
||||
if (p) {
|
||||
HOTEND_LOOP() {
|
||||
paused_hotend_temps[e] = degTargetHotend(e);
|
||||
setTargetHotend(0, e);
|
||||
}
|
||||
#if HAS_TEMP_BED
|
||||
paused_bed_temp = degTargetBed();
|
||||
setTargetBed(0);
|
||||
#endif
|
||||
}
|
||||
else {
|
||||
HOTEND_LOOP() setTargetHotend(paused_hotend_temps[e], e);
|
||||
#if HAS_TEMP_BED
|
||||
setTargetBed(paused_bed_temp);
|
||||
#endif
|
||||
}
|
||||
|
||||
paused = p;
|
||||
}
|
||||
|
||||
bool Temperature::ispaused() {
|
||||
return paused;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if ENABLED(HEATER_0_USES_MAX6675)
|
||||
|
||||
#define MAX6675_HEAT_INTERVAL 250u
|
||||
|
@@ -259,6 +259,15 @@ class Temperature {
|
||||
static int current_raw_filwidth; //Holds measured filament diameter - one extruder only
|
||||
#endif
|
||||
|
||||
#if ENABLED(PROBING_HEATERS_OFF)
|
||||
static bool paused;
|
||||
static int16_t paused_hotend_temps[HOTENDS];
|
||||
|
||||
#if HAS_TEMP_BED
|
||||
static int16_t paused_bed_temp;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
public:
|
||||
|
||||
/**
|
||||
@@ -346,6 +355,7 @@ class Temperature {
|
||||
#endif
|
||||
return target_temperature[HOTEND_INDEX];
|
||||
}
|
||||
|
||||
static int16_t degTargetBed() { return target_temperature_bed; }
|
||||
|
||||
#if WATCH_HOTENDS
|
||||
@@ -356,7 +366,7 @@ class Temperature {
|
||||
static void start_watching_bed();
|
||||
#endif
|
||||
|
||||
static void setTargetHotend(const int16_t &celsius, uint8_t e) {
|
||||
static void setTargetHotend(const int16_t celsius, uint8_t e) {
|
||||
#if HOTENDS == 1
|
||||
UNUSED(e);
|
||||
#endif
|
||||
@@ -372,7 +382,7 @@ class Temperature {
|
||||
#endif
|
||||
}
|
||||
|
||||
static void setTargetBed(const int16_t &celsius) {
|
||||
static void setTargetBed(const int16_t celsius) {
|
||||
target_temperature_bed = celsius;
|
||||
#if WATCH_THE_BED
|
||||
start_watching_bed();
|
||||
@@ -451,6 +461,11 @@ class Temperature {
|
||||
|
||||
#endif // BABYSTEPPING
|
||||
|
||||
#if ENABLED(PROBING_HEATERS_OFF)
|
||||
static void pause(bool p);
|
||||
static bool ispaused();
|
||||
#endif
|
||||
|
||||
private:
|
||||
|
||||
static void set_current_temp_raw();
|
||||
|
20
Marlin/ubl.cpp
Executable file → Normal file
20
Marlin/ubl.cpp
Executable file → Normal file
@@ -50,13 +50,6 @@
|
||||
safe_delay(10);
|
||||
}
|
||||
|
||||
static void serial_echo_mspaces(const uint8_t cnt) {
|
||||
for (uint8_t i = GRID_MAX_POINTS_X - 1; --i;) {
|
||||
SERIAL_ECHO_SP((uint8_t)cnt);
|
||||
safe_delay(10);
|
||||
}
|
||||
}
|
||||
|
||||
ubl_state unified_bed_leveling::state;
|
||||
|
||||
float unified_bed_leveling::z_values[GRID_MAX_POINTS_X][GRID_MAX_POINTS_Y],
|
||||
@@ -143,17 +136,16 @@
|
||||
|
||||
void unified_bed_leveling::display_map(const int map_type) {
|
||||
const bool map0 = map_type == 0;
|
||||
const uint8_t spaces = 9;
|
||||
constexpr uint8_t spaces = 11 * (GRID_MAX_POINTS_X - 2);
|
||||
|
||||
if (map0) {
|
||||
SERIAL_PROTOCOLLNPGM("\nBed Topography Report:\n");
|
||||
serial_echo_xy(0, GRID_MAX_POINTS_Y - 1);
|
||||
SERIAL_ECHO_SP(3);
|
||||
serial_echo_mspaces(spaces);
|
||||
SERIAL_ECHO_SP(spaces + 3);
|
||||
serial_echo_xy(GRID_MAX_POINTS_X - 1, GRID_MAX_POINTS_Y - 1);
|
||||
SERIAL_EOL;
|
||||
serial_echo_xy(UBL_MESH_MIN_X, UBL_MESH_MAX_Y);
|
||||
serial_echo_mspaces(spaces);
|
||||
SERIAL_ECHO_SP(spaces - 3);
|
||||
serial_echo_xy(UBL_MESH_MAX_X, UBL_MESH_MAX_Y);
|
||||
SERIAL_EOL;
|
||||
}
|
||||
@@ -198,13 +190,11 @@
|
||||
|
||||
if (map0) {
|
||||
serial_echo_xy(UBL_MESH_MIN_X, UBL_MESH_MIN_Y);
|
||||
SERIAL_ECHO_SP(4);
|
||||
serial_echo_mspaces(spaces);
|
||||
SERIAL_ECHO_SP(spaces + 1);
|
||||
serial_echo_xy(UBL_MESH_MAX_X, UBL_MESH_MIN_Y);
|
||||
SERIAL_EOL;
|
||||
serial_echo_xy(0, 0);
|
||||
SERIAL_ECHO_SP(5);
|
||||
serial_echo_mspaces(spaces);
|
||||
SERIAL_ECHO_SP(spaces + 5);
|
||||
serial_echo_xy(GRID_MAX_POINTS_X - 1, 0);
|
||||
SERIAL_EOL;
|
||||
}
|
||||
|
@@ -311,17 +311,16 @@
|
||||
#define USE_PROBE_AS_REFERENCE 1
|
||||
|
||||
// The simple parameter flags and values are 'static' so parameter parsing can be in a support routine.
|
||||
static int g29_verbose_level, phase_value = -1, repetition_cnt,
|
||||
static int g29_verbose_level, phase_value, repetition_cnt,
|
||||
storage_slot = 0, map_type, grid_size;
|
||||
static bool repeat_flag, c_flag, x_flag, y_flag;
|
||||
static float x_pos, y_pos, measured_z, card_thickness = 0.0, ubl_constant = 0.0;
|
||||
|
||||
extern void lcd_setstatus(const char* message, const bool persist);
|
||||
extern void lcd_setstatuspgm(const char* message, const uint8_t level);
|
||||
extern void lcd_setstatus(const char* message, const bool persist);
|
||||
extern void lcd_setstatuspgm(const char* message, const uint8_t level);
|
||||
|
||||
void __attribute__((optimize("O0"))) gcode_G29() {
|
||||
|
||||
|
||||
if (ubl.eeprom_start < 0) {
|
||||
SERIAL_PROTOCOLLNPGM("?You need to enable your EEPROM and initialize it");
|
||||
SERIAL_PROTOCOLLNPGM("with M502, M500, M501 in that order.\n");
|
||||
@@ -384,21 +383,17 @@
|
||||
}
|
||||
|
||||
if (code_seen('J')) {
|
||||
if (!WITHIN(grid_size, 2, 9)) {
|
||||
SERIAL_PROTOCOLLNPGM("ERROR - grid size must be between 2 and 9");
|
||||
return;
|
||||
}
|
||||
ubl.save_ubl_active_state_and_disable();
|
||||
ubl.tilt_mesh_based_on_probed_grid(code_seen('O') || code_seen('M'));
|
||||
ubl.restore_ubl_active_state_and_leave();
|
||||
}
|
||||
|
||||
if (code_seen('P')) {
|
||||
phase_value = code_value_int();
|
||||
if (!WITHIN(phase_value, 0, 7)) {
|
||||
SERIAL_PROTOCOLLNPGM("Invalid Phase value. (0-4)\n");
|
||||
return;
|
||||
if (WITHIN(phase_value, 0, 1) && ubl.state.eeprom_storage_slot == -1) {
|
||||
ubl.state.eeprom_storage_slot = 0;
|
||||
SERIAL_PROTOCOLLNPGM("Default storage slot 0 selected.\n");
|
||||
}
|
||||
|
||||
switch (phase_value) {
|
||||
case 0:
|
||||
//
|
||||
@@ -420,7 +415,7 @@
|
||||
SERIAL_PROTOCOLPAIR("Probing Mesh Points Closest to (", x_pos);
|
||||
SERIAL_PROTOCOLCHAR(',');
|
||||
SERIAL_PROTOCOL(y_pos);
|
||||
SERIAL_PROTOCOLLNPGM(")\n");
|
||||
SERIAL_PROTOCOLLNPGM(").\n");
|
||||
}
|
||||
ubl.probe_entire_mesh(x_pos + X_PROBE_OFFSET_FROM_EXTRUDER, y_pos + Y_PROBE_OFFSET_FROM_EXTRUDER,
|
||||
code_seen('O') || code_seen('M'), code_seen('E'), code_seen('U'));
|
||||
@@ -460,7 +455,7 @@
|
||||
}
|
||||
}
|
||||
manually_probe_remaining_mesh(x_pos, y_pos, height, card_thickness, code_seen('O') || code_seen('M'));
|
||||
SERIAL_PROTOCOLLNPGM("G29 P2 finished");
|
||||
SERIAL_PROTOCOLLNPGM("G29 P2 finished.");
|
||||
|
||||
} break;
|
||||
|
||||
@@ -757,8 +752,6 @@
|
||||
}
|
||||
|
||||
void unified_bed_leveling::tilt_mesh_based_on_3pts(const float &z1, const float &z2, const float &z3) {
|
||||
int i, j;
|
||||
|
||||
matrix_3x3 rotation;
|
||||
vector_3 v1 = vector_3( (UBL_PROBE_PT_1_X - UBL_PROBE_PT_2_X),
|
||||
(UBL_PROBE_PT_1_Y - UBL_PROBE_PT_2_Y),
|
||||
@@ -892,14 +885,14 @@
|
||||
//, min(planner.max_feedrate_mm_s[X_AXIS], planner.max_feedrate_mm_s[Y_AXIS]) / 2.0);
|
||||
|
||||
stepper.synchronize();
|
||||
SERIAL_PROTOCOLPGM("Place shim under nozzle");
|
||||
SERIAL_PROTOCOLPGM("Place shim under nozzle.");
|
||||
say_and_take_a_measurement();
|
||||
|
||||
const float z1 = use_encoder_wheel_to_measure_point();
|
||||
do_blocking_move_to_z(current_position[Z_AXIS] + SIZE_OF_LITTLE_RAISE);
|
||||
stepper.synchronize();
|
||||
|
||||
SERIAL_PROTOCOLPGM("Remove shim");
|
||||
SERIAL_PROTOCOLPGM("Remove shim.");
|
||||
say_and_take_a_measurement();
|
||||
|
||||
const float z2 = use_encoder_wheel_to_measure_point();
|
||||
@@ -1039,14 +1032,22 @@
|
||||
|
||||
g29_verbose_level = code_seen('V') ? code_value_int() : 0;
|
||||
if (!WITHIN(g29_verbose_level, 0, 4)) {
|
||||
SERIAL_PROTOCOLLNPGM("?(V)erbose Level is implausible (0-4)\n");
|
||||
SERIAL_PROTOCOLLNPGM("?(V)erbose level is implausible (0-4).\n");
|
||||
err_flag = true;
|
||||
}
|
||||
|
||||
if (code_seen('P')) {
|
||||
phase_value = code_value_int();
|
||||
if (!WITHIN(phase_value, 0, 6)) {
|
||||
SERIAL_PROTOCOLLNPGM("?(P)hase value invalid (0-6).\n");
|
||||
err_flag = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (code_seen('J')) {
|
||||
grid_size = code_has_value() ? code_value_int() : 3;
|
||||
if (!WITHIN(grid_size, 2, 5)) {
|
||||
SERIAL_PROTOCOLLNPGM("Invalid grid probe points specified.\n");
|
||||
if (!WITHIN(grid_size, 2, 9)) {
|
||||
SERIAL_PROTOCOLLNPGM("?Invalid grid size (J) specified (2-9).\n");
|
||||
err_flag = true;
|
||||
}
|
||||
}
|
||||
@@ -1056,12 +1057,12 @@
|
||||
err_flag = true;
|
||||
}
|
||||
|
||||
if (!WITHIN(RAW_X_POSITION(x_pos), UBL_MESH_MIN_X, UBL_MESH_MAX_X)) {
|
||||
if (!WITHIN(RAW_X_POSITION(x_pos), X_MIN_POS, X_MAX_POS)) {
|
||||
SERIAL_PROTOCOLLNPGM("Invalid X location specified.\n");
|
||||
err_flag = true;
|
||||
}
|
||||
|
||||
if (!WITHIN(RAW_Y_POSITION(y_pos), UBL_MESH_MIN_Y, UBL_MESH_MAX_Y)) {
|
||||
if (!WITHIN(RAW_Y_POSITION(y_pos), Y_MIN_POS, Y_MAX_POS)) {
|
||||
SERIAL_PROTOCOLLNPGM("Invalid Y location specified.\n");
|
||||
err_flag = true;
|
||||
}
|
||||
@@ -1607,7 +1608,10 @@
|
||||
zig_zag ^= true;
|
||||
}
|
||||
|
||||
const int status = finish_incremental_LSF(&lsf_results);
|
||||
if (finish_incremental_LSF(&lsf_results)) {
|
||||
SERIAL_ECHOPGM("Could not complete LSF!");
|
||||
return;
|
||||
}
|
||||
|
||||
if (g29_verbose_level > 3) {
|
||||
SERIAL_ECHOPGM("LSF Results A=");
|
||||
|
@@ -225,7 +225,8 @@
|
||||
const float e_normalized_dist = e_position / on_axis_distance,
|
||||
z_normalized_dist = z_position / on_axis_distance;
|
||||
|
||||
int current_xi = cell_start_xi, current_yi = cell_start_yi;
|
||||
int current_xi = cell_start_xi,
|
||||
current_yi = cell_start_yi;
|
||||
|
||||
const float m = dy / dx,
|
||||
c = start[Y_AXIS] - m * start[X_AXIS];
|
||||
|
194
README.md
194
README.md
@@ -1,140 +1,86 @@
|
||||
# Marlin 3D Printer Firmware
|
||||
<img align="right" src="../../raw/1.1.x/buildroot/share/pixmaps/logo/marlin-250.png" />
|
||||
|
||||
## Marlin 1.1
|
||||
|
||||
Marlin 1.1 represents an evolutionary leap over Marlin 1.0.2. It is the result of over two years of effort by several volunteers around the world who have paid meticulous and sometimes obsessive attention to every detail. For this release we focused on code quality, performance, stability, and overall user experience. Several new features have also been added, many of which require no extra hardware.
|
||||
|
||||
For complete Marlin documentation click over to the [Marlin Homepage <marlinfw.org>](http://marlinfw.org/), where you will find in-depth articles, how-to videos, and tutorials on every aspect of Marlin, as the site develops. For release notes, see the [Releases](https://github.com/MarlinFirmware/Marlin/releases) page.
|
||||
|
||||
## Stable Release Branch
|
||||
|
||||
This Release branch contains the latest tagged version of Marlin (currently 1.1.1 – May 2017).
|
||||
|
||||
Previous releases of Marlin include [1.0.2-2](https://github.com/MarlinFirmware/Marlin/tree/1.0.2-2) (December 2016) and [1.0.1](https://github.com/MarlinFirmware/Marlin/tree/1.0.1) (December 2014). Any version of Marlin prior to 1.0.1 (when we started tagging versions) can be collectively referred to as Marlin 1.0.0.
|
||||
|
||||
## Contributing to Marlin
|
||||
|
||||
Click on the [Issue Queue](https://github.com/MarlinFirmware/Marlin/issues) and [Pull Requests](https://github.com/MarlinFirmware/Marlin/pulls) links above at any time to see what we're currently working on.
|
||||
|
||||
To submit patches and new features for Marlin 1.1 check out the [bugfix-1.1.x](https://github.com/MarlinFirmware/Marlin/tree/bugfix-1.1.x) branch, add your commits, and submit a Pull Request back to the `bugfix-1.1.x` branch. Periodically that branch will form the basis for the next minor release.
|
||||
|
||||
Note that our "bugfix" branch will always contain the latest patches to the current release version. These patches may not be widely tested. As always, when using "nightly" builds of Marlin, proceed with full caution.
|
||||
|
||||
## Current Status: In Development
|
||||
|
||||
Marlin development has reached an important milestone with its first stable release in over 2 years. During this period we focused on cleaning up the code and making it more modern, consistent, readable, and sensible.
|
||||
|
||||
## Future Development
|
||||
|
||||
Marlin 1.1 is the last "flat" version of Marlin!
|
||||
|
||||
Arduino IDE now has support for folder hierarchies, so Marlin 1.2 will have a [hierarchical file structure](https://github.com/MarlinFirmware/Marlin/tree/breakup-marlin-idea). Marlin's newly reorganized code will be easier to work with and form a stronger starting-point as we get into [32-bit CPU support](https://github.com/MarlinFirmware/Marlin/tree/32-Bit-RCBugFix-new) and the Hardware Access Layer (HAL).
|
||||
|
||||
[](https://travis-ci.org/MarlinFirmware/Marlin)
|
||||
[](https://scan.coverity.com/projects/2224)
|
||||
[](https://travis-ci.org/MarlinFirmware/Marlin)
|
||||
|
||||
<img align="top" width=175 src="buildroot/share/pixmaps/logo/marlin-250.png" />
|
||||
## Marlin Resources
|
||||
|
||||
Additional documentation can be found at [The Marlin Documentation Project](https://www.marlinfw.org/).
|
||||
Please test this firmware and inform us if it misbehaves in any way, volunteers are standing by!
|
||||
|
||||
## Release Candidate -- Marlin 1.1.0-RCBugFix - 6 Dec 2016
|
||||
|
||||
__Not for production use – use with caution!__
|
||||
|
||||
You can download earlier versions of Marlin on the [Releases page](https://github.com/MarlinFirmware/Marlin/releases). (The latest "stable" release of Marlin is 1.0.2-1.)
|
||||
|
||||
The latest Release Candidate lives in the ["RC" branch](https://github.com/MarlinFirmware/Marlin/tree/RC). Bugs that we find in the current Release Candidate are patched in the ["RCBugFix" branch](https://github.com/MarlinFirmware/Marlin/tree/RCBugFix), so during beta testing this is where you can always find the latest code on its way towards release.
|
||||
|
||||
## Recent Changes
|
||||
- RCBugFix
|
||||
- Fixed broken MBL
|
||||
- M600 heater timeout option
|
||||
|
||||
- RC8 - 06 Dec 2016
|
||||
- Major performance improvement for Graphical LCDs
|
||||
- Simplified probe configuration
|
||||
- Enable Auto Bed Leveling by type
|
||||
- Reduce serial communication errors
|
||||
- Make Bilinear (Mesh) Grid Leveling available for non-delta
|
||||
- Support for Trinamic TMC2130 SilentStepStick SPI-based drivers
|
||||
- Add `M211` to Enable/Disable Software Endstops
|
||||
- Add `M355` to turn the case light on/off and set brightness
|
||||
- Improved I2C class with full master/slave support
|
||||
- Add `G38.2` `G38.3` command option for CNC style probing
|
||||
- Add `MINIMUM_STEPPER_PULSE` option to adjust step pulse duration
|
||||
- Add `R` parameter support for `G2`/`G3`
|
||||
- Add `M43` optional command (`PINS_DEBUGGING`)
|
||||
- Remove SCARA axis scaling
|
||||
- Improved sanity checking of configuration
|
||||
- Improved support for PlatformIO and command-line build
|
||||
- Usable `DELTA_CALIBRATION_MENU`
|
||||
- Support for Printrbot Rev.F
|
||||
- New and updated languages
|
||||
|
||||
- RC7 - 26 Jul 2016
|
||||
- Add Print Job Timer and Print Counter (`PRINTCOUNTER`)
|
||||
- New `M600` Filament Change (`FILAMENT_CHANGE_FEATURE`)
|
||||
- New `G12` Nozzle Clean (`NOZZLE_CLEAN_FEATURE`)
|
||||
- New `G27` Nozzle Park (`NOZZLE_PARK_FEATURE`)
|
||||
- Add support for `COREYZ`
|
||||
- Add a new Advance Extrusion algorithm (`LIN_ADVANCE`)
|
||||
- Add support for inches, Fahrenheit, Kelvin units (`INCH_MODE_SUPPORT`, `TEMPERATURE_UNITS_SUPPORT`)
|
||||
- Better handling of `G92` shifting of the coordinate space
|
||||
- Add Greek and Croatian languages
|
||||
- Improve the Manual (Mesh) Bed Leveling user interface
|
||||
- Add support for more boards, controllers, and probes:
|
||||
- Vellemann K8400 (`BOARD_K8400`)
|
||||
- RigidBot V2 (`BOARD_RIGIDBOARD_V2`)
|
||||
- Cartesio UI (`BOARD_CNCONTROLS_12`)
|
||||
- BLTouch probe sensor (`BLTOUCH`)
|
||||
- Viki 2 with RAMPS and MKS boards
|
||||
- Improve support for `DELTA` and other kinematics
|
||||
- Improve thermal management, add `WATCH_BED_TEMP_PERIOD`
|
||||
- Better handling of toolchange, multiple tools
|
||||
- Add support for two X steppers `X_DUAL_STEPPER_DRIVERS`
|
||||
- Add support for `SINGLENOZZLE`, `MIXING_EXTRUDER`, and `SWITCHING_EXTRUDER`
|
||||
- Simplified probe configuration, allow usage without bed leveling
|
||||
- And much more… See the [1.1.0-RC7 Change Log](https://github.com/MarlinFirmware/Marlin/releases/tag/1.1.0-RC7) for the complete list of changes.
|
||||
|
||||
- RC6 - 24 Apr 2016
|
||||
- Marlin now requires Arduino version 1.6.0 or later
|
||||
- Completed support for CoreXY / CoreXZ
|
||||
- See the [1.1.0-RC6 Change Log](https://github.com/MarlinFirmware/Marlin/releases/tag/1.1.0-RC6) for all the changes.
|
||||
|
||||
- RC5 - 01 Apr 2016
|
||||
- Warn if compiling with older versions (<1.50) of Arduino
|
||||
- Fix various LCD menu issues
|
||||
- Add formal support for MKSv1.3 and Sainsmart (RAMPS variants)
|
||||
- Fix bugs in M104, M109, and M190
|
||||
- Fix broken M404 command
|
||||
- Fix issues with M23 and "Start SD Print"
|
||||
- More output for M111
|
||||
- Rename FILAMENT_SENSOR to FILAMENT_WIDTH_SENSOR
|
||||
- Fix SD card bugs
|
||||
- and a lot more
|
||||
- See the [1.1.0-RC5 Change Log](https://github.com/MarlinFirmware/Marlin/releases/tag/1.1.0-RC5) for more!
|
||||
|
||||
- RC4 - 24 Mar 2016
|
||||
- Many lingering bugs and nagging issues addressed
|
||||
- Improvements to LCD menus, CoreXY/CoreXZ, Delta, Bed Leveling, and more…
|
||||
|
||||
- RC3 - 01 Dec 2015
|
||||
- A number of language sensitive strings have been revised
|
||||
- Formatting of the LCD display has been improved to handle negative coordinates better
|
||||
- Various compiler-related issues have been corrected
|
||||
|
||||
- RC2 - 29 Sep 2015
|
||||
- File styling reverted
|
||||
- LCD update frequency reduced
|
||||
|
||||
- RC1 - 19 Sep 2015
|
||||
- Published for testing
|
||||
|
||||
## Submitting Patches
|
||||
Proposed patches should be submitted as a Pull Request against the [RCBugFix](https://github.com/MarlinFirmware/Marlin/tree/RCBugFix) branch.
|
||||
|
||||
- Don't submit new feature proposals. The RCBugFix branch is for fixing bugs in existing features.
|
||||
- Do submit questions and concerns. The "naive" question is often the one we forget to ask.
|
||||
- Follow the proper coding style. Pull requests with styling errors will be delayed. See our [Coding Standards](https://github.com/MarlinFirmware/Marlin/wiki/DNE-Coding-Standards) page for more information.
|
||||
|
||||
### [RepRap.org Wiki Page](http://reprap.org/wiki/Marlin)
|
||||
- [Marlin Home Page](http://marlinfw.org/) - The Marlin Documentation Project. Join us!
|
||||
- [RepRap.org Wiki Page](http://reprap.org/wiki/Marlin) - An overview of Marlin and its role in RepRap.
|
||||
- [Marlin Firmware Forum](http://forums.reprap.org/list.php?415) - Find help with configuration, get up and running.
|
||||
- [@MarlinFirmware](https://twitter.com/MarlinFirmware) on Twitter - Follow for news, release alerts, and tips & tricks. (Maintained by [@thinkyhead](https://github.com/thinkyhead).)
|
||||
|
||||
## Credits
|
||||
|
||||
The current Marlin dev team consists of:
|
||||
|
||||
- Scott Lahteine [@thinkyhead] - English
|
||||
- [@Wurstnase] - Deutsch, English
|
||||
- F. Malpartida [@fmalpartida] - English, Spanish
|
||||
- Jochen Groppe [@CONSULitAS] - Deutsch, English
|
||||
- [@maverikou]
|
||||
- Chris Palmer [@nophead]
|
||||
- [@paclema]
|
||||
- Edward Patel [@epatel] - Swedish, English
|
||||
- Erik van der Zalm [@ErikZalm]
|
||||
- David Braam [@daid]
|
||||
- Bernhard Kubicek [@bkubicek]
|
||||
- Roxanne Neufeld [@Roxy-3DPrintBoard] - English
|
||||
- Roxanne Neufeld [[@Roxy-3D](https://github.com/Roxy-3D)] - English
|
||||
- Scott Lahteine [[@thinkyhead](https://github.com/thinkyhead)] - English
|
||||
- Bob Kuhn [[@Bob-the-Kuhn](https://github.com/Bob-the-Kuhn)] - English
|
||||
- Andreas Hardtung [[@AnHardt](https://github.com/AnHardt)] - Deutsch, English
|
||||
- Nico Tonnhofer [[@Wurstnase](https://github.com/Wurstnase)] - Deutsch, English
|
||||
- Jochen Groppe [[@CONSULitAS](https://github.com/CONSULitAS)] - Deutsch, English
|
||||
- João Brazio [[@jbrazio](https://github.com/jbrazio)] - Portuguese, English
|
||||
- Bo Hermannsen [[@boelle](https://github.com/boelle)] - Danish, English
|
||||
- Bob Cousins [[@bobc](https://github.com/bobc)] - English
|
||||
- [[@maverikou](https://github.com/maverikou)]
|
||||
- Chris Palmer [[@nophead](https://github.com/nophead)]
|
||||
- [[@paclema](https://github.com/paclema)]
|
||||
- Erik van der Zalm [[@ErikZalm](https://github.com/ErikZalm)]
|
||||
- David Braam [[@daid](https://github.com/daid)]
|
||||
- Bernhard Kubicek [[@bkubicek](https://github.com/bkubicek)]
|
||||
|
||||
More features have been added by:
|
||||
- Alberto Cotronei [@MagoKimbra]
|
||||
- Lampmaker,
|
||||
- Bradley Feldman,
|
||||
- and others...
|
||||
- Alberto Cotronei [[@MagoKimbra](https://github.com/MagoKimbra)] - English, Italian
|
||||
- Thomas Moore [[@tcm0116](https://github.com/tcm0116)]
|
||||
- Ernesto Martinez [[@emartinez167](https://github.com/emartinez167)]
|
||||
- Petr Zahradnik [[@clexpert](https://github.com/clexpert)]
|
||||
- Kai [[@Kaibob2](https://github.com/Kaibob2)]
|
||||
- Edward Patel [[@epatel](https://github.com/epatel)]
|
||||
- F. Malpartida [[@fmalpartida](https://github.com/fmalpartida)] - English, Spanish
|
||||
- [[@esenapaj](https://github.com/esenapaj)] - English, Japanese
|
||||
- [[@benlye](https://github.com/benlye)]
|
||||
- [[@Tannoo](https://github.com/Tannoo)]
|
||||
- [[@teemuatlut](https://github.com/teemuatlut)]
|
||||
- [[@bgort](https://github.com/bgort)]
|
||||
- [[@LVD-AC](https://github.com/LVD-AC)]
|
||||
- [[@paulusjacobus](https://github.com/paulusjacobus)]
|
||||
- ...and many others
|
||||
|
||||
## License
|
||||
|
||||
Marlin is published under the [GPL license](/LICENSE) because we believe in open development. The GPL comes with both rights and obligations. Whether you use Marlin firmware as the driver for your open or closed-source product, you must keep Marlin open, and you must provide your compatible Marlin source code to end users upon request. The most straightforward way to comply with the Marlin license is to make a fork of Marlin on Github, perform your modifications, and direct users to your modified fork.
|
||||
Marlin is published under the [GPL license](https://github.com/COPYING.md) because we believe in open development. The GPL comes with both rights and obligations. Whether you use Marlin firmware as the driver for your open or closed-source product, you must keep Marlin open, and you must provide your compatible Marlin source code to end users upon request. The most straightforward way to comply with the Marlin license is to make a fork of Marlin on Github, perform your modifications, and direct users to your modified fork.
|
||||
|
||||
While we can't prevent the use of this code in products (3D printers, CNC, etc.) that are closed source or crippled by a patent, we would prefer that you choose another firmware or, better yet, make your own.
|
||||
|
||||
[](https://flattr.com/submit/auto?user_id=ErikZalm&url=https://github.com/MarlinFirmware/Marlin&title=Marlin&language=&tags=github&category=software)
|
||||
|
60
buildroot/share/git/README.md
Executable file
60
buildroot/share/git/README.md
Executable file
@@ -0,0 +1,60 @@
|
||||
## Marlin Github Helper Scripts
|
||||
|
||||
### Introduction
|
||||
|
||||
A Pull Request is often just the start of a longer process of patching and refining the code until it's ready to merge. In that process it's common to accumulate a lot of commits, some of which are non-functional. Before merging any PR, excess commits need to be "squashed" and sometimes rearranged or reworked to produce a well-packaged set of changes and keep the commit history relatively clean.
|
||||
|
||||
In addition, while a PR is being worked on other commits may be merged, leading to conflicts that need resolution. For this reason, it's a best practice to periodically refresh the PR so the working copy closely reflects the final merge.
|
||||
|
||||
#### Merge vs Rebase
|
||||
|
||||
I recommend not using Github Desktop to sync and merge. Use the command line instead. Github Desktop provides a "merge" option, but for best results "`git rebase`" is recommended. Merge applies new work after your commits. This buries them and makes it hard to bring them together as a final packaged unit. Rebase moves your commits to the end of the branch, ensuring that your commits will be adapted to the current code. This makes it easier to keep revising the commits in-place.
|
||||
|
||||
### The Scripts
|
||||
|
||||
The following scripts can be used on macOS or Linux to speed up the process of working with Marlin and submitting changes to the project.
|
||||
|
||||
#### Remotes
|
||||
|
||||
File|Description
|
||||
----|-----------
|
||||
mfadd [user]|Add Remote - Add another Github user's fork of Marlin as a remote, then fetch it. After this you can check out one of their branches and either make a PR targeted at their fork or targeted at `bugfix-1.1.x`.
|
||||
mfinit|Init Working Copy - Creates a remote named '`upstream`' (for use by the other scripts) pointing to the '`MarlinFirmware`' fork. Use once after checking out your fork.
|
||||
|
||||
|
||||
#### Branches
|
||||
|
||||
File|Description
|
||||
----|-----------
|
||||
mfnew [branch]|New Branch - Creates a new branch based on `upstream/[PR-target]`. All new work should start here.
|
||||
firstpush|Push the current branch to 'origin' -your fork on Github- and set it to track '`origin`'. The branch needs to reside on Github before you can use it to make a PR.
|
||||
|
||||
|
||||
#### Making / Amending PRs
|
||||
|
||||
File|Description
|
||||
----|-----------
|
||||
mfpr|Pull Request - Open the Compare / Pull Request page on Github for the current branch.
|
||||
mfrb|Do a `git rebase` then `git rebase -i` of the current branch onto `upstream/[PR-target]`. Use this to edit your commits anytime.
|
||||
mfqp|Quick Patch - Commit all current changes as "patch", `mfrb`, and `git push -f`.
|
||||
|
||||
#### Documentation
|
||||
|
||||
File|Description
|
||||
----|-----------
|
||||
mfdoc|Build the documentation and preview it locally.
|
||||
mfpub|Build the documentation and publish it to marlinfw.org via Github.
|
||||
|
||||
#### Utilities
|
||||
|
||||
File|Description
|
||||
----|-----------
|
||||
ghtp -[h/s]|Set the protocol to use for all remotes. -h for HTTPS, -s for SSL.
|
||||
mfinfo|This utility script is used by the other scripts to get:<br/>- The upstream project ('`MarlinFirmware`')<br/>- the '`origin`' project (i.e., your Github username),<br/>- the repository name ('`Marlin`'),<br/>- the PR target branch ('`bugfix-1.1.x`'), and<br/>- the current branch (or the first command-line argument).<br/><br/>By itself, `mfinfo` simply prints these values to the console.
|
||||
mfclean |Prune your merged and remotely-deleted branches.
|
||||
|
||||
---
|
||||
|
||||
### Examples
|
||||
|
||||
Coming Soon!
|
@@ -1,22 +1,24 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# mfprune
|
||||
# mfclean
|
||||
#
|
||||
# Prune all your merged branches and any branches whose remotes are gone
|
||||
# Great way to clean up your branches after messing around a lot
|
||||
#
|
||||
|
||||
KEEP="RC|RCBugFix|dev|master|bugfix-1"
|
||||
|
||||
echo "Fetching latest upstream and origin..."
|
||||
git fetch upstream
|
||||
git fetch origin
|
||||
echo
|
||||
|
||||
echo "Pruning Merged Branches..."
|
||||
git branch --merged | egrep -v "^\*|RC|RCBugFix|dev" | xargs -n 1 git branch -d
|
||||
git branch --merged | egrep -v "^\*|$KEEP" | xargs -n 1 git branch -d
|
||||
echo
|
||||
|
||||
echo "Pruning Remotely-deleted Branches..."
|
||||
git branch -vv | egrep -v "^\*|RC|RCBugFix|dev" | grep ': gone]' | gawk '{print $1}' | xargs -n 1 git branch -D
|
||||
git branch -vv | egrep -v "^\*|$KEEP" | grep ': gone]' | gawk '{print $1}' | xargs -n 1 git branch -D
|
||||
echo
|
||||
|
||||
echo "You may want to remove (or checkout) these refs..."
|
@@ -37,7 +37,7 @@ opensite() {
|
||||
echo "Previewing MarlinDocumentation..."
|
||||
|
||||
# wait to open the url for about 8s
|
||||
( sleep 8; opensite ) &
|
||||
( sleep 45; opensite ) &
|
||||
|
||||
bundle exec jekyll serve --watch --incremental
|
||||
|
||||
|
@@ -25,7 +25,7 @@ if [[ $ORG != MarlinFirmware ]]; then
|
||||
fi
|
||||
|
||||
case "$REPO" in
|
||||
Marlin ) TARG=RCBugFix ;;
|
||||
Marlin ) TARG=bugfix-1.1.x ;;
|
||||
MarlinDev ) TARG=dev ;;
|
||||
MarlinDocumentation ) TARG=master ;;
|
||||
esac
|
||||
|
@@ -15,4 +15,5 @@ case "$#" in
|
||||
* ) echo "Usage: `basename $0` [branch]" 1>&2 ; exit 1 ;;
|
||||
esac
|
||||
|
||||
git checkout $TARG -b $BRANCH
|
||||
git fetch upstream
|
||||
git checkout upstream/$TARG -b $BRANCH
|
||||
|
@@ -2,7 +2,11 @@
|
||||
#
|
||||
# mfpub
|
||||
#
|
||||
# Use Jekyll to publish Marlin Documentation to the HTML site
|
||||
# Use Jekyll to generate Marlin Documentation, which is then
|
||||
# git-pushed to Github to publish it to the live site.
|
||||
# This publishes the current branch, and doesn't force
|
||||
# changes to be pushed to the 'master' branch. Be sure to push
|
||||
# any permanent changes to 'master'.
|
||||
#
|
||||
|
||||
MFINFO=$(mfinfo "$@") || exit
|
||||
@@ -19,23 +23,22 @@ if [[ $ORG != "MarlinFirmware" || $REPO != "MarlinDocumentation" ]]; then
|
||||
fi
|
||||
|
||||
if [[ $BRANCH == "gh-pages" ]]; then
|
||||
echo "Can't build from 'gh-pages.' Only the Jekyll branches."
|
||||
echo "Can't build from 'gh-pages.' Only the Jekyll branches (based on 'master')."
|
||||
bundle exec jekyll serve --watch
|
||||
exit
|
||||
fi
|
||||
|
||||
if [[ $BRANCH != "master" ]]; then
|
||||
echo "Don't forget to update and push 'master'!"
|
||||
# GOJF Card
|
||||
git stash
|
||||
fi
|
||||
|
||||
# Check out the named branch (or stay in current)
|
||||
git checkout $BRANCH
|
||||
|
||||
echo "Generating MarlinDocumentation..."
|
||||
|
||||
# GOJF Card
|
||||
git stash
|
||||
|
||||
TMPFOLDER=$( mktemp -d )
|
||||
COMMIT=$( git log --format="%H" -n 1 )
|
||||
|
||||
# Clean out changes and other junk in the branch
|
||||
@@ -45,19 +48,28 @@ git clean -d -f
|
||||
# Push 'master' to the fork and make a proper PR...
|
||||
if [[ $BRANCH == "master" ]]; then
|
||||
|
||||
if [ -z "$(git branch -vv | grep ^\* | grep \\[origin)" ]; then firstpush; fi
|
||||
if [[ $FORK == "MarlinFirmware" ]]; then
|
||||
|
||||
git push -f origin
|
||||
# Allow working directly with the main fork
|
||||
git push -f upstream
|
||||
|
||||
TOOL=$(which gnome-open xdg-open open | awk '{ print $1 }')
|
||||
URL="https://github.com/$ORG/$REPO/compare/$TARG...$FORK:$BRANCH?expand=1"
|
||||
|
||||
if [ -z "$TOOL" ]; then
|
||||
echo "Can't find a tool to open the URL:"
|
||||
echo $URL
|
||||
else
|
||||
echo "Opening a New PR Form..."
|
||||
"$TOOL" "$URL"
|
||||
|
||||
if [ -z "$(git branch -vv | grep ^\* | grep \\[origin)" ]; then firstpush; fi
|
||||
|
||||
git push -f origin
|
||||
|
||||
TOOL=$(which gnome-open xdg-open open | awk '{ print $1 }')
|
||||
URL="https://github.com/$ORG/$REPO/compare/$TARG...$FORK:$BRANCH?expand=1"
|
||||
|
||||
if [ -z "$TOOL" ]; then
|
||||
echo "Can't find a tool to open the URL:"
|
||||
echo $URL
|
||||
else
|
||||
echo "Opening a New PR Form..."
|
||||
"$TOOL" "$URL"
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
fi
|
||||
@@ -66,9 +78,12 @@ fi
|
||||
# mv ./_plugins/jekyll-press.rb-disabled ./_plugins/jekyll-press.rb
|
||||
# bundle install
|
||||
|
||||
# build the site statically and proof it
|
||||
bundle exec jekyll build --profile --trace --no-watch
|
||||
bundle exec htmlproofer ./_site --only-4xx --allow-hash-href --check-favicon --check-html --url-swap ".*marlinfw.org/:/"
|
||||
|
||||
# Sync the built site into a temporary folder
|
||||
TMPFOLDER=$( mktemp -d )
|
||||
rsync -av _site/ ${TMPFOLDER}/
|
||||
|
||||
# Clean out changes and other junk in the branch
|
||||
@@ -84,6 +99,7 @@ git add --all
|
||||
git commit --message "Built from ${COMMIT}"
|
||||
git push upstream
|
||||
|
||||
# remove the temporary folder
|
||||
rm -rf ${TMPFOLDER}
|
||||
|
||||
# Go back to the branch we started from
|
||||
|
@@ -8,6 +8,10 @@
|
||||
MFINFO=$(mfinfo) || exit
|
||||
IFS=' ' read -a INFO <<< "$MFINFO"
|
||||
|
||||
if [[ ${INFO[4]} == "(no" ]]; then
|
||||
echo "Branch is unavailable!" ; exit 1
|
||||
fi
|
||||
|
||||
case "$#" in
|
||||
0 ) ;;
|
||||
* ) echo "Usage: `basename $0`" 1>&2 ; exit 1 ;;
|
||||
@@ -15,5 +19,14 @@ esac
|
||||
|
||||
git add * .travis.yml
|
||||
git commit -m "patch"
|
||||
mfrb
|
||||
git push -f
|
||||
|
||||
if [[ ${INFO[3]} == ${INFO[4]} ]]; then
|
||||
if [[ ${INFO[2]} == "MarlinDocumentation" ]]; then
|
||||
git rebase -i HEAD~2
|
||||
else
|
||||
echo "Don't alter the PR target branch."; exit 1
|
||||
fi
|
||||
else
|
||||
mfrb
|
||||
git push -f
|
||||
fi
|
||||
|
@@ -13,4 +13,8 @@ case "$#" in
|
||||
* ) echo "Usage: `basename $0`" 1>&2 ; exit 1 ;;
|
||||
esac
|
||||
|
||||
git rebase -i ${INFO[3]}
|
||||
# If the branch isn't currently the PR target
|
||||
if [[ ${INFO[3]} != ${INFO[4]} ]]; then
|
||||
git fetch upstream
|
||||
git rebase upstream/${INFO[3]} && git rebase -i upstream/${INFO[3]}
|
||||
fi
|
||||
|
Reference in New Issue
Block a user