diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h
index 478bb9a1ea53..4c1a39b8f366 100644
--- a/Marlin/Configuration.h
+++ b/Marlin/Configuration.h
@@ -987,23 +987,17 @@
#define PREHEAT_2_TEMP_BED 110
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
-//
-// Nozzle Park -- EXPERIMENTAL
-//
-// When enabled allows the user to define a special XYZ position, inside the
-// machine's topology, to park the nozzle when idle or when receiving the G27
-// command.
-//
-// The "P" paramenter controls what is the action applied to the Z axis:
-// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will
-// be raised to reach Z-park height.
-//
-// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
-// reach Z-park height.
-//
-// P2: The nozzle height will be raised by Z-park amount but never going over
-// the machine's limit of Z_MAX_POS.
-//
+/**
+ * Nozzle Park -- EXPERIMENTAL
+ *
+ * Park the nozzle at the given XYZ position on idle or G27.
+ *
+ * The "P" parameter controls the action applied to the Z axis:
+ *
+ * P0 (Default) If Z is below park Z raise the nozzle.
+ * P1 Raise the nozzle always to Z-park height.
+ * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
+ */
//#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE)
@@ -1011,44 +1005,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif
-//
-// Clean Nozzle Feature -- EXPERIMENTAL
-//
-// When enabled allows the user to send G12 to start the nozzle cleaning
-// process, the G-Code accepts two parameters:
-// "P" for pattern selection
-// "S" for defining the number of strokes/repetitions
-//
-// Available list of patterns:
-// P0: This is the default pattern, this process requires a sponge type
-// material at a fixed bed location. S defines "strokes" i.e.
-// back-and-forth movements between the starting and end points.
-//
-// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T"
-// defines the number of zig-zag triangles to be done. "S" defines the
-// number of strokes aka one back-and-forth movement. Zig-zags will
-// be performed in whichever dimension is smallest. As an example,
-// sending "G12 P1 S1 T3" will execute:
-//
-// --
-// | (X0, Y1) | /\ /\ /\ | (X1, Y1)
-// | | / \ / \ / \ |
-// A | | / \ / \ / \ |
-// | | / \ / \ / \ |
-// | (X0, Y0) | / \/ \/ \ | (X1, Y0)
-// -- +--------------------------------+
-// |________|_________|_________|
-// T1 T2 T3
-//
-// P2: This starts a circular pattern with circle with middle in
-// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S.
-// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT.
-//
-// Caveats: End point Z should use the same value as Start point Z.
-//
-// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments
-// may change to add new functionality like different wipe patterns.
-//
+/**
+ * Clean Nozzle Feature -- EXPERIMENTAL
+ *
+ * Adds the G12 command to perform a nozzle cleaning process.
+ *
+ * Parameters:
+ * P Pattern
+ * S Strokes / Repetitions
+ * T Triangles (P1 only)
+ *
+ * Patterns:
+ * P0 Straight line (default). This process requires a sponge type material
+ * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
+ * between the start / end points.
+ *
+ * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
+ * number of zig-zag triangles to do. "S" defines the number of strokes.
+ * Zig-zags are done in whichever is the narrower dimension.
+ * For example, "G12 P1 S1 T3" will execute:
+ *
+ * --
+ * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
+ * | | / \ / \ / \ |
+ * A | | / \ / \ / \ |
+ * | | / \ / \ / \ |
+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
+ * -- +--------------------------------+
+ * |________|_________|_________|
+ * T1 T2 T3
+ *
+ * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
+ * "R" specifies the radius. "S" specifies the stroke count.
+ * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
+ *
+ * Caveats: The ending Z should be the same as starting Z.
+ * Attention: EXPERIMENTAL. G-code arguments may change.
+ *
+ */
//#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE)
@@ -1073,33 +1067,35 @@
#define NOZZLE_CLEAN_GOBACK
#endif
-//
-// Print job timer
-//
-// Enable this option to automatically start and stop the
-// print job timer when M104/M109/M190 commands are received.
-// M104 (extruder without wait) - high temp = none, low temp = stop timer
-// M109 (extruder with wait) - high temp = start timer, low temp = stop timer
-// M190 (bed with wait) - high temp = start timer, low temp = none
-//
-// In all cases the timer can be started and stopped using
-// the following commands:
-//
-// - M75 - Start the print job timer
-// - M76 - Pause the print job timer
-// - M77 - Stop the print job timer
+/**
+ * Print Job Timer
+ *
+ * Automatically start and stop the print job timer on M104/M109/M190.
+ *
+ * M104 (hotend, no wait) - high temp = none, low temp = stop timer
+ * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
+ * M190 (bed, wait) - high temp = start timer, low temp = none
+ *
+ * The timer can also be controlled with the following commands:
+ *
+ * M75 - Start the print job timer
+ * M76 - Pause the print job timer
+ * M77 - Stop the print job timer
+ */
#define PRINTJOB_TIMER_AUTOSTART
-//
-// Print Counter
-//
-// When enabled Marlin will keep track of some print statistical data such as:
-// - Total print jobs
-// - Total successful print jobs
-// - Total failed print jobs
-// - Total time printing
-//
-// This information can be viewed by the M78 command.
+/**
+ * Print Counter
+ *
+ * Track statistical data such as:
+ *
+ * - Total print jobs
+ * - Total successful print jobs
+ * - Total failed print jobs
+ * - Total time printing
+ *
+ * View the current statistics with M78.
+ */
//#define PRINTCOUNTER
//=============================================================================
@@ -1108,78 +1104,79 @@
// @section lcd
-//
-// LCD LANGUAGE
-//
-// Here you may choose the language used by Marlin on the LCD menus, the following
-// list of languages are available:
-// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
-// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
-//
-// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
-//
+/**
+ * LCD LANGUAGE
+ *
+ * Select the language to display on the LCD. These languages are available:
+ *
+ * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
+ * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
+ *
+ * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
+ */
#define LCD_LANGUAGE en
-//
-// LCD Character Set
-//
-// Note: This option is NOT applicable to Graphical Displays.
-//
-// All character-based LCD's provide ASCII plus one of these
-// language extensions:
-//
-// - JAPANESE ... the most common
-// - WESTERN ... with more accented characters
-// - CYRILLIC ... for the Russian language
-//
-// To determine the language extension installed on your controller:
-//
-// - Compile and upload with LCD_LANGUAGE set to 'test'
-// - Click the controller to view the LCD menu
-// - The LCD will display Japanese, Western, or Cyrillic text
-//
-// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
-//
-// :['JAPANESE', 'WESTERN', 'CYRILLIC']
-//
+/**
+ * LCD Character Set
+ *
+ * Note: This option is NOT applicable to Graphical Displays.
+ *
+ * All character-based LCDs provide ASCII plus one of these
+ * language extensions:
+ *
+ * - JAPANESE ... the most common
+ * - WESTERN ... with more accented characters
+ * - CYRILLIC ... for the Russian language
+ *
+ * To determine the language extension installed on your controller:
+ *
+ * - Compile and upload with LCD_LANGUAGE set to 'test'
+ * - Click the controller to view the LCD menu
+ * - The LCD will display Japanese, Western, or Cyrillic text
+ *
+ * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
+ *
+ * :['JAPANESE', 'WESTERN', 'CYRILLIC']
+ */
#define DISPLAY_CHARSET_HD44780 JAPANESE
-//
-// LCD TYPE
-//
-// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2,
-// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels
-// (ST7565R family). (This option will be set automatically for certain displays.)
-//
-// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display!
-// https://github.com/olikraus/U8glib_Arduino
-//
+/**
+ * LCD TYPE
+ *
+ * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
+ * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
+ * (These options will be enabled automatically for most displays.)
+ *
+ * IMPORTANT: The U8glib library is required for Full Graphic Display!
+ * https://github.com/olikraus/U8glib_Arduino
+ */
//#define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display
-//
-// SD CARD
-//
-// SD Card support is disabled by default. If your controller has an SD slot,
-// you must uncomment the following option or it won't work.
-//
+/**
+ * SD CARD
+ *
+ * SD Card support is disabled by default. If your controller has an SD slot,
+ * you must uncomment the following option or it won't work.
+ *
+ */
//#define SDSUPPORT
-//
-// SD CARD: SPI SPEED
-//
-// Uncomment ONE of the following items to use a slower SPI transfer
-// speed. This is usually required if you're getting volume init errors.
-//
+/**
+ * SD CARD: SPI SPEED
+ *
+ * Enable one of the following items for a slower SPI transfer speed.
+ * This may be required to resolve "volume init" errors.
+ */
//#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED
-//
-// SD CARD: ENABLE CRC
-//
-// Use CRC checks and retries on the SD communication.
-//
+/**
+ * SD CARD: ENABLE CRC
+ *
+ * Use CRC checks and retries on the SD communication.
+ */
//#define SD_CHECK_AND_RETRY
//
@@ -1207,7 +1204,7 @@
*/
//
-// This option reverses the encoder direction everywhere
+// This option reverses the encoder direction everywhere.
//
// Set this option if CLOCKWISE causes values to DECREASE
//
diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp
index a5da2643263a..de66a5783f58 100644
--- a/Marlin/Marlin_main.cpp
+++ b/Marlin/Marlin_main.cpp
@@ -832,7 +832,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++;
}
@@ -5052,20 +5052,16 @@ void home_all_axes() { gcode_G28(); }
*
* Parameters:
*
- * P Number of probe points:
+ * Pn Number of probe points:
*
* P1 Probe center and set height only.
* P2 Probe center and towers. Set height, endstops, and delta radius.
* P3 Probe all positions: center, towers and opposite towers. Set all.
* P4-P7 Probe all positions at different locations and average them.
*
- * A Abort delta height calibration after 1 probe (only P1)
+ * T0 Don't calibrate tower angle corrections
*
- * O Use opposite tower points instead of tower points (only P2)
- *
- * T Don't calibrate tower angle corrections (P3-P7)
- *
- * V Verbose level:
+ * Vn Verbose level:
*
* V0 Dry-run mode. Report settings and probe results. No calibration.
* V1 Report settings
@@ -5095,20 +5091,28 @@ void home_all_axes() { gcode_G28(); }
point_averaging = probe_points >= 4,
probe_center_plus_6 = probe_points >= 5;
- const char negating_parameter = do_height_only ? 'A' : do_center_and_towers ? 'O' : 'T';
- int8_t probe_mode = code_seen(negating_parameter) && code_value_bool() ? -probe_points : probe_points;
+ bool towers_set = (code_seen('T') ? code_value_bool() : true);
SERIAL_PROTOCOLLNPGM("G33 Auto Calibrate");
+ stepper.synchronize();
#if HAS_LEVELING
- set_bed_leveling_enabled(false);
+ reset_bed_level(); //after calibration bed-level will no longer be valid
+ #endif
+ #if HOTENDS > 1
+ const uint8_t old_tool_index = active_extruder;
+ tool_change(0, 0, true);
#endif
+ setup_for_endstop_or_probe_move();
- home_all_axes();
+ endstops.enable(true);
+ home_delta();
+ endstops.not_homing();
const static char save_message[] PROGMEM = "Save with M500 and/or copy to Configuration.h";
float test_precision,
zero_std_dev = (verbose_level ? 999.0 : 0.0), // 0.0 in dry-run mode : forced end
+ zero_std_dev_old = zero_std_dev,
e_old[XYZ] = {
endstop_adj[A_AXIS],
endstop_adj[B_AXIS],
@@ -5140,7 +5144,7 @@ void home_all_axes() { gcode_G28(); }
SERIAL_PROTOCOLPAIR(" Radius:", delta_radius);
}
SERIAL_EOL;
- if (probe_mode > 2) { // negative disables tower angles
+ if (probe_center_plus_3 && towers_set) {
SERIAL_PROTOCOLPGM(".Tower angle : Tx:");
if (delta_tower_angle_trim[A_AXIS] >= 0) SERIAL_CHAR('+');
SERIAL_PROTOCOL_F(delta_tower_angle_trim[A_AXIS], 2);
@@ -5164,41 +5168,35 @@ void home_all_axes() { gcode_G28(); }
S2 = 0.0;
int16_t N = 0;
- test_precision = zero_std_dev;
+ test_precision = (zero_std_dev_old != 999.0) ? (zero_std_dev + zero_std_dev_old)/2 : zero_std_dev;
iterations++;
// Probe the points
if (!do_all_positions && !do_circle_x3) { // probe the center
- setup_for_endstop_or_probe_move();
z_at_pt[0] += probe_pt(0.0, 0.0 , true, 1);
- clean_up_after_endstop_or_probe_move();
}
if (probe_center_plus_3) { // probe extra center points
for (int8_t axis = probe_center_plus_6 ? 11 : 9; axis > 0; axis -= probe_center_plus_6 ? 2 : 4) {
- setup_for_endstop_or_probe_move();
z_at_pt[0] += probe_pt(
cos(RADIANS(180 + 30 * axis)) * (0.1 * delta_calibration_radius),
sin(RADIANS(180 + 30 * axis)) * (0.1 * delta_calibration_radius), true, 1);
- clean_up_after_endstop_or_probe_move();
}
z_at_pt[0] /= float(do_circle_x2 ? 7 : probe_points);
}
if (!do_height_only) { // probe the radius
bool zig_zag = true;
- for (uint8_t axis = (probe_mode == -2 ? 3 : 1); axis < 13;
+ for (uint8_t axis = (do_center_and_towers && !towers_set ? 3 : 1); axis < 13;
axis += (do_center_and_towers ? 4 : do_all_positions ? 2 : 1)) {
float offset_circles = (do_circle_x4 ? (zig_zag ? 1.5 : 1.0) :
do_circle_x3 ? (zig_zag ? 1.0 : 0.5) :
do_circle_x2 ? (zig_zag ? 0.5 : 0.0) : 0);
for (float circles = -offset_circles ; circles <= offset_circles; circles++) {
- setup_for_endstop_or_probe_move();
z_at_pt[axis] += probe_pt(
cos(RADIANS(180 + 30 * axis)) * delta_calibration_radius *
(1 + circles * 0.1 * (zig_zag ? 1 : -1)),
sin(RADIANS(180 + 30 * axis)) * delta_calibration_radius *
(1 + circles * 0.1 * (zig_zag ? 1 : -1)), true, 1);
- clean_up_after_endstop_or_probe_move();
}
zig_zag = !zig_zag;
z_at_pt[axis] /= (2 * offset_circles + 1);
@@ -5212,11 +5210,12 @@ void home_all_axes() { gcode_G28(); }
S2 += sq(z_at_pt[0]);
N++;
if (!do_height_only) // std dev from zero plane
- for (uint8_t axis = (probe_mode == -2 ? 3 : 1); axis < 13; axis += (do_center_and_towers ? 4 : 2)) {
+ for (uint8_t axis = (do_center_and_towers && !towers_set ? 3 : 1); axis < 13; axis += (do_center_and_towers ? 4 : 2)) {
S1 += z_at_pt[axis];
S2 += sq(z_at_pt[axis]);
N++;
}
+ zero_std_dev_old = zero_std_dev;
zero_std_dev = round(sqrt(S2 / N) * 1000.0) / 1000.0 + 0.00001;
// Solve matrices
@@ -5247,25 +5246,25 @@ void home_all_axes() { gcode_G28(); }
#define Z0444(I) ZP(a_factor * 4.0 / 9.0, I)
#define Z0888(I) ZP(a_factor * 8.0 / 9.0, I)
- switch (probe_mode) {
- case -1:
- test_precision = 0.00;
+ switch (probe_points) {
case 1:
+ test_precision = 0.00;
LOOP_XYZ(i) e_delta[i] = Z1000(0);
break;
case 2:
- e_delta[X_AXIS] = Z1050(0) + Z0700(1) - Z0350(5) - Z0350(9);
- e_delta[Y_AXIS] = Z1050(0) - Z0350(1) + Z0700(5) - Z0350(9);
- e_delta[Z_AXIS] = Z1050(0) - Z0350(1) - Z0350(5) + Z0700(9);
- r_delta = Z2250(0) - Z0750(1) - Z0750(5) - Z0750(9);
- break;
-
- case -2:
- e_delta[X_AXIS] = Z1050(0) - Z0700(7) + Z0350(11) + Z0350(3);
- e_delta[Y_AXIS] = Z1050(0) + Z0350(7) - Z0700(11) + Z0350(3);
- e_delta[Z_AXIS] = Z1050(0) + Z0350(7) + Z0350(11) - Z0700(3);
- r_delta = Z2250(0) - Z0750(7) - Z0750(11) - Z0750(3);
+ if (towers_set) {
+ e_delta[X_AXIS] = Z1050(0) + Z0700(1) - Z0350(5) - Z0350(9);
+ e_delta[Y_AXIS] = Z1050(0) - Z0350(1) + Z0700(5) - Z0350(9);
+ e_delta[Z_AXIS] = Z1050(0) - Z0350(1) - Z0350(5) + Z0700(9);
+ r_delta = Z2250(0) - Z0750(1) - Z0750(5) - Z0750(9);
+ }
+ else {
+ e_delta[X_AXIS] = Z1050(0) - Z0700(7) + Z0350(11) + Z0350(3);
+ e_delta[Y_AXIS] = Z1050(0) + Z0350(7) - Z0700(11) + Z0350(3);
+ e_delta[Z_AXIS] = Z1050(0) + Z0350(7) + Z0350(11) - Z0700(3);
+ r_delta = Z2250(0) - Z0750(7) - Z0750(11) - Z0750(3);
+ }
break;
default:
@@ -5274,7 +5273,7 @@ void home_all_axes() { gcode_G28(); }
e_delta[Z_AXIS] = Z1050(0) - Z0175(1) - Z0175(5) + Z0350(9) + Z0175(7) + Z0175(11) - Z0350(3);
r_delta = Z2250(0) - Z0375(1) - Z0375(5) - Z0375(9) - Z0375(7) - Z0375(11) - Z0375(3);
- if (probe_mode > 0) { // negative disables tower angles
+ if (towers_set) {
t_alpha = + Z0444(1) - Z0888(5) + Z0444(9) + Z0444(7) - Z0888(11) + Z0444(3);
t_beta = - Z0888(1) + Z0444(5) + Z0444(9) - Z0888(7) + Z0444(11) + Z0444(3);
}
@@ -5309,7 +5308,7 @@ void home_all_axes() { gcode_G28(); }
SERIAL_PROTOCOLPGM(". c:");
if (z_at_pt[0] > 0) SERIAL_CHAR('+');
SERIAL_PROTOCOL_F(z_at_pt[0], 2);
- if (probe_mode == 2 || probe_center_plus_3) {
+ if ((do_center_and_towers && towers_set) || probe_center_plus_3) {
SERIAL_PROTOCOLPGM(" x:");
if (z_at_pt[1] >= 0) SERIAL_CHAR('+');
SERIAL_PROTOCOL_F(z_at_pt[1], 2);
@@ -5320,8 +5319,8 @@ void home_all_axes() { gcode_G28(); }
if (z_at_pt[9] >= 0) SERIAL_CHAR('+');
SERIAL_PROTOCOL_F(z_at_pt[9], 2);
}
- if (probe_mode != -2) SERIAL_EOL;
- if (probe_mode == -2 || probe_center_plus_3) {
+ if (!do_center_and_towers || towers_set) SERIAL_EOL;
+ if ((do_center_and_towers && !towers_set) || probe_center_plus_3) {
if (probe_center_plus_3) {
SERIAL_CHAR('.');
SERIAL_PROTOCOL_SP(13);
@@ -5371,7 +5370,7 @@ void home_all_axes() { gcode_G28(); }
SERIAL_PROTOCOLPAIR(" Radius:", delta_radius);
}
SERIAL_EOL;
- if (probe_mode > 2) { // negative disables tower angles
+ if (probe_center_plus_3 && towers_set) {
SERIAL_PROTOCOLPGM(".Tower angle : Tx:");
if (delta_tower_angle_trim[A_AXIS] >= 0) SERIAL_CHAR('+');
SERIAL_PROTOCOL_F(delta_tower_angle_trim[A_AXIS], 2);
@@ -5403,12 +5402,19 @@ void home_all_axes() { gcode_G28(); }
}
}
- stepper.synchronize();
-
- home_all_axes();
+ endstops.enable(true);
+ home_delta();
+ endstops.not_homing();
} while (zero_std_dev < test_precision && iterations < 31);
+ #if ENABLED(DELTA_HOME_TO_SAFE_ZONE)
+ do_blocking_move_to_z(delta_clip_start_height);
+ #endif
+ clean_up_after_endstop_or_probe_move();
+ #if HOTENDS > 1
+ tool_change(old_tool_index, 0, true);
+ #endif
#if ENABLED(Z_PROBE_SLED)
RETRACT_PROBE();
#endif
@@ -6498,9 +6504,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 +6514,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 +6526,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(')');
@@ -11479,7 +11485,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 +11939,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
@@ -12203,7 +12209,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 +12336,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();
diff --git a/Marlin/SanityCheck.h b/Marlin/SanityCheck.h
index 610a86567e8d..a18d8d557920 100644
--- a/Marlin/SanityCheck.h
+++ b/Marlin/SanityCheck.h
@@ -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
diff --git a/Marlin/Version.h b/Marlin/Version.h
index 63f4b81ab8b7..d8d490ebb074 100644
--- a/Marlin/Version.h
+++ b/Marlin/Version.h
@@ -35,7 +35,7 @@
/**
* Marlin release version identifier
*/
- #define SHORT_BUILD_VERSION "1.1.0-RCBugFix"
+ #define SHORT_BUILD_VERSION "bugfix-1.1.x"
/**
* 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-04 12:00"
/**
* Required minimum Configuration.h and Configuration_adv.h file versions.
diff --git a/Marlin/example_configurations/Cartesio/Configuration.h b/Marlin/example_configurations/Cartesio/Configuration.h
index 1c363e5294e7..f38780bd2675 100644
--- a/Marlin/example_configurations/Cartesio/Configuration.h
+++ b/Marlin/example_configurations/Cartesio/Configuration.h
@@ -985,23 +985,17 @@
#define PREHEAT_2_TEMP_BED 110
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
-//
-// Nozzle Park -- EXPERIMENTAL
-//
-// When enabled allows the user to define a special XYZ position, inside the
-// machine's topology, to park the nozzle when idle or when receiving the G27
-// command.
-//
-// The "P" paramenter controls what is the action applied to the Z axis:
-// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will
-// be raised to reach Z-park height.
-//
-// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
-// reach Z-park height.
-//
-// P2: The nozzle height will be raised by Z-park amount but never going over
-// the machine's limit of Z_MAX_POS.
-//
+/**
+ * Nozzle Park -- EXPERIMENTAL
+ *
+ * Park the nozzle at the given XYZ position on idle or G27.
+ *
+ * The "P" parameter controls the action applied to the Z axis:
+ *
+ * P0 (Default) If Z is below park Z raise the nozzle.
+ * P1 Raise the nozzle always to Z-park height.
+ * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
+ */
//#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE)
@@ -1009,44 +1003,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif
-//
-// Clean Nozzle Feature -- EXPERIMENTAL
-//
-// When enabled allows the user to send G12 to start the nozzle cleaning
-// process, the G-Code accepts two parameters:
-// "P" for pattern selection
-// "S" for defining the number of strokes/repetitions
-//
-// Available list of patterns:
-// P0: This is the default pattern, this process requires a sponge type
-// material at a fixed bed location. S defines "strokes" i.e.
-// back-and-forth movements between the starting and end points.
-//
-// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T"
-// defines the number of zig-zag triangles to be done. "S" defines the
-// number of strokes aka one back-and-forth movement. Zig-zags will
-// be performed in whichever dimension is smallest. As an example,
-// sending "G12 P1 S1 T3" will execute:
-//
-// --
-// | (X0, Y1) | /\ /\ /\ | (X1, Y1)
-// | | / \ / \ / \ |
-// A | | / \ / \ / \ |
-// | | / \ / \ / \ |
-// | (X0, Y0) | / \/ \/ \ | (X1, Y0)
-// -- +--------------------------------+
-// |________|_________|_________|
-// T1 T2 T3
-//
-// P2: This starts a circular pattern with circle with middle in
-// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S.
-// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT.
-//
-// Caveats: End point Z should use the same value as Start point Z.
-//
-// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments
-// may change to add new functionality like different wipe patterns.
-//
+/**
+ * Clean Nozzle Feature -- EXPERIMENTAL
+ *
+ * Adds the G12 command to perform a nozzle cleaning process.
+ *
+ * Parameters:
+ * P Pattern
+ * S Strokes / Repetitions
+ * T Triangles (P1 only)
+ *
+ * Patterns:
+ * P0 Straight line (default). This process requires a sponge type material
+ * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
+ * between the start / end points.
+ *
+ * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
+ * number of zig-zag triangles to do. "S" defines the number of strokes.
+ * Zig-zags are done in whichever is the narrower dimension.
+ * For example, "G12 P1 S1 T3" will execute:
+ *
+ * --
+ * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
+ * | | / \ / \ / \ |
+ * A | | / \ / \ / \ |
+ * | | / \ / \ / \ |
+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
+ * -- +--------------------------------+
+ * |________|_________|_________|
+ * T1 T2 T3
+ *
+ * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
+ * "R" specifies the radius. "S" specifies the stroke count.
+ * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
+ *
+ * Caveats: The ending Z should be the same as starting Z.
+ * Attention: EXPERIMENTAL. G-code arguments may change.
+ *
+ */
//#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE)
@@ -1071,33 +1065,35 @@
#define NOZZLE_CLEAN_GOBACK
#endif
-//
-// Print job timer
-//
-// Enable this option to automatically start and stop the
-// print job timer when M104/M109/M190 commands are received.
-// M104 (extruder without wait) - high temp = none, low temp = stop timer
-// M109 (extruder with wait) - high temp = start timer, low temp = stop timer
-// M190 (bed with wait) - high temp = start timer, low temp = none
-//
-// In all cases the timer can be started and stopped using
-// the following commands:
-//
-// - M75 - Start the print job timer
-// - M76 - Pause the print job timer
-// - M77 - Stop the print job timer
+/**
+ * Print Job Timer
+ *
+ * Automatically start and stop the print job timer on M104/M109/M190.
+ *
+ * M104 (hotend, no wait) - high temp = none, low temp = stop timer
+ * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
+ * M190 (bed, wait) - high temp = start timer, low temp = none
+ *
+ * The timer can also be controlled with the following commands:
+ *
+ * M75 - Start the print job timer
+ * M76 - Pause the print job timer
+ * M77 - Stop the print job timer
+ */
#define PRINTJOB_TIMER_AUTOSTART
-//
-// Print Counter
-//
-// When enabled Marlin will keep track of some print statistical data such as:
-// - Total print jobs
-// - Total successful print jobs
-// - Total failed print jobs
-// - Total time printing
-//
-// This information can be viewed by the M78 command.
+/**
+ * Print Counter
+ *
+ * Track statistical data such as:
+ *
+ * - Total print jobs
+ * - Total successful print jobs
+ * - Total failed print jobs
+ * - Total time printing
+ *
+ * View the current statistics with M78.
+ */
//#define PRINTCOUNTER
//=============================================================================
@@ -1106,78 +1102,79 @@
// @section lcd
-//
-// LCD LANGUAGE
-//
-// Here you may choose the language used by Marlin on the LCD menus, the following
-// list of languages are available:
-// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
-// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
-//
-// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
-//
+/**
+ * LCD LANGUAGE
+ *
+ * Select the language to display on the LCD. These languages are available:
+ *
+ * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
+ * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
+ *
+ * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
+ */
#define LCD_LANGUAGE en
-//
-// LCD Character Set
-//
-// Note: This option is NOT applicable to Graphical Displays.
-//
-// All character-based LCD's provide ASCII plus one of these
-// language extensions:
-//
-// - JAPANESE ... the most common
-// - WESTERN ... with more accented characters
-// - CYRILLIC ... for the Russian language
-//
-// To determine the language extension installed on your controller:
-//
-// - Compile and upload with LCD_LANGUAGE set to 'test'
-// - Click the controller to view the LCD menu
-// - The LCD will display Japanese, Western, or Cyrillic text
-//
-// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
-//
-// :['JAPANESE', 'WESTERN', 'CYRILLIC']
-//
+/**
+ * LCD Character Set
+ *
+ * Note: This option is NOT applicable to Graphical Displays.
+ *
+ * All character-based LCDs provide ASCII plus one of these
+ * language extensions:
+ *
+ * - JAPANESE ... the most common
+ * - WESTERN ... with more accented characters
+ * - CYRILLIC ... for the Russian language
+ *
+ * To determine the language extension installed on your controller:
+ *
+ * - Compile and upload with LCD_LANGUAGE set to 'test'
+ * - Click the controller to view the LCD menu
+ * - The LCD will display Japanese, Western, or Cyrillic text
+ *
+ * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
+ *
+ * :['JAPANESE', 'WESTERN', 'CYRILLIC']
+ */
#define DISPLAY_CHARSET_HD44780 JAPANESE
-//
-// LCD TYPE
-//
-// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2,
-// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels
-// (ST7565R family). (This option will be set automatically for certain displays.)
-//
-// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display!
-// https://github.com/olikraus/U8glib_Arduino
-//
+/**
+ * LCD TYPE
+ *
+ * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
+ * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
+ * (These options will be enabled automatically for most displays.)
+ *
+ * IMPORTANT: The U8glib library is required for Full Graphic Display!
+ * https://github.com/olikraus/U8glib_Arduino
+ */
//#define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display
-//
-// SD CARD
-//
-// SD Card support is disabled by default. If your controller has an SD slot,
-// you must uncomment the following option or it won't work.
-//
+/**
+ * SD CARD
+ *
+ * SD Card support is disabled by default. If your controller has an SD slot,
+ * you must uncomment the following option or it won't work.
+ *
+ */
#define SDSUPPORT
-//
-// SD CARD: SPI SPEED
-//
-// Uncomment ONE of the following items to use a slower SPI transfer
-// speed. This is usually required if you're getting volume init errors.
-//
+/**
+ * SD CARD: SPI SPEED
+ *
+ * Enable one of the following items for a slower SPI transfer speed.
+ * This may be required to resolve "volume init" errors.
+ */
//#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED
-//
-// SD CARD: ENABLE CRC
-//
-// Use CRC checks and retries on the SD communication.
-//
+/**
+ * SD CARD: ENABLE CRC
+ *
+ * Use CRC checks and retries on the SD communication.
+ */
//#define SD_CHECK_AND_RETRY
//
@@ -1205,7 +1202,7 @@
*/
//
-// This option reverses the encoder direction everywhere
+// This option reverses the encoder direction everywhere.
//
// Set this option if CLOCKWISE causes values to DECREASE
//
diff --git a/Marlin/example_configurations/Felix/Configuration.h b/Marlin/example_configurations/Felix/Configuration.h
index 477063b4f55e..ec12db1aba7f 100644
--- a/Marlin/example_configurations/Felix/Configuration.h
+++ b/Marlin/example_configurations/Felix/Configuration.h
@@ -969,23 +969,17 @@
#define PREHEAT_2_TEMP_BED 100
#define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255
-//
-// Nozzle Park -- EXPERIMENTAL
-//
-// When enabled allows the user to define a special XYZ position, inside the
-// machine's topology, to park the nozzle when idle or when receiving the G27
-// command.
-//
-// The "P" paramenter controls what is the action applied to the Z axis:
-// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will
-// be raised to reach Z-park height.
-//
-// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
-// reach Z-park height.
-//
-// P2: The nozzle height will be raised by Z-park amount but never going over
-// the machine's limit of Z_MAX_POS.
-//
+/**
+ * Nozzle Park -- EXPERIMENTAL
+ *
+ * Park the nozzle at the given XYZ position on idle or G27.
+ *
+ * The "P" parameter controls the action applied to the Z axis:
+ *
+ * P0 (Default) If Z is below park Z raise the nozzle.
+ * P1 Raise the nozzle always to Z-park height.
+ * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
+ */
//#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE)
@@ -993,44 +987,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif
-//
-// Clean Nozzle Feature -- EXPERIMENTAL
-//
-// When enabled allows the user to send G12 to start the nozzle cleaning
-// process, the G-Code accepts two parameters:
-// "P" for pattern selection
-// "S" for defining the number of strokes/repetitions
-//
-// Available list of patterns:
-// P0: This is the default pattern, this process requires a sponge type
-// material at a fixed bed location. S defines "strokes" i.e.
-// back-and-forth movements between the starting and end points.
-//
-// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T"
-// defines the number of zig-zag triangles to be done. "S" defines the
-// number of strokes aka one back-and-forth movement. Zig-zags will
-// be performed in whichever dimension is smallest. As an example,
-// sending "G12 P1 S1 T3" will execute:
-//
-// --
-// | (X0, Y1) | /\ /\ /\ | (X1, Y1)
-// | | / \ / \ / \ |
-// A | | / \ / \ / \ |
-// | | / \ / \ / \ |
-// | (X0, Y0) | / \/ \/ \ | (X1, Y0)
-// -- +--------------------------------+
-// |________|_________|_________|
-// T1 T2 T3
-//
-// P2: This starts a circular pattern with circle with middle in
-// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S.
-// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT.
-//
-// Caveats: End point Z should use the same value as Start point Z.
-//
-// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments
-// may change to add new functionality like different wipe patterns.
-//
+/**
+ * Clean Nozzle Feature -- EXPERIMENTAL
+ *
+ * Adds the G12 command to perform a nozzle cleaning process.
+ *
+ * Parameters:
+ * P Pattern
+ * S Strokes / Repetitions
+ * T Triangles (P1 only)
+ *
+ * Patterns:
+ * P0 Straight line (default). This process requires a sponge type material
+ * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
+ * between the start / end points.
+ *
+ * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
+ * number of zig-zag triangles to do. "S" defines the number of strokes.
+ * Zig-zags are done in whichever is the narrower dimension.
+ * For example, "G12 P1 S1 T3" will execute:
+ *
+ * --
+ * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
+ * | | / \ / \ / \ |
+ * A | | / \ / \ / \ |
+ * | | / \ / \ / \ |
+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
+ * -- +--------------------------------+
+ * |________|_________|_________|
+ * T1 T2 T3
+ *
+ * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
+ * "R" specifies the radius. "S" specifies the stroke count.
+ * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
+ *
+ * Caveats: The ending Z should be the same as starting Z.
+ * Attention: EXPERIMENTAL. G-code arguments may change.
+ *
+ */
//#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE)
@@ -1055,33 +1049,35 @@
#define NOZZLE_CLEAN_GOBACK
#endif
-//
-// Print job timer
-//
-// Enable this option to automatically start and stop the
-// print job timer when M104/M109/M190 commands are received.
-// M104 (extruder without wait) - high temp = none, low temp = stop timer
-// M109 (extruder with wait) - high temp = start timer, low temp = stop timer
-// M190 (bed with wait) - high temp = start timer, low temp = none
-//
-// In all cases the timer can be started and stopped using
-// the following commands:
-//
-// - M75 - Start the print job timer
-// - M76 - Pause the print job timer
-// - M77 - Stop the print job timer
+/**
+ * Print Job Timer
+ *
+ * Automatically start and stop the print job timer on M104/M109/M190.
+ *
+ * M104 (hotend, no wait) - high temp = none, low temp = stop timer
+ * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
+ * M190 (bed, wait) - high temp = start timer, low temp = none
+ *
+ * The timer can also be controlled with the following commands:
+ *
+ * M75 - Start the print job timer
+ * M76 - Pause the print job timer
+ * M77 - Stop the print job timer
+ */
#define PRINTJOB_TIMER_AUTOSTART
-//
-// Print Counter
-//
-// When enabled Marlin will keep track of some print statistical data such as:
-// - Total print jobs
-// - Total successful print jobs
-// - Total failed print jobs
-// - Total time printing
-//
-// This information can be viewed by the M78 command.
+/**
+ * Print Counter
+ *
+ * Track statistical data such as:
+ *
+ * - Total print jobs
+ * - Total successful print jobs
+ * - Total failed print jobs
+ * - Total time printing
+ *
+ * View the current statistics with M78.
+ */
//#define PRINTCOUNTER
//=============================================================================
@@ -1090,78 +1086,79 @@
// @section lcd
-//
-// LCD LANGUAGE
-//
-// Here you may choose the language used by Marlin on the LCD menus, the following
-// list of languages are available:
-// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
-// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
-//
-// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
-//
+/**
+ * LCD LANGUAGE
+ *
+ * Select the language to display on the LCD. These languages are available:
+ *
+ * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
+ * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
+ *
+ * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
+ */
//#define LCD_LANGUAGE en
-//
-// LCD Character Set
-//
-// Note: This option is NOT applicable to Graphical Displays.
-//
-// All character-based LCD's provide ASCII plus one of these
-// language extensions:
-//
-// - JAPANESE ... the most common
-// - WESTERN ... with more accented characters
-// - CYRILLIC ... for the Russian language
-//
-// To determine the language extension installed on your controller:
-//
-// - Compile and upload with LCD_LANGUAGE set to 'test'
-// - Click the controller to view the LCD menu
-// - The LCD will display Japanese, Western, or Cyrillic text
-//
-// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
-//
-// :['JAPANESE', 'WESTERN', 'CYRILLIC']
-//
+/**
+ * LCD Character Set
+ *
+ * Note: This option is NOT applicable to Graphical Displays.
+ *
+ * All character-based LCDs provide ASCII plus one of these
+ * language extensions:
+ *
+ * - JAPANESE ... the most common
+ * - WESTERN ... with more accented characters
+ * - CYRILLIC ... for the Russian language
+ *
+ * To determine the language extension installed on your controller:
+ *
+ * - Compile and upload with LCD_LANGUAGE set to 'test'
+ * - Click the controller to view the LCD menu
+ * - The LCD will display Japanese, Western, or Cyrillic text
+ *
+ * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
+ *
+ * :['JAPANESE', 'WESTERN', 'CYRILLIC']
+ */
#define DISPLAY_CHARSET_HD44780 JAPANESE
-//
-// LCD TYPE
-//
-// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2,
-// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels
-// (ST7565R family). (This option will be set automatically for certain displays.)
-//
-// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display!
-// https://github.com/olikraus/U8glib_Arduino
-//
+/**
+ * LCD TYPE
+ *
+ * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
+ * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
+ * (These options will be enabled automatically for most displays.)
+ *
+ * IMPORTANT: The U8glib library is required for Full Graphic Display!
+ * https://github.com/olikraus/U8glib_Arduino
+ */
//#define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display
-//
-// SD CARD
-//
-// SD Card support is disabled by default. If your controller has an SD slot,
-// you must uncomment the following option or it won't work.
-//
+/**
+ * SD CARD
+ *
+ * SD Card support is disabled by default. If your controller has an SD slot,
+ * you must uncomment the following option or it won't work.
+ *
+ */
//#define SDSUPPORT
-//
-// SD CARD: SPI SPEED
-//
-// Uncomment ONE of the following items to use a slower SPI transfer
-// speed. This is usually required if you're getting volume init errors.
-//
+/**
+ * SD CARD: SPI SPEED
+ *
+ * Enable one of the following items for a slower SPI transfer speed.
+ * This may be required to resolve "volume init" errors.
+ */
//#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED
-//
-// SD CARD: ENABLE CRC
-//
-// Use CRC checks and retries on the SD communication.
-//
+/**
+ * SD CARD: ENABLE CRC
+ *
+ * Use CRC checks and retries on the SD communication.
+ */
//#define SD_CHECK_AND_RETRY
//
@@ -1189,7 +1186,7 @@
*/
//
-// This option reverses the encoder direction everywhere
+// This option reverses the encoder direction everywhere.
//
// Set this option if CLOCKWISE causes values to DECREASE
//
diff --git a/Marlin/example_configurations/Felix/DUAL/Configuration.h b/Marlin/example_configurations/Felix/DUAL/Configuration.h
index f3d60d4722ad..88c750fb345f 100644
--- a/Marlin/example_configurations/Felix/DUAL/Configuration.h
+++ b/Marlin/example_configurations/Felix/DUAL/Configuration.h
@@ -969,23 +969,17 @@
#define PREHEAT_2_TEMP_BED 100
#define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255
-//
-// Nozzle Park -- EXPERIMENTAL
-//
-// When enabled allows the user to define a special XYZ position, inside the
-// machine's topology, to park the nozzle when idle or when receiving the G27
-// command.
-//
-// The "P" paramenter controls what is the action applied to the Z axis:
-// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will
-// be raised to reach Z-park height.
-//
-// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
-// reach Z-park height.
-//
-// P2: The nozzle height will be raised by Z-park amount but never going over
-// the machine's limit of Z_MAX_POS.
-//
+/**
+ * Nozzle Park -- EXPERIMENTAL
+ *
+ * Park the nozzle at the given XYZ position on idle or G27.
+ *
+ * The "P" parameter controls the action applied to the Z axis:
+ *
+ * P0 (Default) If Z is below park Z raise the nozzle.
+ * P1 Raise the nozzle always to Z-park height.
+ * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
+ */
//#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE)
@@ -993,44 +987,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif
-//
-// Clean Nozzle Feature -- EXPERIMENTAL
-//
-// When enabled allows the user to send G12 to start the nozzle cleaning
-// process, the G-Code accepts two parameters:
-// "P" for pattern selection
-// "S" for defining the number of strokes/repetitions
-//
-// Available list of patterns:
-// P0: This is the default pattern, this process requires a sponge type
-// material at a fixed bed location. S defines "strokes" i.e.
-// back-and-forth movements between the starting and end points.
-//
-// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T"
-// defines the number of zig-zag triangles to be done. "S" defines the
-// number of strokes aka one back-and-forth movement. Zig-zags will
-// be performed in whichever dimension is smallest. As an example,
-// sending "G12 P1 S1 T3" will execute:
-//
-// --
-// | (X0, Y1) | /\ /\ /\ | (X1, Y1)
-// | | / \ / \ / \ |
-// A | | / \ / \ / \ |
-// | | / \ / \ / \ |
-// | (X0, Y0) | / \/ \/ \ | (X1, Y0)
-// -- +--------------------------------+
-// |________|_________|_________|
-// T1 T2 T3
-//
-// P2: This starts a circular pattern with circle with middle in
-// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S.
-// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT.
-//
-// Caveats: End point Z should use the same value as Start point Z.
-//
-// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments
-// may change to add new functionality like different wipe patterns.
-//
+/**
+ * Clean Nozzle Feature -- EXPERIMENTAL
+ *
+ * Adds the G12 command to perform a nozzle cleaning process.
+ *
+ * Parameters:
+ * P Pattern
+ * S Strokes / Repetitions
+ * T Triangles (P1 only)
+ *
+ * Patterns:
+ * P0 Straight line (default). This process requires a sponge type material
+ * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
+ * between the start / end points.
+ *
+ * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
+ * number of zig-zag triangles to do. "S" defines the number of strokes.
+ * Zig-zags are done in whichever is the narrower dimension.
+ * For example, "G12 P1 S1 T3" will execute:
+ *
+ * --
+ * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
+ * | | / \ / \ / \ |
+ * A | | / \ / \ / \ |
+ * | | / \ / \ / \ |
+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
+ * -- +--------------------------------+
+ * |________|_________|_________|
+ * T1 T2 T3
+ *
+ * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
+ * "R" specifies the radius. "S" specifies the stroke count.
+ * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
+ *
+ * Caveats: The ending Z should be the same as starting Z.
+ * Attention: EXPERIMENTAL. G-code arguments may change.
+ *
+ */
//#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE)
@@ -1055,33 +1049,35 @@
#define NOZZLE_CLEAN_GOBACK
#endif
-//
-// Print job timer
-//
-// Enable this option to automatically start and stop the
-// print job timer when M104/M109/M190 commands are received.
-// M104 (extruder without wait) - high temp = none, low temp = stop timer
-// M109 (extruder with wait) - high temp = start timer, low temp = stop timer
-// M190 (bed with wait) - high temp = start timer, low temp = none
-//
-// In all cases the timer can be started and stopped using
-// the following commands:
-//
-// - M75 - Start the print job timer
-// - M76 - Pause the print job timer
-// - M77 - Stop the print job timer
+/**
+ * Print Job Timer
+ *
+ * Automatically start and stop the print job timer on M104/M109/M190.
+ *
+ * M104 (hotend, no wait) - high temp = none, low temp = stop timer
+ * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
+ * M190 (bed, wait) - high temp = start timer, low temp = none
+ *
+ * The timer can also be controlled with the following commands:
+ *
+ * M75 - Start the print job timer
+ * M76 - Pause the print job timer
+ * M77 - Stop the print job timer
+ */
#define PRINTJOB_TIMER_AUTOSTART
-//
-// Print Counter
-//
-// When enabled Marlin will keep track of some print statistical data such as:
-// - Total print jobs
-// - Total successful print jobs
-// - Total failed print jobs
-// - Total time printing
-//
-// This information can be viewed by the M78 command.
+/**
+ * Print Counter
+ *
+ * Track statistical data such as:
+ *
+ * - Total print jobs
+ * - Total successful print jobs
+ * - Total failed print jobs
+ * - Total time printing
+ *
+ * View the current statistics with M78.
+ */
//#define PRINTCOUNTER
//=============================================================================
@@ -1090,78 +1086,79 @@
// @section lcd
-//
-// LCD LANGUAGE
-//
-// Here you may choose the language used by Marlin on the LCD menus, the following
-// list of languages are available:
-// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
-// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
-//
-// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
-//
+/**
+ * LCD LANGUAGE
+ *
+ * Select the language to display on the LCD. These languages are available:
+ *
+ * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
+ * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
+ *
+ * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
+ */
//#define LCD_LANGUAGE en
-//
-// LCD Character Set
-//
-// Note: This option is NOT applicable to Graphical Displays.
-//
-// All character-based LCD's provide ASCII plus one of these
-// language extensions:
-//
-// - JAPANESE ... the most common
-// - WESTERN ... with more accented characters
-// - CYRILLIC ... for the Russian language
-//
-// To determine the language extension installed on your controller:
-//
-// - Compile and upload with LCD_LANGUAGE set to 'test'
-// - Click the controller to view the LCD menu
-// - The LCD will display Japanese, Western, or Cyrillic text
-//
-// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
-//
-// :['JAPANESE', 'WESTERN', 'CYRILLIC']
-//
+/**
+ * LCD Character Set
+ *
+ * Note: This option is NOT applicable to Graphical Displays.
+ *
+ * All character-based LCDs provide ASCII plus one of these
+ * language extensions:
+ *
+ * - JAPANESE ... the most common
+ * - WESTERN ... with more accented characters
+ * - CYRILLIC ... for the Russian language
+ *
+ * To determine the language extension installed on your controller:
+ *
+ * - Compile and upload with LCD_LANGUAGE set to 'test'
+ * - Click the controller to view the LCD menu
+ * - The LCD will display Japanese, Western, or Cyrillic text
+ *
+ * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
+ *
+ * :['JAPANESE', 'WESTERN', 'CYRILLIC']
+ */
#define DISPLAY_CHARSET_HD44780 JAPANESE
-//
-// LCD TYPE
-//
-// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2,
-// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels
-// (ST7565R family). (This option will be set automatically for certain displays.)
-//
-// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display!
-// https://github.com/olikraus/U8glib_Arduino
-//
+/**
+ * LCD TYPE
+ *
+ * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
+ * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
+ * (These options will be enabled automatically for most displays.)
+ *
+ * IMPORTANT: The U8glib library is required for Full Graphic Display!
+ * https://github.com/olikraus/U8glib_Arduino
+ */
//#define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display
-//
-// SD CARD
-//
-// SD Card support is disabled by default. If your controller has an SD slot,
-// you must uncomment the following option or it won't work.
-//
+/**
+ * SD CARD
+ *
+ * SD Card support is disabled by default. If your controller has an SD slot,
+ * you must uncomment the following option or it won't work.
+ *
+ */
//#define SDSUPPORT
-//
-// SD CARD: SPI SPEED
-//
-// Uncomment ONE of the following items to use a slower SPI transfer
-// speed. This is usually required if you're getting volume init errors.
-//
+/**
+ * SD CARD: SPI SPEED
+ *
+ * Enable one of the following items for a slower SPI transfer speed.
+ * This may be required to resolve "volume init" errors.
+ */
//#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED
-//
-// SD CARD: ENABLE CRC
-//
-// Use CRC checks and retries on the SD communication.
-//
+/**
+ * SD CARD: ENABLE CRC
+ *
+ * Use CRC checks and retries on the SD communication.
+ */
//#define SD_CHECK_AND_RETRY
//
@@ -1189,7 +1186,7 @@
*/
//
-// This option reverses the encoder direction everywhere
+// This option reverses the encoder direction everywhere.
//
// Set this option if CLOCKWISE causes values to DECREASE
//
diff --git a/Marlin/example_configurations/FolgerTech-i3-2020/Configuration.h b/Marlin/example_configurations/FolgerTech-i3-2020/Configuration.h
index e467d3eedcbe..0e131869f9e0 100644
--- a/Marlin/example_configurations/FolgerTech-i3-2020/Configuration.h
+++ b/Marlin/example_configurations/FolgerTech-i3-2020/Configuration.h
@@ -991,23 +991,17 @@
#define PREHEAT_2_TEMP_BED 110
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
-//
-// Nozzle Park -- EXPERIMENTAL
-//
-// When enabled allows the user to define a special XYZ position, inside the
-// machine's topology, to park the nozzle when idle or when receiving the G27
-// command.
-//
-// The "P" paramenter controls what is the action applied to the Z axis:
-// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will
-// be raised to reach Z-park height.
-//
-// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
-// reach Z-park height.
-//
-// P2: The nozzle height will be raised by Z-park amount but never going over
-// the machine's limit of Z_MAX_POS.
-//
+/**
+ * Nozzle Park -- EXPERIMENTAL
+ *
+ * Park the nozzle at the given XYZ position on idle or G27.
+ *
+ * The "P" parameter controls the action applied to the Z axis:
+ *
+ * P0 (Default) If Z is below park Z raise the nozzle.
+ * P1 Raise the nozzle always to Z-park height.
+ * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
+ */
//#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE)
@@ -1015,44 +1009,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif
-//
-// Clean Nozzle Feature -- EXPERIMENTAL
-//
-// When enabled allows the user to send G12 to start the nozzle cleaning
-// process, the G-Code accepts two parameters:
-// "P" for pattern selection
-// "S" for defining the number of strokes/repetitions
-//
-// Available list of patterns:
-// P0: This is the default pattern, this process requires a sponge type
-// material at a fixed bed location. S defines "strokes" i.e.
-// back-and-forth movements between the starting and end points.
-//
-// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T"
-// defines the number of zig-zag triangles to be done. "S" defines the
-// number of strokes aka one back-and-forth movement. Zig-zags will
-// be performed in whichever dimension is smallest. As an example,
-// sending "G12 P1 S1 T3" will execute:
-//
-// --
-// | (X0, Y1) | /\ /\ /\ | (X1, Y1)
-// | | / \ / \ / \ |
-// A | | / \ / \ / \ |
-// | | / \ / \ / \ |
-// | (X0, Y0) | / \/ \/ \ | (X1, Y0)
-// -- +--------------------------------+
-// |________|_________|_________|
-// T1 T2 T3
-//
-// P2: This starts a circular pattern with circle with middle in
-// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S.
-// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT.
-//
-// Caveats: End point Z should use the same value as Start point Z.
-//
-// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments
-// may change to add new functionality like different wipe patterns.
-//
+/**
+ * Clean Nozzle Feature -- EXPERIMENTAL
+ *
+ * Adds the G12 command to perform a nozzle cleaning process.
+ *
+ * Parameters:
+ * P Pattern
+ * S Strokes / Repetitions
+ * T Triangles (P1 only)
+ *
+ * Patterns:
+ * P0 Straight line (default). This process requires a sponge type material
+ * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
+ * between the start / end points.
+ *
+ * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
+ * number of zig-zag triangles to do. "S" defines the number of strokes.
+ * Zig-zags are done in whichever is the narrower dimension.
+ * For example, "G12 P1 S1 T3" will execute:
+ *
+ * --
+ * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
+ * | | / \ / \ / \ |
+ * A | | / \ / \ / \ |
+ * | | / \ / \ / \ |
+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
+ * -- +--------------------------------+
+ * |________|_________|_________|
+ * T1 T2 T3
+ *
+ * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
+ * "R" specifies the radius. "S" specifies the stroke count.
+ * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
+ *
+ * Caveats: The ending Z should be the same as starting Z.
+ * Attention: EXPERIMENTAL. G-code arguments may change.
+ *
+ */
//#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE)
@@ -1077,33 +1071,35 @@
#define NOZZLE_CLEAN_GOBACK
#endif
-//
-// Print job timer
-//
-// Enable this option to automatically start and stop the
-// print job timer when M104/M109/M190 commands are received.
-// M104 (extruder without wait) - high temp = none, low temp = stop timer
-// M109 (extruder with wait) - high temp = start timer, low temp = stop timer
-// M190 (bed with wait) - high temp = start timer, low temp = none
-//
-// In all cases the timer can be started and stopped using
-// the following commands:
-//
-// - M75 - Start the print job timer
-// - M76 - Pause the print job timer
-// - M77 - Stop the print job timer
+/**
+ * Print Job Timer
+ *
+ * Automatically start and stop the print job timer on M104/M109/M190.
+ *
+ * M104 (hotend, no wait) - high temp = none, low temp = stop timer
+ * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
+ * M190 (bed, wait) - high temp = start timer, low temp = none
+ *
+ * The timer can also be controlled with the following commands:
+ *
+ * M75 - Start the print job timer
+ * M76 - Pause the print job timer
+ * M77 - Stop the print job timer
+ */
#define PRINTJOB_TIMER_AUTOSTART
-//
-// Print Counter
-//
-// When enabled Marlin will keep track of some print statistical data such as:
-// - Total print jobs
-// - Total successful print jobs
-// - Total failed print jobs
-// - Total time printing
-//
-// This information can be viewed by the M78 command.
+/**
+ * Print Counter
+ *
+ * Track statistical data such as:
+ *
+ * - Total print jobs
+ * - Total successful print jobs
+ * - Total failed print jobs
+ * - Total time printing
+ *
+ * View the current statistics with M78.
+ */
//#define PRINTCOUNTER
//=============================================================================
@@ -1112,78 +1108,79 @@
// @section lcd
-//
-// LCD LANGUAGE
-//
-// Here you may choose the language used by Marlin on the LCD menus, the following
-// list of languages are available:
-// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
-// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
-//
-// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
-//
+/**
+ * LCD LANGUAGE
+ *
+ * Select the language to display on the LCD. These languages are available:
+ *
+ * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
+ * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
+ *
+ * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
+ */
#define LCD_LANGUAGE en
-//
-// LCD Character Set
-//
-// Note: This option is NOT applicable to Graphical Displays.
-//
-// All character-based LCD's provide ASCII plus one of these
-// language extensions:
-//
-// - JAPANESE ... the most common
-// - WESTERN ... with more accented characters
-// - CYRILLIC ... for the Russian language
-//
-// To determine the language extension installed on your controller:
-//
-// - Compile and upload with LCD_LANGUAGE set to 'test'
-// - Click the controller to view the LCD menu
-// - The LCD will display Japanese, Western, or Cyrillic text
-//
-// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
-//
-// :['JAPANESE', 'WESTERN', 'CYRILLIC']
-//
+/**
+ * LCD Character Set
+ *
+ * Note: This option is NOT applicable to Graphical Displays.
+ *
+ * All character-based LCDs provide ASCII plus one of these
+ * language extensions:
+ *
+ * - JAPANESE ... the most common
+ * - WESTERN ... with more accented characters
+ * - CYRILLIC ... for the Russian language
+ *
+ * To determine the language extension installed on your controller:
+ *
+ * - Compile and upload with LCD_LANGUAGE set to 'test'
+ * - Click the controller to view the LCD menu
+ * - The LCD will display Japanese, Western, or Cyrillic text
+ *
+ * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
+ *
+ * :['JAPANESE', 'WESTERN', 'CYRILLIC']
+ */
#define DISPLAY_CHARSET_HD44780 JAPANESE
-//
-// LCD TYPE
-//
-// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2,
-// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels
-// (ST7565R family). (This option will be set automatically for certain displays.)
-//
-// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display!
-// https://github.com/olikraus/U8glib_Arduino
-//
+/**
+ * LCD TYPE
+ *
+ * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
+ * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
+ * (These options will be enabled automatically for most displays.)
+ *
+ * IMPORTANT: The U8glib library is required for Full Graphic Display!
+ * https://github.com/olikraus/U8glib_Arduino
+ */
//#define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display
-//
-// SD CARD
-//
-// SD Card support is disabled by default. If your controller has an SD slot,
-// you must uncomment the following option or it won't work.
-//
+/**
+ * SD CARD
+ *
+ * SD Card support is disabled by default. If your controller has an SD slot,
+ * you must uncomment the following option or it won't work.
+ *
+ */
#define SDSUPPORT
-//
-// SD CARD: SPI SPEED
-//
-// Uncomment ONE of the following items to use a slower SPI transfer
-// speed. This is usually required if you're getting volume init errors.
-//
+/**
+ * SD CARD: SPI SPEED
+ *
+ * Enable one of the following items for a slower SPI transfer speed.
+ * This may be required to resolve "volume init" errors.
+ */
//#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED
-//
-// SD CARD: ENABLE CRC
-//
-// Use CRC checks and retries on the SD communication.
-//
+/**
+ * SD CARD: ENABLE CRC
+ *
+ * Use CRC checks and retries on the SD communication.
+ */
#define SD_CHECK_AND_RETRY
//
@@ -1211,7 +1208,7 @@
*/
//
-// This option reverses the encoder direction everywhere
+// This option reverses the encoder direction everywhere.
//
// Set this option if CLOCKWISE causes values to DECREASE
//
diff --git a/Marlin/example_configurations/Hephestos/Configuration.h b/Marlin/example_configurations/Hephestos/Configuration.h
index ceee2afdf23a..02dfe9c4fdd6 100644
--- a/Marlin/example_configurations/Hephestos/Configuration.h
+++ b/Marlin/example_configurations/Hephestos/Configuration.h
@@ -977,23 +977,17 @@
#define PREHEAT_2_TEMP_BED 100
#define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255
-//
-// Nozzle Park -- EXPERIMENTAL
-//
-// When enabled allows the user to define a special XYZ position, inside the
-// machine's topology, to park the nozzle when idle or when receiving the G27
-// command.
-//
-// The "P" paramenter controls what is the action applied to the Z axis:
-// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will
-// be raised to reach Z-park height.
-//
-// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
-// reach Z-park height.
-//
-// P2: The nozzle height will be raised by Z-park amount but never going over
-// the machine's limit of Z_MAX_POS.
-//
+/**
+ * Nozzle Park -- EXPERIMENTAL
+ *
+ * Park the nozzle at the given XYZ position on idle or G27.
+ *
+ * The "P" parameter controls the action applied to the Z axis:
+ *
+ * P0 (Default) If Z is below park Z raise the nozzle.
+ * P1 Raise the nozzle always to Z-park height.
+ * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
+ */
//#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE)
@@ -1001,44 +995,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif
-//
-// Clean Nozzle Feature -- EXPERIMENTAL
-//
-// When enabled allows the user to send G12 to start the nozzle cleaning
-// process, the G-Code accepts two parameters:
-// "P" for pattern selection
-// "S" for defining the number of strokes/repetitions
-//
-// Available list of patterns:
-// P0: This is the default pattern, this process requires a sponge type
-// material at a fixed bed location. S defines "strokes" i.e.
-// back-and-forth movements between the starting and end points.
-//
-// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T"
-// defines the number of zig-zag triangles to be done. "S" defines the
-// number of strokes aka one back-and-forth movement. Zig-zags will
-// be performed in whichever dimension is smallest. As an example,
-// sending "G12 P1 S1 T3" will execute:
-//
-// --
-// | (X0, Y1) | /\ /\ /\ | (X1, Y1)
-// | | / \ / \ / \ |
-// A | | / \ / \ / \ |
-// | | / \ / \ / \ |
-// | (X0, Y0) | / \/ \/ \ | (X1, Y0)
-// -- +--------------------------------+
-// |________|_________|_________|
-// T1 T2 T3
-//
-// P2: This starts a circular pattern with circle with middle in
-// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S.
-// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT.
-//
-// Caveats: End point Z should use the same value as Start point Z.
-//
-// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments
-// may change to add new functionality like different wipe patterns.
-//
+/**
+ * Clean Nozzle Feature -- EXPERIMENTAL
+ *
+ * Adds the G12 command to perform a nozzle cleaning process.
+ *
+ * Parameters:
+ * P Pattern
+ * S Strokes / Repetitions
+ * T Triangles (P1 only)
+ *
+ * Patterns:
+ * P0 Straight line (default). This process requires a sponge type material
+ * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
+ * between the start / end points.
+ *
+ * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
+ * number of zig-zag triangles to do. "S" defines the number of strokes.
+ * Zig-zags are done in whichever is the narrower dimension.
+ * For example, "G12 P1 S1 T3" will execute:
+ *
+ * --
+ * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
+ * | | / \ / \ / \ |
+ * A | | / \ / \ / \ |
+ * | | / \ / \ / \ |
+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
+ * -- +--------------------------------+
+ * |________|_________|_________|
+ * T1 T2 T3
+ *
+ * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
+ * "R" specifies the radius. "S" specifies the stroke count.
+ * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
+ *
+ * Caveats: The ending Z should be the same as starting Z.
+ * Attention: EXPERIMENTAL. G-code arguments may change.
+ *
+ */
//#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE)
@@ -1063,33 +1057,35 @@
#define NOZZLE_CLEAN_GOBACK
#endif
-//
-// Print job timer
-//
-// Enable this option to automatically start and stop the
-// print job timer when M104/M109/M190 commands are received.
-// M104 (extruder without wait) - high temp = none, low temp = stop timer
-// M109 (extruder with wait) - high temp = start timer, low temp = stop timer
-// M190 (bed with wait) - high temp = start timer, low temp = none
-//
-// In all cases the timer can be started and stopped using
-// the following commands:
-//
-// - M75 - Start the print job timer
-// - M76 - Pause the print job timer
-// - M77 - Stop the print job timer
+/**
+ * Print Job Timer
+ *
+ * Automatically start and stop the print job timer on M104/M109/M190.
+ *
+ * M104 (hotend, no wait) - high temp = none, low temp = stop timer
+ * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
+ * M190 (bed, wait) - high temp = start timer, low temp = none
+ *
+ * The timer can also be controlled with the following commands:
+ *
+ * M75 - Start the print job timer
+ * M76 - Pause the print job timer
+ * M77 - Stop the print job timer
+ */
#define PRINTJOB_TIMER_AUTOSTART
-//
-// Print Counter
-//
-// When enabled Marlin will keep track of some print statistical data such as:
-// - Total print jobs
-// - Total successful print jobs
-// - Total failed print jobs
-// - Total time printing
-//
-// This information can be viewed by the M78 command.
+/**
+ * Print Counter
+ *
+ * Track statistical data such as:
+ *
+ * - Total print jobs
+ * - Total successful print jobs
+ * - Total failed print jobs
+ * - Total time printing
+ *
+ * View the current statistics with M78.
+ */
//#define PRINTCOUNTER
//=============================================================================
@@ -1098,78 +1094,79 @@
// @section lcd
-//
-// LCD LANGUAGE
-//
-// Here you may choose the language used by Marlin on the LCD menus, the following
-// list of languages are available:
-// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
-// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
-//
-// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
-//
+/**
+ * LCD LANGUAGE
+ *
+ * Select the language to display on the LCD. These languages are available:
+ *
+ * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
+ * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
+ *
+ * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
+ */
//#define LCD_LANGUAGE en
-//
-// LCD Character Set
-//
-// Note: This option is NOT applicable to Graphical Displays.
-//
-// All character-based LCD's provide ASCII plus one of these
-// language extensions:
-//
-// - JAPANESE ... the most common
-// - WESTERN ... with more accented characters
-// - CYRILLIC ... for the Russian language
-//
-// To determine the language extension installed on your controller:
-//
-// - Compile and upload with LCD_LANGUAGE set to 'test'
-// - Click the controller to view the LCD menu
-// - The LCD will display Japanese, Western, or Cyrillic text
-//
-// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
-//
-// :['JAPANESE', 'WESTERN', 'CYRILLIC']
-//
+/**
+ * LCD Character Set
+ *
+ * Note: This option is NOT applicable to Graphical Displays.
+ *
+ * All character-based LCDs provide ASCII plus one of these
+ * language extensions:
+ *
+ * - JAPANESE ... the most common
+ * - WESTERN ... with more accented characters
+ * - CYRILLIC ... for the Russian language
+ *
+ * To determine the language extension installed on your controller:
+ *
+ * - Compile and upload with LCD_LANGUAGE set to 'test'
+ * - Click the controller to view the LCD menu
+ * - The LCD will display Japanese, Western, or Cyrillic text
+ *
+ * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
+ *
+ * :['JAPANESE', 'WESTERN', 'CYRILLIC']
+ */
#define DISPLAY_CHARSET_HD44780 JAPANESE
-//
-// LCD TYPE
-//
-// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2,
-// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels
-// (ST7565R family). (This option will be set automatically for certain displays.)
-//
-// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display!
-// https://github.com/olikraus/U8glib_Arduino
-//
+/**
+ * LCD TYPE
+ *
+ * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
+ * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
+ * (These options will be enabled automatically for most displays.)
+ *
+ * IMPORTANT: The U8glib library is required for Full Graphic Display!
+ * https://github.com/olikraus/U8glib_Arduino
+ */
#define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display
-//
-// SD CARD
-//
-// SD Card support is disabled by default. If your controller has an SD slot,
-// you must uncomment the following option or it won't work.
-//
+/**
+ * SD CARD
+ *
+ * SD Card support is disabled by default. If your controller has an SD slot,
+ * you must uncomment the following option or it won't work.
+ *
+ */
#define SDSUPPORT
-//
-// SD CARD: SPI SPEED
-//
-// Uncomment ONE of the following items to use a slower SPI transfer
-// speed. This is usually required if you're getting volume init errors.
-//
+/**
+ * SD CARD: SPI SPEED
+ *
+ * Enable one of the following items for a slower SPI transfer speed.
+ * This may be required to resolve "volume init" errors.
+ */
//#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED
-//
-// SD CARD: ENABLE CRC
-//
-// Use CRC checks and retries on the SD communication.
-//
+/**
+ * SD CARD: ENABLE CRC
+ *
+ * Use CRC checks and retries on the SD communication.
+ */
//#define SD_CHECK_AND_RETRY
//
@@ -1197,7 +1194,7 @@
*/
//
-// This option reverses the encoder direction everywhere
+// This option reverses the encoder direction everywhere.
//
// Set this option if CLOCKWISE causes values to DECREASE
//
diff --git a/Marlin/example_configurations/Hephestos_2/Configuration.h b/Marlin/example_configurations/Hephestos_2/Configuration.h
index 9ca6416e4289..5c81632d883d 100644
--- a/Marlin/example_configurations/Hephestos_2/Configuration.h
+++ b/Marlin/example_configurations/Hephestos_2/Configuration.h
@@ -980,23 +980,17 @@
#define PREHEAT_2_TEMP_BED 110
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
-//
-// Nozzle Park -- EXPERIMENTAL
-//
-// When enabled allows the user to define a special XYZ position, inside the
-// machine's topology, to park the nozzle when idle or when receiving the G27
-// command.
-//
-// The "P" paramenter controls what is the action applied to the Z axis:
-// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will
-// be raised to reach Z-park height.
-//
-// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
-// reach Z-park height.
-//
-// P2: The nozzle height will be raised by Z-park amount but never going over
-// the machine's limit of Z_MAX_POS.
-//
+/**
+ * Nozzle Park -- EXPERIMENTAL
+ *
+ * Park the nozzle at the given XYZ position on idle or G27.
+ *
+ * The "P" parameter controls the action applied to the Z axis:
+ *
+ * P0 (Default) If Z is below park Z raise the nozzle.
+ * P1 Raise the nozzle always to Z-park height.
+ * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
+ */
#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE)
@@ -1004,44 +998,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 10 }
#endif
-//
-// Clean Nozzle Feature -- EXPERIMENTAL
-//
-// When enabled allows the user to send G12 to start the nozzle cleaning
-// process, the G-Code accepts two parameters:
-// "P" for pattern selection
-// "S" for defining the number of strokes/repetitions
-//
-// Available list of patterns:
-// P0: This is the default pattern, this process requires a sponge type
-// material at a fixed bed location. S defines "strokes" i.e.
-// back-and-forth movements between the starting and end points.
-//
-// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T"
-// defines the number of zig-zag triangles to be done. "S" defines the
-// number of strokes aka one back-and-forth movement. Zig-zags will
-// be performed in whichever dimension is smallest. As an example,
-// sending "G12 P1 S1 T3" will execute:
-//
-// --
-// | (X0, Y1) | /\ /\ /\ | (X1, Y1)
-// | | / \ / \ / \ |
-// A | | / \ / \ / \ |
-// | | / \ / \ / \ |
-// | (X0, Y0) | / \/ \/ \ | (X1, Y0)
-// -- +--------------------------------+
-// |________|_________|_________|
-// T1 T2 T3
-//
-// P2: This starts a circular pattern with circle with middle in
-// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S.
-// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT.
-//
-// Caveats: End point Z should use the same value as Start point Z.
-//
-// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments
-// may change to add new functionality like different wipe patterns.
-//
+/**
+ * Clean Nozzle Feature -- EXPERIMENTAL
+ *
+ * Adds the G12 command to perform a nozzle cleaning process.
+ *
+ * Parameters:
+ * P Pattern
+ * S Strokes / Repetitions
+ * T Triangles (P1 only)
+ *
+ * Patterns:
+ * P0 Straight line (default). This process requires a sponge type material
+ * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
+ * between the start / end points.
+ *
+ * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
+ * number of zig-zag triangles to do. "S" defines the number of strokes.
+ * Zig-zags are done in whichever is the narrower dimension.
+ * For example, "G12 P1 S1 T3" will execute:
+ *
+ * --
+ * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
+ * | | / \ / \ / \ |
+ * A | | / \ / \ / \ |
+ * | | / \ / \ / \ |
+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
+ * -- +--------------------------------+
+ * |________|_________|_________|
+ * T1 T2 T3
+ *
+ * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
+ * "R" specifies the radius. "S" specifies the stroke count.
+ * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
+ *
+ * Caveats: The ending Z should be the same as starting Z.
+ * Attention: EXPERIMENTAL. G-code arguments may change.
+ *
+ */
#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE)
@@ -1066,33 +1060,35 @@
//#define NOZZLE_CLEAN_GOBACK
#endif
-//
-// Print job timer
-//
-// Enable this option to automatically start and stop the
-// print job timer when M104/M109/M190 commands are received.
-// M104 (extruder without wait) - high temp = none, low temp = stop timer
-// M109 (extruder with wait) - high temp = start timer, low temp = stop timer
-// M190 (bed with wait) - high temp = start timer, low temp = none
-//
-// In all cases the timer can be started and stopped using
-// the following commands:
-//
-// - M75 - Start the print job timer
-// - M76 - Pause the print job timer
-// - M77 - Stop the print job timer
+/**
+ * Print Job Timer
+ *
+ * Automatically start and stop the print job timer on M104/M109/M190.
+ *
+ * M104 (hotend, no wait) - high temp = none, low temp = stop timer
+ * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
+ * M190 (bed, wait) - high temp = start timer, low temp = none
+ *
+ * The timer can also be controlled with the following commands:
+ *
+ * M75 - Start the print job timer
+ * M76 - Pause the print job timer
+ * M77 - Stop the print job timer
+ */
#define PRINTJOB_TIMER_AUTOSTART
-//
-// Print Counter
-//
-// When enabled Marlin will keep track of some print statistical data such as:
-// - Total print jobs
-// - Total successful print jobs
-// - Total failed print jobs
-// - Total time printing
-//
-// This information can be viewed by the M78 command.
+/**
+ * Print Counter
+ *
+ * Track statistical data such as:
+ *
+ * - Total print jobs
+ * - Total successful print jobs
+ * - Total failed print jobs
+ * - Total time printing
+ *
+ * View the current statistics with M78.
+ */
#define PRINTCOUNTER
//=============================================================================
@@ -1101,78 +1097,79 @@
// @section lcd
-//
-// LCD LANGUAGE
-//
-// Here you may choose the language used by Marlin on the LCD menus, the following
-// list of languages are available:
-// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
-// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
-//
-// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
-//
+/**
+ * LCD LANGUAGE
+ *
+ * Select the language to display on the LCD. These languages are available:
+ *
+ * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
+ * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
+ *
+ * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
+ */
#define LCD_LANGUAGE en
-//
-// LCD Character Set
-//
-// Note: This option is NOT applicable to Graphical Displays.
-//
-// All character-based LCD's provide ASCII plus one of these
-// language extensions:
-//
-// - JAPANESE ... the most common
-// - WESTERN ... with more accented characters
-// - CYRILLIC ... for the Russian language
-//
-// To determine the language extension installed on your controller:
-//
-// - Compile and upload with LCD_LANGUAGE set to 'test'
-// - Click the controller to view the LCD menu
-// - The LCD will display Japanese, Western, or Cyrillic text
-//
-// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
-//
-// :['JAPANESE', 'WESTERN', 'CYRILLIC']
-//
+/**
+ * LCD Character Set
+ *
+ * Note: This option is NOT applicable to Graphical Displays.
+ *
+ * All character-based LCDs provide ASCII plus one of these
+ * language extensions:
+ *
+ * - JAPANESE ... the most common
+ * - WESTERN ... with more accented characters
+ * - CYRILLIC ... for the Russian language
+ *
+ * To determine the language extension installed on your controller:
+ *
+ * - Compile and upload with LCD_LANGUAGE set to 'test'
+ * - Click the controller to view the LCD menu
+ * - The LCD will display Japanese, Western, or Cyrillic text
+ *
+ * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
+ *
+ * :['JAPANESE', 'WESTERN', 'CYRILLIC']
+ */
#define DISPLAY_CHARSET_HD44780 JAPANESE
-//
-// LCD TYPE
-//
-// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2,
-// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels
-// (ST7565R family). (This option will be set automatically for certain displays.)
-//
-// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display!
-// https://github.com/olikraus/U8glib_Arduino
-//
+/**
+ * LCD TYPE
+ *
+ * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
+ * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
+ * (These options will be enabled automatically for most displays.)
+ *
+ * IMPORTANT: The U8glib library is required for Full Graphic Display!
+ * https://github.com/olikraus/U8glib_Arduino
+ */
//#define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display
-//
-// SD CARD
-//
-// SD Card support is disabled by default. If your controller has an SD slot,
-// you must uncomment the following option or it won't work.
-//
+/**
+ * SD CARD
+ *
+ * SD Card support is disabled by default. If your controller has an SD slot,
+ * you must uncomment the following option or it won't work.
+ *
+ */
#define SDSUPPORT
-//
-// SD CARD: SPI SPEED
-//
-// Uncomment ONE of the following items to use a slower SPI transfer
-// speed. This is usually required if you're getting volume init errors.
-//
+/**
+ * SD CARD: SPI SPEED
+ *
+ * Enable one of the following items for a slower SPI transfer speed.
+ * This may be required to resolve "volume init" errors.
+ */
//#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED
-//
-// SD CARD: ENABLE CRC
-//
-// Use CRC checks and retries on the SD communication.
-//
+/**
+ * SD CARD: ENABLE CRC
+ *
+ * Use CRC checks and retries on the SD communication.
+ */
#define SD_CHECK_AND_RETRY
//
@@ -1200,7 +1197,7 @@
*/
//
-// This option reverses the encoder direction everywhere
+// This option reverses the encoder direction everywhere.
//
// Set this option if CLOCKWISE causes values to DECREASE
//
diff --git a/Marlin/example_configurations/K8200/Configuration.h b/Marlin/example_configurations/K8200/Configuration.h
index 1f49648955d9..914deba96dec 100644
--- a/Marlin/example_configurations/K8200/Configuration.h
+++ b/Marlin/example_configurations/K8200/Configuration.h
@@ -1015,23 +1015,17 @@
#define PREHEAT_2_TEMP_BED 60 // K8200: ABS / set back to 110 if you have an upgraded heatbed power supply
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
-//
-// Nozzle Park -- EXPERIMENTAL
-//
-// When enabled allows the user to define a special XYZ position, inside the
-// machine's topology, to park the nozzle when idle or when receiving the G27
-// command.
-//
-// The "P" paramenter controls what is the action applied to the Z axis:
-// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will
-// be raised to reach Z-park height.
-//
-// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
-// reach Z-park height.
-//
-// P2: The nozzle height will be raised by Z-park amount but never going over
-// the machine's limit of Z_MAX_POS.
-//
+/**
+ * Nozzle Park -- EXPERIMENTAL
+ *
+ * Park the nozzle at the given XYZ position on idle or G27.
+ *
+ * The "P" parameter controls the action applied to the Z axis:
+ *
+ * P0 (Default) If Z is below park Z raise the nozzle.
+ * P1 Raise the nozzle always to Z-park height.
+ * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
+ */
//#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE)
@@ -1039,44 +1033,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif
-//
-// Clean Nozzle Feature -- EXPERIMENTAL
-//
-// When enabled allows the user to send G12 to start the nozzle cleaning
-// process, the G-Code accepts two parameters:
-// "P" for pattern selection
-// "S" for defining the number of strokes/repetitions
-//
-// Available list of patterns:
-// P0: This is the default pattern, this process requires a sponge type
-// material at a fixed bed location. S defines "strokes" i.e.
-// back-and-forth movements between the starting and end points.
-//
-// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T"
-// defines the number of zig-zag triangles to be done. "S" defines the
-// number of strokes aka one back-and-forth movement. Zig-zags will
-// be performed in whichever dimension is smallest. As an example,
-// sending "G12 P1 S1 T3" will execute:
-//
-// --
-// | (X0, Y1) | /\ /\ /\ | (X1, Y1)
-// | | / \ / \ / \ |
-// A | | / \ / \ / \ |
-// | | / \ / \ / \ |
-// | (X0, Y0) | / \/ \/ \ | (X1, Y0)
-// -- +--------------------------------+
-// |________|_________|_________|
-// T1 T2 T3
-//
-// P2: This starts a circular pattern with circle with middle in
-// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S.
-// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT.
-//
-// Caveats: End point Z should use the same value as Start point Z.
-//
-// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments
-// may change to add new functionality like different wipe patterns.
-//
+/**
+ * Clean Nozzle Feature -- EXPERIMENTAL
+ *
+ * Adds the G12 command to perform a nozzle cleaning process.
+ *
+ * Parameters:
+ * P Pattern
+ * S Strokes / Repetitions
+ * T Triangles (P1 only)
+ *
+ * Patterns:
+ * P0 Straight line (default). This process requires a sponge type material
+ * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
+ * between the start / end points.
+ *
+ * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
+ * number of zig-zag triangles to do. "S" defines the number of strokes.
+ * Zig-zags are done in whichever is the narrower dimension.
+ * For example, "G12 P1 S1 T3" will execute:
+ *
+ * --
+ * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
+ * | | / \ / \ / \ |
+ * A | | / \ / \ / \ |
+ * | | / \ / \ / \ |
+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
+ * -- +--------------------------------+
+ * |________|_________|_________|
+ * T1 T2 T3
+ *
+ * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
+ * "R" specifies the radius. "S" specifies the stroke count.
+ * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
+ *
+ * Caveats: The ending Z should be the same as starting Z.
+ * Attention: EXPERIMENTAL. G-code arguments may change.
+ *
+ */
//#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE)
@@ -1101,33 +1095,35 @@
#define NOZZLE_CLEAN_GOBACK
#endif
-//
-// Print job timer
-//
-// Enable this option to automatically start and stop the
-// print job timer when M104/M109/M190 commands are received.
-// M104 (extruder without wait) - high temp = none, low temp = stop timer
-// M109 (extruder with wait) - high temp = start timer, low temp = stop timer
-// M190 (bed with wait) - high temp = start timer, low temp = none
-//
-// In all cases the timer can be started and stopped using
-// the following commands:
-//
-// - M75 - Start the print job timer
-// - M76 - Pause the print job timer
-// - M77 - Stop the print job timer
+/**
+ * Print Job Timer
+ *
+ * Automatically start and stop the print job timer on M104/M109/M190.
+ *
+ * M104 (hotend, no wait) - high temp = none, low temp = stop timer
+ * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
+ * M190 (bed, wait) - high temp = start timer, low temp = none
+ *
+ * The timer can also be controlled with the following commands:
+ *
+ * M75 - Start the print job timer
+ * M76 - Pause the print job timer
+ * M77 - Stop the print job timer
+ */
#define PRINTJOB_TIMER_AUTOSTART
-//
-// Print Counter
-//
-// When enabled Marlin will keep track of some print statistical data such as:
-// - Total print jobs
-// - Total successful print jobs
-// - Total failed print jobs
-// - Total time printing
-//
-// This information can be viewed by the M78 command.
+/**
+ * Print Counter
+ *
+ * Track statistical data such as:
+ *
+ * - Total print jobs
+ * - Total successful print jobs
+ * - Total failed print jobs
+ * - Total time printing
+ *
+ * View the current statistics with M78.
+ */
#define PRINTCOUNTER
//=============================================================================
@@ -1139,78 +1135,79 @@
// K8200: for Display VM8201 with SD slot
#if ENABLED(K8200_VM8201)
-//
-// LCD LANGUAGE
-//
-// Here you may choose the language used by Marlin on the LCD menus, the following
-// list of languages are available:
-// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
-// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
-//
-// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
-//
+/**
+ * LCD LANGUAGE
+ *
+ * Select the language to display on the LCD. These languages are available:
+ *
+ * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
+ * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
+ *
+ * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
+ */
#define LCD_LANGUAGE en
-//
-// LCD Character Set
-//
-// Note: This option is NOT applicable to Graphical Displays.
-//
-// All character-based LCD's provide ASCII plus one of these
-// language extensions:
-//
-// - JAPANESE ... the most common
-// - WESTERN ... with more accented characters
-// - CYRILLIC ... for the Russian language
-//
-// To determine the language extension installed on your controller:
-//
-// - Compile and upload with LCD_LANGUAGE set to 'test'
-// - Click the controller to view the LCD menu
-// - The LCD will display Japanese, Western, or Cyrillic text
-//
-// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
-//
-// :['JAPANESE', 'WESTERN', 'CYRILLIC']
-//
+/**
+ * LCD Character Set
+ *
+ * Note: This option is NOT applicable to Graphical Displays.
+ *
+ * All character-based LCDs provide ASCII plus one of these
+ * language extensions:
+ *
+ * - JAPANESE ... the most common
+ * - WESTERN ... with more accented characters
+ * - CYRILLIC ... for the Russian language
+ *
+ * To determine the language extension installed on your controller:
+ *
+ * - Compile and upload with LCD_LANGUAGE set to 'test'
+ * - Click the controller to view the LCD menu
+ * - The LCD will display Japanese, Western, or Cyrillic text
+ *
+ * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
+ *
+ * :['JAPANESE', 'WESTERN', 'CYRILLIC']
+ */
#define DISPLAY_CHARSET_HD44780 JAPANESE // K8200: for Display VM8201 // this is the most common hardware
-//
-// LCD TYPE
-//
-// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2,
-// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels
-// (ST7565R family). (This option will be set automatically for certain displays.)
-//
-// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display!
-// https://github.com/olikraus/U8glib_Arduino
-//
+/**
+ * LCD TYPE
+ *
+ * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
+ * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
+ * (These options will be enabled automatically for most displays.)
+ *
+ * IMPORTANT: The U8glib library is required for Full Graphic Display!
+ * https://github.com/olikraus/U8glib_Arduino
+ */
//#define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display
-//
-// SD CARD
-//
-// SD Card support is disabled by default. If your controller has an SD slot,
-// you must uncomment the following option or it won't work.
-//
+/**
+ * SD CARD
+ *
+ * SD Card support is disabled by default. If your controller has an SD slot,
+ * you must uncomment the following option or it won't work.
+ *
+ */
#define SDSUPPORT
-//
-// SD CARD: SPI SPEED
-//
-// Uncomment ONE of the following items to use a slower SPI transfer
-// speed. This is usually required if you're getting volume init errors.
-//
+/**
+ * SD CARD: SPI SPEED
+ *
+ * Enable one of the following items for a slower SPI transfer speed.
+ * This may be required to resolve "volume init" errors.
+ */
//#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED
-//
-// SD CARD: ENABLE CRC
-//
-// Use CRC checks and retries on the SD communication.
-//
+/**
+ * SD CARD: ENABLE CRC
+ *
+ * Use CRC checks and retries on the SD communication.
+ */
#define SD_CHECK_AND_RETRY
//
@@ -1238,7 +1235,7 @@
*/
//
-// This option reverses the encoder direction everywhere
+// This option reverses the encoder direction everywhere.
//
// Set this option if CLOCKWISE causes values to DECREASE
//
diff --git a/Marlin/example_configurations/K8200/README.md b/Marlin/example_configurations/K8200/README.md
index 1ed6e009708e..42cc1846ed32 100644
--- a/Marlin/example_configurations/K8200/README.md
+++ b/Marlin/example_configurations/K8200/README.md
@@ -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.
diff --git a/Marlin/example_configurations/K8400/Configuration.h b/Marlin/example_configurations/K8400/Configuration.h
index 6705dc9fd215..1a0bd3e036d2 100644
--- a/Marlin/example_configurations/K8400/Configuration.h
+++ b/Marlin/example_configurations/K8400/Configuration.h
@@ -986,23 +986,17 @@
#define PREHEAT_2_TEMP_BED 0
#define PREHEAT_2_FAN_SPEED 165 // Value from 0 to 255
-//
-// Nozzle Park -- EXPERIMENTAL
-//
-// When enabled allows the user to define a special XYZ position, inside the
-// machine's topology, to park the nozzle when idle or when receiving the G27
-// command.
-//
-// The "P" paramenter controls what is the action applied to the Z axis:
-// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will
-// be raised to reach Z-park height.
-//
-// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
-// reach Z-park height.
-//
-// P2: The nozzle height will be raised by Z-park amount but never going over
-// the machine's limit of Z_MAX_POS.
-//
+/**
+ * Nozzle Park -- EXPERIMENTAL
+ *
+ * Park the nozzle at the given XYZ position on idle or G27.
+ *
+ * The "P" parameter controls the action applied to the Z axis:
+ *
+ * P0 (Default) If Z is below park Z raise the nozzle.
+ * P1 Raise the nozzle always to Z-park height.
+ * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
+ */
//#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE)
@@ -1010,44 +1004,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif
-//
-// Clean Nozzle Feature -- EXPERIMENTAL
-//
-// When enabled allows the user to send G12 to start the nozzle cleaning
-// process, the G-Code accepts two parameters:
-// "P" for pattern selection
-// "S" for defining the number of strokes/repetitions
-//
-// Available list of patterns:
-// P0: This is the default pattern, this process requires a sponge type
-// material at a fixed bed location. S defines "strokes" i.e.
-// back-and-forth movements between the starting and end points.
-//
-// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T"
-// defines the number of zig-zag triangles to be done. "S" defines the
-// number of strokes aka one back-and-forth movement. Zig-zags will
-// be performed in whichever dimension is smallest. As an example,
-// sending "G12 P1 S1 T3" will execute:
-//
-// --
-// | (X0, Y1) | /\ /\ /\ | (X1, Y1)
-// | | / \ / \ / \ |
-// A | | / \ / \ / \ |
-// | | / \ / \ / \ |
-// | (X0, Y0) | / \/ \/ \ | (X1, Y0)
-// -- +--------------------------------+
-// |________|_________|_________|
-// T1 T2 T3
-//
-// P2: This starts a circular pattern with circle with middle in
-// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S.
-// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT.
-//
-// Caveats: End point Z should use the same value as Start point Z.
-//
-// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments
-// may change to add new functionality like different wipe patterns.
-//
+/**
+ * Clean Nozzle Feature -- EXPERIMENTAL
+ *
+ * Adds the G12 command to perform a nozzle cleaning process.
+ *
+ * Parameters:
+ * P Pattern
+ * S Strokes / Repetitions
+ * T Triangles (P1 only)
+ *
+ * Patterns:
+ * P0 Straight line (default). This process requires a sponge type material
+ * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
+ * between the start / end points.
+ *
+ * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
+ * number of zig-zag triangles to do. "S" defines the number of strokes.
+ * Zig-zags are done in whichever is the narrower dimension.
+ * For example, "G12 P1 S1 T3" will execute:
+ *
+ * --
+ * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
+ * | | / \ / \ / \ |
+ * A | | / \ / \ / \ |
+ * | | / \ / \ / \ |
+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
+ * -- +--------------------------------+
+ * |________|_________|_________|
+ * T1 T2 T3
+ *
+ * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
+ * "R" specifies the radius. "S" specifies the stroke count.
+ * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
+ *
+ * Caveats: The ending Z should be the same as starting Z.
+ * Attention: EXPERIMENTAL. G-code arguments may change.
+ *
+ */
//#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE)
@@ -1072,33 +1066,35 @@
#define NOZZLE_CLEAN_GOBACK
#endif
-//
-// Print job timer
-//
-// Enable this option to automatically start and stop the
-// print job timer when M104/M109/M190 commands are received.
-// M104 (extruder without wait) - high temp = none, low temp = stop timer
-// M109 (extruder with wait) - high temp = start timer, low temp = stop timer
-// M190 (bed with wait) - high temp = start timer, low temp = none
-//
-// In all cases the timer can be started and stopped using
-// the following commands:
-//
-// - M75 - Start the print job timer
-// - M76 - Pause the print job timer
-// - M77 - Stop the print job timer
+/**
+ * Print Job Timer
+ *
+ * Automatically start and stop the print job timer on M104/M109/M190.
+ *
+ * M104 (hotend, no wait) - high temp = none, low temp = stop timer
+ * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
+ * M190 (bed, wait) - high temp = start timer, low temp = none
+ *
+ * The timer can also be controlled with the following commands:
+ *
+ * M75 - Start the print job timer
+ * M76 - Pause the print job timer
+ * M77 - Stop the print job timer
+ */
#define PRINTJOB_TIMER_AUTOSTART
-//
-// Print Counter
-//
-// When enabled Marlin will keep track of some print statistical data such as:
-// - Total print jobs
-// - Total successful print jobs
-// - Total failed print jobs
-// - Total time printing
-//
-// This information can be viewed by the M78 command.
+/**
+ * Print Counter
+ *
+ * Track statistical data such as:
+ *
+ * - Total print jobs
+ * - Total successful print jobs
+ * - Total failed print jobs
+ * - Total time printing
+ *
+ * View the current statistics with M78.
+ */
//#define PRINTCOUNTER
//=============================================================================
@@ -1107,78 +1103,79 @@
// @section lcd
-//
-// LCD LANGUAGE
-//
-// Here you may choose the language used by Marlin on the LCD menus, the following
-// list of languages are available:
-// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
-// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
-//
-// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
-//
+/**
+ * LCD LANGUAGE
+ *
+ * Select the language to display on the LCD. These languages are available:
+ *
+ * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
+ * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
+ *
+ * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
+ */
#define LCD_LANGUAGE en
-//
-// LCD Character Set
-//
-// Note: This option is NOT applicable to Graphical Displays.
-//
-// All character-based LCD's provide ASCII plus one of these
-// language extensions:
-//
-// - JAPANESE ... the most common
-// - WESTERN ... with more accented characters
-// - CYRILLIC ... for the Russian language
-//
-// To determine the language extension installed on your controller:
-//
-// - Compile and upload with LCD_LANGUAGE set to 'test'
-// - Click the controller to view the LCD menu
-// - The LCD will display Japanese, Western, or Cyrillic text
-//
-// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
-//
-// :['JAPANESE', 'WESTERN', 'CYRILLIC']
-//
+/**
+ * LCD Character Set
+ *
+ * Note: This option is NOT applicable to Graphical Displays.
+ *
+ * All character-based LCDs provide ASCII plus one of these
+ * language extensions:
+ *
+ * - JAPANESE ... the most common
+ * - WESTERN ... with more accented characters
+ * - CYRILLIC ... for the Russian language
+ *
+ * To determine the language extension installed on your controller:
+ *
+ * - Compile and upload with LCD_LANGUAGE set to 'test'
+ * - Click the controller to view the LCD menu
+ * - The LCD will display Japanese, Western, or Cyrillic text
+ *
+ * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
+ *
+ * :['JAPANESE', 'WESTERN', 'CYRILLIC']
+ */
#define DISPLAY_CHARSET_HD44780 JAPANESE
-//
-// LCD TYPE
-//
-// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2,
-// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels
-// (ST7565R family). (This option will be set automatically for certain displays.)
-//
-// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display!
-// https://github.com/olikraus/U8glib_Arduino
-//
+/**
+ * LCD TYPE
+ *
+ * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
+ * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
+ * (These options will be enabled automatically for most displays.)
+ *
+ * IMPORTANT: The U8glib library is required for Full Graphic Display!
+ * https://github.com/olikraus/U8glib_Arduino
+ */
#define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display
-//
-// SD CARD
-//
-// SD Card support is disabled by default. If your controller has an SD slot,
-// you must uncomment the following option or it won't work.
-//
+/**
+ * SD CARD
+ *
+ * SD Card support is disabled by default. If your controller has an SD slot,
+ * you must uncomment the following option or it won't work.
+ *
+ */
#define SDSUPPORT
-//
-// SD CARD: SPI SPEED
-//
-// Uncomment ONE of the following items to use a slower SPI transfer
-// speed. This is usually required if you're getting volume init errors.
-//
+/**
+ * SD CARD: SPI SPEED
+ *
+ * Enable one of the following items for a slower SPI transfer speed.
+ * This may be required to resolve "volume init" errors.
+ */
//#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED
-//
-// SD CARD: ENABLE CRC
-//
-// Use CRC checks and retries on the SD communication.
-//
+/**
+ * SD CARD: ENABLE CRC
+ *
+ * Use CRC checks and retries on the SD communication.
+ */
//#define SD_CHECK_AND_RETRY
//
@@ -1206,7 +1203,7 @@
*/
//
-// This option reverses the encoder direction everywhere
+// This option reverses the encoder direction everywhere.
//
// Set this option if CLOCKWISE causes values to DECREASE
//
diff --git a/Marlin/example_configurations/K8400/Dual-head/Configuration.h b/Marlin/example_configurations/K8400/Dual-head/Configuration.h
index dd0ab0e12384..4d04d6ea63e1 100644
--- a/Marlin/example_configurations/K8400/Dual-head/Configuration.h
+++ b/Marlin/example_configurations/K8400/Dual-head/Configuration.h
@@ -986,23 +986,17 @@
#define PREHEAT_2_TEMP_BED 0
#define PREHEAT_2_FAN_SPEED 165 // Value from 0 to 255
-//
-// Nozzle Park -- EXPERIMENTAL
-//
-// When enabled allows the user to define a special XYZ position, inside the
-// machine's topology, to park the nozzle when idle or when receiving the G27
-// command.
-//
-// The "P" paramenter controls what is the action applied to the Z axis:
-// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will
-// be raised to reach Z-park height.
-//
-// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
-// reach Z-park height.
-//
-// P2: The nozzle height will be raised by Z-park amount but never going over
-// the machine's limit of Z_MAX_POS.
-//
+/**
+ * Nozzle Park -- EXPERIMENTAL
+ *
+ * Park the nozzle at the given XYZ position on idle or G27.
+ *
+ * The "P" parameter controls the action applied to the Z axis:
+ *
+ * P0 (Default) If Z is below park Z raise the nozzle.
+ * P1 Raise the nozzle always to Z-park height.
+ * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
+ */
//#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE)
@@ -1010,44 +1004,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif
-//
-// Clean Nozzle Feature -- EXPERIMENTAL
-//
-// When enabled allows the user to send G12 to start the nozzle cleaning
-// process, the G-Code accepts two parameters:
-// "P" for pattern selection
-// "S" for defining the number of strokes/repetitions
-//
-// Available list of patterns:
-// P0: This is the default pattern, this process requires a sponge type
-// material at a fixed bed location. S defines "strokes" i.e.
-// back-and-forth movements between the starting and end points.
-//
-// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T"
-// defines the number of zig-zag triangles to be done. "S" defines the
-// number of strokes aka one back-and-forth movement. Zig-zags will
-// be performed in whichever dimension is smallest. As an example,
-// sending "G12 P1 S1 T3" will execute:
-//
-// --
-// | (X0, Y1) | /\ /\ /\ | (X1, Y1)
-// | | / \ / \ / \ |
-// A | | / \ / \ / \ |
-// | | / \ / \ / \ |
-// | (X0, Y0) | / \/ \/ \ | (X1, Y0)
-// -- +--------------------------------+
-// |________|_________|_________|
-// T1 T2 T3
-//
-// P2: This starts a circular pattern with circle with middle in
-// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S.
-// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT.
-//
-// Caveats: End point Z should use the same value as Start point Z.
-//
-// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments
-// may change to add new functionality like different wipe patterns.
-//
+/**
+ * Clean Nozzle Feature -- EXPERIMENTAL
+ *
+ * Adds the G12 command to perform a nozzle cleaning process.
+ *
+ * Parameters:
+ * P Pattern
+ * S Strokes / Repetitions
+ * T Triangles (P1 only)
+ *
+ * Patterns:
+ * P0 Straight line (default). This process requires a sponge type material
+ * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
+ * between the start / end points.
+ *
+ * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
+ * number of zig-zag triangles to do. "S" defines the number of strokes.
+ * Zig-zags are done in whichever is the narrower dimension.
+ * For example, "G12 P1 S1 T3" will execute:
+ *
+ * --
+ * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
+ * | | / \ / \ / \ |
+ * A | | / \ / \ / \ |
+ * | | / \ / \ / \ |
+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
+ * -- +--------------------------------+
+ * |________|_________|_________|
+ * T1 T2 T3
+ *
+ * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
+ * "R" specifies the radius. "S" specifies the stroke count.
+ * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
+ *
+ * Caveats: The ending Z should be the same as starting Z.
+ * Attention: EXPERIMENTAL. G-code arguments may change.
+ *
+ */
//#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE)
@@ -1072,33 +1066,35 @@
#define NOZZLE_CLEAN_GOBACK
#endif
-//
-// Print job timer
-//
-// Enable this option to automatically start and stop the
-// print job timer when M104/M109/M190 commands are received.
-// M104 (extruder without wait) - high temp = none, low temp = stop timer
-// M109 (extruder with wait) - high temp = start timer, low temp = stop timer
-// M190 (bed with wait) - high temp = start timer, low temp = none
-//
-// In all cases the timer can be started and stopped using
-// the following commands:
-//
-// - M75 - Start the print job timer
-// - M76 - Pause the print job timer
-// - M77 - Stop the print job timer
+/**
+ * Print Job Timer
+ *
+ * Automatically start and stop the print job timer on M104/M109/M190.
+ *
+ * M104 (hotend, no wait) - high temp = none, low temp = stop timer
+ * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
+ * M190 (bed, wait) - high temp = start timer, low temp = none
+ *
+ * The timer can also be controlled with the following commands:
+ *
+ * M75 - Start the print job timer
+ * M76 - Pause the print job timer
+ * M77 - Stop the print job timer
+ */
#define PRINTJOB_TIMER_AUTOSTART
-//
-// Print Counter
-//
-// When enabled Marlin will keep track of some print statistical data such as:
-// - Total print jobs
-// - Total successful print jobs
-// - Total failed print jobs
-// - Total time printing
-//
-// This information can be viewed by the M78 command.
+/**
+ * Print Counter
+ *
+ * Track statistical data such as:
+ *
+ * - Total print jobs
+ * - Total successful print jobs
+ * - Total failed print jobs
+ * - Total time printing
+ *
+ * View the current statistics with M78.
+ */
//#define PRINTCOUNTER
//=============================================================================
@@ -1107,78 +1103,79 @@
// @section lcd
-//
-// LCD LANGUAGE
-//
-// Here you may choose the language used by Marlin on the LCD menus, the following
-// list of languages are available:
-// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
-// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
-//
-// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
-//
+/**
+ * LCD LANGUAGE
+ *
+ * Select the language to display on the LCD. These languages are available:
+ *
+ * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
+ * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
+ *
+ * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
+ */
#define LCD_LANGUAGE en
-//
-// LCD Character Set
-//
-// Note: This option is NOT applicable to Graphical Displays.
-//
-// All character-based LCD's provide ASCII plus one of these
-// language extensions:
-//
-// - JAPANESE ... the most common
-// - WESTERN ... with more accented characters
-// - CYRILLIC ... for the Russian language
-//
-// To determine the language extension installed on your controller:
-//
-// - Compile and upload with LCD_LANGUAGE set to 'test'
-// - Click the controller to view the LCD menu
-// - The LCD will display Japanese, Western, or Cyrillic text
-//
-// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
-//
-// :['JAPANESE', 'WESTERN', 'CYRILLIC']
-//
+/**
+ * LCD Character Set
+ *
+ * Note: This option is NOT applicable to Graphical Displays.
+ *
+ * All character-based LCDs provide ASCII plus one of these
+ * language extensions:
+ *
+ * - JAPANESE ... the most common
+ * - WESTERN ... with more accented characters
+ * - CYRILLIC ... for the Russian language
+ *
+ * To determine the language extension installed on your controller:
+ *
+ * - Compile and upload with LCD_LANGUAGE set to 'test'
+ * - Click the controller to view the LCD menu
+ * - The LCD will display Japanese, Western, or Cyrillic text
+ *
+ * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
+ *
+ * :['JAPANESE', 'WESTERN', 'CYRILLIC']
+ */
#define DISPLAY_CHARSET_HD44780 JAPANESE
-//
-// LCD TYPE
-//
-// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2,
-// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels
-// (ST7565R family). (This option will be set automatically for certain displays.)
-//
-// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display!
-// https://github.com/olikraus/U8glib_Arduino
-//
+/**
+ * LCD TYPE
+ *
+ * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
+ * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
+ * (These options will be enabled automatically for most displays.)
+ *
+ * IMPORTANT: The U8glib library is required for Full Graphic Display!
+ * https://github.com/olikraus/U8glib_Arduino
+ */
#define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display
-//
-// SD CARD
-//
-// SD Card support is disabled by default. If your controller has an SD slot,
-// you must uncomment the following option or it won't work.
-//
+/**
+ * SD CARD
+ *
+ * SD Card support is disabled by default. If your controller has an SD slot,
+ * you must uncomment the following option or it won't work.
+ *
+ */
#define SDSUPPORT
-//
-// SD CARD: SPI SPEED
-//
-// Uncomment ONE of the following items to use a slower SPI transfer
-// speed. This is usually required if you're getting volume init errors.
-//
+/**
+ * SD CARD: SPI SPEED
+ *
+ * Enable one of the following items for a slower SPI transfer speed.
+ * This may be required to resolve "volume init" errors.
+ */
//#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED
-//
-// SD CARD: ENABLE CRC
-//
-// Use CRC checks and retries on the SD communication.
-//
+/**
+ * SD CARD: ENABLE CRC
+ *
+ * Use CRC checks and retries on the SD communication.
+ */
//#define SD_CHECK_AND_RETRY
//
@@ -1206,7 +1203,7 @@
*/
//
-// This option reverses the encoder direction everywhere
+// This option reverses the encoder direction everywhere.
//
// Set this option if CLOCKWISE causes values to DECREASE
//
diff --git a/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h b/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h
index aff721065cf2..1b18f8ba9d56 100644
--- a/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h
+++ b/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h
@@ -986,23 +986,17 @@
#define PREHEAT_2_TEMP_BED 110
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
-//
-// Nozzle Park -- EXPERIMENTAL
-//
-// When enabled allows the user to define a special XYZ position, inside the
-// machine's topology, to park the nozzle when idle or when receiving the G27
-// command.
-//
-// The "P" paramenter controls what is the action applied to the Z axis:
-// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will
-// be raised to reach Z-park height.
-//
-// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
-// reach Z-park height.
-//
-// P2: The nozzle height will be raised by Z-park amount but never going over
-// the machine's limit of Z_MAX_POS.
-//
+/**
+ * Nozzle Park -- EXPERIMENTAL
+ *
+ * Park the nozzle at the given XYZ position on idle or G27.
+ *
+ * The "P" parameter controls the action applied to the Z axis:
+ *
+ * P0 (Default) If Z is below park Z raise the nozzle.
+ * P1 Raise the nozzle always to Z-park height.
+ * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
+ */
//#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE)
@@ -1010,44 +1004,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif
-//
-// Clean Nozzle Feature -- EXPERIMENTAL
-//
-// When enabled allows the user to send G12 to start the nozzle cleaning
-// process, the G-Code accepts two parameters:
-// "P" for pattern selection
-// "S" for defining the number of strokes/repetitions
-//
-// Available list of patterns:
-// P0: This is the default pattern, this process requires a sponge type
-// material at a fixed bed location. S defines "strokes" i.e.
-// back-and-forth movements between the starting and end points.
-//
-// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T"
-// defines the number of zig-zag triangles to be done. "S" defines the
-// number of strokes aka one back-and-forth movement. Zig-zags will
-// be performed in whichever dimension is smallest. As an example,
-// sending "G12 P1 S1 T3" will execute:
-//
-// --
-// | (X0, Y1) | /\ /\ /\ | (X1, Y1)
-// | | / \ / \ / \ |
-// A | | / \ / \ / \ |
-// | | / \ / \ / \ |
-// | (X0, Y0) | / \/ \/ \ | (X1, Y0)
-// -- +--------------------------------+
-// |________|_________|_________|
-// T1 T2 T3
-//
-// P2: This starts a circular pattern with circle with middle in
-// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S.
-// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT.
-//
-// Caveats: End point Z should use the same value as Start point Z.
-//
-// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments
-// may change to add new functionality like different wipe patterns.
-//
+/**
+ * Clean Nozzle Feature -- EXPERIMENTAL
+ *
+ * Adds the G12 command to perform a nozzle cleaning process.
+ *
+ * Parameters:
+ * P Pattern
+ * S Strokes / Repetitions
+ * T Triangles (P1 only)
+ *
+ * Patterns:
+ * P0 Straight line (default). This process requires a sponge type material
+ * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
+ * between the start / end points.
+ *
+ * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
+ * number of zig-zag triangles to do. "S" defines the number of strokes.
+ * Zig-zags are done in whichever is the narrower dimension.
+ * For example, "G12 P1 S1 T3" will execute:
+ *
+ * --
+ * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
+ * | | / \ / \ / \ |
+ * A | | / \ / \ / \ |
+ * | | / \ / \ / \ |
+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
+ * -- +--------------------------------+
+ * |________|_________|_________|
+ * T1 T2 T3
+ *
+ * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
+ * "R" specifies the radius. "S" specifies the stroke count.
+ * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
+ *
+ * Caveats: The ending Z should be the same as starting Z.
+ * Attention: EXPERIMENTAL. G-code arguments may change.
+ *
+ */
//#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE)
@@ -1072,33 +1066,35 @@
#define NOZZLE_CLEAN_GOBACK
#endif
-//
-// Print job timer
-//
-// Enable this option to automatically start and stop the
-// print job timer when M104/M109/M190 commands are received.
-// M104 (extruder without wait) - high temp = none, low temp = stop timer
-// M109 (extruder with wait) - high temp = start timer, low temp = stop timer
-// M190 (bed with wait) - high temp = start timer, low temp = none
-//
-// In all cases the timer can be started and stopped using
-// the following commands:
-//
-// - M75 - Start the print job timer
-// - M76 - Pause the print job timer
-// - M77 - Stop the print job timer
+/**
+ * Print Job Timer
+ *
+ * Automatically start and stop the print job timer on M104/M109/M190.
+ *
+ * M104 (hotend, no wait) - high temp = none, low temp = stop timer
+ * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
+ * M190 (bed, wait) - high temp = start timer, low temp = none
+ *
+ * The timer can also be controlled with the following commands:
+ *
+ * M75 - Start the print job timer
+ * M76 - Pause the print job timer
+ * M77 - Stop the print job timer
+ */
#define PRINTJOB_TIMER_AUTOSTART
-//
-// Print Counter
-//
-// When enabled Marlin will keep track of some print statistical data such as:
-// - Total print jobs
-// - Total successful print jobs
-// - Total failed print jobs
-// - Total time printing
-//
-// This information can be viewed by the M78 command.
+/**
+ * Print Counter
+ *
+ * Track statistical data such as:
+ *
+ * - Total print jobs
+ * - Total successful print jobs
+ * - Total failed print jobs
+ * - Total time printing
+ *
+ * View the current statistics with M78.
+ */
//#define PRINTCOUNTER
//=============================================================================
@@ -1107,78 +1103,79 @@
// @section lcd
-//
-// LCD LANGUAGE
-//
-// Here you may choose the language used by Marlin on the LCD menus, the following
-// list of languages are available:
-// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
-// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
-//
-// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
-//
+/**
+ * LCD LANGUAGE
+ *
+ * Select the language to display on the LCD. These languages are available:
+ *
+ * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
+ * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
+ *
+ * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
+ */
#define LCD_LANGUAGE en
-//
-// LCD Character Set
-//
-// Note: This option is NOT applicable to Graphical Displays.
-//
-// All character-based LCD's provide ASCII plus one of these
-// language extensions:
-//
-// - JAPANESE ... the most common
-// - WESTERN ... with more accented characters
-// - CYRILLIC ... for the Russian language
-//
-// To determine the language extension installed on your controller:
-//
-// - Compile and upload with LCD_LANGUAGE set to 'test'
-// - Click the controller to view the LCD menu
-// - The LCD will display Japanese, Western, or Cyrillic text
-//
-// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
-//
-// :['JAPANESE', 'WESTERN', 'CYRILLIC']
-//
+/**
+ * LCD Character Set
+ *
+ * Note: This option is NOT applicable to Graphical Displays.
+ *
+ * All character-based LCDs provide ASCII plus one of these
+ * language extensions:
+ *
+ * - JAPANESE ... the most common
+ * - WESTERN ... with more accented characters
+ * - CYRILLIC ... for the Russian language
+ *
+ * To determine the language extension installed on your controller:
+ *
+ * - Compile and upload with LCD_LANGUAGE set to 'test'
+ * - Click the controller to view the LCD menu
+ * - The LCD will display Japanese, Western, or Cyrillic text
+ *
+ * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
+ *
+ * :['JAPANESE', 'WESTERN', 'CYRILLIC']
+ */
#define DISPLAY_CHARSET_HD44780 JAPANESE
-//
-// LCD TYPE
-//
-// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2,
-// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels
-// (ST7565R family). (This option will be set automatically for certain displays.)
-//
-// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display!
-// https://github.com/olikraus/U8glib_Arduino
-//
+/**
+ * LCD TYPE
+ *
+ * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
+ * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
+ * (These options will be enabled automatically for most displays.)
+ *
+ * IMPORTANT: The U8glib library is required for Full Graphic Display!
+ * https://github.com/olikraus/U8glib_Arduino
+ */
#define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display
-//
-// SD CARD
-//
-// SD Card support is disabled by default. If your controller has an SD slot,
-// you must uncomment the following option or it won't work.
-//
+/**
+ * SD CARD
+ *
+ * SD Card support is disabled by default. If your controller has an SD slot,
+ * you must uncomment the following option or it won't work.
+ *
+ */
#define SDSUPPORT
-//
-// SD CARD: SPI SPEED
-//
-// Uncomment ONE of the following items to use a slower SPI transfer
-// speed. This is usually required if you're getting volume init errors.
-//
+/**
+ * SD CARD: SPI SPEED
+ *
+ * Enable one of the following items for a slower SPI transfer speed.
+ * This may be required to resolve "volume init" errors.
+ */
//#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED
-//
-// SD CARD: ENABLE CRC
-//
-// Use CRC checks and retries on the SD communication.
-//
+/**
+ * SD CARD: ENABLE CRC
+ *
+ * Use CRC checks and retries on the SD communication.
+ */
#define SD_CHECK_AND_RETRY
//
@@ -1206,7 +1203,7 @@
*/
//
-// This option reverses the encoder direction everywhere
+// This option reverses the encoder direction everywhere.
//
// Set this option if CLOCKWISE causes values to DECREASE
//
diff --git a/Marlin/example_configurations/RigidBot/Configuration.h b/Marlin/example_configurations/RigidBot/Configuration.h
index d90db6f6e303..4a109a5c99d6 100644
--- a/Marlin/example_configurations/RigidBot/Configuration.h
+++ b/Marlin/example_configurations/RigidBot/Configuration.h
@@ -985,23 +985,17 @@
#define PREHEAT_2_TEMP_BED 110
#define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255
-//
-// Nozzle Park -- EXPERIMENTAL
-//
-// When enabled allows the user to define a special XYZ position, inside the
-// machine's topology, to park the nozzle when idle or when receiving the G27
-// command.
-//
-// The "P" paramenter controls what is the action applied to the Z axis:
-// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will
-// be raised to reach Z-park height.
-//
-// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
-// reach Z-park height.
-//
-// P2: The nozzle height will be raised by Z-park amount but never going over
-// the machine's limit of Z_MAX_POS.
-//
+/**
+ * Nozzle Park -- EXPERIMENTAL
+ *
+ * Park the nozzle at the given XYZ position on idle or G27.
+ *
+ * The "P" parameter controls the action applied to the Z axis:
+ *
+ * P0 (Default) If Z is below park Z raise the nozzle.
+ * P1 Raise the nozzle always to Z-park height.
+ * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
+ */
//#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE)
@@ -1009,44 +1003,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif
-//
-// Clean Nozzle Feature -- EXPERIMENTAL
-//
-// When enabled allows the user to send G12 to start the nozzle cleaning
-// process, the G-Code accepts two parameters:
-// "P" for pattern selection
-// "S" for defining the number of strokes/repetitions
-//
-// Available list of patterns:
-// P0: This is the default pattern, this process requires a sponge type
-// material at a fixed bed location. S defines "strokes" i.e.
-// back-and-forth movements between the starting and end points.
-//
-// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T"
-// defines the number of zig-zag triangles to be done. "S" defines the
-// number of strokes aka one back-and-forth movement. Zig-zags will
-// be performed in whichever dimension is smallest. As an example,
-// sending "G12 P1 S1 T3" will execute:
-//
-// --
-// | (X0, Y1) | /\ /\ /\ | (X1, Y1)
-// | | / \ / \ / \ |
-// A | | / \ / \ / \ |
-// | | / \ / \ / \ |
-// | (X0, Y0) | / \/ \/ \ | (X1, Y0)
-// -- +--------------------------------+
-// |________|_________|_________|
-// T1 T2 T3
-//
-// P2: This starts a circular pattern with circle with middle in
-// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S.
-// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT.
-//
-// Caveats: End point Z should use the same value as Start point Z.
-//
-// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments
-// may change to add new functionality like different wipe patterns.
-//
+/**
+ * Clean Nozzle Feature -- EXPERIMENTAL
+ *
+ * Adds the G12 command to perform a nozzle cleaning process.
+ *
+ * Parameters:
+ * P Pattern
+ * S Strokes / Repetitions
+ * T Triangles (P1 only)
+ *
+ * Patterns:
+ * P0 Straight line (default). This process requires a sponge type material
+ * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
+ * between the start / end points.
+ *
+ * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
+ * number of zig-zag triangles to do. "S" defines the number of strokes.
+ * Zig-zags are done in whichever is the narrower dimension.
+ * For example, "G12 P1 S1 T3" will execute:
+ *
+ * --
+ * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
+ * | | / \ / \ / \ |
+ * A | | / \ / \ / \ |
+ * | | / \ / \ / \ |
+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
+ * -- +--------------------------------+
+ * |________|_________|_________|
+ * T1 T2 T3
+ *
+ * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
+ * "R" specifies the radius. "S" specifies the stroke count.
+ * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
+ *
+ * Caveats: The ending Z should be the same as starting Z.
+ * Attention: EXPERIMENTAL. G-code arguments may change.
+ *
+ */
//#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE)
@@ -1071,33 +1065,35 @@
#define NOZZLE_CLEAN_GOBACK
#endif
-//
-// Print job timer
-//
-// Enable this option to automatically start and stop the
-// print job timer when M104/M109/M190 commands are received.
-// M104 (extruder without wait) - high temp = none, low temp = stop timer
-// M109 (extruder with wait) - high temp = start timer, low temp = stop timer
-// M190 (bed with wait) - high temp = start timer, low temp = none
-//
-// In all cases the timer can be started and stopped using
-// the following commands:
-//
-// - M75 - Start the print job timer
-// - M76 - Pause the print job timer
-// - M77 - Stop the print job timer
+/**
+ * Print Job Timer
+ *
+ * Automatically start and stop the print job timer on M104/M109/M190.
+ *
+ * M104 (hotend, no wait) - high temp = none, low temp = stop timer
+ * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
+ * M190 (bed, wait) - high temp = start timer, low temp = none
+ *
+ * The timer can also be controlled with the following commands:
+ *
+ * M75 - Start the print job timer
+ * M76 - Pause the print job timer
+ * M77 - Stop the print job timer
+ */
#define PRINTJOB_TIMER_AUTOSTART
-//
-// Print Counter
-//
-// When enabled Marlin will keep track of some print statistical data such as:
-// - Total print jobs
-// - Total successful print jobs
-// - Total failed print jobs
-// - Total time printing
-//
-// This information can be viewed by the M78 command.
+/**
+ * Print Counter
+ *
+ * Track statistical data such as:
+ *
+ * - Total print jobs
+ * - Total successful print jobs
+ * - Total failed print jobs
+ * - Total time printing
+ *
+ * View the current statistics with M78.
+ */
//#define PRINTCOUNTER
//=============================================================================
@@ -1106,78 +1102,79 @@
// @section lcd
-//
-// LCD LANGUAGE
-//
-// Here you may choose the language used by Marlin on the LCD menus, the following
-// list of languages are available:
-// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
-// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
-//
-// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
-//
+/**
+ * LCD LANGUAGE
+ *
+ * Select the language to display on the LCD. These languages are available:
+ *
+ * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
+ * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
+ *
+ * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
+ */
#define LCD_LANGUAGE en
-//
-// LCD Character Set
-//
-// Note: This option is NOT applicable to Graphical Displays.
-//
-// All character-based LCD's provide ASCII plus one of these
-// language extensions:
-//
-// - JAPANESE ... the most common
-// - WESTERN ... with more accented characters
-// - CYRILLIC ... for the Russian language
-//
-// To determine the language extension installed on your controller:
-//
-// - Compile and upload with LCD_LANGUAGE set to 'test'
-// - Click the controller to view the LCD menu
-// - The LCD will display Japanese, Western, or Cyrillic text
-//
-// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
-//
-// :['JAPANESE', 'WESTERN', 'CYRILLIC']
-//
+/**
+ * LCD Character Set
+ *
+ * Note: This option is NOT applicable to Graphical Displays.
+ *
+ * All character-based LCDs provide ASCII plus one of these
+ * language extensions:
+ *
+ * - JAPANESE ... the most common
+ * - WESTERN ... with more accented characters
+ * - CYRILLIC ... for the Russian language
+ *
+ * To determine the language extension installed on your controller:
+ *
+ * - Compile and upload with LCD_LANGUAGE set to 'test'
+ * - Click the controller to view the LCD menu
+ * - The LCD will display Japanese, Western, or Cyrillic text
+ *
+ * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
+ *
+ * :['JAPANESE', 'WESTERN', 'CYRILLIC']
+ */
#define DISPLAY_CHARSET_HD44780 JAPANESE
-//
-// LCD TYPE
-//
-// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2,
-// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels
-// (ST7565R family). (This option will be set automatically for certain displays.)
-//
-// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display!
-// https://github.com/olikraus/U8glib_Arduino
-//
+/**
+ * LCD TYPE
+ *
+ * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
+ * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
+ * (These options will be enabled automatically for most displays.)
+ *
+ * IMPORTANT: The U8glib library is required for Full Graphic Display!
+ * https://github.com/olikraus/U8glib_Arduino
+ */
//#define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display
-//
-// SD CARD
-//
-// SD Card support is disabled by default. If your controller has an SD slot,
-// you must uncomment the following option or it won't work.
-//
+/**
+ * SD CARD
+ *
+ * SD Card support is disabled by default. If your controller has an SD slot,
+ * you must uncomment the following option or it won't work.
+ *
+ */
#define SDSUPPORT
-//
-// SD CARD: SPI SPEED
-//
-// Uncomment ONE of the following items to use a slower SPI transfer
-// speed. This is usually required if you're getting volume init errors.
-//
+/**
+ * SD CARD: SPI SPEED
+ *
+ * Enable one of the following items for a slower SPI transfer speed.
+ * This may be required to resolve "volume init" errors.
+ */
//#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED
#define SPI_SPEED SPI_EIGHTH_SPEED
-//
-// SD CARD: ENABLE CRC
-//
-// Use CRC checks and retries on the SD communication.
-//
+/**
+ * SD CARD: ENABLE CRC
+ *
+ * Use CRC checks and retries on the SD communication.
+ */
//#define SD_CHECK_AND_RETRY
//
@@ -1205,7 +1202,7 @@
*/
//
-// This option reverses the encoder direction everywhere
+// This option reverses the encoder direction everywhere.
//
// Set this option if CLOCKWISE causes values to DECREASE
//
diff --git a/Marlin/example_configurations/SCARA/Configuration.h b/Marlin/example_configurations/SCARA/Configuration.h
index 55d991b20485..63bc0f3333f3 100644
--- a/Marlin/example_configurations/SCARA/Configuration.h
+++ b/Marlin/example_configurations/SCARA/Configuration.h
@@ -1001,23 +1001,17 @@
#define PREHEAT_2_TEMP_BED 100
#define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255
-//
-// Nozzle Park -- EXPERIMENTAL
-//
-// When enabled allows the user to define a special XYZ position, inside the
-// machine's topology, to park the nozzle when idle or when receiving the G27
-// command.
-//
-// The "P" paramenter controls what is the action applied to the Z axis:
-// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will
-// be raised to reach Z-park height.
-//
-// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
-// reach Z-park height.
-//
-// P2: The nozzle height will be raised by Z-park amount but never going over
-// the machine's limit of Z_MAX_POS.
-//
+/**
+ * Nozzle Park -- EXPERIMENTAL
+ *
+ * Park the nozzle at the given XYZ position on idle or G27.
+ *
+ * The "P" parameter controls the action applied to the Z axis:
+ *
+ * P0 (Default) If Z is below park Z raise the nozzle.
+ * P1 Raise the nozzle always to Z-park height.
+ * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
+ */
//#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE)
@@ -1025,44 +1019,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif
-//
-// Clean Nozzle Feature -- EXPERIMENTAL
-//
-// When enabled allows the user to send G12 to start the nozzle cleaning
-// process, the G-Code accepts two parameters:
-// "P" for pattern selection
-// "S" for defining the number of strokes/repetitions
-//
-// Available list of patterns:
-// P0: This is the default pattern, this process requires a sponge type
-// material at a fixed bed location. S defines "strokes" i.e.
-// back-and-forth movements between the starting and end points.
-//
-// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T"
-// defines the number of zig-zag triangles to be done. "S" defines the
-// number of strokes aka one back-and-forth movement. Zig-zags will
-// be performed in whichever dimension is smallest. As an example,
-// sending "G12 P1 S1 T3" will execute:
-//
-// --
-// | (X0, Y1) | /\ /\ /\ | (X1, Y1)
-// | | / \ / \ / \ |
-// A | | / \ / \ / \ |
-// | | / \ / \ / \ |
-// | (X0, Y0) | / \/ \/ \ | (X1, Y0)
-// -- +--------------------------------+
-// |________|_________|_________|
-// T1 T2 T3
-//
-// P2: This starts a circular pattern with circle with middle in
-// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S.
-// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT.
-//
-// Caveats: End point Z should use the same value as Start point Z.
-//
-// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments
-// may change to add new functionality like different wipe patterns.
-//
+/**
+ * Clean Nozzle Feature -- EXPERIMENTAL
+ *
+ * Adds the G12 command to perform a nozzle cleaning process.
+ *
+ * Parameters:
+ * P Pattern
+ * S Strokes / Repetitions
+ * T Triangles (P1 only)
+ *
+ * Patterns:
+ * P0 Straight line (default). This process requires a sponge type material
+ * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
+ * between the start / end points.
+ *
+ * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
+ * number of zig-zag triangles to do. "S" defines the number of strokes.
+ * Zig-zags are done in whichever is the narrower dimension.
+ * For example, "G12 P1 S1 T3" will execute:
+ *
+ * --
+ * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
+ * | | / \ / \ / \ |
+ * A | | / \ / \ / \ |
+ * | | / \ / \ / \ |
+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
+ * -- +--------------------------------+
+ * |________|_________|_________|
+ * T1 T2 T3
+ *
+ * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
+ * "R" specifies the radius. "S" specifies the stroke count.
+ * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
+ *
+ * Caveats: The ending Z should be the same as starting Z.
+ * Attention: EXPERIMENTAL. G-code arguments may change.
+ *
+ */
//#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE)
@@ -1087,33 +1081,35 @@
#define NOZZLE_CLEAN_GOBACK
#endif
-//
-// Print job timer
-//
-// Enable this option to automatically start and stop the
-// print job timer when M104/M109/M190 commands are received.
-// M104 (extruder without wait) - high temp = none, low temp = stop timer
-// M109 (extruder with wait) - high temp = start timer, low temp = stop timer
-// M190 (bed with wait) - high temp = start timer, low temp = none
-//
-// In all cases the timer can be started and stopped using
-// the following commands:
-//
-// - M75 - Start the print job timer
-// - M76 - Pause the print job timer
-// - M77 - Stop the print job timer
+/**
+ * Print Job Timer
+ *
+ * Automatically start and stop the print job timer on M104/M109/M190.
+ *
+ * M104 (hotend, no wait) - high temp = none, low temp = stop timer
+ * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
+ * M190 (bed, wait) - high temp = start timer, low temp = none
+ *
+ * The timer can also be controlled with the following commands:
+ *
+ * M75 - Start the print job timer
+ * M76 - Pause the print job timer
+ * M77 - Stop the print job timer
+ */
#define PRINTJOB_TIMER_AUTOSTART
-//
-// Print Counter
-//
-// When enabled Marlin will keep track of some print statistical data such as:
-// - Total print jobs
-// - Total successful print jobs
-// - Total failed print jobs
-// - Total time printing
-//
-// This information can be viewed by the M78 command.
+/**
+ * Print Counter
+ *
+ * Track statistical data such as:
+ *
+ * - Total print jobs
+ * - Total successful print jobs
+ * - Total failed print jobs
+ * - Total time printing
+ *
+ * View the current statistics with M78.
+ */
//#define PRINTCOUNTER
//=============================================================================
@@ -1122,78 +1118,79 @@
// @section lcd
-//
-// LCD LANGUAGE
-//
-// Here you may choose the language used by Marlin on the LCD menus, the following
-// list of languages are available:
-// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
-// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
-//
-// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
-//
+/**
+ * LCD LANGUAGE
+ *
+ * Select the language to display on the LCD. These languages are available:
+ *
+ * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
+ * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
+ *
+ * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
+ */
//#define LCD_LANGUAGE en
-//
-// LCD Character Set
-//
-// Note: This option is NOT applicable to Graphical Displays.
-//
-// All character-based LCD's provide ASCII plus one of these
-// language extensions:
-//
-// - JAPANESE ... the most common
-// - WESTERN ... with more accented characters
-// - CYRILLIC ... for the Russian language
-//
-// To determine the language extension installed on your controller:
-//
-// - Compile and upload with LCD_LANGUAGE set to 'test'
-// - Click the controller to view the LCD menu
-// - The LCD will display Japanese, Western, or Cyrillic text
-//
-// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
-//
-// :['JAPANESE', 'WESTERN', 'CYRILLIC']
-//
+/**
+ * LCD Character Set
+ *
+ * Note: This option is NOT applicable to Graphical Displays.
+ *
+ * All character-based LCDs provide ASCII plus one of these
+ * language extensions:
+ *
+ * - JAPANESE ... the most common
+ * - WESTERN ... with more accented characters
+ * - CYRILLIC ... for the Russian language
+ *
+ * To determine the language extension installed on your controller:
+ *
+ * - Compile and upload with LCD_LANGUAGE set to 'test'
+ * - Click the controller to view the LCD menu
+ * - The LCD will display Japanese, Western, or Cyrillic text
+ *
+ * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
+ *
+ * :['JAPANESE', 'WESTERN', 'CYRILLIC']
+ */
#define DISPLAY_CHARSET_HD44780 JAPANESE
-//
-// LCD TYPE
-//
-// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2,
-// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels
-// (ST7565R family). (This option will be set automatically for certain displays.)
-//
-// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display!
-// https://github.com/olikraus/U8glib_Arduino
-//
+/**
+ * LCD TYPE
+ *
+ * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
+ * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
+ * (These options will be enabled automatically for most displays.)
+ *
+ * IMPORTANT: The U8glib library is required for Full Graphic Display!
+ * https://github.com/olikraus/U8glib_Arduino
+ */
//#define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display
-//
-// SD CARD
-//
-// SD Card support is disabled by default. If your controller has an SD slot,
-// you must uncomment the following option or it won't work.
-//
+/**
+ * SD CARD
+ *
+ * SD Card support is disabled by default. If your controller has an SD slot,
+ * you must uncomment the following option or it won't work.
+ *
+ */
//#define SDSUPPORT
-//
-// SD CARD: SPI SPEED
-//
-// Uncomment ONE of the following items to use a slower SPI transfer
-// speed. This is usually required if you're getting volume init errors.
-//
+/**
+ * SD CARD: SPI SPEED
+ *
+ * Enable one of the following items for a slower SPI transfer speed.
+ * This may be required to resolve "volume init" errors.
+ */
//#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED
-//
-// SD CARD: ENABLE CRC
-//
-// Use CRC checks and retries on the SD communication.
-//
+/**
+ * SD CARD: ENABLE CRC
+ *
+ * Use CRC checks and retries on the SD communication.
+ */
//#define SD_CHECK_AND_RETRY
//
@@ -1221,7 +1218,7 @@
*/
//
-// This option reverses the encoder direction everywhere
+// This option reverses the encoder direction everywhere.
//
// Set this option if CLOCKWISE causes values to DECREASE
//
diff --git a/Marlin/example_configurations/TAZ4/Configuration.h b/Marlin/example_configurations/TAZ4/Configuration.h
index 83c7a1873855..1b3d640a493f 100644
--- a/Marlin/example_configurations/TAZ4/Configuration.h
+++ b/Marlin/example_configurations/TAZ4/Configuration.h
@@ -1006,23 +1006,17 @@
#define PREHEAT_2_TEMP_BED 110
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
-//
-// Nozzle Park -- EXPERIMENTAL
-//
-// When enabled allows the user to define a special XYZ position, inside the
-// machine's topology, to park the nozzle when idle or when receiving the G27
-// command.
-//
-// The "P" paramenter controls what is the action applied to the Z axis:
-// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will
-// be raised to reach Z-park height.
-//
-// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
-// reach Z-park height.
-//
-// P2: The nozzle height will be raised by Z-park amount but never going over
-// the machine's limit of Z_MAX_POS.
-//
+/**
+ * Nozzle Park -- EXPERIMENTAL
+ *
+ * Park the nozzle at the given XYZ position on idle or G27.
+ *
+ * The "P" parameter controls the action applied to the Z axis:
+ *
+ * P0 (Default) If Z is below park Z raise the nozzle.
+ * P1 Raise the nozzle always to Z-park height.
+ * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
+ */
//#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE)
@@ -1030,44 +1024,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif
-//
-// Clean Nozzle Feature -- EXPERIMENTAL
-//
-// When enabled allows the user to send G12 to start the nozzle cleaning
-// process, the G-Code accepts two parameters:
-// "P" for pattern selection
-// "S" for defining the number of strokes/repetitions
-//
-// Available list of patterns:
-// P0: This is the default pattern, this process requires a sponge type
-// material at a fixed bed location. S defines "strokes" i.e.
-// back-and-forth movements between the starting and end points.
-//
-// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T"
-// defines the number of zig-zag triangles to be done. "S" defines the
-// number of strokes aka one back-and-forth movement. Zig-zags will
-// be performed in whichever dimension is smallest. As an example,
-// sending "G12 P1 S1 T3" will execute:
-//
-// --
-// | (X0, Y1) | /\ /\ /\ | (X1, Y1)
-// | | / \ / \ / \ |
-// A | | / \ / \ / \ |
-// | | / \ / \ / \ |
-// | (X0, Y0) | / \/ \/ \ | (X1, Y0)
-// -- +--------------------------------+
-// |________|_________|_________|
-// T1 T2 T3
-//
-// P2: This starts a circular pattern with circle with middle in
-// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S.
-// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT.
-//
-// Caveats: End point Z should use the same value as Start point Z.
-//
-// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments
-// may change to add new functionality like different wipe patterns.
-//
+/**
+ * Clean Nozzle Feature -- EXPERIMENTAL
+ *
+ * Adds the G12 command to perform a nozzle cleaning process.
+ *
+ * Parameters:
+ * P Pattern
+ * S Strokes / Repetitions
+ * T Triangles (P1 only)
+ *
+ * Patterns:
+ * P0 Straight line (default). This process requires a sponge type material
+ * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
+ * between the start / end points.
+ *
+ * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
+ * number of zig-zag triangles to do. "S" defines the number of strokes.
+ * Zig-zags are done in whichever is the narrower dimension.
+ * For example, "G12 P1 S1 T3" will execute:
+ *
+ * --
+ * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
+ * | | / \ / \ / \ |
+ * A | | / \ / \ / \ |
+ * | | / \ / \ / \ |
+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
+ * -- +--------------------------------+
+ * |________|_________|_________|
+ * T1 T2 T3
+ *
+ * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
+ * "R" specifies the radius. "S" specifies the stroke count.
+ * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
+ *
+ * Caveats: The ending Z should be the same as starting Z.
+ * Attention: EXPERIMENTAL. G-code arguments may change.
+ *
+ */
//#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE)
@@ -1092,33 +1086,35 @@
#define NOZZLE_CLEAN_GOBACK
#endif
-//
-// Print job timer
-//
-// Enable this option to automatically start and stop the
-// print job timer when M104/M109/M190 commands are received.
-// M104 (extruder without wait) - high temp = none, low temp = stop timer
-// M109 (extruder with wait) - high temp = start timer, low temp = stop timer
-// M190 (bed with wait) - high temp = start timer, low temp = none
-//
-// In all cases the timer can be started and stopped using
-// the following commands:
-//
-// - M75 - Start the print job timer
-// - M76 - Pause the print job timer
-// - M77 - Stop the print job timer
+/**
+ * Print Job Timer
+ *
+ * Automatically start and stop the print job timer on M104/M109/M190.
+ *
+ * M104 (hotend, no wait) - high temp = none, low temp = stop timer
+ * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
+ * M190 (bed, wait) - high temp = start timer, low temp = none
+ *
+ * The timer can also be controlled with the following commands:
+ *
+ * M75 - Start the print job timer
+ * M76 - Pause the print job timer
+ * M77 - Stop the print job timer
+ */
#define PRINTJOB_TIMER_AUTOSTART
-//
-// Print Counter
-//
-// When enabled Marlin will keep track of some print statistical data such as:
-// - Total print jobs
-// - Total successful print jobs
-// - Total failed print jobs
-// - Total time printing
-//
-// This information can be viewed by the M78 command.
+/**
+ * Print Counter
+ *
+ * Track statistical data such as:
+ *
+ * - Total print jobs
+ * - Total successful print jobs
+ * - Total failed print jobs
+ * - Total time printing
+ *
+ * View the current statistics with M78.
+ */
//#define PRINTCOUNTER
//=============================================================================
@@ -1127,78 +1123,79 @@
// @section lcd
-//
-// LCD LANGUAGE
-//
-// Here you may choose the language used by Marlin on the LCD menus, the following
-// list of languages are available:
-// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
-// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
-//
-// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
-//
+/**
+ * LCD LANGUAGE
+ *
+ * Select the language to display on the LCD. These languages are available:
+ *
+ * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
+ * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
+ *
+ * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
+ */
#define LCD_LANGUAGE en
-//
-// LCD Character Set
-//
-// Note: This option is NOT applicable to Graphical Displays.
-//
-// All character-based LCD's provide ASCII plus one of these
-// language extensions:
-//
-// - JAPANESE ... the most common
-// - WESTERN ... with more accented characters
-// - CYRILLIC ... for the Russian language
-//
-// To determine the language extension installed on your controller:
-//
-// - Compile and upload with LCD_LANGUAGE set to 'test'
-// - Click the controller to view the LCD menu
-// - The LCD will display Japanese, Western, or Cyrillic text
-//
-// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
-//
-// :['JAPANESE', 'WESTERN', 'CYRILLIC']
-//
+/**
+ * LCD Character Set
+ *
+ * Note: This option is NOT applicable to Graphical Displays.
+ *
+ * All character-based LCDs provide ASCII plus one of these
+ * language extensions:
+ *
+ * - JAPANESE ... the most common
+ * - WESTERN ... with more accented characters
+ * - CYRILLIC ... for the Russian language
+ *
+ * To determine the language extension installed on your controller:
+ *
+ * - Compile and upload with LCD_LANGUAGE set to 'test'
+ * - Click the controller to view the LCD menu
+ * - The LCD will display Japanese, Western, or Cyrillic text
+ *
+ * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
+ *
+ * :['JAPANESE', 'WESTERN', 'CYRILLIC']
+ */
#define DISPLAY_CHARSET_HD44780 JAPANESE
-//
-// LCD TYPE
-//
-// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2,
-// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels
-// (ST7565R family). (This option will be set automatically for certain displays.)
-//
-// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display!
-// https://github.com/olikraus/U8glib_Arduino
-//
+/**
+ * LCD TYPE
+ *
+ * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
+ * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
+ * (These options will be enabled automatically for most displays.)
+ *
+ * IMPORTANT: The U8glib library is required for Full Graphic Display!
+ * https://github.com/olikraus/U8glib_Arduino
+ */
//#define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display
-//
-// SD CARD
-//
-// SD Card support is disabled by default. If your controller has an SD slot,
-// you must uncomment the following option or it won't work.
-//
+/**
+ * SD CARD
+ *
+ * SD Card support is disabled by default. If your controller has an SD slot,
+ * you must uncomment the following option or it won't work.
+ *
+ */
//#define SDSUPPORT
-//
-// SD CARD: SPI SPEED
-//
-// Uncomment ONE of the following items to use a slower SPI transfer
-// speed. This is usually required if you're getting volume init errors.
-//
+/**
+ * SD CARD: SPI SPEED
+ *
+ * Enable one of the following items for a slower SPI transfer speed.
+ * This may be required to resolve "volume init" errors.
+ */
//#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED
-//
-// SD CARD: ENABLE CRC
-//
-// Use CRC checks and retries on the SD communication.
-//
+/**
+ * SD CARD: ENABLE CRC
+ *
+ * Use CRC checks and retries on the SD communication.
+ */
//#define SD_CHECK_AND_RETRY
//
@@ -1226,7 +1223,7 @@
*/
//
-// This option reverses the encoder direction everywhere
+// This option reverses the encoder direction everywhere.
//
// Set this option if CLOCKWISE causes values to DECREASE
//
diff --git a/Marlin/example_configurations/TinyBoy2/Configuration.h b/Marlin/example_configurations/TinyBoy2/Configuration.h
index 966ec447f363..39b4ca6b15ea 100644
--- a/Marlin/example_configurations/TinyBoy2/Configuration.h
+++ b/Marlin/example_configurations/TinyBoy2/Configuration.h
@@ -1042,23 +1042,17 @@
#define PREHEAT_2_TEMP_BED 90 // TB2: ABS default 110, 90 is the maximum temp at 12V supply
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
-//
-// Nozzle Park -- EXPERIMENTAL
-//
-// When enabled allows the user to define a special XYZ position, inside the
-// machine's topology, to park the nozzle when idle or when receiving the G27
-// command.
-//
-// The "P" paramenter controls what is the action applied to the Z axis:
-// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will
-// be raised to reach Z-park height.
-//
-// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
-// reach Z-park height.
-//
-// P2: The nozzle height will be raised by Z-park amount but never going over
-// the machine's limit of Z_MAX_POS.
-//
+/**
+ * Nozzle Park -- EXPERIMENTAL
+ *
+ * Park the nozzle at the given XYZ position on idle or G27.
+ *
+ * The "P" parameter controls the action applied to the Z axis:
+ *
+ * P0 (Default) If Z is below park Z raise the nozzle.
+ * P1 Raise the nozzle always to Z-park height.
+ * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
+ */
#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE)
@@ -1066,44 +1060,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif
-//
-// Clean Nozzle Feature -- EXPERIMENTAL
-//
-// When enabled allows the user to send G12 to start the nozzle cleaning
-// process, the G-Code accepts two parameters:
-// "P" for pattern selection
-// "S" for defining the number of strokes/repetitions
-//
-// Available list of patterns:
-// P0: This is the default pattern, this process requires a sponge type
-// material at a fixed bed location. S defines "strokes" i.e.
-// back-and-forth movements between the starting and end points.
-//
-// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T"
-// defines the number of zig-zag triangles to be done. "S" defines the
-// number of strokes aka one back-and-forth movement. Zig-zags will
-// be performed in whichever dimension is smallest. As an example,
-// sending "G12 P1 S1 T3" will execute:
-//
-// --
-// | (X0, Y1) | /\ /\ /\ | (X1, Y1)
-// | | / \ / \ / \ |
-// A | | / \ / \ / \ |
-// | | / \ / \ / \ |
-// | (X0, Y0) | / \/ \/ \ | (X1, Y0)
-// -- +--------------------------------+
-// |________|_________|_________|
-// T1 T2 T3
-//
-// P2: This starts a circular pattern with circle with middle in
-// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S.
-// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT.
-//
-// Caveats: End point Z should use the same value as Start point Z.
-//
-// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments
-// may change to add new functionality like different wipe patterns.
-//
+/**
+ * Clean Nozzle Feature -- EXPERIMENTAL
+ *
+ * Adds the G12 command to perform a nozzle cleaning process.
+ *
+ * Parameters:
+ * P Pattern
+ * S Strokes / Repetitions
+ * T Triangles (P1 only)
+ *
+ * Patterns:
+ * P0 Straight line (default). This process requires a sponge type material
+ * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
+ * between the start / end points.
+ *
+ * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
+ * number of zig-zag triangles to do. "S" defines the number of strokes.
+ * Zig-zags are done in whichever is the narrower dimension.
+ * For example, "G12 P1 S1 T3" will execute:
+ *
+ * --
+ * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
+ * | | / \ / \ / \ |
+ * A | | / \ / \ / \ |
+ * | | / \ / \ / \ |
+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
+ * -- +--------------------------------+
+ * |________|_________|_________|
+ * T1 T2 T3
+ *
+ * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
+ * "R" specifies the radius. "S" specifies the stroke count.
+ * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
+ *
+ * Caveats: The ending Z should be the same as starting Z.
+ * Attention: EXPERIMENTAL. G-code arguments may change.
+ *
+ */
//#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE)
@@ -1128,33 +1122,35 @@
#define NOZZLE_CLEAN_GOBACK
#endif
-//
-// Print job timer
-//
-// Enable this option to automatically start and stop the
-// print job timer when M104/M109/M190 commands are received.
-// M104 (extruder without wait) - high temp = none, low temp = stop timer
-// M109 (extruder with wait) - high temp = start timer, low temp = stop timer
-// M190 (bed with wait) - high temp = start timer, low temp = none
-//
-// In all cases the timer can be started and stopped using
-// the following commands:
-//
-// - M75 - Start the print job timer
-// - M76 - Pause the print job timer
-// - M77 - Stop the print job timer
+/**
+ * Print Job Timer
+ *
+ * Automatically start and stop the print job timer on M104/M109/M190.
+ *
+ * M104 (hotend, no wait) - high temp = none, low temp = stop timer
+ * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
+ * M190 (bed, wait) - high temp = start timer, low temp = none
+ *
+ * The timer can also be controlled with the following commands:
+ *
+ * M75 - Start the print job timer
+ * M76 - Pause the print job timer
+ * M77 - Stop the print job timer
+ */
#define PRINTJOB_TIMER_AUTOSTART
-//
-// Print Counter
-//
-// When enabled Marlin will keep track of some print statistical data such as:
-// - Total print jobs
-// - Total successful print jobs
-// - Total failed print jobs
-// - Total time printing
-//
-// This information can be viewed by the M78 command.
+/**
+ * Print Counter
+ *
+ * Track statistical data such as:
+ *
+ * - Total print jobs
+ * - Total successful print jobs
+ * - Total failed print jobs
+ * - Total time printing
+ *
+ * View the current statistics with M78.
+ */
#define PRINTCOUNTER
//=============================================================================
@@ -1163,78 +1159,79 @@
// @section lcd
-//
-// LCD LANGUAGE
-//
-// Here you may choose the language used by Marlin on the LCD menus, the following
-// list of languages are available:
-// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
-// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
-//
-// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
-//
+/**
+ * LCD LANGUAGE
+ *
+ * Select the language to display on the LCD. These languages are available:
+ *
+ * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
+ * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
+ *
+ * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
+ */
#define LCD_LANGUAGE en
-//
-// LCD Character Set
-//
-// Note: This option is NOT applicable to Graphical Displays.
-//
-// All character-based LCD's provide ASCII plus one of these
-// language extensions:
-//
-// - JAPANESE ... the most common
-// - WESTERN ... with more accented characters
-// - CYRILLIC ... for the Russian language
-//
-// To determine the language extension installed on your controller:
-//
-// - Compile and upload with LCD_LANGUAGE set to 'test'
-// - Click the controller to view the LCD menu
-// - The LCD will display Japanese, Western, or Cyrillic text
-//
-// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
-//
-// :['JAPANESE', 'WESTERN', 'CYRILLIC']
-//
+/**
+ * LCD Character Set
+ *
+ * Note: This option is NOT applicable to Graphical Displays.
+ *
+ * All character-based LCDs provide ASCII plus one of these
+ * language extensions:
+ *
+ * - JAPANESE ... the most common
+ * - WESTERN ... with more accented characters
+ * - CYRILLIC ... for the Russian language
+ *
+ * To determine the language extension installed on your controller:
+ *
+ * - Compile and upload with LCD_LANGUAGE set to 'test'
+ * - Click the controller to view the LCD menu
+ * - The LCD will display Japanese, Western, or Cyrillic text
+ *
+ * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
+ *
+ * :['JAPANESE', 'WESTERN', 'CYRILLIC']
+ */
#define DISPLAY_CHARSET_HD44780 JAPANESE
-//
-// LCD TYPE
-//
-// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2,
-// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels
-// (ST7565R family). (This option will be set automatically for certain displays.)
-//
-// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display!
-// https://github.com/olikraus/U8glib_Arduino
-//
+/**
+ * LCD TYPE
+ *
+ * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
+ * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
+ * (These options will be enabled automatically for most displays.)
+ *
+ * IMPORTANT: The U8glib library is required for Full Graphic Display!
+ * https://github.com/olikraus/U8glib_Arduino
+ */
//#define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display
-//
-// SD CARD
-//
-// SD Card support is disabled by default. If your controller has an SD slot,
-// you must uncomment the following option or it won't work.
-//
+/**
+ * SD CARD
+ *
+ * SD Card support is disabled by default. If your controller has an SD slot,
+ * you must uncomment the following option or it won't work.
+ *
+ */
#define SDSUPPORT
-//
-// SD CARD: SPI SPEED
-//
-// Uncomment ONE of the following items to use a slower SPI transfer
-// speed. This is usually required if you're getting volume init errors.
-//
+/**
+ * SD CARD: SPI SPEED
+ *
+ * Enable one of the following items for a slower SPI transfer speed.
+ * This may be required to resolve "volume init" errors.
+ */
//#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED
-//
-// SD CARD: ENABLE CRC
-//
-// Use CRC checks and retries on the SD communication.
-//
+/**
+ * SD CARD: ENABLE CRC
+ *
+ * Use CRC checks and retries on the SD communication.
+ */
#define SD_CHECK_AND_RETRY
//
@@ -1262,7 +1259,7 @@
*/
//
-// This option reverses the encoder direction everywhere
+// This option reverses the encoder direction everywhere.
//
// Set this option if CLOCKWISE causes values to DECREASE
//
diff --git a/Marlin/example_configurations/WITBOX/Configuration.h b/Marlin/example_configurations/WITBOX/Configuration.h
index 5143d7bd713d..4c6ac763bcb1 100644
--- a/Marlin/example_configurations/WITBOX/Configuration.h
+++ b/Marlin/example_configurations/WITBOX/Configuration.h
@@ -977,23 +977,17 @@
#define PREHEAT_2_TEMP_BED 100
#define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255
-//
-// Nozzle Park -- EXPERIMENTAL
-//
-// When enabled allows the user to define a special XYZ position, inside the
-// machine's topology, to park the nozzle when idle or when receiving the G27
-// command.
-//
-// The "P" paramenter controls what is the action applied to the Z axis:
-// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will
-// be raised to reach Z-park height.
-//
-// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
-// reach Z-park height.
-//
-// P2: The nozzle height will be raised by Z-park amount but never going over
-// the machine's limit of Z_MAX_POS.
-//
+/**
+ * Nozzle Park -- EXPERIMENTAL
+ *
+ * Park the nozzle at the given XYZ position on idle or G27.
+ *
+ * The "P" parameter controls the action applied to the Z axis:
+ *
+ * P0 (Default) If Z is below park Z raise the nozzle.
+ * P1 Raise the nozzle always to Z-park height.
+ * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
+ */
//#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE)
@@ -1001,44 +995,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif
-//
-// Clean Nozzle Feature -- EXPERIMENTAL
-//
-// When enabled allows the user to send G12 to start the nozzle cleaning
-// process, the G-Code accepts two parameters:
-// "P" for pattern selection
-// "S" for defining the number of strokes/repetitions
-//
-// Available list of patterns:
-// P0: This is the default pattern, this process requires a sponge type
-// material at a fixed bed location. S defines "strokes" i.e.
-// back-and-forth movements between the starting and end points.
-//
-// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T"
-// defines the number of zig-zag triangles to be done. "S" defines the
-// number of strokes aka one back-and-forth movement. Zig-zags will
-// be performed in whichever dimension is smallest. As an example,
-// sending "G12 P1 S1 T3" will execute:
-//
-// --
-// | (X0, Y1) | /\ /\ /\ | (X1, Y1)
-// | | / \ / \ / \ |
-// A | | / \ / \ / \ |
-// | | / \ / \ / \ |
-// | (X0, Y0) | / \/ \/ \ | (X1, Y0)
-// -- +--------------------------------+
-// |________|_________|_________|
-// T1 T2 T3
-//
-// P2: This starts a circular pattern with circle with middle in
-// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S.
-// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT.
-//
-// Caveats: End point Z should use the same value as Start point Z.
-//
-// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments
-// may change to add new functionality like different wipe patterns.
-//
+/**
+ * Clean Nozzle Feature -- EXPERIMENTAL
+ *
+ * Adds the G12 command to perform a nozzle cleaning process.
+ *
+ * Parameters:
+ * P Pattern
+ * S Strokes / Repetitions
+ * T Triangles (P1 only)
+ *
+ * Patterns:
+ * P0 Straight line (default). This process requires a sponge type material
+ * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
+ * between the start / end points.
+ *
+ * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
+ * number of zig-zag triangles to do. "S" defines the number of strokes.
+ * Zig-zags are done in whichever is the narrower dimension.
+ * For example, "G12 P1 S1 T3" will execute:
+ *
+ * --
+ * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
+ * | | / \ / \ / \ |
+ * A | | / \ / \ / \ |
+ * | | / \ / \ / \ |
+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
+ * -- +--------------------------------+
+ * |________|_________|_________|
+ * T1 T2 T3
+ *
+ * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
+ * "R" specifies the radius. "S" specifies the stroke count.
+ * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
+ *
+ * Caveats: The ending Z should be the same as starting Z.
+ * Attention: EXPERIMENTAL. G-code arguments may change.
+ *
+ */
//#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE)
@@ -1063,33 +1057,35 @@
#define NOZZLE_CLEAN_GOBACK
#endif
-//
-// Print job timer
-//
-// Enable this option to automatically start and stop the
-// print job timer when M104/M109/M190 commands are received.
-// M104 (extruder without wait) - high temp = none, low temp = stop timer
-// M109 (extruder with wait) - high temp = start timer, low temp = stop timer
-// M190 (bed with wait) - high temp = start timer, low temp = none
-//
-// In all cases the timer can be started and stopped using
-// the following commands:
-//
-// - M75 - Start the print job timer
-// - M76 - Pause the print job timer
-// - M77 - Stop the print job timer
+/**
+ * Print Job Timer
+ *
+ * Automatically start and stop the print job timer on M104/M109/M190.
+ *
+ * M104 (hotend, no wait) - high temp = none, low temp = stop timer
+ * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
+ * M190 (bed, wait) - high temp = start timer, low temp = none
+ *
+ * The timer can also be controlled with the following commands:
+ *
+ * M75 - Start the print job timer
+ * M76 - Pause the print job timer
+ * M77 - Stop the print job timer
+ */
#define PRINTJOB_TIMER_AUTOSTART
-//
-// Print Counter
-//
-// When enabled Marlin will keep track of some print statistical data such as:
-// - Total print jobs
-// - Total successful print jobs
-// - Total failed print jobs
-// - Total time printing
-//
-// This information can be viewed by the M78 command.
+/**
+ * Print Counter
+ *
+ * Track statistical data such as:
+ *
+ * - Total print jobs
+ * - Total successful print jobs
+ * - Total failed print jobs
+ * - Total time printing
+ *
+ * View the current statistics with M78.
+ */
//#define PRINTCOUNTER
//=============================================================================
@@ -1098,78 +1094,79 @@
// @section lcd
-//
-// LCD LANGUAGE
-//
-// Here you may choose the language used by Marlin on the LCD menus, the following
-// list of languages are available:
-// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
-// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
-//
-// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
-//
+/**
+ * LCD LANGUAGE
+ *
+ * Select the language to display on the LCD. These languages are available:
+ *
+ * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
+ * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
+ *
+ * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
+ */
//#define LCD_LANGUAGE en
-//
-// LCD Character Set
-//
-// Note: This option is NOT applicable to Graphical Displays.
-//
-// All character-based LCD's provide ASCII plus one of these
-// language extensions:
-//
-// - JAPANESE ... the most common
-// - WESTERN ... with more accented characters
-// - CYRILLIC ... for the Russian language
-//
-// To determine the language extension installed on your controller:
-//
-// - Compile and upload with LCD_LANGUAGE set to 'test'
-// - Click the controller to view the LCD menu
-// - The LCD will display Japanese, Western, or Cyrillic text
-//
-// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
-//
-// :['JAPANESE', 'WESTERN', 'CYRILLIC']
-//
+/**
+ * LCD Character Set
+ *
+ * Note: This option is NOT applicable to Graphical Displays.
+ *
+ * All character-based LCDs provide ASCII plus one of these
+ * language extensions:
+ *
+ * - JAPANESE ... the most common
+ * - WESTERN ... with more accented characters
+ * - CYRILLIC ... for the Russian language
+ *
+ * To determine the language extension installed on your controller:
+ *
+ * - Compile and upload with LCD_LANGUAGE set to 'test'
+ * - Click the controller to view the LCD menu
+ * - The LCD will display Japanese, Western, or Cyrillic text
+ *
+ * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
+ *
+ * :['JAPANESE', 'WESTERN', 'CYRILLIC']
+ */
#define DISPLAY_CHARSET_HD44780 JAPANESE
-//
-// LCD TYPE
-//
-// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2,
-// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels
-// (ST7565R family). (This option will be set automatically for certain displays.)
-//
-// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display!
-// https://github.com/olikraus/U8glib_Arduino
-//
+/**
+ * LCD TYPE
+ *
+ * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
+ * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
+ * (These options will be enabled automatically for most displays.)
+ *
+ * IMPORTANT: The U8glib library is required for Full Graphic Display!
+ * https://github.com/olikraus/U8glib_Arduino
+ */
#define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display
-//
-// SD CARD
-//
-// SD Card support is disabled by default. If your controller has an SD slot,
-// you must uncomment the following option or it won't work.
-//
+/**
+ * SD CARD
+ *
+ * SD Card support is disabled by default. If your controller has an SD slot,
+ * you must uncomment the following option or it won't work.
+ *
+ */
#define SDSUPPORT
-//
-// SD CARD: SPI SPEED
-//
-// Uncomment ONE of the following items to use a slower SPI transfer
-// speed. This is usually required if you're getting volume init errors.
-//
+/**
+ * SD CARD: SPI SPEED
+ *
+ * Enable one of the following items for a slower SPI transfer speed.
+ * This may be required to resolve "volume init" errors.
+ */
//#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED
-//
-// SD CARD: ENABLE CRC
-//
-// Use CRC checks and retries on the SD communication.
-//
+/**
+ * SD CARD: ENABLE CRC
+ *
+ * Use CRC checks and retries on the SD communication.
+ */
//#define SD_CHECK_AND_RETRY
//
@@ -1197,7 +1194,7 @@
*/
//
-// This option reverses the encoder direction everywhere
+// This option reverses the encoder direction everywhere.
//
// Set this option if CLOCKWISE causes values to DECREASE
//
diff --git a/Marlin/example_configurations/adafruit/ST7565/Configuration.h b/Marlin/example_configurations/adafruit/ST7565/Configuration.h
index 1874b12d365b..a620b8029967 100644
--- a/Marlin/example_configurations/adafruit/ST7565/Configuration.h
+++ b/Marlin/example_configurations/adafruit/ST7565/Configuration.h
@@ -986,23 +986,17 @@
#define PREHEAT_2_TEMP_BED 110
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
-//
-// Nozzle Park -- EXPERIMENTAL
-//
-// When enabled allows the user to define a special XYZ position, inside the
-// machine's topology, to park the nozzle when idle or when receiving the G27
-// command.
-//
-// The "P" paramenter controls what is the action applied to the Z axis:
-// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will
-// be raised to reach Z-park height.
-//
-// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
-// reach Z-park height.
-//
-// P2: The nozzle height will be raised by Z-park amount but never going over
-// the machine's limit of Z_MAX_POS.
-//
+/**
+ * Nozzle Park -- EXPERIMENTAL
+ *
+ * Park the nozzle at the given XYZ position on idle or G27.
+ *
+ * The "P" parameter controls the action applied to the Z axis:
+ *
+ * P0 (Default) If Z is below park Z raise the nozzle.
+ * P1 Raise the nozzle always to Z-park height.
+ * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
+ */
//#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE)
@@ -1010,44 +1004,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif
-//
-// Clean Nozzle Feature -- EXPERIMENTAL
-//
-// When enabled allows the user to send G12 to start the nozzle cleaning
-// process, the G-Code accepts two parameters:
-// "P" for pattern selection
-// "S" for defining the number of strokes/repetitions
-//
-// Available list of patterns:
-// P0: This is the default pattern, this process requires a sponge type
-// material at a fixed bed location. S defines "strokes" i.e.
-// back-and-forth movements between the starting and end points.
-//
-// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T"
-// defines the number of zig-zag triangles to be done. "S" defines the
-// number of strokes aka one back-and-forth movement. Zig-zags will
-// be performed in whichever dimension is smallest. As an example,
-// sending "G12 P1 S1 T3" will execute:
-//
-// --
-// | (X0, Y1) | /\ /\ /\ | (X1, Y1)
-// | | / \ / \ / \ |
-// A | | / \ / \ / \ |
-// | | / \ / \ / \ |
-// | (X0, Y0) | / \/ \/ \ | (X1, Y0)
-// -- +--------------------------------+
-// |________|_________|_________|
-// T1 T2 T3
-//
-// P2: This starts a circular pattern with circle with middle in
-// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S.
-// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT.
-//
-// Caveats: End point Z should use the same value as Start point Z.
-//
-// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments
-// may change to add new functionality like different wipe patterns.
-//
+/**
+ * Clean Nozzle Feature -- EXPERIMENTAL
+ *
+ * Adds the G12 command to perform a nozzle cleaning process.
+ *
+ * Parameters:
+ * P Pattern
+ * S Strokes / Repetitions
+ * T Triangles (P1 only)
+ *
+ * Patterns:
+ * P0 Straight line (default). This process requires a sponge type material
+ * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
+ * between the start / end points.
+ *
+ * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
+ * number of zig-zag triangles to do. "S" defines the number of strokes.
+ * Zig-zags are done in whichever is the narrower dimension.
+ * For example, "G12 P1 S1 T3" will execute:
+ *
+ * --
+ * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
+ * | | / \ / \ / \ |
+ * A | | / \ / \ / \ |
+ * | | / \ / \ / \ |
+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
+ * -- +--------------------------------+
+ * |________|_________|_________|
+ * T1 T2 T3
+ *
+ * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
+ * "R" specifies the radius. "S" specifies the stroke count.
+ * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
+ *
+ * Caveats: The ending Z should be the same as starting Z.
+ * Attention: EXPERIMENTAL. G-code arguments may change.
+ *
+ */
//#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE)
@@ -1072,33 +1066,35 @@
#define NOZZLE_CLEAN_GOBACK
#endif
-//
-// Print job timer
-//
-// Enable this option to automatically start and stop the
-// print job timer when M104/M109/M190 commands are received.
-// M104 (extruder without wait) - high temp = none, low temp = stop timer
-// M109 (extruder with wait) - high temp = start timer, low temp = stop timer
-// M190 (bed with wait) - high temp = start timer, low temp = none
-//
-// In all cases the timer can be started and stopped using
-// the following commands:
-//
-// - M75 - Start the print job timer
-// - M76 - Pause the print job timer
-// - M77 - Stop the print job timer
+/**
+ * Print Job Timer
+ *
+ * Automatically start and stop the print job timer on M104/M109/M190.
+ *
+ * M104 (hotend, no wait) - high temp = none, low temp = stop timer
+ * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
+ * M190 (bed, wait) - high temp = start timer, low temp = none
+ *
+ * The timer can also be controlled with the following commands:
+ *
+ * M75 - Start the print job timer
+ * M76 - Pause the print job timer
+ * M77 - Stop the print job timer
+ */
#define PRINTJOB_TIMER_AUTOSTART
-//
-// Print Counter
-//
-// When enabled Marlin will keep track of some print statistical data such as:
-// - Total print jobs
-// - Total successful print jobs
-// - Total failed print jobs
-// - Total time printing
-//
-// This information can be viewed by the M78 command.
+/**
+ * Print Counter
+ *
+ * Track statistical data such as:
+ *
+ * - Total print jobs
+ * - Total successful print jobs
+ * - Total failed print jobs
+ * - Total time printing
+ *
+ * View the current statistics with M78.
+ */
//#define PRINTCOUNTER
//=============================================================================
@@ -1107,78 +1103,79 @@
// @section lcd
-//
-// LCD LANGUAGE
-//
-// Here you may choose the language used by Marlin on the LCD menus, the following
-// list of languages are available:
-// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
-// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
-//
-// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
-//
+/**
+ * LCD LANGUAGE
+ *
+ * Select the language to display on the LCD. These languages are available:
+ *
+ * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
+ * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
+ *
+ * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
+ */
#define LCD_LANGUAGE en
-//
-// LCD Character Set
-//
-// Note: This option is NOT applicable to Graphical Displays.
-//
-// All character-based LCD's provide ASCII plus one of these
-// language extensions:
-//
-// - JAPANESE ... the most common
-// - WESTERN ... with more accented characters
-// - CYRILLIC ... for the Russian language
-//
-// To determine the language extension installed on your controller:
-//
-// - Compile and upload with LCD_LANGUAGE set to 'test'
-// - Click the controller to view the LCD menu
-// - The LCD will display Japanese, Western, or Cyrillic text
-//
-// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
-//
-// :['JAPANESE', 'WESTERN', 'CYRILLIC']
-//
+/**
+ * LCD Character Set
+ *
+ * Note: This option is NOT applicable to Graphical Displays.
+ *
+ * All character-based LCDs provide ASCII plus one of these
+ * language extensions:
+ *
+ * - JAPANESE ... the most common
+ * - WESTERN ... with more accented characters
+ * - CYRILLIC ... for the Russian language
+ *
+ * To determine the language extension installed on your controller:
+ *
+ * - Compile and upload with LCD_LANGUAGE set to 'test'
+ * - Click the controller to view the LCD menu
+ * - The LCD will display Japanese, Western, or Cyrillic text
+ *
+ * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
+ *
+ * :['JAPANESE', 'WESTERN', 'CYRILLIC']
+ */
#define DISPLAY_CHARSET_HD44780 JAPANESE
-//
-// LCD TYPE
-//
-// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2,
-// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels
-// (ST7565R family). (This option will be set automatically for certain displays.)
-//
-// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display!
-// https://github.com/olikraus/U8glib_Arduino
-//
+/**
+ * LCD TYPE
+ *
+ * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
+ * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
+ * (These options will be enabled automatically for most displays.)
+ *
+ * IMPORTANT: The U8glib library is required for Full Graphic Display!
+ * https://github.com/olikraus/U8glib_Arduino
+ */
//#define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display
-//
-// SD CARD
-//
-// SD Card support is disabled by default. If your controller has an SD slot,
-// you must uncomment the following option or it won't work.
-//
+/**
+ * SD CARD
+ *
+ * SD Card support is disabled by default. If your controller has an SD slot,
+ * you must uncomment the following option or it won't work.
+ *
+ */
#define SDSUPPORT
-//
-// SD CARD: SPI SPEED
-//
-// Uncomment ONE of the following items to use a slower SPI transfer
-// speed. This is usually required if you're getting volume init errors.
-//
+/**
+ * SD CARD: SPI SPEED
+ *
+ * Enable one of the following items for a slower SPI transfer speed.
+ * This may be required to resolve "volume init" errors.
+ */
#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED
-//
-// SD CARD: ENABLE CRC
-//
-// Use CRC checks and retries on the SD communication.
-//
+/**
+ * SD CARD: ENABLE CRC
+ *
+ * Use CRC checks and retries on the SD communication.
+ */
//#define SD_CHECK_AND_RETRY
//
@@ -1206,7 +1203,7 @@
*/
//
-// This option reverses the encoder direction everywhere
+// This option reverses the encoder direction everywhere.
//
// Set this option if CLOCKWISE causes values to DECREASE
//
diff --git a/Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration.h b/Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration.h
index e7a7fd20b899..f31c8f9e8c73 100644
--- a/Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration.h
+++ b/Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration.h
@@ -1104,23 +1104,17 @@
#define PREHEAT_2_TEMP_BED 100
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
-//
-// Nozzle Park -- EXPERIMENTAL
-//
-// When enabled allows the user to define a special XYZ position, inside the
-// machine's topology, to park the nozzle when idle or when receiving the G27
-// command.
-//
-// The "P" paramenter controls what is the action applied to the Z axis:
-// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will
-// be raised to reach Z-park height.
-//
-// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
-// reach Z-park height.
-//
-// P2: The nozzle height will be raised by Z-park amount but never going over
-// the machine's limit of Z_MAX_POS.
-//
+/**
+ * Nozzle Park -- EXPERIMENTAL
+ *
+ * Park the nozzle at the given XYZ position on idle or G27.
+ *
+ * The "P" parameter controls the action applied to the Z axis:
+ *
+ * P0 (Default) If Z is below park Z raise the nozzle.
+ * P1 Raise the nozzle always to Z-park height.
+ * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
+ */
//#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE)
@@ -1128,44 +1122,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif
-//
-// Clean Nozzle Feature -- EXPERIMENTAL
-//
-// When enabled allows the user to send G12 to start the nozzle cleaning
-// process, the G-Code accepts two parameters:
-// "P" for pattern selection
-// "S" for defining the number of strokes/repetitions
-//
-// Available list of patterns:
-// P0: This is the default pattern, this process requires a sponge type
-// material at a fixed bed location. S defines "strokes" i.e.
-// back-and-forth movements between the starting and end points.
-//
-// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T"
-// defines the number of zig-zag triangles to be done. "S" defines the
-// number of strokes aka one back-and-forth movement. Zig-zags will
-// be performed in whichever dimension is smallest. As an example,
-// sending "G12 P1 S1 T3" will execute:
-//
-// --
-// | (X0, Y1) | /\ /\ /\ | (X1, Y1)
-// | | / \ / \ / \ |
-// A | | / \ / \ / \ |
-// | | / \ / \ / \ |
-// | (X0, Y0) | / \/ \/ \ | (X1, Y0)
-// -- +--------------------------------+
-// |________|_________|_________|
-// T1 T2 T3
-//
-// P2: This starts a circular pattern with circle with middle in
-// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S.
-// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT.
-//
-// Caveats: End point Z should use the same value as Start point Z.
-//
-// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments
-// may change to add new functionality like different wipe patterns.
-//
+/**
+ * Clean Nozzle Feature -- EXPERIMENTAL
+ *
+ * Adds the G12 command to perform a nozzle cleaning process.
+ *
+ * Parameters:
+ * P Pattern
+ * S Strokes / Repetitions
+ * T Triangles (P1 only)
+ *
+ * Patterns:
+ * P0 Straight line (default). This process requires a sponge type material
+ * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
+ * between the start / end points.
+ *
+ * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
+ * number of zig-zag triangles to do. "S" defines the number of strokes.
+ * Zig-zags are done in whichever is the narrower dimension.
+ * For example, "G12 P1 S1 T3" will execute:
+ *
+ * --
+ * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
+ * | | / \ / \ / \ |
+ * A | | / \ / \ / \ |
+ * | | / \ / \ / \ |
+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
+ * -- +--------------------------------+
+ * |________|_________|_________|
+ * T1 T2 T3
+ *
+ * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
+ * "R" specifies the radius. "S" specifies the stroke count.
+ * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
+ *
+ * Caveats: The ending Z should be the same as starting Z.
+ * Attention: EXPERIMENTAL. G-code arguments may change.
+ *
+ */
//#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE)
@@ -1190,33 +1184,35 @@
#define NOZZLE_CLEAN_GOBACK
#endif
-//
-// Print job timer
-//
-// Enable this option to automatically start and stop the
-// print job timer when M104/M109/M190 commands are received.
-// M104 (extruder without wait) - high temp = none, low temp = stop timer
-// M109 (extruder with wait) - high temp = start timer, low temp = stop timer
-// M190 (bed with wait) - high temp = start timer, low temp = none
-//
-// In all cases the timer can be started and stopped using
-// the following commands:
-//
-// - M75 - Start the print job timer
-// - M76 - Pause the print job timer
-// - M77 - Stop the print job timer
+/**
+ * Print Job Timer
+ *
+ * Automatically start and stop the print job timer on M104/M109/M190.
+ *
+ * M104 (hotend, no wait) - high temp = none, low temp = stop timer
+ * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
+ * M190 (bed, wait) - high temp = start timer, low temp = none
+ *
+ * The timer can also be controlled with the following commands:
+ *
+ * M75 - Start the print job timer
+ * M76 - Pause the print job timer
+ * M77 - Stop the print job timer
+ */
#define PRINTJOB_TIMER_AUTOSTART
-//
-// Print Counter
-//
-// When enabled Marlin will keep track of some print statistical data such as:
-// - Total print jobs
-// - Total successful print jobs
-// - Total failed print jobs
-// - Total time printing
-//
-// This information can be viewed by the M78 command.
+/**
+ * Print Counter
+ *
+ * Track statistical data such as:
+ *
+ * - Total print jobs
+ * - Total successful print jobs
+ * - Total failed print jobs
+ * - Total time printing
+ *
+ * View the current statistics with M78.
+ */
#define PRINTCOUNTER
//=============================================================================
@@ -1225,78 +1221,79 @@
// @section lcd
-//
-// LCD LANGUAGE
-//
-// Here you may choose the language used by Marlin on the LCD menus, the following
-// list of languages are available:
-// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
-// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
-//
-// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
-//
+/**
+ * LCD LANGUAGE
+ *
+ * Select the language to display on the LCD. These languages are available:
+ *
+ * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
+ * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
+ *
+ * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
+ */
#define LCD_LANGUAGE en
-//
-// LCD Character Set
-//
-// Note: This option is NOT applicable to Graphical Displays.
-//
-// All character-based LCD's provide ASCII plus one of these
-// language extensions:
-//
-// - JAPANESE ... the most common
-// - WESTERN ... with more accented characters
-// - CYRILLIC ... for the Russian language
-//
-// To determine the language extension installed on your controller:
-//
-// - Compile and upload with LCD_LANGUAGE set to 'test'
-// - Click the controller to view the LCD menu
-// - The LCD will display Japanese, Western, or Cyrillic text
-//
-// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
-//
-// :['JAPANESE', 'WESTERN', 'CYRILLIC']
-//
+/**
+ * LCD Character Set
+ *
+ * Note: This option is NOT applicable to Graphical Displays.
+ *
+ * All character-based LCDs provide ASCII plus one of these
+ * language extensions:
+ *
+ * - JAPANESE ... the most common
+ * - WESTERN ... with more accented characters
+ * - CYRILLIC ... for the Russian language
+ *
+ * To determine the language extension installed on your controller:
+ *
+ * - Compile and upload with LCD_LANGUAGE set to 'test'
+ * - Click the controller to view the LCD menu
+ * - The LCD will display Japanese, Western, or Cyrillic text
+ *
+ * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
+ *
+ * :['JAPANESE', 'WESTERN', 'CYRILLIC']
+ */
#define DISPLAY_CHARSET_HD44780 WESTERN
-//
-// LCD TYPE
-//
-// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2,
-// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels
-// (ST7565R family). (This option will be set automatically for certain displays.)
-//
-// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display!
-// https://github.com/olikraus/U8glib_Arduino
-//
+/**
+ * LCD TYPE
+ *
+ * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
+ * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
+ * (These options will be enabled automatically for most displays.)
+ *
+ * IMPORTANT: The U8glib library is required for Full Graphic Display!
+ * https://github.com/olikraus/U8glib_Arduino
+ */
//#define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display
-//
-// SD CARD
-//
-// SD Card support is disabled by default. If your controller has an SD slot,
-// you must uncomment the following option or it won't work.
-//
+/**
+ * SD CARD
+ *
+ * SD Card support is disabled by default. If your controller has an SD slot,
+ * you must uncomment the following option or it won't work.
+ *
+ */
#define SDSUPPORT
-//
-// SD CARD: SPI SPEED
-//
-// Uncomment ONE of the following items to use a slower SPI transfer
-// speed. This is usually required if you're getting volume init errors.
-//
+/**
+ * SD CARD: SPI SPEED
+ *
+ * Enable one of the following items for a slower SPI transfer speed.
+ * This may be required to resolve "volume init" errors.
+ */
//#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED
-//
-// SD CARD: ENABLE CRC
-//
-// Use CRC checks and retries on the SD communication.
-//
+/**
+ * SD CARD: ENABLE CRC
+ *
+ * Use CRC checks and retries on the SD communication.
+ */
#define SD_CHECK_AND_RETRY
//
@@ -1324,7 +1321,7 @@
*/
//
-// This option reverses the encoder direction everywhere
+// This option reverses the encoder direction everywhere.
//
// Set this option if CLOCKWISE causes values to DECREASE
//
diff --git a/Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration.h b/Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration.h
index 9654740b11c5..7e312bfcbae6 100644
--- a/Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration.h
+++ b/Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration.h
@@ -1106,23 +1106,17 @@
#define PREHEAT_2_TEMP_BED 100
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
-//
-// Nozzle Park -- EXPERIMENTAL
-//
-// When enabled allows the user to define a special XYZ position, inside the
-// machine's topology, to park the nozzle when idle or when receiving the G27
-// command.
-//
-// The "P" paramenter controls what is the action applied to the Z axis:
-// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will
-// be raised to reach Z-park height.
-//
-// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
-// reach Z-park height.
-//
-// P2: The nozzle height will be raised by Z-park amount but never going over
-// the machine's limit of Z_MAX_POS.
-//
+/**
+ * Nozzle Park -- EXPERIMENTAL
+ *
+ * Park the nozzle at the given XYZ position on idle or G27.
+ *
+ * The "P" parameter controls the action applied to the Z axis:
+ *
+ * P0 (Default) If Z is below park Z raise the nozzle.
+ * P1 Raise the nozzle always to Z-park height.
+ * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
+ */
//#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE)
@@ -1130,44 +1124,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif
-//
-// Clean Nozzle Feature -- EXPERIMENTAL
-//
-// When enabled allows the user to send G12 to start the nozzle cleaning
-// process, the G-Code accepts two parameters:
-// "P" for pattern selection
-// "S" for defining the number of strokes/repetitions
-//
-// Available list of patterns:
-// P0: This is the default pattern, this process requires a sponge type
-// material at a fixed bed location. S defines "strokes" i.e.
-// back-and-forth movements between the starting and end points.
-//
-// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T"
-// defines the number of zig-zag triangles to be done. "S" defines the
-// number of strokes aka one back-and-forth movement. Zig-zags will
-// be performed in whichever dimension is smallest. As an example,
-// sending "G12 P1 S1 T3" will execute:
-//
-// --
-// | (X0, Y1) | /\ /\ /\ | (X1, Y1)
-// | | / \ / \ / \ |
-// A | | / \ / \ / \ |
-// | | / \ / \ / \ |
-// | (X0, Y0) | / \/ \/ \ | (X1, Y0)
-// -- +--------------------------------+
-// |________|_________|_________|
-// T1 T2 T3
-//
-// P2: This starts a circular pattern with circle with middle in
-// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S.
-// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT.
-//
-// Caveats: End point Z should use the same value as Start point Z.
-//
-// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments
-// may change to add new functionality like different wipe patterns.
-//
+/**
+ * Clean Nozzle Feature -- EXPERIMENTAL
+ *
+ * Adds the G12 command to perform a nozzle cleaning process.
+ *
+ * Parameters:
+ * P Pattern
+ * S Strokes / Repetitions
+ * T Triangles (P1 only)
+ *
+ * Patterns:
+ * P0 Straight line (default). This process requires a sponge type material
+ * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
+ * between the start / end points.
+ *
+ * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
+ * number of zig-zag triangles to do. "S" defines the number of strokes.
+ * Zig-zags are done in whichever is the narrower dimension.
+ * For example, "G12 P1 S1 T3" will execute:
+ *
+ * --
+ * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
+ * | | / \ / \ / \ |
+ * A | | / \ / \ / \ |
+ * | | / \ / \ / \ |
+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
+ * -- +--------------------------------+
+ * |________|_________|_________|
+ * T1 T2 T3
+ *
+ * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
+ * "R" specifies the radius. "S" specifies the stroke count.
+ * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
+ *
+ * Caveats: The ending Z should be the same as starting Z.
+ * Attention: EXPERIMENTAL. G-code arguments may change.
+ *
+ */
//#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE)
@@ -1192,33 +1186,35 @@
#define NOZZLE_CLEAN_GOBACK
#endif
-//
-// Print job timer
-//
-// Enable this option to automatically start and stop the
-// print job timer when M104/M109/M190 commands are received.
-// M104 (extruder without wait) - high temp = none, low temp = stop timer
-// M109 (extruder with wait) - high temp = start timer, low temp = stop timer
-// M190 (bed with wait) - high temp = start timer, low temp = none
-//
-// In all cases the timer can be started and stopped using
-// the following commands:
-//
-// - M75 - Start the print job timer
-// - M76 - Pause the print job timer
-// - M77 - Stop the print job timer
+/**
+ * Print Job Timer
+ *
+ * Automatically start and stop the print job timer on M104/M109/M190.
+ *
+ * M104 (hotend, no wait) - high temp = none, low temp = stop timer
+ * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
+ * M190 (bed, wait) - high temp = start timer, low temp = none
+ *
+ * The timer can also be controlled with the following commands:
+ *
+ * M75 - Start the print job timer
+ * M76 - Pause the print job timer
+ * M77 - Stop the print job timer
+ */
#define PRINTJOB_TIMER_AUTOSTART
-//
-// Print Counter
-//
-// When enabled Marlin will keep track of some print statistical data such as:
-// - Total print jobs
-// - Total successful print jobs
-// - Total failed print jobs
-// - Total time printing
-//
-// This information can be viewed by the M78 command.
+/**
+ * Print Counter
+ *
+ * Track statistical data such as:
+ *
+ * - Total print jobs
+ * - Total successful print jobs
+ * - Total failed print jobs
+ * - Total time printing
+ *
+ * View the current statistics with M78.
+ */
#define PRINTCOUNTER
//=============================================================================
@@ -1227,78 +1223,79 @@
// @section lcd
-//
-// LCD LANGUAGE
-//
-// Here you may choose the language used by Marlin on the LCD menus, the following
-// list of languages are available:
-// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
-// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
-//
-// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
-//
+/**
+ * LCD LANGUAGE
+ *
+ * Select the language to display on the LCD. These languages are available:
+ *
+ * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
+ * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
+ *
+ * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
+ */
#define LCD_LANGUAGE en
-//
-// LCD Character Set
-//
-// Note: This option is NOT applicable to Graphical Displays.
-//
-// All character-based LCD's provide ASCII plus one of these
-// language extensions:
-//
-// - JAPANESE ... the most common
-// - WESTERN ... with more accented characters
-// - CYRILLIC ... for the Russian language
-//
-// To determine the language extension installed on your controller:
-//
-// - Compile and upload with LCD_LANGUAGE set to 'test'
-// - Click the controller to view the LCD menu
-// - The LCD will display Japanese, Western, or Cyrillic text
-//
-// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
-//
-// :['JAPANESE', 'WESTERN', 'CYRILLIC']
-//
+/**
+ * LCD Character Set
+ *
+ * Note: This option is NOT applicable to Graphical Displays.
+ *
+ * All character-based LCDs provide ASCII plus one of these
+ * language extensions:
+ *
+ * - JAPANESE ... the most common
+ * - WESTERN ... with more accented characters
+ * - CYRILLIC ... for the Russian language
+ *
+ * To determine the language extension installed on your controller:
+ *
+ * - Compile and upload with LCD_LANGUAGE set to 'test'
+ * - Click the controller to view the LCD menu
+ * - The LCD will display Japanese, Western, or Cyrillic text
+ *
+ * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
+ *
+ * :['JAPANESE', 'WESTERN', 'CYRILLIC']
+ */
#define DISPLAY_CHARSET_HD44780 WESTERN
-//
-// LCD TYPE
-//
-// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2,
-// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels
-// (ST7565R family). (This option will be set automatically for certain displays.)
-//
-// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display!
-// https://github.com/olikraus/U8glib_Arduino
-//
+/**
+ * LCD TYPE
+ *
+ * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
+ * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
+ * (These options will be enabled automatically for most displays.)
+ *
+ * IMPORTANT: The U8glib library is required for Full Graphic Display!
+ * https://github.com/olikraus/U8glib_Arduino
+ */
//#define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display
-//
-// SD CARD
-//
-// SD Card support is disabled by default. If your controller has an SD slot,
-// you must uncomment the following option or it won't work.
-//
+/**
+ * SD CARD
+ *
+ * SD Card support is disabled by default. If your controller has an SD slot,
+ * you must uncomment the following option or it won't work.
+ *
+ */
#define SDSUPPORT
-//
-// SD CARD: SPI SPEED
-//
-// Uncomment ONE of the following items to use a slower SPI transfer
-// speed. This is usually required if you're getting volume init errors.
-//
+/**
+ * SD CARD: SPI SPEED
+ *
+ * Enable one of the following items for a slower SPI transfer speed.
+ * This may be required to resolve "volume init" errors.
+ */
//#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED
-//
-// SD CARD: ENABLE CRC
-//
-// Use CRC checks and retries on the SD communication.
-//
+/**
+ * SD CARD: ENABLE CRC
+ *
+ * Use CRC checks and retries on the SD communication.
+ */
//#define SD_CHECK_AND_RETRY
//
@@ -1326,7 +1323,7 @@
*/
//
-// This option reverses the encoder direction everywhere
+// This option reverses the encoder direction everywhere.
//
// Set this option if CLOCKWISE causes values to DECREASE
//
diff --git a/Marlin/example_configurations/delta/generic/Configuration.h b/Marlin/example_configurations/delta/generic/Configuration.h
index d93cd66996b7..0cceaf4c722c 100644
--- a/Marlin/example_configurations/delta/generic/Configuration.h
+++ b/Marlin/example_configurations/delta/generic/Configuration.h
@@ -1093,23 +1093,17 @@
#define PREHEAT_2_TEMP_BED 100
#define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255
-//
-// Nozzle Park -- EXPERIMENTAL
-//
-// When enabled allows the user to define a special XYZ position, inside the
-// machine's topology, to park the nozzle when idle or when receiving the G27
-// command.
-//
-// The "P" paramenter controls what is the action applied to the Z axis:
-// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will
-// be raised to reach Z-park height.
-//
-// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
-// reach Z-park height.
-//
-// P2: The nozzle height will be raised by Z-park amount but never going over
-// the machine's limit of Z_MAX_POS.
-//
+/**
+ * Nozzle Park -- EXPERIMENTAL
+ *
+ * Park the nozzle at the given XYZ position on idle or G27.
+ *
+ * The "P" parameter controls the action applied to the Z axis:
+ *
+ * P0 (Default) If Z is below park Z raise the nozzle.
+ * P1 Raise the nozzle always to Z-park height.
+ * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
+ */
//#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE)
@@ -1117,44 +1111,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif
-//
-// Clean Nozzle Feature -- EXPERIMENTAL
-//
-// When enabled allows the user to send G12 to start the nozzle cleaning
-// process, the G-Code accepts two parameters:
-// "P" for pattern selection
-// "S" for defining the number of strokes/repetitions
-//
-// Available list of patterns:
-// P0: This is the default pattern, this process requires a sponge type
-// material at a fixed bed location. S defines "strokes" i.e.
-// back-and-forth movements between the starting and end points.
-//
-// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T"
-// defines the number of zig-zag triangles to be done. "S" defines the
-// number of strokes aka one back-and-forth movement. Zig-zags will
-// be performed in whichever dimension is smallest. As an example,
-// sending "G12 P1 S1 T3" will execute:
-//
-// --
-// | (X0, Y1) | /\ /\ /\ | (X1, Y1)
-// | | / \ / \ / \ |
-// A | | / \ / \ / \ |
-// | | / \ / \ / \ |
-// | (X0, Y0) | / \/ \/ \ | (X1, Y0)
-// -- +--------------------------------+
-// |________|_________|_________|
-// T1 T2 T3
-//
-// P2: This starts a circular pattern with circle with middle in
-// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S.
-// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT.
-//
-// Caveats: End point Z should use the same value as Start point Z.
-//
-// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments
-// may change to add new functionality like different wipe patterns.
-//
+/**
+ * Clean Nozzle Feature -- EXPERIMENTAL
+ *
+ * Adds the G12 command to perform a nozzle cleaning process.
+ *
+ * Parameters:
+ * P Pattern
+ * S Strokes / Repetitions
+ * T Triangles (P1 only)
+ *
+ * Patterns:
+ * P0 Straight line (default). This process requires a sponge type material
+ * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
+ * between the start / end points.
+ *
+ * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
+ * number of zig-zag triangles to do. "S" defines the number of strokes.
+ * Zig-zags are done in whichever is the narrower dimension.
+ * For example, "G12 P1 S1 T3" will execute:
+ *
+ * --
+ * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
+ * | | / \ / \ / \ |
+ * A | | / \ / \ / \ |
+ * | | / \ / \ / \ |
+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
+ * -- +--------------------------------+
+ * |________|_________|_________|
+ * T1 T2 T3
+ *
+ * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
+ * "R" specifies the radius. "S" specifies the stroke count.
+ * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
+ *
+ * Caveats: The ending Z should be the same as starting Z.
+ * Attention: EXPERIMENTAL. G-code arguments may change.
+ *
+ */
//#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE)
@@ -1179,33 +1173,35 @@
#define NOZZLE_CLEAN_GOBACK
#endif
-//
-// Print job timer
-//
-// Enable this option to automatically start and stop the
-// print job timer when M104/M109/M190 commands are received.
-// M104 (extruder without wait) - high temp = none, low temp = stop timer
-// M109 (extruder with wait) - high temp = start timer, low temp = stop timer
-// M190 (bed with wait) - high temp = start timer, low temp = none
-//
-// In all cases the timer can be started and stopped using
-// the following commands:
-//
-// - M75 - Start the print job timer
-// - M76 - Pause the print job timer
-// - M77 - Stop the print job timer
+/**
+ * Print Job Timer
+ *
+ * Automatically start and stop the print job timer on M104/M109/M190.
+ *
+ * M104 (hotend, no wait) - high temp = none, low temp = stop timer
+ * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
+ * M190 (bed, wait) - high temp = start timer, low temp = none
+ *
+ * The timer can also be controlled with the following commands:
+ *
+ * M75 - Start the print job timer
+ * M76 - Pause the print job timer
+ * M77 - Stop the print job timer
+ */
#define PRINTJOB_TIMER_AUTOSTART
-//
-// Print Counter
-//
-// When enabled Marlin will keep track of some print statistical data such as:
-// - Total print jobs
-// - Total successful print jobs
-// - Total failed print jobs
-// - Total time printing
-//
-// This information can be viewed by the M78 command.
+/**
+ * Print Counter
+ *
+ * Track statistical data such as:
+ *
+ * - Total print jobs
+ * - Total successful print jobs
+ * - Total failed print jobs
+ * - Total time printing
+ *
+ * View the current statistics with M78.
+ */
//#define PRINTCOUNTER
//=============================================================================
@@ -1214,78 +1210,79 @@
// @section lcd
-//
-// LCD LANGUAGE
-//
-// Here you may choose the language used by Marlin on the LCD menus, the following
-// list of languages are available:
-// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
-// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
-//
-// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
-//
+/**
+ * LCD LANGUAGE
+ *
+ * Select the language to display on the LCD. These languages are available:
+ *
+ * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
+ * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
+ *
+ * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
+ */
#define LCD_LANGUAGE en
-//
-// LCD Character Set
-//
-// Note: This option is NOT applicable to Graphical Displays.
-//
-// All character-based LCD's provide ASCII plus one of these
-// language extensions:
-//
-// - JAPANESE ... the most common
-// - WESTERN ... with more accented characters
-// - CYRILLIC ... for the Russian language
-//
-// To determine the language extension installed on your controller:
-//
-// - Compile and upload with LCD_LANGUAGE set to 'test'
-// - Click the controller to view the LCD menu
-// - The LCD will display Japanese, Western, or Cyrillic text
-//
-// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
-//
-// :['JAPANESE', 'WESTERN', 'CYRILLIC']
-//
+/**
+ * LCD Character Set
+ *
+ * Note: This option is NOT applicable to Graphical Displays.
+ *
+ * All character-based LCDs provide ASCII plus one of these
+ * language extensions:
+ *
+ * - JAPANESE ... the most common
+ * - WESTERN ... with more accented characters
+ * - CYRILLIC ... for the Russian language
+ *
+ * To determine the language extension installed on your controller:
+ *
+ * - Compile and upload with LCD_LANGUAGE set to 'test'
+ * - Click the controller to view the LCD menu
+ * - The LCD will display Japanese, Western, or Cyrillic text
+ *
+ * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
+ *
+ * :['JAPANESE', 'WESTERN', 'CYRILLIC']
+ */
#define DISPLAY_CHARSET_HD44780 JAPANESE
-//
-// LCD TYPE
-//
-// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2,
-// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels
-// (ST7565R family). (This option will be set automatically for certain displays.)
-//
-// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display!
-// https://github.com/olikraus/U8glib_Arduino
-//
+/**
+ * LCD TYPE
+ *
+ * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
+ * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
+ * (These options will be enabled automatically for most displays.)
+ *
+ * IMPORTANT: The U8glib library is required for Full Graphic Display!
+ * https://github.com/olikraus/U8glib_Arduino
+ */
//#define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display
-//
-// SD CARD
-//
-// SD Card support is disabled by default. If your controller has an SD slot,
-// you must uncomment the following option or it won't work.
-//
+/**
+ * SD CARD
+ *
+ * SD Card support is disabled by default. If your controller has an SD slot,
+ * you must uncomment the following option or it won't work.
+ *
+ */
//#define SDSUPPORT
-//
-// SD CARD: SPI SPEED
-//
-// Uncomment ONE of the following items to use a slower SPI transfer
-// speed. This is usually required if you're getting volume init errors.
-//
+/**
+ * SD CARD: SPI SPEED
+ *
+ * Enable one of the following items for a slower SPI transfer speed.
+ * This may be required to resolve "volume init" errors.
+ */
//#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED
-//
-// SD CARD: ENABLE CRC
-//
-// Use CRC checks and retries on the SD communication.
-//
+/**
+ * SD CARD: ENABLE CRC
+ *
+ * Use CRC checks and retries on the SD communication.
+ */
//#define SD_CHECK_AND_RETRY
//
@@ -1313,7 +1310,7 @@
*/
//
-// This option reverses the encoder direction everywhere
+// This option reverses the encoder direction everywhere.
//
// Set this option if CLOCKWISE causes values to DECREASE
//
diff --git a/Marlin/example_configurations/delta/kossel_mini/Configuration.h b/Marlin/example_configurations/delta/kossel_mini/Configuration.h
index 7d6754fc4608..ff3f5b286756 100644
--- a/Marlin/example_configurations/delta/kossel_mini/Configuration.h
+++ b/Marlin/example_configurations/delta/kossel_mini/Configuration.h
@@ -1096,23 +1096,17 @@
#define PREHEAT_2_TEMP_BED 100
#define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255
-//
-// Nozzle Park -- EXPERIMENTAL
-//
-// When enabled allows the user to define a special XYZ position, inside the
-// machine's topology, to park the nozzle when idle or when receiving the G27
-// command.
-//
-// The "P" paramenter controls what is the action applied to the Z axis:
-// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will
-// be raised to reach Z-park height.
-//
-// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
-// reach Z-park height.
-//
-// P2: The nozzle height will be raised by Z-park amount but never going over
-// the machine's limit of Z_MAX_POS.
-//
+/**
+ * Nozzle Park -- EXPERIMENTAL
+ *
+ * Park the nozzle at the given XYZ position on idle or G27.
+ *
+ * The "P" parameter controls the action applied to the Z axis:
+ *
+ * P0 (Default) If Z is below park Z raise the nozzle.
+ * P1 Raise the nozzle always to Z-park height.
+ * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
+ */
//#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE)
@@ -1120,44 +1114,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif
-//
-// Clean Nozzle Feature -- EXPERIMENTAL
-//
-// When enabled allows the user to send G12 to start the nozzle cleaning
-// process, the G-Code accepts two parameters:
-// "P" for pattern selection
-// "S" for defining the number of strokes/repetitions
-//
-// Available list of patterns:
-// P0: This is the default pattern, this process requires a sponge type
-// material at a fixed bed location. S defines "strokes" i.e.
-// back-and-forth movements between the starting and end points.
-//
-// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T"
-// defines the number of zig-zag triangles to be done. "S" defines the
-// number of strokes aka one back-and-forth movement. Zig-zags will
-// be performed in whichever dimension is smallest. As an example,
-// sending "G12 P1 S1 T3" will execute:
-//
-// --
-// | (X0, Y1) | /\ /\ /\ | (X1, Y1)
-// | | / \ / \ / \ |
-// A | | / \ / \ / \ |
-// | | / \ / \ / \ |
-// | (X0, Y0) | / \/ \/ \ | (X1, Y0)
-// -- +--------------------------------+
-// |________|_________|_________|
-// T1 T2 T3
-//
-// P2: This starts a circular pattern with circle with middle in
-// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S.
-// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT.
-//
-// Caveats: End point Z should use the same value as Start point Z.
-//
-// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments
-// may change to add new functionality like different wipe patterns.
-//
+/**
+ * Clean Nozzle Feature -- EXPERIMENTAL
+ *
+ * Adds the G12 command to perform a nozzle cleaning process.
+ *
+ * Parameters:
+ * P Pattern
+ * S Strokes / Repetitions
+ * T Triangles (P1 only)
+ *
+ * Patterns:
+ * P0 Straight line (default). This process requires a sponge type material
+ * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
+ * between the start / end points.
+ *
+ * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
+ * number of zig-zag triangles to do. "S" defines the number of strokes.
+ * Zig-zags are done in whichever is the narrower dimension.
+ * For example, "G12 P1 S1 T3" will execute:
+ *
+ * --
+ * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
+ * | | / \ / \ / \ |
+ * A | | / \ / \ / \ |
+ * | | / \ / \ / \ |
+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
+ * -- +--------------------------------+
+ * |________|_________|_________|
+ * T1 T2 T3
+ *
+ * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
+ * "R" specifies the radius. "S" specifies the stroke count.
+ * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
+ *
+ * Caveats: The ending Z should be the same as starting Z.
+ * Attention: EXPERIMENTAL. G-code arguments may change.
+ *
+ */
//#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE)
@@ -1182,33 +1176,35 @@
#define NOZZLE_CLEAN_GOBACK
#endif
-//
-// Print job timer
-//
-// Enable this option to automatically start and stop the
-// print job timer when M104/M109/M190 commands are received.
-// M104 (extruder without wait) - high temp = none, low temp = stop timer
-// M109 (extruder with wait) - high temp = start timer, low temp = stop timer
-// M190 (bed with wait) - high temp = start timer, low temp = none
-//
-// In all cases the timer can be started and stopped using
-// the following commands:
-//
-// - M75 - Start the print job timer
-// - M76 - Pause the print job timer
-// - M77 - Stop the print job timer
+/**
+ * Print Job Timer
+ *
+ * Automatically start and stop the print job timer on M104/M109/M190.
+ *
+ * M104 (hotend, no wait) - high temp = none, low temp = stop timer
+ * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
+ * M190 (bed, wait) - high temp = start timer, low temp = none
+ *
+ * The timer can also be controlled with the following commands:
+ *
+ * M75 - Start the print job timer
+ * M76 - Pause the print job timer
+ * M77 - Stop the print job timer
+ */
#define PRINTJOB_TIMER_AUTOSTART
-//
-// Print Counter
-//
-// When enabled Marlin will keep track of some print statistical data such as:
-// - Total print jobs
-// - Total successful print jobs
-// - Total failed print jobs
-// - Total time printing
-//
-// This information can be viewed by the M78 command.
+/**
+ * Print Counter
+ *
+ * Track statistical data such as:
+ *
+ * - Total print jobs
+ * - Total successful print jobs
+ * - Total failed print jobs
+ * - Total time printing
+ *
+ * View the current statistics with M78.
+ */
//#define PRINTCOUNTER
//=============================================================================
@@ -1217,78 +1213,79 @@
// @section lcd
-//
-// LCD LANGUAGE
-//
-// Here you may choose the language used by Marlin on the LCD menus, the following
-// list of languages are available:
-// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
-// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
-//
-// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
-//
+/**
+ * LCD LANGUAGE
+ *
+ * Select the language to display on the LCD. These languages are available:
+ *
+ * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
+ * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
+ *
+ * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
+ */
#define LCD_LANGUAGE en
-//
-// LCD Character Set
-//
-// Note: This option is NOT applicable to Graphical Displays.
-//
-// All character-based LCD's provide ASCII plus one of these
-// language extensions:
-//
-// - JAPANESE ... the most common
-// - WESTERN ... with more accented characters
-// - CYRILLIC ... for the Russian language
-//
-// To determine the language extension installed on your controller:
-//
-// - Compile and upload with LCD_LANGUAGE set to 'test'
-// - Click the controller to view the LCD menu
-// - The LCD will display Japanese, Western, or Cyrillic text
-//
-// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
-//
-// :['JAPANESE', 'WESTERN', 'CYRILLIC']
-//
+/**
+ * LCD Character Set
+ *
+ * Note: This option is NOT applicable to Graphical Displays.
+ *
+ * All character-based LCDs provide ASCII plus one of these
+ * language extensions:
+ *
+ * - JAPANESE ... the most common
+ * - WESTERN ... with more accented characters
+ * - CYRILLIC ... for the Russian language
+ *
+ * To determine the language extension installed on your controller:
+ *
+ * - Compile and upload with LCD_LANGUAGE set to 'test'
+ * - Click the controller to view the LCD menu
+ * - The LCD will display Japanese, Western, or Cyrillic text
+ *
+ * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
+ *
+ * :['JAPANESE', 'WESTERN', 'CYRILLIC']
+ */
#define DISPLAY_CHARSET_HD44780 JAPANESE
-//
-// LCD TYPE
-//
-// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2,
-// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels
-// (ST7565R family). (This option will be set automatically for certain displays.)
-//
-// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display!
-// https://github.com/olikraus/U8glib_Arduino
-//
+/**
+ * LCD TYPE
+ *
+ * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
+ * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
+ * (These options will be enabled automatically for most displays.)
+ *
+ * IMPORTANT: The U8glib library is required for Full Graphic Display!
+ * https://github.com/olikraus/U8glib_Arduino
+ */
//#define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display
-//
-// SD CARD
-//
-// SD Card support is disabled by default. If your controller has an SD slot,
-// you must uncomment the following option or it won't work.
-//
+/**
+ * SD CARD
+ *
+ * SD Card support is disabled by default. If your controller has an SD slot,
+ * you must uncomment the following option or it won't work.
+ *
+ */
//#define SDSUPPORT
-//
-// SD CARD: SPI SPEED
-//
-// Uncomment ONE of the following items to use a slower SPI transfer
-// speed. This is usually required if you're getting volume init errors.
-//
+/**
+ * SD CARD: SPI SPEED
+ *
+ * Enable one of the following items for a slower SPI transfer speed.
+ * This may be required to resolve "volume init" errors.
+ */
//#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED
-//
-// SD CARD: ENABLE CRC
-//
-// Use CRC checks and retries on the SD communication.
-//
+/**
+ * SD CARD: ENABLE CRC
+ *
+ * Use CRC checks and retries on the SD communication.
+ */
//#define SD_CHECK_AND_RETRY
//
@@ -1316,7 +1313,7 @@
*/
//
-// This option reverses the encoder direction everywhere
+// This option reverses the encoder direction everywhere.
//
// Set this option if CLOCKWISE causes values to DECREASE
//
diff --git a/Marlin/example_configurations/delta/kossel_pro/Configuration.h b/Marlin/example_configurations/delta/kossel_pro/Configuration.h
index 244976604dfe..2128469ea522 100644
--- a/Marlin/example_configurations/delta/kossel_pro/Configuration.h
+++ b/Marlin/example_configurations/delta/kossel_pro/Configuration.h
@@ -1102,23 +1102,17 @@
#define PREHEAT_2_TEMP_BED 100
#define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255
-//
-// Nozzle Park -- EXPERIMENTAL
-//
-// When enabled allows the user to define a special XYZ position, inside the
-// machine's topology, to park the nozzle when idle or when receiving the G27
-// command.
-//
-// The "P" paramenter controls what is the action applied to the Z axis:
-// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will
-// be raised to reach Z-park height.
-//
-// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
-// reach Z-park height.
-//
-// P2: The nozzle height will be raised by Z-park amount but never going over
-// the machine's limit of Z_MAX_POS.
-//
+/**
+ * Nozzle Park -- EXPERIMENTAL
+ *
+ * Park the nozzle at the given XYZ position on idle or G27.
+ *
+ * The "P" parameter controls the action applied to the Z axis:
+ *
+ * P0 (Default) If Z is below park Z raise the nozzle.
+ * P1 Raise the nozzle always to Z-park height.
+ * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
+ */
//#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE)
@@ -1126,44 +1120,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif
-//
-// Clean Nozzle Feature -- EXPERIMENTAL
-//
-// When enabled allows the user to send G12 to start the nozzle cleaning
-// process, the G-Code accepts two parameters:
-// "P" for pattern selection
-// "S" for defining the number of strokes/repetitions
-//
-// Available list of patterns:
-// P0: This is the default pattern, this process requires a sponge type
-// material at a fixed bed location. S defines "strokes" i.e.
-// back-and-forth movements between the starting and end points.
-//
-// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T"
-// defines the number of zig-zag triangles to be done. "S" defines the
-// number of strokes aka one back-and-forth movement. Zig-zags will
-// be performed in whichever dimension is smallest. As an example,
-// sending "G12 P1 S1 T3" will execute:
-//
-// --
-// | (X0, Y1) | /\ /\ /\ | (X1, Y1)
-// | | / \ / \ / \ |
-// A | | / \ / \ / \ |
-// | | / \ / \ / \ |
-// | (X0, Y0) | / \/ \/ \ | (X1, Y0)
-// -- +--------------------------------+
-// |________|_________|_________|
-// T1 T2 T3
-//
-// P2: This starts a circular pattern with circle with middle in
-// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S.
-// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT.
-//
-// Caveats: End point Z should use the same value as Start point Z.
-//
-// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments
-// may change to add new functionality like different wipe patterns.
-//
+/**
+ * Clean Nozzle Feature -- EXPERIMENTAL
+ *
+ * Adds the G12 command to perform a nozzle cleaning process.
+ *
+ * Parameters:
+ * P Pattern
+ * S Strokes / Repetitions
+ * T Triangles (P1 only)
+ *
+ * Patterns:
+ * P0 Straight line (default). This process requires a sponge type material
+ * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
+ * between the start / end points.
+ *
+ * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
+ * number of zig-zag triangles to do. "S" defines the number of strokes.
+ * Zig-zags are done in whichever is the narrower dimension.
+ * For example, "G12 P1 S1 T3" will execute:
+ *
+ * --
+ * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
+ * | | / \ / \ / \ |
+ * A | | / \ / \ / \ |
+ * | | / \ / \ / \ |
+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
+ * -- +--------------------------------+
+ * |________|_________|_________|
+ * T1 T2 T3
+ *
+ * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
+ * "R" specifies the radius. "S" specifies the stroke count.
+ * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
+ *
+ * Caveats: The ending Z should be the same as starting Z.
+ * Attention: EXPERIMENTAL. G-code arguments may change.
+ *
+ */
//#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE)
@@ -1188,33 +1182,35 @@
#define NOZZLE_CLEAN_GOBACK
#endif
-//
-// Print job timer
-//
-// Enable this option to automatically start and stop the
-// print job timer when M104/M109/M190 commands are received.
-// M104 (extruder without wait) - high temp = none, low temp = stop timer
-// M109 (extruder with wait) - high temp = start timer, low temp = stop timer
-// M190 (bed with wait) - high temp = start timer, low temp = none
-//
-// In all cases the timer can be started and stopped using
-// the following commands:
-//
-// - M75 - Start the print job timer
-// - M76 - Pause the print job timer
-// - M77 - Stop the print job timer
+/**
+ * Print Job Timer
+ *
+ * Automatically start and stop the print job timer on M104/M109/M190.
+ *
+ * M104 (hotend, no wait) - high temp = none, low temp = stop timer
+ * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
+ * M190 (bed, wait) - high temp = start timer, low temp = none
+ *
+ * The timer can also be controlled with the following commands:
+ *
+ * M75 - Start the print job timer
+ * M76 - Pause the print job timer
+ * M77 - Stop the print job timer
+ */
#define PRINTJOB_TIMER_AUTOSTART
-//
-// Print Counter
-//
-// When enabled Marlin will keep track of some print statistical data such as:
-// - Total print jobs
-// - Total successful print jobs
-// - Total failed print jobs
-// - Total time printing
-//
-// This information can be viewed by the M78 command.
+/**
+ * Print Counter
+ *
+ * Track statistical data such as:
+ *
+ * - Total print jobs
+ * - Total successful print jobs
+ * - Total failed print jobs
+ * - Total time printing
+ *
+ * View the current statistics with M78.
+ */
//#define PRINTCOUNTER
//=============================================================================
@@ -1223,78 +1219,79 @@
// @section lcd
-//
-// LCD LANGUAGE
-//
-// Here you may choose the language used by Marlin on the LCD menus, the following
-// list of languages are available:
-// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
-// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
-//
-// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
-//
+/**
+ * LCD LANGUAGE
+ *
+ * Select the language to display on the LCD. These languages are available:
+ *
+ * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
+ * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
+ *
+ * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
+ */
#define LCD_LANGUAGE en
-//
-// LCD Character Set
-//
-// Note: This option is NOT applicable to Graphical Displays.
-//
-// All character-based LCD's provide ASCII plus one of these
-// language extensions:
-//
-// - JAPANESE ... the most common
-// - WESTERN ... with more accented characters
-// - CYRILLIC ... for the Russian language
-//
-// To determine the language extension installed on your controller:
-//
-// - Compile and upload with LCD_LANGUAGE set to 'test'
-// - Click the controller to view the LCD menu
-// - The LCD will display Japanese, Western, or Cyrillic text
-//
-// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
-//
-// :['JAPANESE', 'WESTERN', 'CYRILLIC']
-//
+/**
+ * LCD Character Set
+ *
+ * Note: This option is NOT applicable to Graphical Displays.
+ *
+ * All character-based LCDs provide ASCII plus one of these
+ * language extensions:
+ *
+ * - JAPANESE ... the most common
+ * - WESTERN ... with more accented characters
+ * - CYRILLIC ... for the Russian language
+ *
+ * To determine the language extension installed on your controller:
+ *
+ * - Compile and upload with LCD_LANGUAGE set to 'test'
+ * - Click the controller to view the LCD menu
+ * - The LCD will display Japanese, Western, or Cyrillic text
+ *
+ * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
+ *
+ * :['JAPANESE', 'WESTERN', 'CYRILLIC']
+ */
#define DISPLAY_CHARSET_HD44780 JAPANESE
-//
-// LCD TYPE
-//
-// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2,
-// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels
-// (ST7565R family). (This option will be set automatically for certain displays.)
-//
-// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display!
-// https://github.com/olikraus/U8glib_Arduino
-//
+/**
+ * LCD TYPE
+ *
+ * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
+ * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
+ * (These options will be enabled automatically for most displays.)
+ *
+ * IMPORTANT: The U8glib library is required for Full Graphic Display!
+ * https://github.com/olikraus/U8glib_Arduino
+ */
//#define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display
-//
-// SD CARD
-//
-// SD Card support is disabled by default. If your controller has an SD slot,
-// you must uncomment the following option or it won't work.
-//
+/**
+ * SD CARD
+ *
+ * SD Card support is disabled by default. If your controller has an SD slot,
+ * you must uncomment the following option or it won't work.
+ *
+ */
#define SDSUPPORT
-//
-// SD CARD: SPI SPEED
-//
-// Uncomment ONE of the following items to use a slower SPI transfer
-// speed. This is usually required if you're getting volume init errors.
-//
+/**
+ * SD CARD: SPI SPEED
+ *
+ * Enable one of the following items for a slower SPI transfer speed.
+ * This may be required to resolve "volume init" errors.
+ */
//#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED
-//
-// SD CARD: ENABLE CRC
-//
-// Use CRC checks and retries on the SD communication.
-//
+/**
+ * SD CARD: ENABLE CRC
+ *
+ * Use CRC checks and retries on the SD communication.
+ */
//#define SD_CHECK_AND_RETRY
//
@@ -1322,7 +1319,7 @@
*/
//
-// This option reverses the encoder direction everywhere
+// This option reverses the encoder direction everywhere.
//
// Set this option if CLOCKWISE causes values to DECREASE
//
diff --git a/Marlin/example_configurations/delta/kossel_xl/Configuration.h b/Marlin/example_configurations/delta/kossel_xl/Configuration.h
index f3e549470463..479b4e4666fd 100644
--- a/Marlin/example_configurations/delta/kossel_xl/Configuration.h
+++ b/Marlin/example_configurations/delta/kossel_xl/Configuration.h
@@ -1160,23 +1160,17 @@
#define PREHEAT_2_TEMP_BED 100
#define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255
-//
-// Nozzle Park -- EXPERIMENTAL
-//
-// When enabled allows the user to define a special XYZ position, inside the
-// machine's topology, to park the nozzle when idle or when receiving the G27
-// command.
-//
-// The "P" paramenter controls what is the action applied to the Z axis:
-// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will
-// be raised to reach Z-park height.
-//
-// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
-// reach Z-park height.
-//
-// P2: The nozzle height will be raised by Z-park amount but never going over
-// the machine's limit of Z_MAX_POS.
-//
+/**
+ * Nozzle Park -- EXPERIMENTAL
+ *
+ * Park the nozzle at the given XYZ position on idle or G27.
+ *
+ * The "P" parameter controls the action applied to the Z axis:
+ *
+ * P0 (Default) If Z is below park Z raise the nozzle.
+ * P1 Raise the nozzle always to Z-park height.
+ * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
+ */
//#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE)
@@ -1184,44 +1178,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif
-//
-// Clean Nozzle Feature -- EXPERIMENTAL
-//
-// When enabled allows the user to send G12 to start the nozzle cleaning
-// process, the G-Code accepts two parameters:
-// "P" for pattern selection
-// "S" for defining the number of strokes/repetitions
-//
-// Available list of patterns:
-// P0: This is the default pattern, this process requires a sponge type
-// material at a fixed bed location. S defines "strokes" i.e.
-// back-and-forth movements between the starting and end points.
-//
-// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T"
-// defines the number of zig-zag triangles to be done. "S" defines the
-// number of strokes aka one back-and-forth movement. Zig-zags will
-// be performed in whichever dimension is smallest. As an example,
-// sending "G12 P1 S1 T3" will execute:
-//
-// --
-// | (X0, Y1) | /\ /\ /\ | (X1, Y1)
-// | | / \ / \ / \ |
-// A | | / \ / \ / \ |
-// | | / \ / \ / \ |
-// | (X0, Y0) | / \/ \/ \ | (X1, Y0)
-// -- +--------------------------------+
-// |________|_________|_________|
-// T1 T2 T3
-//
-// P2: This starts a circular pattern with circle with middle in
-// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S.
-// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT.
-//
-// Caveats: End point Z should use the same value as Start point Z.
-//
-// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments
-// may change to add new functionality like different wipe patterns.
-//
+/**
+ * Clean Nozzle Feature -- EXPERIMENTAL
+ *
+ * Adds the G12 command to perform a nozzle cleaning process.
+ *
+ * Parameters:
+ * P Pattern
+ * S Strokes / Repetitions
+ * T Triangles (P1 only)
+ *
+ * Patterns:
+ * P0 Straight line (default). This process requires a sponge type material
+ * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
+ * between the start / end points.
+ *
+ * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
+ * number of zig-zag triangles to do. "S" defines the number of strokes.
+ * Zig-zags are done in whichever is the narrower dimension.
+ * For example, "G12 P1 S1 T3" will execute:
+ *
+ * --
+ * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
+ * | | / \ / \ / \ |
+ * A | | / \ / \ / \ |
+ * | | / \ / \ / \ |
+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
+ * -- +--------------------------------+
+ * |________|_________|_________|
+ * T1 T2 T3
+ *
+ * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
+ * "R" specifies the radius. "S" specifies the stroke count.
+ * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
+ *
+ * Caveats: The ending Z should be the same as starting Z.
+ * Attention: EXPERIMENTAL. G-code arguments may change.
+ *
+ */
//#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE)
@@ -1246,33 +1240,35 @@
#define NOZZLE_CLEAN_GOBACK
#endif
-//
-// Print job timer
-//
-// Enable this option to automatically start and stop the
-// print job timer when M104/M109/M190 commands are received.
-// M104 (extruder without wait) - high temp = none, low temp = stop timer
-// M109 (extruder with wait) - high temp = start timer, low temp = stop timer
-// M190 (bed with wait) - high temp = start timer, low temp = none
-//
-// In all cases the timer can be started and stopped using
-// the following commands:
-//
-// - M75 - Start the print job timer
-// - M76 - Pause the print job timer
-// - M77 - Stop the print job timer
+/**
+ * Print Job Timer
+ *
+ * Automatically start and stop the print job timer on M104/M109/M190.
+ *
+ * M104 (hotend, no wait) - high temp = none, low temp = stop timer
+ * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
+ * M190 (bed, wait) - high temp = start timer, low temp = none
+ *
+ * The timer can also be controlled with the following commands:
+ *
+ * M75 - Start the print job timer
+ * M76 - Pause the print job timer
+ * M77 - Stop the print job timer
+ */
#define PRINTJOB_TIMER_AUTOSTART
-//
-// Print Counter
-//
-// When enabled Marlin will keep track of some print statistical data such as:
-// - Total print jobs
-// - Total successful print jobs
-// - Total failed print jobs
-// - Total time printing
-//
-// This information can be viewed by the M78 command.
+/**
+ * Print Counter
+ *
+ * Track statistical data such as:
+ *
+ * - Total print jobs
+ * - Total successful print jobs
+ * - Total failed print jobs
+ * - Total time printing
+ *
+ * View the current statistics with M78.
+ */
//#define PRINTCOUNTER
//=============================================================================
@@ -1281,78 +1277,79 @@
// @section lcd
-//
-// LCD LANGUAGE
-//
-// Here you may choose the language used by Marlin on the LCD menus, the following
-// list of languages are available:
-// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
-// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
-//
-// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
-//
+/**
+ * LCD LANGUAGE
+ *
+ * Select the language to display on the LCD. These languages are available:
+ *
+ * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
+ * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
+ *
+ * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
+ */
#define LCD_LANGUAGE en
-//
-// LCD Character Set
-//
-// Note: This option is NOT applicable to Graphical Displays.
-//
-// All character-based LCD's provide ASCII plus one of these
-// language extensions:
-//
-// - JAPANESE ... the most common
-// - WESTERN ... with more accented characters
-// - CYRILLIC ... for the Russian language
-//
-// To determine the language extension installed on your controller:
-//
-// - Compile and upload with LCD_LANGUAGE set to 'test'
-// - Click the controller to view the LCD menu
-// - The LCD will display Japanese, Western, or Cyrillic text
-//
-// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
-//
-// :['JAPANESE', 'WESTERN', 'CYRILLIC']
-//
+/**
+ * LCD Character Set
+ *
+ * Note: This option is NOT applicable to Graphical Displays.
+ *
+ * All character-based LCDs provide ASCII plus one of these
+ * language extensions:
+ *
+ * - JAPANESE ... the most common
+ * - WESTERN ... with more accented characters
+ * - CYRILLIC ... for the Russian language
+ *
+ * To determine the language extension installed on your controller:
+ *
+ * - Compile and upload with LCD_LANGUAGE set to 'test'
+ * - Click the controller to view the LCD menu
+ * - The LCD will display Japanese, Western, or Cyrillic text
+ *
+ * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
+ *
+ * :['JAPANESE', 'WESTERN', 'CYRILLIC']
+ */
#define DISPLAY_CHARSET_HD44780 JAPANESE
-//
-// LCD TYPE
-//
-// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2,
-// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels
-// (ST7565R family). (This option will be set automatically for certain displays.)
-//
-// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display!
-// https://github.com/olikraus/U8glib_Arduino
-//
+/**
+ * LCD TYPE
+ *
+ * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
+ * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
+ * (These options will be enabled automatically for most displays.)
+ *
+ * IMPORTANT: The U8glib library is required for Full Graphic Display!
+ * https://github.com/olikraus/U8glib_Arduino
+ */
//#define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display
-//
-// SD CARD
-//
-// SD Card support is disabled by default. If your controller has an SD slot,
-// you must uncomment the following option or it won't work.
-//
+/**
+ * SD CARD
+ *
+ * SD Card support is disabled by default. If your controller has an SD slot,
+ * you must uncomment the following option or it won't work.
+ *
+ */
//#define SDSUPPORT
-//
-// SD CARD: SPI SPEED
-//
-// Uncomment ONE of the following items to use a slower SPI transfer
-// speed. This is usually required if you're getting volume init errors.
-//
+/**
+ * SD CARD: SPI SPEED
+ *
+ * Enable one of the following items for a slower SPI transfer speed.
+ * This may be required to resolve "volume init" errors.
+ */
//#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED
-//
-// SD CARD: ENABLE CRC
-//
-// Use CRC checks and retries on the SD communication.
-//
+/**
+ * SD CARD: ENABLE CRC
+ *
+ * Use CRC checks and retries on the SD communication.
+ */
//#define SD_CHECK_AND_RETRY
//
@@ -1380,7 +1377,7 @@
*/
//
-// This option reverses the encoder direction everywhere
+// This option reverses the encoder direction everywhere.
//
// Set this option if CLOCKWISE causes values to DECREASE
//
diff --git a/Marlin/example_configurations/gCreate_gMax1.5+/Configuration.h b/Marlin/example_configurations/gCreate_gMax1.5+/Configuration.h
index a841fb60484c..62ccbfefa236 100644
--- a/Marlin/example_configurations/gCreate_gMax1.5+/Configuration.h
+++ b/Marlin/example_configurations/gCreate_gMax1.5+/Configuration.h
@@ -971,23 +971,17 @@
#define PREHEAT_2_TEMP_BED 110
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
-//
-// Nozzle Park -- EXPERIMENTAL
-//
-// When enabled allows the user to define a special XYZ position, inside the
-// machine's topology, to park the nozzle when idle or when receiving the G27
-// command.
-//
-// The "P" paramenter controls what is the action applied to the Z axis:
-// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will
-// be raised to reach Z-park height.
-//
-// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
-// reach Z-park height.
-//
-// P2: The nozzle height will be raised by Z-park amount but never going over
-// the machine's limit of Z_MAX_POS.
-//
+/**
+ * Nozzle Park -- EXPERIMENTAL
+ *
+ * Park the nozzle at the given XYZ position on idle or G27.
+ *
+ * The "P" parameter controls the action applied to the Z axis:
+ *
+ * P0 (Default) If Z is below park Z raise the nozzle.
+ * P1 Raise the nozzle always to Z-park height.
+ * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
+ */
//#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE)
@@ -995,44 +989,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif
-//
-// Clean Nozzle Feature -- EXPERIMENTAL
-//
-// When enabled allows the user to send G12 to start the nozzle cleaning
-// process, the G-Code accepts two parameters:
-// "P" for pattern selection
-// "S" for defining the number of strokes/repetitions
-//
-// Available list of patterns:
-// P0: This is the default pattern, this process requires a sponge type
-// material at a fixed bed location. S defines "strokes" i.e.
-// back-and-forth movements between the starting and end points.
-//
-// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T"
-// defines the number of zig-zag triangles to be done. "S" defines the
-// number of strokes aka one back-and-forth movement. Zig-zags will
-// be performed in whichever dimension is smallest. As an example,
-// sending "G12 P1 S1 T3" will execute:
-//
-// --
-// | (X0, Y1) | /\ /\ /\ | (X1, Y1)
-// | | / \ / \ / \ |
-// A | | / \ / \ / \ |
-// | | / \ / \ / \ |
-// | (X0, Y0) | / \/ \/ \ | (X1, Y0)
-// -- +--------------------------------+
-// |________|_________|_________|
-// T1 T2 T3
-//
-// P2: This starts a circular pattern with circle with middle in
-// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S.
-// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT.
-//
-// Caveats: End point Z should use the same value as Start point Z.
-//
-// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments
-// may change to add new functionality like different wipe patterns.
-//
+/**
+ * Clean Nozzle Feature -- EXPERIMENTAL
+ *
+ * Adds the G12 command to perform a nozzle cleaning process.
+ *
+ * Parameters:
+ * P Pattern
+ * S Strokes / Repetitions
+ * T Triangles (P1 only)
+ *
+ * Patterns:
+ * P0 Straight line (default). This process requires a sponge type material
+ * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
+ * between the start / end points.
+ *
+ * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
+ * number of zig-zag triangles to do. "S" defines the number of strokes.
+ * Zig-zags are done in whichever is the narrower dimension.
+ * For example, "G12 P1 S1 T3" will execute:
+ *
+ * --
+ * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
+ * | | / \ / \ / \ |
+ * A | | / \ / \ / \ |
+ * | | / \ / \ / \ |
+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
+ * -- +--------------------------------+
+ * |________|_________|_________|
+ * T1 T2 T3
+ *
+ * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
+ * "R" specifies the radius. "S" specifies the stroke count.
+ * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
+ *
+ * Caveats: The ending Z should be the same as starting Z.
+ * Attention: EXPERIMENTAL. G-code arguments may change.
+ *
+ */
//#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE)
@@ -1057,33 +1051,35 @@
#define NOZZLE_CLEAN_GOBACK
#endif
-//
-// Print job timer
-//
-// Enable this option to automatically start and stop the
-// print job timer when M104/M109/M190 commands are received.
-// M104 (extruder without wait) - high temp = none, low temp = stop timer
-// M109 (extruder with wait) - high temp = start timer, low temp = stop timer
-// M190 (bed with wait) - high temp = start timer, low temp = none
-//
-// In all cases the timer can be started and stopped using
-// the following commands:
-//
-// - M75 - Start the print job timer
-// - M76 - Pause the print job timer
-// - M77 - Stop the print job timer
+/**
+ * Print Job Timer
+ *
+ * Automatically start and stop the print job timer on M104/M109/M190.
+ *
+ * M104 (hotend, no wait) - high temp = none, low temp = stop timer
+ * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
+ * M190 (bed, wait) - high temp = start timer, low temp = none
+ *
+ * The timer can also be controlled with the following commands:
+ *
+ * M75 - Start the print job timer
+ * M76 - Pause the print job timer
+ * M77 - Stop the print job timer
+ */
#define PRINTJOB_TIMER_AUTOSTART
-//
-// Print Counter
-//
-// When enabled Marlin will keep track of some print statistical data such as:
-// - Total print jobs
-// - Total successful print jobs
-// - Total failed print jobs
-// - Total time printing
-//
-// This information can be viewed by the M78 command.
+/**
+ * Print Counter
+ *
+ * Track statistical data such as:
+ *
+ * - Total print jobs
+ * - Total successful print jobs
+ * - Total failed print jobs
+ * - Total time printing
+ *
+ * View the current statistics with M78.
+ */
//#define PRINTCOUNTER
//=============================================================================
@@ -1092,78 +1088,79 @@
// @section lcd
-//
-// LCD LANGUAGE
-//
-// Here you may choose the language used by Marlin on the LCD menus, the following
-// list of languages are available:
-// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
-// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
-//
-// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
-//
+/**
+ * LCD LANGUAGE
+ *
+ * Select the language to display on the LCD. These languages are available:
+ *
+ * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
+ * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
+ *
+ * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
+ */
#define LCD_LANGUAGE en
-//
-// LCD Character Set
-//
-// Note: This option is NOT applicable to Graphical Displays.
-//
-// All character-based LCD's provide ASCII plus one of these
-// language extensions:
-//
-// - JAPANESE ... the most common
-// - WESTERN ... with more accented characters
-// - CYRILLIC ... for the Russian language
-//
-// To determine the language extension installed on your controller:
-//
-// - Compile and upload with LCD_LANGUAGE set to 'test'
-// - Click the controller to view the LCD menu
-// - The LCD will display Japanese, Western, or Cyrillic text
-//
-// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
-//
-// :['JAPANESE', 'WESTERN', 'CYRILLIC']
-//
+/**
+ * LCD Character Set
+ *
+ * Note: This option is NOT applicable to Graphical Displays.
+ *
+ * All character-based LCDs provide ASCII plus one of these
+ * language extensions:
+ *
+ * - JAPANESE ... the most common
+ * - WESTERN ... with more accented characters
+ * - CYRILLIC ... for the Russian language
+ *
+ * To determine the language extension installed on your controller:
+ *
+ * - Compile and upload with LCD_LANGUAGE set to 'test'
+ * - Click the controller to view the LCD menu
+ * - The LCD will display Japanese, Western, or Cyrillic text
+ *
+ * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
+ *
+ * :['JAPANESE', 'WESTERN', 'CYRILLIC']
+ */
#define DISPLAY_CHARSET_HD44780 JAPANESE
-//
-// LCD TYPE
-//
-// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2,
-// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels
-// (ST7565R family). (This option will be set automatically for certain displays.)
-//
-// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display!
-// https://github.com/olikraus/U8glib_Arduino
-//
+/**
+ * LCD TYPE
+ *
+ * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
+ * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
+ * (These options will be enabled automatically for most displays.)
+ *
+ * IMPORTANT: The U8glib library is required for Full Graphic Display!
+ * https://github.com/olikraus/U8glib_Arduino
+ */
//#define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display
-//
-// SD CARD
-//
-// SD Card support is disabled by default. If your controller has an SD slot,
-// you must uncomment the following option or it won't work.
-//
+/**
+ * SD CARD
+ *
+ * SD Card support is disabled by default. If your controller has an SD slot,
+ * you must uncomment the following option or it won't work.
+ *
+ */
#define SDSUPPORT
-//
-// SD CARD: SPI SPEED
-//
-// Uncomment ONE of the following items to use a slower SPI transfer
-// speed. This is usually required if you're getting volume init errors.
-//
+/**
+ * SD CARD: SPI SPEED
+ *
+ * Enable one of the following items for a slower SPI transfer speed.
+ * This may be required to resolve "volume init" errors.
+ */
//#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED
-//
-// SD CARD: ENABLE CRC
-//
-// Use CRC checks and retries on the SD communication.
-//
+/**
+ * SD CARD: ENABLE CRC
+ *
+ * Use CRC checks and retries on the SD communication.
+ */
#define SD_CHECK_AND_RETRY
//
@@ -1191,7 +1188,7 @@
*/
//
-// This option reverses the encoder direction everywhere
+// This option reverses the encoder direction everywhere.
//
// Set this option if CLOCKWISE causes values to DECREASE
//
diff --git a/Marlin/example_configurations/makibox/Configuration.h b/Marlin/example_configurations/makibox/Configuration.h
index 1a4d79019194..735278440190 100644
--- a/Marlin/example_configurations/makibox/Configuration.h
+++ b/Marlin/example_configurations/makibox/Configuration.h
@@ -989,23 +989,17 @@
#define PREHEAT_2_TEMP_BED 100
#define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255
-//
-// Nozzle Park -- EXPERIMENTAL
-//
-// When enabled allows the user to define a special XYZ position, inside the
-// machine's topology, to park the nozzle when idle or when receiving the G27
-// command.
-//
-// The "P" paramenter controls what is the action applied to the Z axis:
-// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will
-// be raised to reach Z-park height.
-//
-// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
-// reach Z-park height.
-//
-// P2: The nozzle height will be raised by Z-park amount but never going over
-// the machine's limit of Z_MAX_POS.
-//
+/**
+ * Nozzle Park -- EXPERIMENTAL
+ *
+ * Park the nozzle at the given XYZ position on idle or G27.
+ *
+ * The "P" parameter controls the action applied to the Z axis:
+ *
+ * P0 (Default) If Z is below park Z raise the nozzle.
+ * P1 Raise the nozzle always to Z-park height.
+ * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
+ */
//#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE)
@@ -1013,44 +1007,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif
-//
-// Clean Nozzle Feature -- EXPERIMENTAL
-//
-// When enabled allows the user to send G12 to start the nozzle cleaning
-// process, the G-Code accepts two parameters:
-// "P" for pattern selection
-// "S" for defining the number of strokes/repetitions
-//
-// Available list of patterns:
-// P0: This is the default pattern, this process requires a sponge type
-// material at a fixed bed location. S defines "strokes" i.e.
-// back-and-forth movements between the starting and end points.
-//
-// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T"
-// defines the number of zig-zag triangles to be done. "S" defines the
-// number of strokes aka one back-and-forth movement. Zig-zags will
-// be performed in whichever dimension is smallest. As an example,
-// sending "G12 P1 S1 T3" will execute:
-//
-// --
-// | (X0, Y1) | /\ /\ /\ | (X1, Y1)
-// | | / \ / \ / \ |
-// A | | / \ / \ / \ |
-// | | / \ / \ / \ |
-// | (X0, Y0) | / \/ \/ \ | (X1, Y0)
-// -- +--------------------------------+
-// |________|_________|_________|
-// T1 T2 T3
-//
-// P2: This starts a circular pattern with circle with middle in
-// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S.
-// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT.
-//
-// Caveats: End point Z should use the same value as Start point Z.
-//
-// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments
-// may change to add new functionality like different wipe patterns.
-//
+/**
+ * Clean Nozzle Feature -- EXPERIMENTAL
+ *
+ * Adds the G12 command to perform a nozzle cleaning process.
+ *
+ * Parameters:
+ * P Pattern
+ * S Strokes / Repetitions
+ * T Triangles (P1 only)
+ *
+ * Patterns:
+ * P0 Straight line (default). This process requires a sponge type material
+ * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
+ * between the start / end points.
+ *
+ * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
+ * number of zig-zag triangles to do. "S" defines the number of strokes.
+ * Zig-zags are done in whichever is the narrower dimension.
+ * For example, "G12 P1 S1 T3" will execute:
+ *
+ * --
+ * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
+ * | | / \ / \ / \ |
+ * A | | / \ / \ / \ |
+ * | | / \ / \ / \ |
+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
+ * -- +--------------------------------+
+ * |________|_________|_________|
+ * T1 T2 T3
+ *
+ * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
+ * "R" specifies the radius. "S" specifies the stroke count.
+ * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
+ *
+ * Caveats: The ending Z should be the same as starting Z.
+ * Attention: EXPERIMENTAL. G-code arguments may change.
+ *
+ */
//#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE)
@@ -1075,33 +1069,35 @@
#define NOZZLE_CLEAN_GOBACK
#endif
-//
-// Print job timer
-//
-// Enable this option to automatically start and stop the
-// print job timer when M104/M109/M190 commands are received.
-// M104 (extruder without wait) - high temp = none, low temp = stop timer
-// M109 (extruder with wait) - high temp = start timer, low temp = stop timer
-// M190 (bed with wait) - high temp = start timer, low temp = none
-//
-// In all cases the timer can be started and stopped using
-// the following commands:
-//
-// - M75 - Start the print job timer
-// - M76 - Pause the print job timer
-// - M77 - Stop the print job timer
+/**
+ * Print Job Timer
+ *
+ * Automatically start and stop the print job timer on M104/M109/M190.
+ *
+ * M104 (hotend, no wait) - high temp = none, low temp = stop timer
+ * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
+ * M190 (bed, wait) - high temp = start timer, low temp = none
+ *
+ * The timer can also be controlled with the following commands:
+ *
+ * M75 - Start the print job timer
+ * M76 - Pause the print job timer
+ * M77 - Stop the print job timer
+ */
#define PRINTJOB_TIMER_AUTOSTART
-//
-// Print Counter
-//
-// When enabled Marlin will keep track of some print statistical data such as:
-// - Total print jobs
-// - Total successful print jobs
-// - Total failed print jobs
-// - Total time printing
-//
-// This information can be viewed by the M78 command.
+/**
+ * Print Counter
+ *
+ * Track statistical data such as:
+ *
+ * - Total print jobs
+ * - Total successful print jobs
+ * - Total failed print jobs
+ * - Total time printing
+ *
+ * View the current statistics with M78.
+ */
//#define PRINTCOUNTER
//=============================================================================
@@ -1110,78 +1106,79 @@
// @section lcd
-//
-// LCD LANGUAGE
-//
-// Here you may choose the language used by Marlin on the LCD menus, the following
-// list of languages are available:
-// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
-// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
-//
-// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
-//
+/**
+ * LCD LANGUAGE
+ *
+ * Select the language to display on the LCD. These languages are available:
+ *
+ * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
+ * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
+ *
+ * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
+ */
//#define LCD_LANGUAGE en
-//
-// LCD Character Set
-//
-// Note: This option is NOT applicable to Graphical Displays.
-//
-// All character-based LCD's provide ASCII plus one of these
-// language extensions:
-//
-// - JAPANESE ... the most common
-// - WESTERN ... with more accented characters
-// - CYRILLIC ... for the Russian language
-//
-// To determine the language extension installed on your controller:
-//
-// - Compile and upload with LCD_LANGUAGE set to 'test'
-// - Click the controller to view the LCD menu
-// - The LCD will display Japanese, Western, or Cyrillic text
-//
-// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
-//
-// :['JAPANESE', 'WESTERN', 'CYRILLIC']
-//
+/**
+ * LCD Character Set
+ *
+ * Note: This option is NOT applicable to Graphical Displays.
+ *
+ * All character-based LCDs provide ASCII plus one of these
+ * language extensions:
+ *
+ * - JAPANESE ... the most common
+ * - WESTERN ... with more accented characters
+ * - CYRILLIC ... for the Russian language
+ *
+ * To determine the language extension installed on your controller:
+ *
+ * - Compile and upload with LCD_LANGUAGE set to 'test'
+ * - Click the controller to view the LCD menu
+ * - The LCD will display Japanese, Western, or Cyrillic text
+ *
+ * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
+ *
+ * :['JAPANESE', 'WESTERN', 'CYRILLIC']
+ */
#define DISPLAY_CHARSET_HD44780 JAPANESE
-//
-// LCD TYPE
-//
-// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2,
-// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels
-// (ST7565R family). (This option will be set automatically for certain displays.)
-//
-// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display!
-// https://github.com/olikraus/U8glib_Arduino
-//
+/**
+ * LCD TYPE
+ *
+ * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
+ * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
+ * (These options will be enabled automatically for most displays.)
+ *
+ * IMPORTANT: The U8glib library is required for Full Graphic Display!
+ * https://github.com/olikraus/U8glib_Arduino
+ */
//#define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display
-//
-// SD CARD
-//
-// SD Card support is disabled by default. If your controller has an SD slot,
-// you must uncomment the following option or it won't work.
-//
+/**
+ * SD CARD
+ *
+ * SD Card support is disabled by default. If your controller has an SD slot,
+ * you must uncomment the following option or it won't work.
+ *
+ */
#define SDSUPPORT
-//
-// SD CARD: SPI SPEED
-//
-// Uncomment ONE of the following items to use a slower SPI transfer
-// speed. This is usually required if you're getting volume init errors.
-//
+/**
+ * SD CARD: SPI SPEED
+ *
+ * Enable one of the following items for a slower SPI transfer speed.
+ * This may be required to resolve "volume init" errors.
+ */
#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED
-//
-// SD CARD: ENABLE CRC
-//
-// Use CRC checks and retries on the SD communication.
-//
+/**
+ * SD CARD: ENABLE CRC
+ *
+ * Use CRC checks and retries on the SD communication.
+ */
//#define SD_CHECK_AND_RETRY
//
@@ -1209,7 +1206,7 @@
*/
//
-// This option reverses the encoder direction everywhere
+// This option reverses the encoder direction everywhere.
//
// Set this option if CLOCKWISE causes values to DECREASE
//
diff --git a/Marlin/example_configurations/tvrrug/Round2/Configuration.h b/Marlin/example_configurations/tvrrug/Round2/Configuration.h
index 0caad869ff89..ec6485eaba8e 100644
--- a/Marlin/example_configurations/tvrrug/Round2/Configuration.h
+++ b/Marlin/example_configurations/tvrrug/Round2/Configuration.h
@@ -982,23 +982,17 @@
#define PREHEAT_2_TEMP_BED 100
#define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255
-//
-// Nozzle Park -- EXPERIMENTAL
-//
-// When enabled allows the user to define a special XYZ position, inside the
-// machine's topology, to park the nozzle when idle or when receiving the G27
-// command.
-//
-// The "P" paramenter controls what is the action applied to the Z axis:
-// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will
-// be raised to reach Z-park height.
-//
-// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
-// reach Z-park height.
-//
-// P2: The nozzle height will be raised by Z-park amount but never going over
-// the machine's limit of Z_MAX_POS.
-//
+/**
+ * Nozzle Park -- EXPERIMENTAL
+ *
+ * Park the nozzle at the given XYZ position on idle or G27.
+ *
+ * The "P" parameter controls the action applied to the Z axis:
+ *
+ * P0 (Default) If Z is below park Z raise the nozzle.
+ * P1 Raise the nozzle always to Z-park height.
+ * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
+ */
//#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE)
@@ -1006,44 +1000,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif
-//
-// Clean Nozzle Feature -- EXPERIMENTAL
-//
-// When enabled allows the user to send G12 to start the nozzle cleaning
-// process, the G-Code accepts two parameters:
-// "P" for pattern selection
-// "S" for defining the number of strokes/repetitions
-//
-// Available list of patterns:
-// P0: This is the default pattern, this process requires a sponge type
-// material at a fixed bed location. S defines "strokes" i.e.
-// back-and-forth movements between the starting and end points.
-//
-// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T"
-// defines the number of zig-zag triangles to be done. "S" defines the
-// number of strokes aka one back-and-forth movement. Zig-zags will
-// be performed in whichever dimension is smallest. As an example,
-// sending "G12 P1 S1 T3" will execute:
-//
-// --
-// | (X0, Y1) | /\ /\ /\ | (X1, Y1)
-// | | / \ / \ / \ |
-// A | | / \ / \ / \ |
-// | | / \ / \ / \ |
-// | (X0, Y0) | / \/ \/ \ | (X1, Y0)
-// -- +--------------------------------+
-// |________|_________|_________|
-// T1 T2 T3
-//
-// P2: This starts a circular pattern with circle with middle in
-// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S.
-// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT.
-//
-// Caveats: End point Z should use the same value as Start point Z.
-//
-// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments
-// may change to add new functionality like different wipe patterns.
-//
+/**
+ * Clean Nozzle Feature -- EXPERIMENTAL
+ *
+ * Adds the G12 command to perform a nozzle cleaning process.
+ *
+ * Parameters:
+ * P Pattern
+ * S Strokes / Repetitions
+ * T Triangles (P1 only)
+ *
+ * Patterns:
+ * P0 Straight line (default). This process requires a sponge type material
+ * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
+ * between the start / end points.
+ *
+ * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
+ * number of zig-zag triangles to do. "S" defines the number of strokes.
+ * Zig-zags are done in whichever is the narrower dimension.
+ * For example, "G12 P1 S1 T3" will execute:
+ *
+ * --
+ * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
+ * | | / \ / \ / \ |
+ * A | | / \ / \ / \ |
+ * | | / \ / \ / \ |
+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
+ * -- +--------------------------------+
+ * |________|_________|_________|
+ * T1 T2 T3
+ *
+ * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
+ * "R" specifies the radius. "S" specifies the stroke count.
+ * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
+ *
+ * Caveats: The ending Z should be the same as starting Z.
+ * Attention: EXPERIMENTAL. G-code arguments may change.
+ *
+ */
//#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE)
@@ -1068,33 +1062,35 @@
#define NOZZLE_CLEAN_GOBACK
#endif
-//
-// Print job timer
-//
-// Enable this option to automatically start and stop the
-// print job timer when M104/M109/M190 commands are received.
-// M104 (extruder without wait) - high temp = none, low temp = stop timer
-// M109 (extruder with wait) - high temp = start timer, low temp = stop timer
-// M190 (bed with wait) - high temp = start timer, low temp = none
-//
-// In all cases the timer can be started and stopped using
-// the following commands:
-//
-// - M75 - Start the print job timer
-// - M76 - Pause the print job timer
-// - M77 - Stop the print job timer
+/**
+ * Print Job Timer
+ *
+ * Automatically start and stop the print job timer on M104/M109/M190.
+ *
+ * M104 (hotend, no wait) - high temp = none, low temp = stop timer
+ * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
+ * M190 (bed, wait) - high temp = start timer, low temp = none
+ *
+ * The timer can also be controlled with the following commands:
+ *
+ * M75 - Start the print job timer
+ * M76 - Pause the print job timer
+ * M77 - Stop the print job timer
+ */
#define PRINTJOB_TIMER_AUTOSTART
-//
-// Print Counter
-//
-// When enabled Marlin will keep track of some print statistical data such as:
-// - Total print jobs
-// - Total successful print jobs
-// - Total failed print jobs
-// - Total time printing
-//
-// This information can be viewed by the M78 command.
+/**
+ * Print Counter
+ *
+ * Track statistical data such as:
+ *
+ * - Total print jobs
+ * - Total successful print jobs
+ * - Total failed print jobs
+ * - Total time printing
+ *
+ * View the current statistics with M78.
+ */
//#define PRINTCOUNTER
//=============================================================================
@@ -1103,78 +1099,79 @@
// @section lcd
-//
-// LCD LANGUAGE
-//
-// Here you may choose the language used by Marlin on the LCD menus, the following
-// list of languages are available:
-// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
-// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
-//
-// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
-//
+/**
+ * LCD LANGUAGE
+ *
+ * Select the language to display on the LCD. These languages are available:
+ *
+ * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
+ * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
+ *
+ * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
+ */
//#define LCD_LANGUAGE en
-//
-// LCD Character Set
-//
-// Note: This option is NOT applicable to Graphical Displays.
-//
-// All character-based LCD's provide ASCII plus one of these
-// language extensions:
-//
-// - JAPANESE ... the most common
-// - WESTERN ... with more accented characters
-// - CYRILLIC ... for the Russian language
-//
-// To determine the language extension installed on your controller:
-//
-// - Compile and upload with LCD_LANGUAGE set to 'test'
-// - Click the controller to view the LCD menu
-// - The LCD will display Japanese, Western, or Cyrillic text
-//
-// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
-//
-// :['JAPANESE', 'WESTERN', 'CYRILLIC']
-//
+/**
+ * LCD Character Set
+ *
+ * Note: This option is NOT applicable to Graphical Displays.
+ *
+ * All character-based LCDs provide ASCII plus one of these
+ * language extensions:
+ *
+ * - JAPANESE ... the most common
+ * - WESTERN ... with more accented characters
+ * - CYRILLIC ... for the Russian language
+ *
+ * To determine the language extension installed on your controller:
+ *
+ * - Compile and upload with LCD_LANGUAGE set to 'test'
+ * - Click the controller to view the LCD menu
+ * - The LCD will display Japanese, Western, or Cyrillic text
+ *
+ * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
+ *
+ * :['JAPANESE', 'WESTERN', 'CYRILLIC']
+ */
#define DISPLAY_CHARSET_HD44780 JAPANESE
-//
-// LCD TYPE
-//
-// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2,
-// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels
-// (ST7565R family). (This option will be set automatically for certain displays.)
-//
-// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display!
-// https://github.com/olikraus/U8glib_Arduino
-//
+/**
+ * LCD TYPE
+ *
+ * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
+ * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
+ * (These options will be enabled automatically for most displays.)
+ *
+ * IMPORTANT: The U8glib library is required for Full Graphic Display!
+ * https://github.com/olikraus/U8glib_Arduino
+ */
//#define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display
-//
-// SD CARD
-//
-// SD Card support is disabled by default. If your controller has an SD slot,
-// you must uncomment the following option or it won't work.
-//
+/**
+ * SD CARD
+ *
+ * SD Card support is disabled by default. If your controller has an SD slot,
+ * you must uncomment the following option or it won't work.
+ *
+ */
//#define SDSUPPORT
-//
-// SD CARD: SPI SPEED
-//
-// Uncomment ONE of the following items to use a slower SPI transfer
-// speed. This is usually required if you're getting volume init errors.
-//
+/**
+ * SD CARD: SPI SPEED
+ *
+ * Enable one of the following items for a slower SPI transfer speed.
+ * This may be required to resolve "volume init" errors.
+ */
//#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED
-//
-// SD CARD: ENABLE CRC
-//
-// Use CRC checks and retries on the SD communication.
-//
+/**
+ * SD CARD: ENABLE CRC
+ *
+ * Use CRC checks and retries on the SD communication.
+ */
//#define SD_CHECK_AND_RETRY
//
@@ -1202,7 +1199,7 @@
*/
//
-// This option reverses the encoder direction everywhere
+// This option reverses the encoder direction everywhere.
//
// Set this option if CLOCKWISE causes values to DECREASE
//
diff --git a/Marlin/example_configurations/wt150/Configuration.h b/Marlin/example_configurations/wt150/Configuration.h
index dde673fc932f..5deaccf7dda5 100644
--- a/Marlin/example_configurations/wt150/Configuration.h
+++ b/Marlin/example_configurations/wt150/Configuration.h
@@ -991,23 +991,17 @@
#define PREHEAT_2_TEMP_BED 110
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
-//
-// Nozzle Park -- EXPERIMENTAL
-//
-// When enabled allows the user to define a special XYZ position, inside the
-// machine's topology, to park the nozzle when idle or when receiving the G27
-// command.
-//
-// The "P" paramenter controls what is the action applied to the Z axis:
-// P0: (Default) If current Z-pos is lower than Z-park then the nozzle will
-// be raised to reach Z-park height.
-//
-// P1: No matter the current Z-pos, the nozzle will be raised/lowered to
-// reach Z-park height.
-//
-// P2: The nozzle height will be raised by Z-park amount but never going over
-// the machine's limit of Z_MAX_POS.
-//
+/**
+ * Nozzle Park -- EXPERIMENTAL
+ *
+ * Park the nozzle at the given XYZ position on idle or G27.
+ *
+ * The "P" parameter controls the action applied to the Z axis:
+ *
+ * P0 (Default) If Z is below park Z raise the nozzle.
+ * P1 Raise the nozzle always to Z-park height.
+ * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
+ */
//#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE)
@@ -1015,44 +1009,44 @@
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
#endif
-//
-// Clean Nozzle Feature -- EXPERIMENTAL
-//
-// When enabled allows the user to send G12 to start the nozzle cleaning
-// process, the G-Code accepts two parameters:
-// "P" for pattern selection
-// "S" for defining the number of strokes/repetitions
-//
-// Available list of patterns:
-// P0: This is the default pattern, this process requires a sponge type
-// material at a fixed bed location. S defines "strokes" i.e.
-// back-and-forth movements between the starting and end points.
-//
-// P1: This starts a zig-zag pattern between (X0, Y0) and (X1, Y1), "T"
-// defines the number of zig-zag triangles to be done. "S" defines the
-// number of strokes aka one back-and-forth movement. Zig-zags will
-// be performed in whichever dimension is smallest. As an example,
-// sending "G12 P1 S1 T3" will execute:
-//
-// --
-// | (X0, Y1) | /\ /\ /\ | (X1, Y1)
-// | | / \ / \ / \ |
-// A | | / \ / \ / \ |
-// | | / \ / \ / \ |
-// | (X0, Y0) | / \/ \/ \ | (X1, Y0)
-// -- +--------------------------------+
-// |________|_________|_________|
-// T1 T2 T3
-//
-// P2: This starts a circular pattern with circle with middle in
-// NOZZLE_CLEAN_CIRCLE_MIDDLE radius of R and stroke count of S.
-// Before starting the circle nozzle goes to NOZZLE_CLEAN_START_POINT.
-//
-// Caveats: End point Z should use the same value as Start point Z.
-//
-// Attention: This is an EXPERIMENTAL feature, in the future the G-code arguments
-// may change to add new functionality like different wipe patterns.
-//
+/**
+ * Clean Nozzle Feature -- EXPERIMENTAL
+ *
+ * Adds the G12 command to perform a nozzle cleaning process.
+ *
+ * Parameters:
+ * P Pattern
+ * S Strokes / Repetitions
+ * T Triangles (P1 only)
+ *
+ * Patterns:
+ * P0 Straight line (default). This process requires a sponge type material
+ * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions)
+ * between the start / end points.
+ *
+ * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the
+ * number of zig-zag triangles to do. "S" defines the number of strokes.
+ * Zig-zags are done in whichever is the narrower dimension.
+ * For example, "G12 P1 S1 T3" will execute:
+ *
+ * --
+ * | (X0, Y1) | /\ /\ /\ | (X1, Y1)
+ * | | / \ / \ / \ |
+ * A | | / \ / \ / \ |
+ * | | / \ / \ / \ |
+ * | (X0, Y0) | / \/ \/ \ | (X1, Y0)
+ * -- +--------------------------------+
+ * |________|_________|_________|
+ * T1 T2 T3
+ *
+ * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE.
+ * "R" specifies the radius. "S" specifies the stroke count.
+ * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
+ *
+ * Caveats: The ending Z should be the same as starting Z.
+ * Attention: EXPERIMENTAL. G-code arguments may change.
+ *
+ */
//#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE)
@@ -1077,33 +1071,35 @@
#define NOZZLE_CLEAN_GOBACK
#endif
-//
-// Print job timer
-//
-// Enable this option to automatically start and stop the
-// print job timer when M104/M109/M190 commands are received.
-// M104 (extruder without wait) - high temp = none, low temp = stop timer
-// M109 (extruder with wait) - high temp = start timer, low temp = stop timer
-// M190 (bed with wait) - high temp = start timer, low temp = none
-//
-// In all cases the timer can be started and stopped using
-// the following commands:
-//
-// - M75 - Start the print job timer
-// - M76 - Pause the print job timer
-// - M77 - Stop the print job timer
+/**
+ * Print Job Timer
+ *
+ * Automatically start and stop the print job timer on M104/M109/M190.
+ *
+ * M104 (hotend, no wait) - high temp = none, low temp = stop timer
+ * M109 (hotend, wait) - high temp = start timer, low temp = stop timer
+ * M190 (bed, wait) - high temp = start timer, low temp = none
+ *
+ * The timer can also be controlled with the following commands:
+ *
+ * M75 - Start the print job timer
+ * M76 - Pause the print job timer
+ * M77 - Stop the print job timer
+ */
#define PRINTJOB_TIMER_AUTOSTART
-//
-// Print Counter
-//
-// When enabled Marlin will keep track of some print statistical data such as:
-// - Total print jobs
-// - Total successful print jobs
-// - Total failed print jobs
-// - Total time printing
-//
-// This information can be viewed by the M78 command.
+/**
+ * Print Counter
+ *
+ * Track statistical data such as:
+ *
+ * - Total print jobs
+ * - Total successful print jobs
+ * - Total failed print jobs
+ * - Total time printing
+ *
+ * View the current statistics with M78.
+ */
#define PRINTCOUNTER
//=============================================================================
@@ -1112,78 +1108,79 @@
// @section lcd
-//
-// LCD LANGUAGE
-//
-// Here you may choose the language used by Marlin on the LCD menus, the following
-// list of languages are available:
-// en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
-// kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
-//
-// :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
-//
+/**
+ * LCD LANGUAGE
+ *
+ * Select the language to display on the LCD. These languages are available:
+ *
+ * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
+ * kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
+ *
+ * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
+ */
#define LCD_LANGUAGE en
-//
-// LCD Character Set
-//
-// Note: This option is NOT applicable to Graphical Displays.
-//
-// All character-based LCD's provide ASCII plus one of these
-// language extensions:
-//
-// - JAPANESE ... the most common
-// - WESTERN ... with more accented characters
-// - CYRILLIC ... for the Russian language
-//
-// To determine the language extension installed on your controller:
-//
-// - Compile and upload with LCD_LANGUAGE set to 'test'
-// - Click the controller to view the LCD menu
-// - The LCD will display Japanese, Western, or Cyrillic text
-//
-// See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
-//
-// :['JAPANESE', 'WESTERN', 'CYRILLIC']
-//
+/**
+ * LCD Character Set
+ *
+ * Note: This option is NOT applicable to Graphical Displays.
+ *
+ * All character-based LCDs provide ASCII plus one of these
+ * language extensions:
+ *
+ * - JAPANESE ... the most common
+ * - WESTERN ... with more accented characters
+ * - CYRILLIC ... for the Russian language
+ *
+ * To determine the language extension installed on your controller:
+ *
+ * - Compile and upload with LCD_LANGUAGE set to 'test'
+ * - Click the controller to view the LCD menu
+ * - The LCD will display Japanese, Western, or Cyrillic text
+ *
+ * See https: *github.com/MarlinFirmware/Marlin/wiki/LCD-Language
+ *
+ * :['JAPANESE', 'WESTERN', 'CYRILLIC']
+ */
#define DISPLAY_CHARSET_HD44780 JAPANESE
-//
-// LCD TYPE
-//
-// You may choose ULTRA_LCD if you have character based LCD with 16x2, 16x4, 20x2,
-// 20x4 char/lines or DOGLCD for the full graphics display with 128x64 pixels
-// (ST7565R family). (This option will be set automatically for certain displays.)
-//
-// IMPORTANT NOTE: The U8glib library is required for Full Graphic Display!
-// https://github.com/olikraus/U8glib_Arduino
-//
+/**
+ * LCD TYPE
+ *
+ * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD.
+ * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display.
+ * (These options will be enabled automatically for most displays.)
+ *
+ * IMPORTANT: The U8glib library is required for Full Graphic Display!
+ * https://github.com/olikraus/U8glib_Arduino
+ */
//#define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display
-//
-// SD CARD
-//
-// SD Card support is disabled by default. If your controller has an SD slot,
-// you must uncomment the following option or it won't work.
-//
+/**
+ * SD CARD
+ *
+ * SD Card support is disabled by default. If your controller has an SD slot,
+ * you must uncomment the following option or it won't work.
+ *
+ */
#define SDSUPPORT
-//
-// SD CARD: SPI SPEED
-//
-// Uncomment ONE of the following items to use a slower SPI transfer
-// speed. This is usually required if you're getting volume init errors.
-//
+/**
+ * SD CARD: SPI SPEED
+ *
+ * Enable one of the following items for a slower SPI transfer speed.
+ * This may be required to resolve "volume init" errors.
+ */
//#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED
-//
-// SD CARD: ENABLE CRC
-//
-// Use CRC checks and retries on the SD communication.
-//
+/**
+ * SD CARD: ENABLE CRC
+ *
+ * Use CRC checks and retries on the SD communication.
+ */
//#define SD_CHECK_AND_RETRY
//
@@ -1211,7 +1208,7 @@
*/
//
-// This option reverses the encoder direction everywhere
+// This option reverses the encoder direction everywhere.
//
// Set this option if CLOCKWISE causes values to DECREASE
//
diff --git a/Marlin/temperature.h b/Marlin/temperature.h
index d37cb559314b..35d80731e2e3 100644
--- a/Marlin/temperature.h
+++ b/Marlin/temperature.h
@@ -346,6 +346,7 @@ class Temperature {
#endif
return target_temperature[HOTEND_INDEX];
}
+
static int16_t degTargetBed() { return target_temperature_bed; }
#if WATCH_HOTENDS
@@ -356,7 +357,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 +373,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();
diff --git a/README.md b/README.md
index ad259a238dde..35f609cf456d 100644
--- a/README.md
+++ b/README.md
@@ -5,23 +5,22 @@
-Additional documentation can be found at [The Marlin Documentation Project](https://www.marlinfw.org/).
+Additional documentation can be found at the [Marlin Home Page](http://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
+## Bugfix Branch
-__Not for production use – use with caution!__
+__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.)
+This branch is used to accumulate patches to the latest 1.1.x release version. Periodically this branch will form the basis for the next minor 1.1.x release.
-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.
+Download earlier versions of Marlin on the [Releases page](https://github.com/MarlinFirmware/Marlin/releases). (The latest tagged release of Marlin is version 1.1.0.)
## Recent Changes
-- RCBugFix
- - Fixed broken MBL
- - M600 heater timeout option
+- 1.1.0 - 4 May 2017
+ - See the [1.1.0 Release Notes](https://github.com/MarlinFirmware/Marlin/releases/tag/1.1.0) for a full list of changes.
-- RC8 - 06 Dec 2016
+- RC8 - 6 Dec 2016
- Major performance improvement for Graphical LCDs
- Simplified probe configuration
- Enable Auto Bed Leveling by type
@@ -102,36 +101,50 @@ The latest Release Candidate lives in the ["RC" branch](https://github.com/Marli
- 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.
+Proposed patches should be submitted as a Pull Request against this branch ([bugfix-1.1.x](https://github.com/MarlinFirmware/Marlin/tree/bugfix-1.1.x)).
+
+- This branch is for fixing bugs and integrating any new features for the duration of the Marlin 1.1.x life-cycle. We've opted for a simplified branch structure while we work on the maintainability and encapsulation of code modules. Version 1.2 and beyond should improve on separation of bug fixes and cutting-edge development.
+- Follow the proper coding style to gain points with the maintainers. See our [Coding Standards](http://marlinfw.org/docs/development/coding_standards.html) page for more information.
+- Please submit your questions and concerns to the [Issue Queue](https://github.com/MarlinFirmware/Marlin/issues). The "naive" question is often the one we forget to ask.
### [RepRap.org Wiki Page](http://reprap.org/wiki/Marlin)
## Credits
The current Marlin dev team consists of:
-
+ - Roxanne Neufeld [@Roxy-3D] - English
- Scott Lahteine [@thinkyhead] - English
- - [@Wurstnase] - Deutsch, English
- - F. Malpartida [@fmalpartida] - English, Spanish
+ - Bob Kuhn [@Bob-the-Kuhn] - English
+ - Andreas Hardtung [@AnHardt] - Deutsch, English
+ - Nico Tonnhofer [@Wurstnase] - Deutsch, English
- Jochen Groppe [@CONSULitAS] - Deutsch, English
+ - João Brazio [@jbrazio] - Portuguese, English
+ - Bo Hermannsen [@boelle] - Danish, English
+ - Bob Cousins [@bobc] - 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
More features have been added by:
- - Alberto Cotronei [@MagoKimbra]
- - Lampmaker,
- - Bradley Feldman,
- - and others...
+ - Alberto Cotronei [@MagoKimbra] - English, Italian
+ - Thomas Moore [@tcm0116]
+ - Ernesto Martinez [@emartinez167]
+ - Petr Zahradnik [@clexpert]
+ - Kai [@Kaibob2]
+ - Edward Patel [@epatel]
+ - F. Malpartida [@fmalpartida] - English, Spanish
+ - [@esenapaj] - English, Japanese
+ - [@benlye]
+ - [@Tannoo]
+ - [@teemuatlut]
+ - [@bgort]
+ - Luc Van Daele [@LVD-AC] - Dutch, French, English, German
+ - [@paulusjacobus]
+ - ...and many others
## License
diff --git a/buildroot/share/git/README.md b/buildroot/share/git/README.md
new file mode 100755
index 000000000000..8d985242b362
--- /dev/null
+++ b/buildroot/share/git/README.md
@@ -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:
- The upstream project ('`MarlinFirmware`')
- the '`origin`' project (i.e., your Github username),
- the repository name ('`Marlin`'),
- the PR target branch ('`bugfix-1.1.x`'), and
- the current branch (or the first command-line argument).
By itself, `mfinfo` simply prints these values to the console.
+mfclean |Prune your merged and remotely-deleted branches.
+
+---
+
+### Examples
+
+Coming Soon!
diff --git a/buildroot/share/git/mfprune b/buildroot/share/git/mfclean
similarity index 76%
rename from buildroot/share/git/mfprune
rename to buildroot/share/git/mfclean
index cbf10b0c2347..4ce0faa8f54a 100755
--- a/buildroot/share/git/mfprune
+++ b/buildroot/share/git/mfclean
@@ -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..."
diff --git a/buildroot/share/git/mfinfo b/buildroot/share/git/mfinfo
index 571531755282..e22744fe9098 100755
--- a/buildroot/share/git/mfinfo
+++ b/buildroot/share/git/mfinfo
@@ -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
diff --git a/buildroot/share/git/mfnew b/buildroot/share/git/mfnew
index 7f3d7876c01c..42f233bf643e 100755
--- a/buildroot/share/git/mfnew
+++ b/buildroot/share/git/mfnew
@@ -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
diff --git a/buildroot/share/git/mfpub b/buildroot/share/git/mfpub
index d883561bd2f2..aa76498c0ddd 100755
--- a/buildroot/share/git/mfpub
+++ b/buildroot/share/git/mfpub
@@ -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
-
- git push -f origin
+ if [[ $FORK == "MarlinFirmware" ]]; then
- TOOL=$(which gnome-open xdg-open open | awk '{ print $1 }')
- URL="https://github.com/$ORG/$REPO/compare/$TARG...$FORK:$BRANCH?expand=1"
+ # Allow working directly with the main fork
+ git push -f upstream
- 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
diff --git a/buildroot/share/git/mfrb b/buildroot/share/git/mfrb
index b0b700868049..954556d0e0de 100755
--- a/buildroot/share/git/mfrb
+++ b/buildroot/share/git/mfrb
@@ -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