From bd1eabcf31839713bbba5f49f1456a96fbdf20f6 Mon Sep 17 00:00:00 2001 From: Andrew <18502096+classicrocker883@users.noreply.github.com> Date: Sat, 2 Nov 2024 07:29:14 -0400 Subject: [PATCH 1/5] Update configuration.md --- _configuration/configuration.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_configuration/configuration.md b/_configuration/configuration.md index 40f792eac..4a0aa4c98 100644 --- a/_configuration/configuration.md +++ b/_configuration/configuration.md @@ -1,4 +1,4 @@ ---- +--- title: 'Configuring Marlin' description: 'Complete guide to Marlin configuration options.' From 6cc326a5e9b146d9218499ba0c9487f944e7774c Mon Sep 17 00:00:00 2001 From: Andrew <18502096+classicrocker883@users.noreply.github.com> Date: Sat, 2 Nov 2024 07:38:54 -0400 Subject: [PATCH 2/5] Update configuration.md, SD_SPI_SPEED --- _configuration/configuration.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/_configuration/configuration.md b/_configuration/configuration.md index 4a0aa4c98..923c25910 100644 --- a/_configuration/configuration.md +++ b/_configuration/configuration.md @@ -1,4 +1,4 @@ ---- +--- title: 'Configuring Marlin' description: 'Complete guide to Marlin configuration options.' @@ -1858,13 +1858,15 @@ Enable to use SD printing, whether as part of an LCD controller or as a standalo The `SDSUPPORT` option must be enabled or SD printing will not be supported. It is no longer enabled automatically for LCD controllers with built-in SDCard slot. {% endalert %} -### SPI Speed +### SD SPI Speed ```cpp -//#define SPI_SPEED SPI_HALF_SPEED -//#define SPI_SPEED SPI_QUARTER_SPEED -//#define SPI_SPEED SPI_EIGHTH_SPEED +//#define SD_SPI_SPEED SPI_HALF_SPEED ``` -Uncomment ONE of these options to use a slower SPI transfer speed. This is usually required if you're getting volume init errors. +Uncomment to enable and set ONE of these options to use a slower SPI transfer speed, otherwise full speed will be applied: +- `SPI_HALF_SPEED` +- `SPI_QUARTER_SPEED` +- `SPI_EIGHTH_SPEED` +This is usually required if you're getting volume init errors. ### Enable CRC ```cpp From 0ee5f914d01b1ab44df657799e9ae9f0f603822a Mon Sep 17 00:00:00 2001 From: Andrew <18502096+classicrocker883@users.noreply.github.com> Date: Sat, 2 Nov 2024 07:49:58 -0400 Subject: [PATCH 3/5] add spaces to separate lines --- _configuration/configuration.md | 44 ++++++++++++++++----------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/_configuration/configuration.md b/_configuration/configuration.md index 923c25910..026123e5d 100644 --- a/_configuration/configuration.md +++ b/_configuration/configuration.md @@ -1949,26 +1949,26 @@ Most other LCD controllers are variants of these. Enable just one of the followi ### Character LCDs Option|Description ------|----------- -`ULTIMAKERCONTROLLER`|The original Ultimaker Controller. -`ULTIPANEL`|[ULTIPANEL](//www.thingiverse.com/thing:15081) as seen on Thingiverse. -`PANEL_ONE`|[PanelOne from T3P3](//reprap.org/wiki/PanelOne) (via RAMPS 1.4 AUX2/AUX3). A variant of `ULTIMAKERCONTROLLER`. -`REPRAP_DISCOUNT_SMART_CONTROLLER`|[RepRapDiscount Smart Controller](//reprap.org/wiki/RepRapDiscount_Smart_Controller). Usually sold with a white PCB. -`G3D_PANEL`|[Gadgets3D G3D LCD/SD Controller](//reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel). Usually sold with a blue PCB. -`RIGIDBOT_PANEL`|[RigidBot Panel V1.0](//www.inventapart.com/). +`ULTIMAKERCONTROLLER`|The original Ultimaker Controller. +`ULTIPANEL`|[ULTIPANEL](//www.thingiverse.com/thing:15081) as seen on Thingiverse. +`PANEL_ONE`|[PanelOne from T3P3](//reprap.org/wiki/PanelOne) (via RAMPS 1.4 AUX2/AUX3). A variant of `ULTIMAKERCONTROLLER`. +`REPRAP_DISCOUNT_SMART_CONTROLLER`|[RepRapDiscount Smart Controller](//reprap.org/wiki/RepRapDiscount_Smart_Controller). Usually sold with a white PCB. +`G3D_PANEL`|[Gadgets3D G3D LCD/SD Controller](//reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel). Usually sold with a blue PCB. +`RIGIDBOT_PANEL`|[RigidBot Panel V1.0](//www.inventapart.com/). `ANET_KEYPAD_LCD`|[Anet Keypad LCD](//www.anet3d.com/prod_view.aspx?TypeId=10&Id=178) for the Anet A3 ### Graphical LCDs Option|Description ------|----------- -`CARTESIO_UI`|[Cartesio UI](//mauk.cc/webshop/cartesio-shop/electronics/user-interface). -`MAKRPANEL`|[MaKr3d Makr-Panel](//reprap.org/wiki/MaKr3d_MaKrPanel) with graphic controller and SD support. -`REPRAPWORLD_GRAPHICAL_LCD`|[ReprapWorld Graphical LCD](//reprapworld.com/?products_details&products_id/1218). -`VIKI2`|[Panucatt Devices](//panucatt.com) [Viki 2.0](//panucatt.com). -`miniVIKI`|[mini Viki with Graphic LCD](//panucatt.com). -`ELB_FULL_GRAPHIC_CONTROLLER`|[Adafruit ST7565 Full Graphic Controller](//github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/). -`REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER`|[RepRapDiscount Full Graphic Smart Controller](//reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller). -`MINIPANEL`|[MakerLab Mini Panel](//reprap.org/wiki/Mini_panel) with graphic controller and SD support. -`BQ_LCD_SMART_CONTROLLER`|BQ LCD Smart Controller shipped with the BQ Hephestos 2 and Witbox 2. +`CARTESIO_UI`|[Cartesio UI](//mauk.cc/webshop/cartesio-shop/electronics/user-interface). +`MAKRPANEL`|[MaKr3d Makr-Panel](//reprap.org/wiki/MaKr3d_MaKrPanel) with graphic controller and SD support. +`REPRAPWORLD_GRAPHICAL_LCD`|[ReprapWorld Graphical LCD](//reprapworld.com/?products_details&products_id/1218). +`VIKI2`|[Panucatt Devices](//panucatt.com) [Viki 2.0](//panucatt.com). +`miniVIKI`|[mini Viki with Graphic LCD](//panucatt.com). +`ELB_FULL_GRAPHIC_CONTROLLER`|[Adafruit ST7565 Full Graphic Controller](//github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/). +`REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER`|[RepRapDiscount Full Graphic Smart Controller](//reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller). +`MINIPANEL`|[MakerLab Mini Panel](//reprap.org/wiki/Mini_panel) with graphic controller and SD support. +`BQ_LCD_SMART_CONTROLLER`|BQ LCD Smart Controller shipped with the BQ Hephestos 2 and Witbox 2. `ANET_FULL_GRAPHICS_LCD`|[Anet Full Graphics LCD](//www.anet3d.com/prod_view.aspx?TypeId=10&Id=178) for the Anet A3 ### Keypads @@ -1981,11 +1981,11 @@ These controllers all require the [LiquidCrystal_I2C library](//github.com/kiyos Option|Description ------|----------- -`RA_CONTROL_PANEL`|Elefu RA Board Control Panel -`LCD_I2C_SAINSMART_YWROBOT`|Sainsmart [YWRobot LCM1602 LCD Display](//henrysbench.capnfatz.com/henrys-bench/arduino-displays/ywrobot-lcm1602-iic-v1-lcd-arduino-tutorial/). -`LCM1602`|Generic LCM1602 LCD adapter -`LCD_I2C_PANELOLU2`|PANELOLU2 LCD with status LEDs, separate encoder and click inputs. The click input can either be directly connected to a pin (if `BTN_ENC` is defined) or read through I2C (with `BTN_ENC` undefined). Requires [LiquidTWI2 library](//github.com/lincomatic/LiquidTWI2) v1.2.3 or later. -`LCD_I2C_VIKI`|Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/D buttons, separate encoder inputs. +`RA_CONTROL_PANEL`|Elefu RA Board Control Panel +`LCD_I2C_SAINSMART_YWROBOT`|Sainsmart [YWRobot LCM1602 LCD Display](//henrysbench.capnfatz.com/henrys-bench/arduino-displays/ywrobot-lcm1602-iic-v1-lcd-arduino-tutorial/). +`LCM1602`|Generic LCM1602 LCD adapter +`LCD_I2C_PANELOLU2`|PANELOLU2 LCD with status LEDs, separate encoder and click inputs. The click input can either be directly connected to a pin (if `BTN_ENC` is defined) or read through I2C (with `BTN_ENC` undefined). Requires [LiquidTWI2 library](//github.com/lincomatic/LiquidTWI2) v1.2.3 or later. +`LCD_I2C_VIKI`|Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/D buttons, separate encoder inputs. `SAV_3DLCD`|Shift register panels. [2 wire Non-latching LCD SR](//github.com/fmalpartida/New-LiquidCrystal). See [LCD configuration](//reprap.org/wiki/SAV_3D_LCD). ### I2C Graphical LCDs @@ -1993,8 +1993,8 @@ These controllers all require the [LiquidCrystal_I2C library](//github.com/kiyos Option|Description ------|----------- -`U8GLIB_SSD1306`|SSD1306 OLED full graphics generic display. -`SAV_3DGLCD`|SAV OLED LCD module support using either SSD1306 or SH1106 based LCD modules. +`U8GLIB_SSD1306`|SSD1306 OLED full graphics generic display. +`SAV_3DGLCD`|SAV OLED LCD module support using either SSD1306 or SH1106 based LCD modules. `OLED_PANEL_TINYBOY2`|TinyBoy2 128x64 OLED / Encoder Panel ### Fan PWM From 23f36a6b5c353057856e978761d94eda514017dd Mon Sep 17 00:00:00 2001 From: Andrew <18502096+classicrocker883@users.noreply.github.com> Date: Sat, 2 Nov 2024 08:24:28 -0400 Subject: [PATCH 4/5] Update configuration.md --- _configuration/configuration.md | 47 ++++++++++++++++++--------------- 1 file changed, 25 insertions(+), 22 deletions(-) diff --git a/_configuration/configuration.md b/_configuration/configuration.md index 026123e5d..a2c5b5d0a 100644 --- a/_configuration/configuration.md +++ b/_configuration/configuration.md @@ -1947,31 +1947,34 @@ Marlin includes support for several controllers. The two most popular controller Most other LCD controllers are variants of these. Enable just one of the following options for your specific controller: ### Character LCDs + Option|Description ------|----------- -`ULTIMAKERCONTROLLER`|The original Ultimaker Controller. -`ULTIPANEL`|[ULTIPANEL](//www.thingiverse.com/thing:15081) as seen on Thingiverse. -`PANEL_ONE`|[PanelOne from T3P3](//reprap.org/wiki/PanelOne) (via RAMPS 1.4 AUX2/AUX3). A variant of `ULTIMAKERCONTROLLER`. -`REPRAP_DISCOUNT_SMART_CONTROLLER`|[RepRapDiscount Smart Controller](//reprap.org/wiki/RepRapDiscount_Smart_Controller). Usually sold with a white PCB. -`G3D_PANEL`|[Gadgets3D G3D LCD/SD Controller](//reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel). Usually sold with a blue PCB. -`RIGIDBOT_PANEL`|[RigidBot Panel V1.0](//www.inventapart.com/). +`ULTIMAKERCONTROLLER`|The original Ultimaker Controller. +`ULTIPANEL`|[ULTIPANEL](//www.thingiverse.com/thing:15081) as seen on Thingiverse. +`PANEL_ONE`|[PanelOne from T3P3](//reprap.org/wiki/PanelOne) (via RAMPS 1.4 AUX2/AUX3). A variant of `ULTIMAKERCONTROLLER`. +`REPRAP_DISCOUNT_SMART_CONTROLLER`|[RepRapDiscount Smart Controller](//reprap.org/wiki/RepRapDiscount_Smart_Controller). Usually sold with a white PCB. +`G3D_PANEL`|[Gadgets3D G3D LCD/SD Controller](//reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel). Usually sold with a blue PCB. +`RIGIDBOT_PANEL`|[RigidBot Panel V1.0](//www.inventapart.com/). `ANET_KEYPAD_LCD`|[Anet Keypad LCD](//www.anet3d.com/prod_view.aspx?TypeId=10&Id=178) for the Anet A3 ### Graphical LCDs + Option|Description ------|----------- -`CARTESIO_UI`|[Cartesio UI](//mauk.cc/webshop/cartesio-shop/electronics/user-interface). -`MAKRPANEL`|[MaKr3d Makr-Panel](//reprap.org/wiki/MaKr3d_MaKrPanel) with graphic controller and SD support. -`REPRAPWORLD_GRAPHICAL_LCD`|[ReprapWorld Graphical LCD](//reprapworld.com/?products_details&products_id/1218). -`VIKI2`|[Panucatt Devices](//panucatt.com) [Viki 2.0](//panucatt.com). -`miniVIKI`|[mini Viki with Graphic LCD](//panucatt.com). -`ELB_FULL_GRAPHIC_CONTROLLER`|[Adafruit ST7565 Full Graphic Controller](//github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/). -`REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER`|[RepRapDiscount Full Graphic Smart Controller](//reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller). -`MINIPANEL`|[MakerLab Mini Panel](//reprap.org/wiki/Mini_panel) with graphic controller and SD support. -`BQ_LCD_SMART_CONTROLLER`|BQ LCD Smart Controller shipped with the BQ Hephestos 2 and Witbox 2. +`CARTESIO_UI`|[Cartesio UI](//mauk.cc/webshop/cartesio-shop/electronics/user-interface). +`MAKRPANEL`|[MaKr3d Makr-Panel](//reprap.org/wiki/MaKr3d_MaKrPanel) with graphic controller and SD support. +`REPRAPWORLD_GRAPHICAL_LCD`|[ReprapWorld Graphical LCD](//reprapworld.com/?products_details&products_id/1218). +`VIKI2`|[Panucatt Devices](//panucatt.com) [Viki 2.0](//panucatt.com). +`miniVIKI`|[mini Viki with Graphic LCD](//panucatt.com). +`ELB_FULL_GRAPHIC_CONTROLLER`|[Adafruit ST7565 Full Graphic Controller](//github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/). +`REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER`|[RepRapDiscount Full Graphic Smart Controller](//reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller). +`MINIPANEL`|[MakerLab Mini Panel](//reprap.org/wiki/Mini_panel) with graphic controller and SD support. +`BQ_LCD_SMART_CONTROLLER`|BQ LCD Smart Controller shipped with the BQ Hephestos 2 and Witbox 2. `ANET_FULL_GRAPHICS_LCD`|[Anet Full Graphics LCD](//www.anet3d.com/prod_view.aspx?TypeId=10&Id=178) for the Anet A3 ### Keypads + Option|Description ------|----------- `REPRAPWORLD_KEYPAD`|[RepRapWorld Keypad v1.1](//reprapworld.com/?products_details&products_id=202&cPath=1591_1626) Use `REPRAPWORLD_KEYPAD_MOVE_STEP` to set how much the robot should move on each keypress (_e.g.,_ 10mm per click). @@ -1981,11 +1984,11 @@ These controllers all require the [LiquidCrystal_I2C library](//github.com/kiyos Option|Description ------|----------- -`RA_CONTROL_PANEL`|Elefu RA Board Control Panel -`LCD_I2C_SAINSMART_YWROBOT`|Sainsmart [YWRobot LCM1602 LCD Display](//henrysbench.capnfatz.com/henrys-bench/arduino-displays/ywrobot-lcm1602-iic-v1-lcd-arduino-tutorial/). -`LCM1602`|Generic LCM1602 LCD adapter -`LCD_I2C_PANELOLU2`|PANELOLU2 LCD with status LEDs, separate encoder and click inputs. The click input can either be directly connected to a pin (if `BTN_ENC` is defined) or read through I2C (with `BTN_ENC` undefined). Requires [LiquidTWI2 library](//github.com/lincomatic/LiquidTWI2) v1.2.3 or later. -`LCD_I2C_VIKI`|Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/D buttons, separate encoder inputs. +`RA_CONTROL_PANEL`|Elefu RA Board Control Panel +`LCD_I2C_SAINSMART_YWROBOT`|Sainsmart [YWRobot LCM1602 LCD Display](//henrysbench.capnfatz.com/henrys-bench/arduino-displays/ywrobot-lcm1602-iic-v1-lcd-arduino-tutorial/). +`LCM1602`|Generic LCM1602 LCD adapter +`LCD_I2C_PANELOLU2`|PANELOLU2 LCD with status LEDs, separate encoder and click inputs. The click input can either be directly connected to a pin (if `BTN_ENC` is defined) or read through I2C (with `BTN_ENC` undefined). Requires [LiquidTWI2 library](//github.com/lincomatic/LiquidTWI2) v1.2.3 or later. +`LCD_I2C_VIKI`|Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/D buttons, separate encoder inputs. `SAV_3DLCD`|Shift register panels. [2 wire Non-latching LCD SR](//github.com/fmalpartida/New-LiquidCrystal). See [LCD configuration](//reprap.org/wiki/SAV_3D_LCD). ### I2C Graphical LCDs @@ -1993,8 +1996,8 @@ These controllers all require the [LiquidCrystal_I2C library](//github.com/kiyos Option|Description ------|----------- -`U8GLIB_SSD1306`|SSD1306 OLED full graphics generic display. -`SAV_3DGLCD`|SAV OLED LCD module support using either SSD1306 or SH1106 based LCD modules. +`U8GLIB_SSD1306`|SSD1306 OLED full graphics generic display. +`SAV_3DGLCD`|SAV OLED LCD module support using either SSD1306 or SH1106 based LCD modules. `OLED_PANEL_TINYBOY2`|TinyBoy2 128x64 OLED / Encoder Panel ### Fan PWM From d596a165667cc6ed511d5a666d9db0fd35c4f2ad Mon Sep 17 00:00:00 2001 From: Andrew <18502096+classicrocker883@users.noreply.github.com> Date: Sat, 2 Nov 2024 08:31:58 -0400 Subject: [PATCH 5/5] add MARLIN_SMALL_BUILD POSTMORTEM_DEBUGGING --- _configuration/configuration.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/_configuration/configuration.md b/_configuration/configuration.md index a2c5b5d0a..84645123c 100644 --- a/_configuration/configuration.md +++ b/_configuration/configuration.md @@ -4476,3 +4476,15 @@ Display pin status, toggle pins, watch pins, watch endstops & toggle LED, test s //#define MARLIN_DEV_MODE ``` Enable Marlin dev mode which adds some special commands. + +#### Enable Postmortem Debugging +```cpp +//#define POSTMORTEM_DEBUGGING +``` +Captures misbehavior and outputs the CPU status and backtrace to serial. When running in the debugger it will break for debugging. This is useful to help understand a crash from a remote location. + +#### Enable Marlin Small Build +```cpp +//#define MARLIN_SMALL_BUILD +``` +Shrink the build for smaller boards by sacrificing some serial feedback.