Documentation updates

This commit is contained in:
Jordan Ruthe
2020-11-22 19:27:03 -05:00
parent 3b62439939
commit 2f25ef2040
4 changed files with 90 additions and 230 deletions

View File

@@ -21,42 +21,10 @@ Current feature list:
More details to come... More details to come...
### Required Hardware ### Required Hardware
KlipperScreen should run on any HDMI touchscreen that you can connect to a raspberry pi. The required video driver may KlipperScreen should run on any HDMI touchscreen that you can connect to a computer. The required video driver may
be slightly different depending on what model you get. I am developing on a 1024x600 resolution screen. Due to this, be slightly different depending on what model you get. I am developing on a 1024x600 resolution screen. Due to this,
other resolutions may not be scaled properly at this moment. UI scaling is a future development item. other resolutions may not be scaled properly at this moment. UI scaling is a future development item.
#### Configure Hardware ### Links
[Installation](docs/Installation.md)
Add the following to _/boot/config.txt_. You can alter the hdmi_cvt to your screen specifications. This example is setup [Configuration](docs/Configuration.md)
for a resolution of 1024x600 and a refresh rate of 60hz.
```
hdmi_cvt=1024 600 60 6 0 0 0
hdmi_group=2
hdmi_mode=87
hdmi_drive=2
```
* Development has been using 1024x600 for a screen resolution. Other resolutions may have issues currently
After changing _/boot/config.txt_ you must reboot your raspberry pi. Please also ensure you followed setting up your screen via the screen instructions. This will likely have a xorg.conf.d file for input from the touchscreen that you need to create.
### Installation
Follow the instructions to install klipper and moonraker.
klipper: https://github.com/KevinOConnor/klipper/
moonraker: https://github.com/Arksine/moonraker
Ensure that 127.0.0.1 is a trusted client for moonraker, such as in this example:
```
[authorization]
trusted_clients:
127.0.0.1
```
For moonraker, ensure that 127.0.0.1 is a trusted client:
Run _scripts/KlipperScreen-install.sh_
This script will install packages that are listed under manual install, create a
python virtual environment at ${HOME}/.KlipperScreen-env and install a systemd
service file.
As an option to do development or interact with KlipperScreen from your computer, you may install tigervnc-scraping-server and VNC to your pi instance. Follow tigervnc server setup procedures for details on how to do that.

View File

@@ -1,207 +1,59 @@
# Configuration # Configuration
In the KlipperScreen folder, a file _KlipperScreen.config_ allows for configuration of the screen. The configuration In the KlipperScreen folder, a file _KlipperScreen.conf_ allows for configuration of the screen. This document will detail how to configure KlipperScreen. A default config is included here: [ks_includes/KlipperScreen.conf](ks_includes/KlipperScreen.conf)
file is a json formatted file. There are three main options to configure.
```
{
"preheat_options",
"mainmenu",
"printmenu"
}
```
## Preheat Options ## Preheat Options
Under preheat options, you may specify pre-defined temperatures for easy warmup. Each material should be formatted as
follows:
``` ```
"Material": { [preheat my_temp_setting]
"tool": 195, # Temperature for the heated bed
"bed": 40 bed: 40
} # Temperature for the tools
``` extruder: 195
Tool is the extruder temperature, bed is the heated bed temperature. An example configuration for PLA and abs would be
like this:
```
"preheat_options": {
"PLA": {
"tool": 195,
"bed": 40
},
"ABS":{
"tool": 220,
"bed": 90
}
}
``` ```
## Main menu ## Menu
This allows a custom configuration for the menu displayed while the printer is idle. You can use sub-menus to group This allows a custom configuration for the menu displayed while the printer is idle. You can use sub-menus to group
different items and there are several panel options available. It is possible to have a gcode script run on a menu different items and there are several panel options available. It is possible to have a gcode script run on a menu
button press. button press. There are two menus available in KlipperScreen, __main and __print. The __main menu is displayed while the
printer is idle. The __print menu is accessible from the printing status page.
Available panels: Available panels are listed here: [docs/panels.md](panels.md)
* bed_level: Manual bed level
* extrude: Controls for extrusion
* fan: Controls fan speed
* finetune: Controls for fine-tuning print settings such as z-babystepping or extrustion rate
* menu: Allows for a sub-menu
* move: Controls the print head
* network: Network information panel
* preheat: Preheat bed/tools
* system: System information panel
* temperature: Controls temperature settings
* zcalibrate: Calibrating a probe
A menu item is configured as follows: A menu item is configured as follows:
``` ```
{ [menu __main my_menu_item]
"name": "Name displayed", # To build a sub-menu of this menu item, you would next use [menu __main my_menu_item sub_menu_item]
"icon": "file name from icons folder", name: Item Name
"panel": "panel from above options", icon: home
# Optional parameters # Optional Parameters
"items": [] # Items for a submenu # Panel from the panels listed below
"method": "printer.gcode.script" # Moonraker method for a request panel: preheat
"params": {} # Parameters for the moonraker method # Moonraker method to call when the item is selected
} method: printer.gcode.script
# Parameters that would be passed with the method above
params: {"script":"G28 X"}
``` ```
A sample configuration of a main menu would be as follows: A sample configuration of a main menu would be as follows:
``` ```
"mainmenu": [ [menu __main homing]
{ name: Homing
"name": "Homing", icon: home
"icon": "home",
"panel": "menu",
"items": [
{
"name": "Home All",
"icon": "home",
"method": "printer.gcode.script",
"params": {"script": "G28"}
},
{
"name": "Home X",
"icon": "home-x",
"method": "printer.gcode.script",
"params": {"script": "G28 X"}
},
{
"name": "Home Y",
"icon": "home-y",
"method": "printer.gcode.script",
"params": {"script": "G28 Y"}
},
{
"name": "Home Z",
"icon": "home-z",
"method": "printer.gcode.script",
"params": {"script": "G28 Z"}
}
]
},
{
"name": "Preheat",
"icon": "heat-up",
"panel": "preheat"
},
{
"name": "Actions" ,
"icon": "actions",
"panel": "menu",
"items": [
{
"name": "Move",
"icon": "move",
"panel": "move"
},
{
"name": "Extrude",
"icon": "filament",
"panel": "extrude"
},
{
"name": "Fan",
"icon": "fan",
"panel": "fan"
},
{
"name": "Temperature",
"icon": "heat-up",
"panel": "temperature"
},
{
"name": "Disable Motors",
"icon": "motor-off",
"method": "printer.gcode.script",
"params": {"script": "M18"},
}
]
},
{
"name": "Configuration",
"icon": "control",
"panel": "menu",
"items": [
{
"name": "Bed Level",
"icon": "bed-level",
"panel": "bed_level"
},
{
"name": "ZOffsets",
"icon": "z-offset-increase",
"panel": "zcalibrate"
},
{
"name": "Network",
"icon": "network",
"panel": "network"
},
{
"name": "System",
"icon": "info",
"panel": "system"
}
]
},
{
"name": "Print",
"icon": "print",
"panel": "print"
}
]
```
## Print menu [menu __main preheat]
The print menu controls items that are available during a print job. Certain panels, such as movement or homing, are name: Preheat
panels that shouldn't be displayed during a print as they could cause print errors. A default configuration is below: icon: heat-up
panel: preheat
``` [menu __main print]
"printmenu": [ name: Print
{ icon: print
"name": "Temperature", panel: print
"icon": "heat-up",
"panel": "temperature" [menu __main homing homeall]
}, name: Home All
{ icon: home
"name": "Tuning", method: printer.gcode.script
"icon": "fan", params: {"script":"G28"}
"panel": "finetune"
},
{
"name": "Network",
"icon": "network",
"panel": "network"
},
{
"name": "System",
"icon": "info",
"panel": "system"
},
{
"name": "Extrude",
"icon": "filament",
"panel": "extrude"
}
]
``` ```

40
docs/Installation.md Normal file
View File

@@ -0,0 +1,40 @@
### Required Hardware
KlipperScreen should run on any HDMI touchscreen that you can connect to a computer. The required video driver may
be slightly different depending on what model you get. I am developing on a 1024x600 resolution screen. Due to this,
other resolutions may not be scaled properly at this moment. UI scaling is a future development item.
#### Configure Hardware
Add the following to _/boot/config.txt_. You can alter the hdmi_cvt to your screen specifications. This example is setup
for a resolution of 1024x600 and a refresh rate of 60hz.
```
hdmi_cvt=1024 600 60 6 0 0 0
hdmi_group=2
hdmi_mode=87
hdmi_drive=2
```
* Development has been using 1024x600 for a screen resolution. Other resolutions may have issues currently
After changing _/boot/config.txt_ you must reboot your raspberry pi. Please also ensure you followed setting up your screen via the screen instructions. This will likely have a xorg.conf.d file for input from the touchscreen that you need to create.
### Installation
Follow the instructions to install klipper and moonraker.
klipper: https://github.com/KevinOConnor/klipper/
moonraker: https://github.com/Arksine/moonraker
Ensure that 127.0.0.1 is a trusted client for moonraker, such as in this example:
```
[authorization]
trusted_clients:
127.0.0.1
```
For moonraker, ensure that 127.0.0.1 is a trusted client:
Run _scripts/KlipperScreen-install.sh_
This script will install packages that are listed under manual install, create a
python virtual environment at ${HOME}/.KlipperScreen-env and install a systemd
service file.
As an option to do development or interact with KlipperScreen from your computer, you may install tigervnc-scraping-server and VNC to your pi instance. Follow tigervnc server setup procedures for details on how to do that.

View File

@@ -10,22 +10,22 @@
* [Temperature](#temperature) * [Temperature](#temperature)
### Main Menu ### Main Menu
![Main Menu](/docs/img/main_panel.png) ![Main Menu](img/main_panel.png)
### Bed Level ### Bed Level
![Bed Level](/docs/img/bedlevel.png) ![Bed Level](img/bedlevel.png)
### Extrude ### Extrude
![Extrude](/docs/img/extrude.png) ![Extrude](img/extrude.png)
### Fan ### Fan
![Fan](/docs/img/fan.png) ![Fan](img/fan.png)
### Move ### Move
![Move Panel](/docs/img/move.png) ![Move Panel](img/move.png)
### Preheat ### Preheat
![Preheat Panel](/docs/img/preheat.png) ![Preheat Panel](img/preheat.png)
### Temperature ### Temperature
![Temperature](/docs/img/temperature.png) ![Temperature](img/temperature.png)