- {% if sub1 contains 'subopts' %}
+ {% if sub1.subopts %}
{% for sub2 in sub1.subopts %}
{{sub2.name}}
- {% if sub2 contains 'subopts' %}
+ {% if sub2.subopts %}
{% for sub3 in sub2.subopts %}
{{sub3.name}}
diff --git a/_layouts/setting.html b/_layouts/setting.html
index 434d3fa4e..c1dff18e9 100644
--- a/_layouts/setting.html
+++ b/_layouts/setting.html
@@ -22,19 +22,35 @@
{%- if active -%}
- {% endif %}
+ {%- endif -%}
{%- endfor -%}
diff --git a/_sass/_custom.scss b/_sass/_custom.scss
index 0862fdb57..c6886a78e 100644
--- a/_sass/_custom.scss
+++ b/_sass/_custom.scss
@@ -625,11 +625,10 @@ div.alert-danger {
div.container.detail, div.container.config {
div.row {
- h4, h5, h6 { background: var(--color-code-bg); color: var(--color-code); }
- h5 {
- background: var(--color-gcode-h5-bg); color: var(--color-gcode-h5);
- code { background: var(--color-gcode-h5-code-bg); color: var(--color-gcode-h5-code); }
- }
+ h4, h6 { background: var(--color-code-bg); color: var(--color-code); }
+ h5 { background: var(--color-gcode-h5-bg); }
+ h5, strong { color: var(--color-gcode-h5); }
+ h5 code { background: var(--color-gcode-h5-code-bg); color: var(--color-gcode-h5-code); }
}
div.row.examples pre { background: var(--color-gcode-examples-bg); }
div.row.gallery p { color: var(--color-gcode-gallery); }
diff --git a/_setting/coming_soon.md b/_setting/coming_soon.md
deleted file mode 100644
index 537ccb2d3..000000000
--- a/_setting/coming_soon.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-name: COMING_SOON
-type: bool
-label: Coming Soon!
-brief: This option is coming soon
-author: thinkyhead
-category: [ wip ]
-tags: [ draft ]
-eeprom: true
-
-since: 1.1.0
-until: 2.0.9
-
-requires: MY_PARENT
-child: []
-type: switch
-gcodes: []
-options:
- - value: 1
- brief: one
- - value: 2
- brief: two
- - value: 3
- brief: three
-
-preview: |
- /**
- * COMING_SOON - Coming Soon
- *
- * More details about Coming Soon
- */
- //#define COMING_SOON
- #if ENABLED(COMING_SOON)
- #define SETTING_SUBOPTION // This makes COMING_SOON better
- #endif
- if (var == 123) { printf("It equals: %d", var); }
-
----
-Marlin Settings pages are under construction. It's a lot of work to convert Marlin configurations into web pages, but we'll get there!
diff --git a/_setting/geometry.md b/_setting/geometry.md
new file mode 100644
index 000000000..e1fc3ad20
--- /dev/null
+++ b/_setting/geometry.md
@@ -0,0 +1,422 @@
+---
+label: Geometry
+brief: Machine dimensions, limits, and homing.
+category: [ wip ]
+tags: [ geometry ]
+pagetype: toc
+author: thinkyhead
+
+settings:
+- name: X_BED_SIZE
+ type: int
+ since: 2.0.0
+ brief: X size of the bed.
+ long: The X size of the bed. This is used to calculate the number of steps needed to move the X axis.
+ example:
+ - value: 250
+- name: Y_BED_SIZE
+ type: int
+ since: 2.0.0
+ brief: Y size of the bed.
+ long: The Y size of the bed. This is used to calculate the number of steps needed to move the Y axis.
+ example:
+ - value: 240
+
+- name: X_MIN_POS
+ type: int
+ since: 1.0.0
+ brief: Minimum X position.
+ long: The minimum X position (hard limit) of the machine.
+ example:
+ - value: -4
+- name: X_MAX_POS
+ type: int
+ since: 1.0.0
+ brief: Maximum X position.
+ long: The maximum X position (hard limit) of the machine.
+ example:
+ - value: X_BED_SIZE + 10
+
+- name: Y_MIN_POS
+ type: int
+ since: 1.0.0
+ brief: Minimum Y position.
+ long: The minimum Y position (hard limit) of the machine.
+ example:
+ - value: -4
+- name: Y_MAX_POS
+ type: int
+ since: 1.0.0
+ brief: Maximum Y position.
+ long: The maximum Y position (hard limit) of the machine.
+ example:
+ - value: Y_BED_SIZE + 8
+
+- name: Z_MIN_POS
+ type: int
+ since: 1.0.0
+ brief: Minimum Z position.
+ long: The minimum Z position (hard limit) of the machine.
+ example:
+ - value: 0
+- name: Z_MAX_POS
+ type: int
+ since: 1.0.0
+ brief: Maximum Z position.
+ long: The maximum Z position (hard limit) of the machine.
+ example:
+ - value: 300
+
+- name: I_MIN_POS
+ type: int
+ since: 2.0.0
+ brief: Minimum I position.
+ long: The minimum I position (hard limit) of the machine.
+ example:
+ - value: 0
+- name: I_MAX_POS
+ type: int
+ since: 2.0.0
+ brief: Maximum I position.
+ long: The maximum I position (hard limit) of the machine.
+ example:
+ - value: 45
+
+- name: J_MIN_POS
+ type: int
+ since: 2.0.0
+ brief: Minimum J position.
+ long: The minimum J position (hard limit) of the machine.
+ example:
+ - value: 0
+- name: J_MAX_POS
+ type: int
+ since: 2.0.0
+ brief: Maximum J position.
+ long: The maximum J position (hard limit) of the machine.
+ example:
+ - value: 180
+
+- name: K_MIN_POS
+ type: int
+ since: 2.0.0
+ brief: Minimum K position.
+ long: The minimum K position (hard limit) of the machine.
+ example:
+ - value: 0
+- name: K_MAX_POS
+ type: int
+ since: 2.0.0
+ brief: Maximum K position.
+ long: The maximum K position (hard limit) of the machine.
+ example:
+ - value: 0
+
+- name: U_MIN_POS
+ type: int
+ since: 2.0.0
+ brief: Minimum U position.
+ long: The minimum U position (hard limit) of the machine.
+ example:
+ - value: 0
+- name: U_MAX_POS
+ type: int
+ since: 2.0.0
+ brief: Maximum U position.
+ long: The maximum U position (hard limit) of the machine.
+ example:
+ - value: 0
+
+- name: V_MIN_POS
+ type: int
+ since: 2.0.0
+ brief: Minimum V position.
+ long: The minimum V position (hard limit) of the machine.
+ example:
+ - value: 0
+- name: V_MAX_POS
+ type: int
+ since: 2.0.0
+ brief: Maximum V position.
+ long: The maximum V position (hard limit) of the machine.
+ example:
+ - value: 0
+
+- name: W_MIN_POS
+ type: int
+ since: 2.0.0
+ brief: Minimum W position.
+ long: The minimum W position (hard limit) of the machine.
+ example:
+ - value: 0
+- name: W_MAX_POS
+ type: int
+ since: 2.0.0
+ brief: Maximum W position.
+ long: The maximum W position (hard limit) of the machine.
+ example:
+ - value: 0
+
+- name: X_HOME_DIR
+ type: int
+ since: 1.0.0
+ brief: Homing direction of the X axis.
+ long: The direction of the X axis when homing.
+ options: [ -1, 0, 1 ]
+ example:
+ - value: -1
+- name: Y_HOME_DIR
+ type: int
+ since: 1.0.0
+ brief: Homing direction of the Y axis.
+ long: The direction of the Y axis when homing.
+ options: [ -1, 0, 1 ]
+ example:
+ - value: -1
+- name: Z_HOME_DIR
+ type: int
+ since: 1.0.0
+ brief: Homing direction of the Z axis.
+ long: The direction of the Z axis when homing.
+ options: [ -1, 0, 1 ]
+ example:
+ - value: 0
+
+- name: I_HOME_DIR
+ type: int
+ since: 2.0.0
+ brief: Homing direction of the I axis.
+ long: The direction of the I axis when homing.
+ options: [ -1, 0, 1 ]
+ example:
+ - value: 0
+- name: J_HOME_DIR
+ type: int
+ since: 2.0.0
+ brief: Homing direction of the J axis.
+ long: The direction of the J axis when homing.
+ options: [ -1, 0, 1 ]
+ example:
+ - value: 0
+- name: K_HOME_DIR
+ type: int
+ since: 2.0.0
+ brief: Homing direction of the K axis.
+ long: The direction of the K axis when homing.
+ options: [ -1, 0, 1 ]
+ example:
+ - value: 0
+- name: U_HOME_DIR
+ type: int
+ since: 2.0.0
+ brief: Homing direction of the U axis.
+ long: The direction of the U axis when homing.
+ options: [ -1, 0, 1 ]
+ example:
+ - value: 0
+- name: V_HOME_DIR
+ type: int
+ since: 2.0.0
+ brief: Homing direction of the V axis.
+ long: The direction of the V axis when homing.
+ options: [ -1, 0, 1 ]
+ example:
+ - value: 0
+- name: W_HOME_DIR
+ type: int
+ since: 2.0.0
+ brief: Homing direction of the W axis.
+ long: The direction of the W axis when homing.
+ options: [ -1, 0, 1 ]
+ example:
+ - value: 0
+
+- name: MANUAL_X_HOME_POS
+ type: int
+ since: 1.0.0
+ brief: Explicit X axis home position.
+ long: The position of the X axis when homed. Leave this undefined to use X_MIN_POS or X_MAX_POS (depending on homing direction).
+ example:
+ - value: -1
+- name: MANUAL_Y_HOME_POS
+ type: int
+ since: 1.0.0
+ brief: Explicit Y axis home position.
+ long: The position of the Y axis when homed. Leave this undefined to use Y_MIN_POS or Y_MAX_POS (depending on homing direction).
+ example:
+ - value: -1
+- name: MANUAL_Z_HOME_POS
+ type: int
+ since: 1.0.0
+ brief: Explicit Z axis home position.
+ long: The position of the Z axis when homed. Leave this undefined to use Z_MIN_POS or Z_MAX_POS (depending on homing direction).
+ example:
+ - value: 1
+
+- name: MANUAL_I_HOME_POS
+ type: int
+ since: 2.0.0
+ brief: Explicit I axis home position.
+ long: The position of the I axis when homed. Leave this undefined to use I_MIN_POS or I_MAX_POS (depending on homing direction).
+ example:
+ - value: 0
+- name: MANUAL_J_HOME_POS
+ type: int
+ since: 2.0.0
+ brief: Explicit J axis home position.
+ long: The position of the J axis when homed. Leave this undefined to use J_MIN_POS or J_MAX_POS (depending on homing direction).
+ example:
+ - value: 0
+- name: MANUAL_K_HOME_POS
+ type: int
+ since: 2.0.0
+ brief: Explicit K axis home position.
+ long: The position of the K axis when homed. Leave this undefined to use K_MIN_POS or K_MAX_POS (depending on homing direction).
+ example:
+ - value: 0
+- name: MANUAL_U_HOME_POS
+ type: int
+ since: 2.0.0
+ brief: Explicit U axis home position.
+ long: The position of the U axis when homed. Leave this undefined to use U_MIN_POS or U_MAX_POS (depending on homing direction).
+ example:
+ - value: 0
+- name: MANUAL_V_HOME_POS
+ type: int
+ since: 2.0.0
+ brief: Explicit V axis home position.
+ long: The position of the V axis when homed. Leave this undefined to use V_MIN_POS or V_MAX_POS (depending on homing direction).
+ example:
+ - value: 0
+- name: MANUAL_W_HOME_POS
+ type: int
+ since: 2.0.0
+ brief: Explicit W axis home position.
+ long: The position of the W axis when homed. Leave this undefined to use W_MIN_POS or W_MAX_POS (depending on homing direction).
+ example:
+ - value: 0
+
+- name: MIN_SOFTWARE_ENDSTOP
+ since: 2.0.0
+ brief: Min software endstops.
+ long: Enable the use of minimum software endstops. Software endstops prevent the machine from moving outside the set machine bounds.
+ example:
+ - value: true
+- name: MIN_SOFTWARE_ENDSTOP_X
+ since: 2.0.0
+ brief: X axis software endstop.
+ long: Enable the use of software endstops on the X axis.
+ example:
+ - value: true
+- name: MIN_SOFTWARE_ENDSTOP_Y
+ since: 2.0.0
+ brief: Y axis software endstop.
+ long: Enable the use of software endstops on the Y axis.
+ example:
+ - value: true
+- name: MIN_SOFTWARE_ENDSTOP_Z
+ since: 2.0.0
+ brief: Z axis software endstop.
+ long: Enable the use of software endstops on the Z axis.
+ example:
+ - value: true
+- name: MIN_SOFTWARE_ENDSTOP_I
+ since: 2.0.0
+ brief: I axis software endstop.
+ long: Enable the use of software endstops on the I axis.
+ example:
+ - value: true
+- name: MIN_SOFTWARE_ENDSTOP_J
+ since: 2.0.0
+ brief: J axis software endstop.
+ long: Enable the use of software endstops on the J axis.
+ example:
+ - value: true
+- name: MIN_SOFTWARE_ENDSTOP_K
+ since: 2.0.0
+ brief: K axis software endstop.
+ long: Enable the use of software endstops on the K axis.
+ example:
+ - value: true
+- name: MIN_SOFTWARE_ENDSTOP_U
+ since: 2.0.0
+ brief: U axis software endstop.
+ long: Enable the use of software endstops on the U axis.
+ example:
+ - value: true
+- name: MIN_SOFTWARE_ENDSTOP_V
+ since: 2.0.0
+ brief: V axis software endstop.
+ long: Enable the use of software endstops on the V axis.
+ example:
+ - value: true
+- name: MIN_SOFTWARE_ENDSTOP_W
+ since: 2.0.0
+ brief: W axis software endstop.
+ long: Enable the use of software endstops on the W axis.
+ example:
+ - value: true
+
+- name: MAX_SOFTWARE_ENDSTOP
+ since: 2.0.0
+ brief: Max software endstops.
+ long: Enable the use of software endstops. Software endstops are used to prevent the machine from moving outside the set machine bounds.
+ example:
+ - value: true
+- name: MAX_SOFTWARE_ENDSTOP_X
+ since: 2.0.0
+ brief: X axis software endstop.
+ long: Enable the use of software endstops on the X axis.
+ example:
+ - value: true
+- name: MAX_SOFTWARE_ENDSTOP_Y
+ since: 2.0.0
+ brief: Y axis software endstop.
+ long: Enable the use of software endstops on the Y axis.
+ example:
+ - value: true
+- name: MAX_SOFTWARE_ENDSTOP_Z
+ since: 2.0.0
+ brief: Z axis software endstop.
+ long: Enable the use of software endstops on the Z axis.
+ example:
+ - value: true
+- name: MAX_SOFTWARE_ENDSTOP_I
+ since: 2.0.0
+ brief: I axis software endstop.
+ long: Enable the use of software endstops on the I axis.
+ example:
+ - value: true
+- name: MAX_SOFTWARE_ENDSTOP_J
+ since: 2.0.0
+ brief: J axis software endstop.
+ long: Enable the use of software endstops on the J axis.
+ example:
+ - value: true
+- name: MAX_SOFTWARE_ENDSTOP_K
+ since: 2.0.0
+ brief: K axis software endstop.
+ long: Enable the use of software endstops on the K axis.
+ example:
+ - value: true
+- name: MAX_SOFTWARE_ENDSTOP_U
+ since: 2.0.0
+ brief: U axis software endstop.
+ long: Enable the use of software endstops on the U axis.
+ example:
+ - value: true
+- name: MAX_SOFTWARE_ENDSTOP_V
+ since: 2.0.0
+ brief: V axis software endstop.
+ long: Enable the use of software endstops on the V axis.
+ example:
+ - value: true
+- name: MAX_SOFTWARE_ENDSTOP_W
+ since: 2.0.0
+ brief: W axis software endstop.
+ long: Enable the use of software endstops on the W axis.
+ example:
+ - value: true
+
+---
+Use these options to define the machine geometry, including the size of the bed, the maximum X and Y positions, etc. These are the most basic settings for every type of machine that Marlin supports.
diff --git a/_setting/hardware.md b/_setting/hardware.md
index 146e03b7e..098927411 100644
--- a/_setting/hardware.md
+++ b/_setting/hardware.md
@@ -33,6 +33,9 @@ settings:
- name: BAUDRATE
type: int
long: Default baud rate for the main serial port. (USB ports always run at full speed.)
+- name: BAUD_RATE_GCODE
+ since: 2.0.0
+ long: Enable setting the baud with `M575 P
B`.
- name: SERIAL_PORT_2
type: int
@@ -40,7 +43,6 @@ settings:
disabled: true
brief: Secondary serial port
long: The secondary serial port can be used to communicate with a host, serial controller, or WiFi interface.
-
subopts:
- name: BAUDRATE_2
type: int
@@ -51,39 +53,36 @@ settings:
type: int
since: 2.0.0
disabled: true
- brief: Secondary serial port
- long: The secondary serial port can be used to communicate with a host, serial controller, or WiFi interface.
+ brief: Third serial port
+ long: The third serial port can be used to communicate with a host, serial controller, or WiFi interface.
subopts:
- name: BAUDRATE_3
type: int
disabled: true
long: Default baud rate for the third serial port. If not specified then `BAUDRATE` is used.
+- name: RS485_SERIAL_PORT
+ type: int
+ since: 2.1.3
+ disabled: true
+ brief: RS485 serial port (i.e., CANbus)
+ long: The RS485 serial ports is used to communicate with peripherals that use the CAN bus protocol.
+ subopts:
+ - name: M485_PROTOCOL
+ type: int
+ disabled: true
+ long: Leave this set to `1` to use the default protocol. Check your host for protocol compatibility.
+ - name: RS485_BUS_BUFFER_SIZE
+ type: int
+ disabled: true
+ default: 128
+ long: The size of the CAN bus buffer. This should be set to the maximum number of messages that can be sent in a single CAN frame.
+
- name: BLUETOOTH
since: 1.1.0
disabled: true
brief: Bluetooth wireless interface.
long: Enable the Bluetooth serial interface on AT90USB devices.
-- name: CUSTOM_MACHINE_NAME
- type: string
- since: 1.1.0
- disabled: true
- default: '"3D Printer"'
- brief: A unique name for your machine.
- long: Enable this option and set a unique name such as "Ralph" or "Printy McPrintface" to identify your 3D printer.
- example:
- - value: '"X5 Endeavour"'
-
-- name: MACHINE_UUID
- type: string
- since: 1.1.0
- disabled: true
- default: '"00000000-0000-0000-0000-000000000000"'
- brief: A unique ID for your machine.
- long: This unique ID can be used by some programs to differentiate between machines.
- example:
- - value: '"A34F2190-C84E-F553-97C3-12A4DA78A01B"'
-
---
Use these options to define the machine hardware, including the mainboard, serial ports, etc. These are the most basic settings for every type of machine that Marlin supports.
diff --git a/_setting/interface.md b/_setting/interface.md
new file mode 100644
index 000000000..d34c7c749
--- /dev/null
+++ b/_setting/interface.md
@@ -0,0 +1,79 @@
+---
+label: Interface
+brief: User interface options
+category: [ interface ]
+tags: [ interface ]
+pagetype: toc
+author: thinkyhead
+
+settings:
+- name: LCD_LANGUAGE
+ brief: Default language to display on the LCD.
+ type: langcode
+ default: en
+ options: [ en, an, bg, ca, cz, da, de, el, el_CY, es, eu, fi, fr, gl, hr, hu, it, jp_kana, ko_KR, nl, pl, pt, pt_br, ro, ru, sk, sv, tr, uk, vi, zh_CN, zh_TW ]
+- name: DISPLAY_CHARSET_HD44780
+ brief: Character Display extended character set as determined by the hardware.
+ type: name
+ default: JAPANESE
+ options: [ JAPANESE, WESTERN, CYRILLIC ]
+- name: LCD_INFO_SCREEN_STYLE
+ brief: HD44780 character display Info Screen style (0:Classic, 1:Průša, 2:CNC)
+ type: int
+ default: 0
+ options: [ 0, 1, 2 ]
+- name: NO_LCD_MENUS
+ brief: Disable all menus and only display the Status Screen.
+ disabled: true
+- name: SLIM_LCD_MENUS
+ brief: Remove some extraneous menu items to recover space.
+ disabled: true
+- name: ENCODER_PULSES_PER_STEP
+ brief: Number of pulses the encoder sends per increment of the encoder value.
+ type: int
+ default: 4
+ disabled: true
+- name: ENCODER_STEPS_PER_MENU_ITEM
+ brief: Number of encoder value increments per menu position.
+ type: int
+ default: 1
+ disabled: true
+- name: REVERSE_ENCODER_DIRECTION
+ brief: If clockwise turns make edited values go down, enable this option.
+ disabled: true
+- name: REVERSE_MENU_DIRECTION
+ brief: Change the encoder direction required to move the menu highlight up/down.
+ disabled: true
+- name: REVERSE_SELECT_DIRECTION
+ brief: Change the encoder direction required to select options on a dialog screen.
+ disabled: true
+- name: ENCODER_NOISE_FILTER
+ brief: Enable to filter out noise if the encoder has a messy signal or is experiencing interference.
+ disabled: true
+ subopts:
+ - name: ENCODER_SAMPLES
+ brief: Number of samples to use when filtering encoder noise.
+ default: 10
+- name: INDIVIDUAL_AXIS_HOMING_MENU
+ brief: Add individual axis homing items (Home X, Home Y, and Home Z) to the LCD menu.
+ disabled: true
+- name: INDIVIDUAL_AXIS_HOMING_SUBMENU
+ brief: Put axis homing items in a sub-menu.
+ disabled: true
+- name: SPEAKER
+ disabled: true
+- name: LCD_FEEDBACK_FREQUENCY_DURATION_MS
+ default: 2
+ disabled: true
+- name: LCD_FEEDBACK_FREQUENCY_HZ
+ default: 5000
+ disabled: true
+- name: TONE_QUEUE_LENGTH
+ default: 4
+ disabled: true
+- name: STARTUP_TUNE
+ default: "{ 698, 300, 0, 50, 523, 50, 0, 25, 494, 50, 0, 25, 523, 100, 0, 50, 554, 300, 0, 100, 523, 300 }"
+ disabled: true
+
+---
+Use these options to define the machine hardware, including the mainboard, serial ports, etc. These are the most basic settings for every type of machine that Marlin supports.
diff --git a/_setting/lcd.md b/_setting/lcd.md
new file mode 100644
index 000000000..79ee5b4a3
--- /dev/null
+++ b/_setting/lcd.md
@@ -0,0 +1,383 @@
+---
+label: LCD
+brief: LCD / Controller options
+category: [ wip ]
+tags: [ lcd, hardware ]
+pagetype: toc
+author: thinkyhead
+
+settings:
+
+- name: REPRAP_DISCOUNT_SMART_CONTROLLER
+ style: character
+ since: 1.1.0
+ brief: The common EXP1/2 HD44780 LCD controller (with SD Card slot)
+
+- name: YHCB2004
+ style: character
+ brief: GT2560 (YHCB2004) LCD Display
+ long: Requires Testato, Koepel `softwarewire` library and Andriy Golovnya's `LiquidCrystal_AIP31068` library.
+ since: 1.1.9
+
+- name: RADDS_DISPLAY
+ style: character
+ brief: Original RADDS LCD Display+Encoder+SDCardReader
+ links:
+ - url: //web.archive.org/web/20200719145306/doku.radds.org/dokumentation/lcd-display/
+ since: 1.1.0
+
+- name: ULTIMAKERCONTROLLER
+ style: character
+ brief: ULTIMAKER Controller
+ since: 1.1.0
+
+- name: ULTIPANEL
+ style: character
+ brief: Ultipanel - As seen on Thingiverse!
+ since: 1.1.0
+
+- name: PANEL_ONE
+ style: character
+ brief: PanelOne from T3P3 (via RAMPS 1.4 AUX2/AUX3)
+ links:
+ - url: //reprap.org/wiki/PanelOne
+ since: 1.1.0
+
+- name: G3D_PANEL
+ style: character
+ brief: Gadgets3D G3D LCD/SD Controller
+ links:
+ - url: //reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel
+ since: 1.1.0
+
+- name: RIGIDBOT_PANEL
+ style: character
+ brief: RigidBot Panel V1.0
+
+- name: MAKEBOARD_MINI_2_LINE_DISPLAY_1602
+ style: character
+ brief: Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller
+ links:
+ - url: //www.aliexpress.com/item/32765887917.html
+
+- name: ZONESTAR_LCD
+ style: character
+ brief: ANET and Tronxy 20x4 Controller, with keypad
+ description: |
+ Requires ADC_KEYPAD_PIN to be assigned to an analog pin.
+ This LCD is known to be susceptible to electrical interference
+ which scrambles the display. Pressing any button clears it up.
+ This is a LCD2004 display with 5 analog buttons.
+
+- name: ULTRA_LCD
+ style: character
+ brief: Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD.
+
+- name: RA_CONTROL_PANEL
+ style: i2c
+ brief: Elefu RA Board Control Panel
+ links:
+ - url: //web.archive.org/web/20140823033947/www.elefu.com/index.php?route=product/product&product_id=53
+
+- name: LCD_SAINSMART_I2C_1602
+ style: i2c
+ brief: Sainsmart (YwRobot) 16x2 LCD Display. Requires the `LiquidCrystal_I2C` library.
+ links:
+ - url: //github.com/MarlinFirmware/New-LiquidCrystal
+ - url: //github.com/fmalpartida/New-LiquidCrystal/wiki
+
+- name: LCD_SAINSMART_I2C_2004
+ style: i2c
+ brief: Sainsmart (YwRobot) 20x4 LCD Display. Requires the `LiquidCrystal_I2C` library.
+ links:
+ - url: //github.com/MarlinFirmware/New-LiquidCrystal
+ - url: //github.com/fmalpartida/New-LiquidCrystal/wiki
+
+- name: LCM1602
+ style: i2c
+ brief: Generic LCM1602 LCD adapter.
+
+- name: LCD_I2C_PANELOLU2
+ style: i2c
+ brief: Panelolu 2 LCD with status LEDs separate encoder and click inputs
+ description: |
+ Note: This controller requires Arduino's LiquidTWI2 library v1.2.3 or later.
+ For more info: https://github.com/lincomatic/LiquidTWI2
+ Note: The PANELOLU2 encoder click input can either be directly connected to
+ a pin (if BTN_ENC defined to != -1) or read through I2C (when BTN_ENC == -1).
+
+- name: LCD_I2C_VIKI
+ style: i2c
+ brief: Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/D buttons, separate encoder inputs.
+
+- name: SAV_3DLCD
+ style: shift-register
+ brief: 2-wire Non-latching LCD SR
+ links:
+ - url: //github.com/fmalpartida/New-LiquidCrystal/wiki/schematics#user-content-ShiftRegister_connection
+ - url: //reprap.org/wiki/SAV_3D_LCD
+
+- name: FF_INTERFACEBOARD
+ brief:
+
+- name: TFTGLCD_PANEL_SPI
+ brief:
+
+- name: TFTGLCD_PANEL_I2C
+ brief:
+
+- name: REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
+ since: 1.1.0
+ brief: The common EXP1/2 Full Graphic LCD controller (with SD Card slot.
+
+- name: K3D_FULL_GRAPHIC_SMART_CONTROLLER
+ brief:
+
+- name: REPRAPWORLD_GRAPHICAL_LCD
+ brief:
+
+- name: VIKI2
+ brief:
+
+- name: miniVIKI
+ brief:
+
+- name: WYH_L12864
+ brief:
+
+- name: MINIPANEL
+ brief:
+
+- name: MAKRPANEL
+ brief:
+
+- name: ELB_FULL_GRAPHIC_CONTROLLER
+ brief:
+
+- name: BQ_LCD_SMART_CONTROLLER
+ brief:
+
+- name: CARTESIO_UI
+ brief:
+
+- name: LCD_FOR_MELZI
+ brief:
+
+- name: ULTI_CONTROLLER
+ brief:
+
+- name: MKS_MINI_12864
+ brief:
+
+- name: MKS_MINI_12864_V3
+ brief:
+
+- name: MKS_LCD12864A
+ brief:
+
+- name: MKS_LCD12864B
+ brief:
+
+- name: FYSETC_MINI_12864_X_X
+ brief:
+
+- name: FYSETC_MINI_12864_1_2
+ brief:
+
+- name: FYSETC_MINI_12864_2_0
+ brief:
+
+- name: FYSETC_MINI_12864_2_1
+ brief:
+
+- name: FYSETC_GENERIC_12864_1_1
+ brief:
+
+- name: BTT_MINI_12864
+ brief:
+
+- name: BEEZ_MINI_12864
+ brief:
+
+- name: CR10_STOCKDISPLAY
+ brief:
+
+- name: ENDER2_STOCKDISPLAY
+ brief:
+
+- name: ANET_FULL_GRAPHICS_LCD
+ brief:
+
+- name: CTC_A10S_A13
+ brief:
+
+- name: AZSMZ_12864
+ brief:
+
+- name: SILVER_GATE_GLCD_CONTROLLER
+ brief:
+
+- name: EMOTION_TECH_LCD
+ brief:
+
+- name: U8GLIB_SSD1306
+ brief:
+
+- name: SAV_3DGLCD
+ subopts:
+ - name: U8GLIB_SSD1306
+ - name: U8GLIB_SH1106
+
+- name: OLED_PANEL_TINYBOY2
+ brief:
+
+- name: MKS_12864OLED
+ brief:
+
+- name: MKS_12864OLED_SSD1306
+ brief:
+
+- name: ZONESTAR_12864LCD
+ brief:
+
+- name: ZONESTAR_12864OLED
+ brief:
+
+- name: ZONESTAR_12864OLED_SSD1306
+ brief:
+
+- name: U8GLIB_SH1106_EINSTART
+ brief:
+
+- name: OVERLORD_OLED
+ brief:
+
+- name: FYSETC_242_OLED_12864
+ brief:
+
+- name: K3D_242_OLED_CONTROLLER
+ brief:
+
+- name: DGUS_LCD_UI
+ brief:
+ subopts:
+ - name: USE_MKS_GREEN_UI
+ - name: LCD_SCREEN_ROTATE
+ type: rotation
+ options: [ 0, 90, 180, 270 ]
+ - name: IA_CREALITY_BOOT_DELAY
+ type: ms
+
+- name: MALYAN_LCD
+ brief:
+
+- name: TOUCH_UI_FTDI_EVE
+ brief:
+
+- name: ANYCUBIC_LCD_CHIRON
+ brief:
+
+- name: ANYCUBIC_LCD_I3MEGA
+ brief:
+
+- name: ANYCUBIC_LCD_VYPER
+ brief:
+
+- name: SOVOL_SV06_RTS
+ brief:
+
+- name: NEXTION_TFT
+ brief:
+
+- name: EXTENSIBLE_UI
+ brief:
+
+- name: MKS_TS35_V2_0
+ brief:
+
+- name: MKS_ROBIN_TFT24
+ brief:
+
+- name: MKS_ROBIN_TFT28
+ brief:
+
+- name: MKS_ROBIN_TFT32
+ brief:
+
+- name: MKS_ROBIN_TFT35
+ brief:
+
+- name: MKS_ROBIN_TFT43
+ brief:
+
+- name: MKS_ROBIN_TFT_V1_1R
+ brief:
+
+- name: TFT_TRONXY_X5SA
+ brief:
+
+- name: ANYCUBIC_TFT35
+ brief:
+
+- name: LONGER_LK_TFT28
+ brief:
+
+- name: ANET_ET4_TFT28
+ brief:
+
+- name: ANET_ET5_TFT35
+ brief:
+
+- name: BIQU_BX_TFT70
+ brief:
+
+- name: BTT_TFT35_SPI_V1_0
+ brief:
+
+- name: TFT_GENERIC
+ brief:
+
+- name: TFT_CLASSIC_UI
+ brief:
+
+- name: TFT_COLOR_UI
+ brief:
+
+- name: TFT_LVGL_UI
+ brief:
+
+- name: TFT_ROTATION
+ brief: Set the TFT rotation angle. Only applies to some TFT displays.
+
+- name: DWIN_CREALITY_LCD
+ since: 2.0.8
+ brief: The Ender-3 V2 display with Creality UI. Requires Marlin supplied DWIN_SET.
+- name: DWIN_LCD_PROUI
+ since: 2.1.0
+ brief: The Ender-3 V2 display with Pro UI by MRISCOC. Requires Marlin supplied DWIN_SET.
+- name: DWIN_CREALITY_LCD_JYERSUI
+ since: 2.0.8
+ brief: The Ender-3 V2 display with Jyers UI. Requires Marlin supplied DWIN_SET.
+- name: DWIN_MARLINUI_PORTRAIT
+ since: 2.0.9
+ brief: The Ender-3 V2 display with Marlin UI in portrait (tall) orientation. Requires Marlin supplied DWIN_SET.
+- name: DWIN_MARLINUI_LANDSCAPE
+ since: 2.0.9
+ brief: The Ender-3 V2 display with Marlin UI in landscape (wide) orientation. Requires Marlin supplied DWIN_SET.
+
+- name: TOUCH_SCREEN
+ brief:
+
+- name: REPRAPWORLD_KEYPAD
+ brief:
+ subopts:
+ - name: REPRAPWORLD_KEYPAD_MOVE_STEP
+ type: int
+
+- name: EASYTHREED_UI
+ brief:
+
+---
+These options are used to select and configure Marlin to communicate with an LCD controller directly connected to your board.
+
+Marlin supports a huge number of LCD controllers, from simple character LCDs with a click-wheel to graphical OLED touchscreen displays. See the [LCD Controllers](/_docs/hardware/controllers.md) page for full details about all the supported displays and controllers.
diff --git a/_setting/machine_info.md b/_setting/machine_info.md
index ce51de115..0832d5eda 100644
--- a/_setting/machine_info.md
+++ b/_setting/machine_info.md
@@ -9,12 +9,23 @@ author: thinkyhead
settings:
- name: CUSTOM_MACHINE_NAME
type: string
- since: 1.0.0
- until:
+ since: 1.1.0
+ disabled: true
+ default: '"3D Printer"'
+ brief: A unique name for your machine.
+ long: Enable this option and set a unique name such as "Ralph" or "Printy McPrintface" to identify your 3D printer.
+ example:
+ - value: '"X5 Endeavour"'
- brief: Machine name and/or model.
- long: Use this option to provide the name or model of the machine. This is displayed in the message sent to the host when Marlin first boots up, and it may also be displayed on the LCD Info Screen.
+- name: MACHINE_UUID
+ type: string
+ since: 1.1.0
+ disabled: true
+ default: '"00000000-0000-0000-0000-000000000000"'
+ brief: A unique ID for your machine.
+ long: This unique ID can be used by some programs to differentiate between machines.
example:
- - value: '"3D Printer"'
+ - value: '"A34F2190-C84E-F553-97C3-12A4DA78A01B"'
+
---
Use these options to set Human-readable information about the machine, which may also be displayed on the host or LCD.
diff --git a/_setting/motion.md b/_setting/motion.md
new file mode 100644
index 000000000..5868f9a88
--- /dev/null
+++ b/_setting/motion.md
@@ -0,0 +1,50 @@
+---
+label: Motion
+brief: Settings for motion and motor control.
+category: [ wip ]
+tags: [ motion ]
+pagetype: toc
+author: thinkyhead
+
+settings:
+- name: DEFAULT_AXIS_STEPS_PER_UNIT
+ type: float
+ since: 1.0.0
+ brief: Default steps per unit for all axes.
+ long: The default steps per unit for all axes. This is used to calculate the number of steps needed to move the axis a given distance.
+ example:
+ - value: "{ 80, 80, 400, 500 }"
+
+- name: EDITABLE_STEPS_PER_UNI
+ since: 2.1.3
+ brief: Editable the steps per unit.
+ long: Add a G-code and menu items to edit axis steps per unit. Disable to save some memory.
+
+- name: DEFAULT_MAX_FEEDRATE
+ type: float
+ since: 1.0.0
+ brief: Default maximum feedrate for all axes.
+ long: The default maximum feedrate for all axes. This is used to calculate the maximum speed for each axis.
+ example:
+ - value: 200
+
+- name: DEFAULT_MAX_ACCELERATION
+ type: float
+ since: 1.0.0
+ brief: Default maximum acceleration for all axes.
+ long: The default maximum acceleration for all axes. This is used to calculate the maximum speed for each axis.
+ example:
+ - value: 200
+
+- name: DEFAULT_ACCELERATION
+ type: float
+ since: 1.0.0
+ brief: Default acceleration for all axes.
+ long: The default acceleration for all axes. This is used to calculate the maximum speed for each axis.
+ example:
+ - value: 200
+
+- name: CLASSIC_JERK
+ since: 1.1.9
+ brief: Use Classic Jerk acceleration for all axes.
+ long: Classic Jerk limits acceleration on a per-axis basis and is suitable for most machines and is the default for all machines except for CoreXY printers.
diff --git a/_setting/stepper_drivers.md b/_setting/stepper_drivers.md
index 5ecf39e8a..e6b57c36f 100644
--- a/_setting/stepper_drivers.md
+++ b/_setting/stepper_drivers.md
@@ -7,56 +7,60 @@ pagetype: toc
author: thinkyhead
shared:
- -
- options:
- - value: A4988
- brief: Allegro A4988
- - value: A5984
- brief: Allegro A5984
- - value: DRV8825
- brief: DRV8825 high-current driver with up to 32x micro-stepping
- - value: LV8729
- brief: LV8729 with up to 128x micro-stepping
- - value: TB6560
- brief: Toshiba TB6560 stepper driver board
- - value: TB6600
- brief: Toshiba TB6600 stepper driver board
- - value: TMC2100
- brief: Trinamic TMC2100
- - value: TMC2130
- brief: Trinamic TMC2130 (SPI)
- - value: TMC2130_STANDALONE
- brief: Trinamic TMC2130 (standalone)
- - value: TMC2160
- brief: Trinamic TMC2160 (SPI)
- - value: TMC2160_STANDALONE
- brief: Trinamic TMC2160 (standalone)
- - value: TMC2208
- brief: Trinamic TMC2208 (UART)
- - value: TMC2208_STANDALONE
- brief: Trinamic TMC2208 (standalone)
- - value: TMC2209
- brief: Trinamic TMC2209 (UART)
- - value: TMC2209_STANDALONE
- brief: Trinamic TMC2209 (standalone)
- - value: TMC26X
- brief: Trinamic TMC26X (SPI)
- - value: TMC26X_STANDALONE
- brief: Trinamic TMC26X (standalone)
- - value: TMC2660
- brief: Trinamic TMC2660 (SPI)
- - value: TMC2660_STANDALONE
- brief: Trinamic TMC2660 (standalone)
- - value: TMC5130
- brief: Trinamic TMC5130 (SPI)
- - value: TMC5130_STANDALONE
- brief: Trinamic TMC5130 (standalone)
- - value: TMC5160
- brief: Trinamic TMC5160 (SPI)
- - value: TMC5160_STANDALONE
- brief: Trinamic TMC5160 (standalone)
- - value: TMC2209
- brief: Trinamic TMC2209
+- options:
+ - value: A4988
+ brief: Allegro A4988
+ - value: A5984
+ brief: Allegro A5984
+ - value: DRV8825
+ brief: DRV8825 high-current driver with up to 32x micro-stepping
+ - value: LV8729
+ brief: LV8729 with up to 128x micro-stepping
+ - value: TB6560
+ brief: Toshiba TB6560 stepper driver board
+ - value: TB6600
+ brief: Toshiba TB6600 stepper driver board
+ - value: TMC2100
+ brief: Trinamic TMC2100
+ - value: TMC2130
+ brief: Trinamic TMC2130 (SPI)
+ - value: TMC2130_STANDALONE
+ brief: Trinamic TMC2130 (standalone
+ - value: TMC2160
+ brief: Trinamic TMC2160 (SPI)
+ - value: TMC2160_STANDALONE
+ brief: Trinamic TMC2160 (standalone)
+ - value: TMC2208
+ brief: Trinamic TMC2208 (UART)
+ - value: TMC2208_STANDALONE
+ brief: Trinamic TMC2208 (standalone)
+ - value: TMC2209
+ brief: Trinamic TMC2209 (UART)
+ - value: TMC2209_STANDALONE
+ brief: Trinamic TMC2209 (standalone)
+ - value: TMC26X
+ brief: Trinamic TMC26X (SPI)
+ - value: TMC26X_STANDALONE
+ brief: Trinamic TMC26X (standalone)
+ - value: TMC2660
+ brief: Trinamic TMC2660 (SPI)
+ - value: TMC2660_STANDALONE
+ brief: Trinamic TMC2660 (standalone)
+ - value: TMC5130
+ brief: Trinamic TMC5130 (SPI)
+ - value: TMC5130_STANDALONE
+ brief: Trinamic TMC5130 (standalone)
+ - value: TMC5160
+ brief: Trinamic TMC5160 (SPI)
+ - value: TMC5160_STANDALONE
+ brief: Trinamic TMC5160 (standalone)
+ - value: TMC2209
+ brief: Trinamic TMC2209
+ - value: TMC2240
+ brief: Trinamic TMC2240 (SPI)
+ - value: TMC2240_STANDALONE
+ brief: Trinamic TMC2240 (standalone)
+
settings:
- name: X_DRIVER_TYPE
type: name
@@ -209,54 +213,49 @@ settings:
since: 2.0.0
brief: Stepper Driver for the E0 axis.
options: 0
-
- name: E1_DRIVER_TYPE
type: name
default: A4988
since: 2.0.0
brief: Stepper Driver for the E1 axis.
options: 0
-
- name: E2_DRIVER_TYPE
type: name
default: A4988
since: 2.0.0
brief: Stepper Driver for the E2 axis.
options: 0
-
- name: E3_DRIVER_TYPE
type: name
default: A4988
since: 2.0.0
brief: Stepper Driver for the E3 axis.
options: 0
-
- name: E4_DRIVER_TYPE
type: name
default: A4988
since: 2.0.0
brief: Stepper Driver for the E4 axis.
options: 0
-
- name: E5_DRIVER_TYPE
type: name
default: A4988
since: 2.0.0
brief: Stepper Driver for the E5 axis.
options: 0
-
- name: E6_DRIVER_TYPE
type: name
default: A4988
since: 2.0.0
brief: Stepper Driver for the E6 axis.
options: 0
-
- name: E7_DRIVER_TYPE
type: name
default: A4988
since: 2.0.0
brief: Stepper Driver for the E7 axis.
options: 0
+
---
-Marlin is able to tune signal timing and provide extra options based on the type of Stepper Driver. These settings are used to specify the type of Stepper Driver for each axis.
\ No newline at end of file
+
+Marlin is able to tune signal timing and provide extra options based on the type of Stepper Driver. These settings are used to specify the type of Stepper Driver for each axis.