diff --git a/docs/Android.md b/docs/Android.md index 580ddcd8..49379973 100644 --- a/docs/Android.md +++ b/docs/Android.md @@ -2,9 +2,12 @@ This article describes how to use KlipperScreen from an android device -!!! important - The experience may not be equal to run KlipperScreen natively, - depending on the device there maybe performance degradation or other issues +!!! warning + The experience may not be equal to run KlipperScreen natively. + Depending on the device or the network you may encounter performance degradation or other issues. + +!!! bug + Some [users have found](https://github.com/KlipperScreen/KlipperScreen/issues/862) that using this method causes memory-leaks 1. [First installl KlipperScreen on the Pi](Installation.md) 2. Install [XServer-XSDL](https://play.google.com/store/apps/details?id=x.org.server) on the android device diff --git a/docs/Configuration.md b/docs/Configuration.md index 2f72b1f8..b7780f20 100644 --- a/docs/Configuration.md +++ b/docs/Configuration.md @@ -13,7 +13,7 @@ Write in the file only the options that need to be changed, and restart KlipperS ## Include files -```py +```ini [include conf.d/*.conf] # Include another configuration file. Wildcards (*) will expand to match anything. ``` @@ -21,7 +21,7 @@ Write in the file only the options that need to be changed, and restart KlipperS ## Main Options The options listed here are not changeable from within the ui. -```py +```ini [main] # Time in seconds before the Job Status page closes itself after a successful job/print # 0 means disabled @@ -47,7 +47,7 @@ screen_off_devices: example1, example2 ## Printer Options Multiple printers can be defined -```py +```ini # Define printer and name. Name is anything after the first printer word [printer Ender 3 Pro] # Define the moonraker host/port if different from 127.0.0.1 and 7125 @@ -108,7 +108,7 @@ extrude_speeds: 1, 2, 5, 25 Adding a custom preheat section will cause the defaults to not load, this is the intended behaviour. -```py +```ini [preheat my_temp_setting] extruder: 195 extruder1: 60 @@ -127,7 +127,7 @@ gcode: MY_HEATSOAK_MACRO There is a special preheat setting named cooldown to do additional things when the _cooldown_ button is pressed for example: -```py +```ini [preheat cooldown] gcode: M107 ``` @@ -142,7 +142,7 @@ printer is idle. The __print menu is accessible from the printing status page. A predefined set of menus is already provided and it's recommended to be used A menu item is configured as follows: -```py +```ini [menu __main my_menu_item] # To build a sub-menu of this menu item, you would next use [menu __main my_menu_item sub_menu_item] name: Item Name @@ -167,7 +167,7 @@ enable: {{ printer.power_devices.count > 0 }} Available panels are listed here: [docs/panels.md](Panels.md) Certain variables are available for conditional testing of the enable statement: -```py +```ini printer.extruders.count # Number of extruders printer.temperature_devices.count # Number of temperature related devices that are not extruders printer.fans.count # Number of fans @@ -193,7 +193,7 @@ printer.pause_resume # Pause resume section of Klipper A sample configuration of a main menu would be as follows: -```py +```ini [menu __main homing] name: Homing icon: home diff --git a/docs/Installation.md b/docs/Installation.md index 106db465..7dcdde2f 100644 --- a/docs/Installation.md +++ b/docs/Installation.md @@ -3,20 +3,23 @@ ## First steps Install the screen, following the instructions provided by the manufacturer, Some screens don't neeed extra software but some need to be installed with a script. -It's strongly recommended to test it and ensure your hardware is working with Raspbian, Ubuntu or any distro you like. +It's strongly recommended to test it and ensure your hardware is working with RaspberryOS, Ubuntu or any distro you like. Once you have established that the screen is working, then proceed installing KlipperScreen. ## Setup -This install process is meant for a non-desktop version of the OS for example Raspbian Lite, but it should work on other versions. +This install process is meant for a non-desktop version of the OS for example RaspberryOS Lite, but it should work on other debian derivatives. -If you want to use it on a desktop (GUI version), then do `sudo systemctl set-default multi-user.target` -if it's a Raspberry Pi, you can use `sudo raspi-config` to set boot to console by choosing the following options in order: - -```sh -1System Options -└──S5 Boot / Auto Login - └──B1 Console +If you installed a desktop (GUI version) of the OS and want to run KlipperScreen exclusively then do: +```sh title="Boot to console / KlipperScreen" +sudo systemctl set-default multi-user.target +sudo reboot ``` +to undo and go back to the desktop environment: +```sh title="Boot to the desktop" +sudo systemctl set-default graphical.target +sudo reboot +``` + ## Auto install @@ -51,19 +54,21 @@ At this point KlipperScreen should be working, if it doesn't start then go to th ## Moonraker configuration -In moonraker.conf ensure that 127.0.0.1 is a trusted client: +In moonraker.conf ensure that the IP of the device is a trusted client: -```py +```ini title="moonraker.conf" [authorization] trusted_clients: 127.0.0.1 ``` !!! warning - `force_logins: true` requires the moonraker api key in [KlipperScreen.conf](Configuration.md) + having `force_logins: true` in this section or if you don't want to use `trusted_clients` + + Will require the [moonraker api key](https://moonraker.readthedocs.io/en/latest/installation/#retrieving-the-api-key) in [KlipperScreen.conf](Configuration.md) If you wish to use the update manager feature of moonraker for KlipperScreen, add the following block to the moonraker.conf: -```py +```ini title="moonraker.conf" [update_manager KlipperScreen] type: git_repo path: ~/KlipperScreen @@ -73,5 +78,5 @@ requirements: scripts/KlipperScreen-requirements.txt system_dependencies: scripts/system-dependencies.json managed_services: KlipperScreen ``` -!!! note - If you see warnings in other UIs ignore them until KlipperScreen finishes installing. +!!! tip + If you see warnings in other UIs ignore them until KlipperScreen finishes installing, and Moonraker is restarted. diff --git a/docs/Quicktips.md b/docs/Quicktips.md index 0d7bdfe3..85b7b882 100644 --- a/docs/Quicktips.md +++ b/docs/Quicktips.md @@ -3,25 +3,12 @@ quick tips, without much explanation ## Hide macros, outputs or fans -As you probably already noticed, you can show and hide the gcode macros in the interface settings, -but you can also hide gcode macros by prefixing the name with an underscore. -```py -[gcode_macro MY_AWESOME_GCODE] -gcode: - _MY_HELPER_CODE -[gcode_macro _MY_HELPER_CODE] -gcode: - M300 -``` - -MY_AWESOME_GCODE appears in your interface settings, _MY_HELPER_CODE not. - -Another example: +You can also hide devices by prefixing the name with an underscore. Lets hide a temperature_fan: -```py +```ini [temperature_fan fan1] [temperature_fan _fan2] ``` @@ -29,18 +16,15 @@ Lets hide a temperature_fan: fan1 will show in the interface, but _fan2 will be hidden. -## Thumbnails - -Moved to [Thumbnails](Thumbnails.md) - - ## Layer Progress Accurate layer progress as a message below the status: PrusaSlicer/SuperSlicer > Printer Settings > Custom Gcode > After layer change Gcode -`M117 Layer {layer_num+1}/[total_layer_count] : {filament_settings_id[0]}` +```ini +M117 Layer {layer_num+1}/[total_layer_count] : {filament_settings_id[0]} +``` ![Layer_progress](img/quicktips/PS_SS_Layer_progress.png) @@ -55,11 +39,10 @@ PrusaSlicer/SuperSlicer: Printer Settings > Custom Gcode > Start Gcode -`SET_PRINT_STATS_INFO TOTAL_LAYER=[total_layer_count]` - +```ini +SET_PRINT_STATS_INFO TOTAL_LAYER=[total_layer_count] +``` Printer Settings > Custom Gcode > After layer change Gcode - -`SET_PRINT_STATS_INFO CURRENT_LAYER={layer_num + 1}` - -## Supported Macros -[Macros](macros.md) +```ini +SET_PRINT_STATS_INFO CURRENT_LAYER={layer_num + 1} +``` diff --git a/docs/Troubleshooting.md b/docs/Troubleshooting.md index b7449074..d03bcd96 100644 --- a/docs/Troubleshooting.md +++ b/docs/Troubleshooting.md @@ -1,54 +1,69 @@ -# First Steps +# Troubleshooting + +## First Steps The first step to troubleshooting any problem is getting the cause of the error. * Find KlipperScreen.log: -!!! important +!!! warning "Important" This log file should be provided if you ask for support. Depending on your setup the file could be accessible from the web interface alongside other logs Mainsail | Fluidd :-:|:-: -![m_logs](img/troubleshooting/logs_mainsail.png) | ![f_logs](img/troubleshooting/logs_fluidd.png) +![mainsail_logs](img/troubleshooting/logs_mainsail.png) | ![fluidd_logs](img/troubleshooting/logs_fluidd.png) if you can't find it in the web interface, use sftp to grab the log (for example Filezilla, WinSCP) Located at `~/printer_data/logs`or in `/tmp/` if the former doesn't exist. -If KlipperScreen.log doesn't exist, run `systemctl status KlipperScreen`
-(or `journalctl -xe -u KlipperScreen`) +## System logs -Check the file `/var/log/Xorg.0.log` where you can find issues with the X server. +If [KlipperScreen.log](#first-steps) doesn't exist: +```sh +systemctl status KlipperScreen +``` +or +```sh +journalctl -xe -u KlipperScreen +``` + +Also the Xorg log where you can find issues with the X server: +```sh +cat /var/log/Xorg.0.log +``` ## Screen shows console instead of KlipperScreen -If you see this line in the logs (`systemctl status KlipperScreen`): -```sh -xf86OpenConsole: Cannot open virtual console 2 (Permission denied) -``` -[Follow this steps](Troubleshooting/VC_ERROR.md) +![boot](img/troubleshooting/boot.png) -If you see this line in the logs (`systemctl status KlipperScreen`): -```sh -KlipperScreen-start.sh: (EE) no screens found(EE) -``` -[First check the screen](Troubleshooting/Physical_Install.md) +!!! abstract "If you see this line in the [system logs](#system-logs):" + ```sh + xf86OpenConsole: Cannot open virtual console 2 (Permission denied) + ``` + [Follow this steps](Troubleshooting/VC_ERROR.md) -[If it's not any of the above follow this steps](Troubleshooting/Showing_console.md) +!!! abstract "If you see this line in the [system logs](#system-logs):" + ```sh + xinit[948]: /usr/lib/xorg/Xorg: symbol lookup error: /usr/lib/xorg/modules/drivers/fbturbo_drv.so: undefined symbol: shadowUpdatePackedWeak + ``` + [Follow this steps](Troubleshooting/FBturbo.md) -## Screen is all white or blank or no signal +!!! abstract "If you see this line in the [system logs](#system-logs):" + ```sh + KlipperScreen-start.sh: (EE) no screens found(EE) + ``` + [First check the screen](Troubleshooting/Physical_Install.md) -If the screen never shows the console even during startup, Then it's typically an improperly installed screen, + [Maybe it's the wrong framebuffer](Troubleshooting/Framebuffer.md) -You may see this line in the logs (`systemctl status KlipperScreen`): +## Screen is always white / black / blank or no 'No signal' -```sh -KlipperScreen-start.sh: (EE) no screens found(EE) -``` +If the screen never shows the console even during startup, Then it's typically an improperly installed screen. [Follow this steps](Troubleshooting/Physical_Install.md) @@ -56,7 +71,13 @@ KlipperScreen-start.sh: (EE) no screens found(EE) ## The screen shows colors or 'No signal' when idle In KliperScreen settings find 'Screen DPMS' and turn it off. -Your screen doesn't seem to support turning off via software, the best you can do is to turn it all black. + +![dpms](img/troubleshooting/dpms.gif) + +Your screen doesn't seem to support turning off via software. + +KlipperScreen will enable an internal screensaver to make it all black, and hopefully avoid burn-in. +If you find a way of turning it off and you want to share it: [Contact](Contact.md) ## Touch issues @@ -74,4 +95,4 @@ KlipperScreen was never intended to be used with OctoPrint, and there is no supp ## Other issues If you found an issue not listed here, or can't make it work, please provide all the log files -a description of your hw, and a description of the issue when asking for support. +a description of your hw, and a description of the issue when [asking for support](Contact.md) diff --git a/docs/Troubleshooting/FBturbo.md b/docs/Troubleshooting/FBturbo.md new file mode 100644 index 00000000..970842a5 --- /dev/null +++ b/docs/Troubleshooting/FBturbo.md @@ -0,0 +1,16 @@ +# FBturbo failing with undefined symbol + +in the system [log](../Troubleshooting.md) this appears: + +!!! abstract "Log" + ```sh + xinit[948]: /usr/lib/xorg/Xorg: symbol lookup error: /usr/lib/xorg/modules/drivers/fbturbo_drv.so: undefined symbol: shadowUpdatePackedWeak + ``` + +Your system doesn't seem compatible with the FBturbo driver that you have installed + +Remove the fbturbo driver + +```sh +sudo apt purge xserver-xorg-video-fbturbo +``` diff --git a/docs/Troubleshooting/Framebuffer.md b/docs/Troubleshooting/Framebuffer.md new file mode 100644 index 00000000..79d286ce --- /dev/null +++ b/docs/Troubleshooting/Framebuffer.md @@ -0,0 +1,57 @@ +# Screen is using the wrong framebuffer + + +## LCD-show + +when using [Waveshare-LCD-show](https://github.com/waveshare/LCD-show) to install screens add `lite` at the end +to properly install the screen on the lite version of the OS. this will typically change the framebuffer + +for example: +``` +sudo ./LCD35-show lite +``` + +## Manually change the framebuffer + +If you have multiple framebuffers, you may need to fix the X11 configuration, +list the available framebuffers and check the current one: + +```sh +ls /dev/fb* +``` +!!! example "Output example" + ``` + pi@raspberrypi ~ $ ls /dev/fb* + /dev/fb0 /dev/fb1 + ``` + +!!! failure "Critical" + if you only see one, for example `/dev/fb0` then this is not the issue. Go to [Troubleshooting](../Troubleshooting.md) + +the file specifying the framebuffer could be: + +- 99-fbturbo.conf +- 99-fbusb.conf +- 99-fbdev.conf + +check if one of those or similar exist with: + +```sh +ls /usr/share/X11/xorg.conf.d/ +``` + +!!! example + you found 99-fbturbo.conf: + + ```sh + sudo nano /usr/share/X11/xorg.conf.d/99-fbturbo.conf + ``` + and the file specifies `/dev/fb0` + + since `ls /dev/fb*` returned `/dev/fb0 /dev/fb1` change it to `/dev/fb1` + + Save the file, restart KlipperScreen. + + ```sh + sudo service KlipperScreen restart + ``` diff --git a/docs/Troubleshooting/Last_resort.md b/docs/Troubleshooting/Last_resort.md index af7c5f77..3021d33d 100644 --- a/docs/Troubleshooting/Last_resort.md +++ b/docs/Troubleshooting/Last_resort.md @@ -3,9 +3,10 @@ If the screen never shows the console or bootup text during startup, Then it's typically an improperly installed screen See [Physical install issues](Physical_Install.md) +![boot](../img/troubleshooting/boot.png) + If the screen shows the bootup text, but ends in a blinking cursor or login prompt, -and no matter what you tried in the [Troubleshooting](../Troubleshooting.md) you can't make it load KlipperScreen, -then here is the last resort: +and no matter what you tried in [Troubleshooting](../Troubleshooting.md) you can't make it work, then do this: 1. Install a distro with a desktop enviromenment 2. Ensure that the screen is working properly (display and touch) diff --git a/docs/Troubleshooting/Network.md b/docs/Troubleshooting/Network.md index b44f2375..581d388a 100644 --- a/docs/Troubleshooting/Network.md +++ b/docs/Troubleshooting/Network.md @@ -1,29 +1,34 @@ # Wi-Fi networks not listed +!!! tip "First start" + The initial scan may take a couple of minutes, first be patient before assuming it's an issue + Check if network-manager is installed: -``` -dpkg -s network-manager +```bash +dpkg -s network-manager ``` if the response is the following: -``` -dpkg-query: the package `network-manager' is not installed +```bash +dpkg-query: the package 'network-manager' is not installed ``` go to [wpa_supplicant](wpa_supplicant.md) if the response is the following: -``` +```sh Package: network-manager Status: install ok installed ``` this line may appear in KlipperScreen.log: - -`[wifi_nm.py:rescan()] [...] NetworkManager.wifi.scan request failed: not authorized` +!!! abstract "Log" + ```sh + [wifi_nm.py:rescan()] [...] NetworkManager.wifi.scan request failed: not authorized + ``` in order to fix this polkit needs to be configured or disabled: diff --git a/docs/Troubleshooting/Physical_Install.md b/docs/Troubleshooting/Physical_Install.md index 13bace0b..0396de8b 100644 --- a/docs/Troubleshooting/Physical_Install.md +++ b/docs/Troubleshooting/Physical_Install.md @@ -23,6 +23,3 @@ Some screens need drivers installed the most common cases are: ### Goodtft (generic/clones) * [Goodtft Wiki](http://www.lcdwiki.com) * [repo LCD-show](https://github.com/goodtft/LCD-show) - -!!! critical - remember to add `lite` when installing. See [LCD-SHOW](Showing_console.md#lcd-show) \ No newline at end of file diff --git a/docs/Troubleshooting/Showing_console.md b/docs/Troubleshooting/Showing_console.md deleted file mode 100644 index 91ee631f..00000000 --- a/docs/Troubleshooting/Showing_console.md +++ /dev/null @@ -1,63 +0,0 @@ -# Screen shows console instead of KlipperScreen - -If the screen is connected via HDMI and the board has more than one HDMI try the other port - -## LCD-show - -when using Waveshare-LCD-show repo to install screens add `lite` at the end to properly install the screen on the lite version of the os. -This is also applicable to the old version of good-tft - -for example: -``` -sudo ./LCD35-show lite -``` - -## Using wrong framebuffer - -This is usually the result of not adding `lite` at the end of the command when installing a screen that requires LCD-show. -Follow [above](LCD-show) first if this is the case. - -If you have multiple framebuffers, you may need to fix the X11 configuration, -list the available framebuffers and check the current one: -```sh -ls /dev/fb* -``` - -If you more than one, try changing it: - -the file could be: -- 99-fbturbo.conf -- 99-fbusb.conf -- 99-fbdev.conf - -check if one of those or similar exist with: - -```sh -ls /usr/share/X11/xorg.conf.d/ -``` - -For example if 99-fbturbo.conf is there then edit it: - -```sh -sudo nano /usr/share/X11/xorg.conf.d/99-fbturbo.conf -``` - -for example: change `/dev/fb0` to `/dev/fb1` - -!!! important - do `ls /dev/fb*` as said before to check if the other fb exists do not change it blindly - -Once you have saved that file, restart KlipperScreen. -```sh -sudo service KlipperScreen restart -``` - -## FBturbo failing - -in the system log (`sudo systemctl status KlipperScreen`) this appears: - -`xinit[948]: /usr/lib/xorg/Xorg: symbol lookup error: /usr/lib/xorg/modules/drivers/fbturbo_drv.so: undefined symbol: shadowUpdatePackedWeak` - -Fix it by removing fbturbo driver - -`sudo apt purge xserver-xorg-video-fbturbo` diff --git a/docs/Troubleshooting/VC_ERROR.md b/docs/Troubleshooting/VC_ERROR.md index a8d7f5d1..20b4c0f4 100644 --- a/docs/Troubleshooting/VC_ERROR.md +++ b/docs/Troubleshooting/VC_ERROR.md @@ -1,9 +1,10 @@ # Cannot open virtual Console -If you see this line in the logs: -```sh -xf86OpenConsole: Cannot open virtual console 2 (Permission denied) -``` +If you see this line in the [log](../Troubleshooting.md): +!!! abstract "Log" + ```sh + xf86OpenConsole: Cannot open virtual console 2 (Permission denied) + ``` * Run `cat /etc/X11/Xwrapper.config` @@ -23,9 +24,16 @@ Restart KlipperScreen: sudo service KlipperScreen restart ``` -If it's still failing as a last resort add `needs_root_rights=yes` to `/etc/X11/Xwrapper.config`: +If it's still failing: + +add `needs_root_rights=yes` to `/etc/X11/Xwrapper.config`: + ```sh sudo bash -c "echo needs_root_rights=yes>>/etc/X11/Xwrapper.config" ``` -restart KS. \ No newline at end of file +Restart KlipperScreen: +```sh +sudo service KlipperScreen restart +``` + diff --git a/docs/VNC.md b/docs/VNC.md index 71e7727d..28d62a72 100644 --- a/docs/VNC.md +++ b/docs/VNC.md @@ -3,8 +3,8 @@ This article describes how to use KlipperScreen through a remote connection. !!! warning - The experience may not be equal to run KlipperScreen natively, - depending on the device and network there maybe performance degradation or other issues + The experience may not be equal to run KlipperScreen natively. + Depending on the device or the network you may encounter performance degradation or other issues. ## On the Host device (for example a Raspberry Pi): diff --git a/docs/img/troubleshooting/boot.png b/docs/img/troubleshooting/boot.png new file mode 100644 index 00000000..337499eb Binary files /dev/null and b/docs/img/troubleshooting/boot.png differ diff --git a/docs/img/troubleshooting/dpms.gif b/docs/img/troubleshooting/dpms.gif new file mode 100644 index 00000000..53059ea7 Binary files /dev/null and b/docs/img/troubleshooting/dpms.gif differ diff --git a/docs/macros.md b/docs/macros.md index ef089b11..6baa7f3c 100644 --- a/docs/macros.md +++ b/docs/macros.md @@ -1,13 +1,32 @@ -# Supported Macros +# Macros + +## Hide Macros + +Macros can be completely hidden in the interface by prefixing the name with an underscore. + +```ini +[gcode_macro MY_AWESOME_GCODE] +gcode: + _MY_HELPER_CODE + +[gcode_macro _MY_HELPER_CODE] +gcode: + M300 +``` + +`MY_AWESOME_GCODE` appears in your interface settings, but `_MY_HELPER_CODE` does not. ## Extrude Panel ### LOAD_FILAMENT / UNLOAD_FILAMENT -Load and Unload Filament macros are used in the Extrude-Panel if it is available. -The selected speed is transferred to this macro. -The following example macros show how this can be used in the macro. -```jinja +This macros are used in the Extrude panel `Load` and `Unload` buttons. + +The selected speed in the panel is transferred as a parameter. + +The following examples show how this can be used: + +```ini [gcode_macro LOAD_FILAMENT] gcode: {% set speed = params.SPEED|default(300) %} @@ -23,7 +42,7 @@ gcode: RESTORE_GCODE_STATE NAME=load_state ``` -```jinja +```ini [gcode_macro UNLOAD_FILAMENT] gcode: {% set speed = params.SPEED|default(300) %} diff --git a/mkdocs.yml b/mkdocs.yml index cc2007da..6d11e551 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -3,7 +3,7 @@ site_url: https://klipperscreen.readthedocs.io site_description: >- KlipperScreen documentation. -repo_name: jordanruthe/KlipperScreen/ +repo_name: KlipperScreen/KlipperScreen/ repo_url: https://github.com/KlipperScreen/KlipperScreen/ nav: - Home: index.md @@ -21,9 +21,10 @@ nav: - First Steps/Log: Troubleshooting.md - Network: Troubleshooting/Network.md - Physical install: Troubleshooting/Physical_Install.md - - Showing Console: Troubleshooting/Showing_console.md + - Wrong Framebuffer: Troubleshooting/Framebuffer.md - Touch: Troubleshooting/Touch_issues.md - Virtual Console Error: Troubleshooting/VC_ERROR.md + - FBturbo: Troubleshooting/FBturbo.md - Last resort: Troubleshooting/Last_resort.md - Screenshots: Panels.md - Panels: @@ -35,7 +36,6 @@ nav: - Translations.md - Breaking Changes: Changelog.md - Developers.md - - Contact.md theme: name: material