Giter VIP home page Giter VIP logo

klipperscreen's Introduction

KlipperScreen

KlipperScreen is a touchscreen GUI that interfaces with Klipper via Moonraker. It can switch between multiple printers to access them from a single location, and it doesn't even need to run on the same host, you can install it on another device and configure the IP address to access the printer.

Documentation

Click here to access the documentation.

Inspiration

KlipperScreen was inspired by OctoScreen and the need for a touchscreen GUI that will natively work with Klipper and Moonraker.

Main Menu

More Screenshots

Translations Translation status

Translations are hosted on Weblate, Thanks to the Weblate team for supporting the Open-Source community.

Click the widget below to access the translation platform:

Weblate widget

About the project

KlipperScreen has been created and maintained by Jordan Ruthe from 2020 to 2021

Donate to Jordan
Patreon
Ko-fi

The current maintainer is Alfredo Monclus (alfrix) from 2021 onwards

Dontate to Alfrix
Ko-fi

thanks to all the people who helped along the way.

Contributors

Sponsors

LDO

Thank you LDO for sponsoring KlipperScreen and the open source community.

klipperscreen's People

Contributors

alfrix avatar antoszhun avatar apolkosnik avatar blondak avatar camerony avatar ckvsoft avatar daviteusz avatar dependabot[bot] avatar elektrickser avatar emjay276 avatar humbledeer avatar jordanruthe avatar kageurufu avatar komandrik avatar lordgaav avatar mikkogozalo avatar northcoastam avatar pappicio avatar pethical avatar randellhodges avatar samuel-0-0 avatar schpuntik avatar srbjessen avatar technical50 avatar thetic avatar thijstriemstra avatar vacapetr avatar vasilyev81 avatar weblate avatar xeroxxx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

klipperscreen's Issues

KlipperScreen does not recover from a save config

After doing a save config in KlipperScreen it restarts Klipper but then gets stuck on the "klipper has shutdown" screen. Klipper is back up and I can see everything is fine in mainsail. The logs from moonraker and from klipper seem find and working. Only KlipperScreen is stuck and won't run correctly unless I stop the service and start it again.

I've included the klippy.log and KlipperScreen.log and a picture of the image I am stuck on. I can also put the moonraker.log file if it helps but it is 40M in size.

IMG_1793
KlipperScreen.log
klippy.log

Difficulty with install scripts

First of all I would love to say that your work looks amaizing for the raspi gurus that can get it installed and operating. If its not too much to ask, Can you make these instructions a little more novice friendly? I want to use it on my Voron badly but I just can't get it to boot up automaticaly.

Last command showing up on my pi is 6.557421] systemd[1]: listening on udev Kernel Socket

pi@mainsailos:~ $ ls
CanSerial klipper_config LCD-show moonraker
gcode_files KlipperScreen mainsail moonraker-env
klipper klippy-env mjpg-streamer
pi@mainsailos:~ $

It is installed

gcode files in subdirectory not parsing correctly

If you create a sub-directory in ~/sdcard/ and place some gcode files in it, the gcode thumbnail as well as the estimated print time do not parse.

Also some of those files won't allow you to start the print from them.

the print screen does not display the newly recorded gcode

hi, the print screen does not show the newly uploaded gcode. The restore button on the screen does not work. The service must be restarted "sudo systemctl restart KlipperScreen.service". Additionally, the uploaded file does not match. it shows me 50 years ago.

unable to build wheel for vext.gi (setup.py)

Hello,

if I try to install KlipperScreen via your script, I get an Error and later on, it does not start.

Requirement already satisfied: ruamel.yaml.clib>=0.1.2 in /home/pi/.KlipperScreen-env/lib/python3.7/site-packages (from ruamel.yaml>=0.11.10->vext>=0.7.4->vext.gi==0.7.4) (0.2.2)
Building wheels for collected packages: vext.gi
  Building wheel for vext.gi (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: /home/pi/.KlipperScreen-env/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-o9j192_d/vext-gi_d1926f5bfb3a4624aed5f199a9da5edf/setup.py'"'"'; __file__='"'"'/tmp/pip-install-o9j192_d/vext-gi_d1926f5bfb3a4624aed5f199a9da5edf/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-3vu2uav1
       cwd: /tmp/pip-install-o9j192_d/vext-gi_d1926f5bfb3a4624aed5f199a9da5edf/
  Complete output (29 lines):
  running bdist_wheel
  running build
  installing to build/bdist.linux-armv7l/wheel
  running install
  vext.gi Install
  running install_data
  creating build
  creating build/bdist.linux-armv7l
  creating build/bdist.linux-armv7l/wheel
  creating build/bdist.linux-armv7l/wheel/vext.gi-0.7.4.data
  creating build/bdist.linux-armv7l/wheel/vext.gi-0.7.4.data/data
  creating build/bdist.linux-armv7l/wheel/vext.gi-0.7.4.data/data/share
  creating build/bdist.linux-armv7l/wheel/vext.gi-0.7.4.data/data/share/vext
  creating build/bdist.linux-armv7l/wheel/vext.gi-0.7.4.data/data/share/vext/specs
  copying gi.vext -> build/bdist.linux-armv7l/wheel/vext.gi-0.7.4.data/data/share/vext/specs
  running install_egg_info
  running egg_info
  writing vext.gi.egg-info/PKG-INFO
  writing dependency_links to vext.gi.egg-info/dependency_links.txt
  writing requirements to vext.gi.egg-info/requires.txt
  writing top-level names to vext.gi.egg-info/top_level.txt
  reading manifest file 'vext.gi.egg-info/SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  warning: no files found matching '*.txt'
  writing manifest file 'vext.gi.egg-info/SOURCES.txt'
  Copying vext.gi.egg-info to build/bdist.linux-armv7l/wheel/vext.gi-0.7.4-py3.7.egg-info
  running install_scripts
  Install vext files:
  error: [Errno 2] No such file or directory: 'vext': 'vext'
  ----------------------------------------
  ERROR: Failed building wheel for vext.gi
  Running setup.py clean for vext.gi
Failed to build vext.gi
Installing collected packages: vext.gi
    Running setup.py install for vext.gi ... error
    ERROR: Command errored out with exit status 1:
     command: /home/pi/.KlipperScreen-env/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-o9j192_d/vext-gi_d1926f5bfb3a4624aed5f199a9da5edf/setup.py'"'"'; __file__='"'"'/tmp/pip-install-o9j192_d/vext-gi_d1926f5bfb3a4624aed5f199a9da5edf/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-ij0sl130/install-record.txt --single-version-externally-managed --compile --install-headers /home/pi/.KlipperScreen-env/include/site/python3.7/vext.gi
         cwd: /tmp/pip-install-o9j192_d/vext-gi_d1926f5bfb3a4624aed5f199a9da5edf/
    Complete output (22 lines):
    running install
    vext.gi Install
    running build
    running install_data
    creating /home/pi/.KlipperScreen-env/share/vext
    creating /home/pi/.KlipperScreen-env/share/vext/specs
    copying gi.vext -> /home/pi/.KlipperScreen-env/share/vext/specs
    running install_egg_info
    running egg_info
    writing vext.gi.egg-info/PKG-INFO
    writing dependency_links to vext.gi.egg-info/dependency_links.txt
    writing requirements to vext.gi.egg-info/requires.txt
    writing top-level names to vext.gi.egg-info/top_level.txt
    reading manifest file 'vext.gi.egg-info/SOURCES.txt'
    reading manifest template 'MANIFEST.in'
    warning: no files found matching '*.txt'
    writing manifest file 'vext.gi.egg-info/SOURCES.txt'
    Copying vext.gi.egg-info to /home/pi/.KlipperScreen-env/lib/python3.7/site-packages/vext.gi-0.7.4-py3.7.egg-info
    running install_scripts
    writing list of installed files to '/tmp/pip-record-ij0sl130/install-record.txt'
    Install vext files:
    error: [Errno 2] No such file or directory: 'vext': 'vext'
    ----------------------------------------
ERROR: Command errored out with exit status 1: /home/pi/.KlipperScreen-env/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-o9j192_d/vext-gi_d1926f5bfb3a4624aed5f199a9da5edf/setup.py'"'"'; __file__='"'"'/tmp/pip-install-o9j192_d/vext-gi_d1926f5bfb3a4624aed5f199a9da5edf/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-ij0sl130/install-record.txt --single-version-externally-managed --compile --install-headers /home/pi/.KlipperScreen-env/include/site/python3.7/vext.gi Check the logs for full command output.
Installing KlipperScreen unit file
Created symlink /etc/systemd/system/multi-user.target.wants/KlipperScreen.service → /etc/systemd/system/KlipperScreen.service.
Updating X11 configuration

After the reboot, the screen flashes Black or command promt every 1-2 seconds.

If I try to rerun your script, the error message is gone but the screen flashes again.

I used the newest version of mainsailOS with the latest updates on a RPi3b, with this display.

Greetings Minnten

Should have a KlipperScreen restart button on the klipper disconnected screen

On a few occasions I've had KlipperScreen disconnect from klipper and show the "Klipper has disconnected" screen. I need to send a log of this time since it never reconnected after I just did a Klipper restart from Fluidd. So I know my Klipper is running but KlipperScreen is stuck on this screen. My only options are Restart which I'm assuming means kipper restart and Firmware restart.
I'm now stuck logging into my PI and restarting KlipperScreen or possibly restarting Moonraker. Or I can shut it down and restart the whole system.
This screen instead should have the extra option of restarting Moonraker or more importantly restarting KlipperScreen. This would just do the simple service stop and service start on KlipperScreen (or Moonraker) which would allow an easier recovery of my control screen.

Won't start if username differs from 'pi'

User in /etc/systemd/system/KlipperScreen.service was set to pi, but my username was hevo. This caused the service start to fail:

rpi3-3d-hevo systemd[1]: Failed to start KlipperScreen.
rpi3-3d-hevo systemd[1857]: KlipperScreen.service: Failed to determine user credentials: No such process
rpi3-3d-hevo systemd[1857]: KlipperScreen.service: Failed at step USER spawning /home/hevo/KlipperScreen/scripts/disablescreenblank.sh: No such process

Or this error message, after successfull installation:

error: [Errno 2] No such file or directory: 'vext'
Job for KlipperScreen.service failed because the control process exited with error code.
See "systemctl status KlipperScreen.service" and "journalctl -xe" for details.

Changing it to the correct username fixed it.

Any g-code or macro disconnects Klipperscreen

Hello,

so i recently installed KlipperScreen on my Voron and run into an issue.
After i start or restart Klipper Klipperscreen boots ok into the main screen. BUT after i run any command (g-code or macro) it disconnects from Klipper and shows me on-screen message "Klipper has shutdown". Even it further runs without any issue on Mainsail.

I run following firmware:

  • Klipper v0.9.1-161
  • Moonraker v0.2.8-32
  • Mainsail v1.0.0

No Job Status Screen

KlipperScreen.log
Hi,

first of - thanks a lot for your work and for sharing the results!
I use your solution for the printer I currently build.

I have an issue though. When I start a print the display doesn't switch to the job status.

Possible causes - in case this is not an issue with the software:

  • I use a 800*600 display (works fine)
  • I have not yet connected any heaters nor do I extrude filament. I just use X/Y axis test code. (move to 0,0 -> move to 300,300 -> repeat)
  • I use mainsail in parallel^
  • I installed using the KIAUH script. Current KlipperScreen verison is 0.1.2-58

Any idea on what might be wrong?

Screen goes black and won't wake

7" HDMI panel. There is no menu on it to set screen saver time so this must be happening external to it. After just a few minutes the KlipperScreen goes black and won't redisplay until I turn the panel off, on and then press on again. The first time I turn on I see the RPi log and then an "Input not Found" error, the second On press activates KlipperScreen. Is there a config somewhere to completely disable this time out?

error requirements.txt

Hello I copied the scripts to the scripts folder and with the command
. /home/pi/klipper/scripts/KlipperScreen-install.sh

I install it everything is ok at the beginning then at the end I have an error, I tried again and always the same.

But a then end i got this message

. /home/pi/klipper/scripts/KlipperScreen-install.sh
dirname: invalid option -- 'b'
Try 'dirname --help' for more information.
Update package data
Hit:1 http://raspbian.raspberrypi.org/raspbian buster InRelease
Hit:2 http://archive.raspberrypi.org/debian buster InRelease
Reading package lists... Done
Building dependency tree
Reading state information... Done
57 packages can be upgraded. Run 'apt list --upgradable' to see them.
Installing package dependencies
Reading package lists... Done
Building dependency tree
Reading state information... Done
python3-distutils is already the newest version (3.7.3-1).
python3-gi is already the newest version (3.30.4-1).
python3-gi-cairo is already the newest version (3.30.4-1).
python3-virtualenv is already the newest version (15.1.0+ds-2).
virtualenv is already the newest version (15.1.0+ds-2).
xinit is already the newest version (1.4.0-1).
xinput is already the newest version (1.6.2-1).
gir1.2-gtk-3.0 is already the newest version (3.24.5-1+rpt2).
x11-xserver-utils is already the newest version (7.7+8+rpi1).
xserver-xorg-video-fbturbo is already the newest version (1.20190107~114053).
0 upgraded, 0 newly installed, 0 to remove and 57 not upgraded.
Creating virtual environment
ERROR: Could not open requirements file: [Errno 2] No such file or directory: '/home/pi/scripts/KlipperScreen-requirements.txt'
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already satisfied: vext.gi==0.7.4 in ./.KlipperScreen-env/lib/python3.7/site-packages (0.7.4)
Requirement already satisfied: vext>=0.7.4 in ./.KlipperScreen-env/lib/python3.7/site-packages (from vext.gi==0.7.4) (0.7.4)
Requirement already satisfied: ruamel.yaml>=0.11.10 in ./.KlipperScreen-env/lib/python3.7/site-packages (from vext>=0.7.4->vext.gi==0.7.4) (0.16.12)
Requirement already satisfied: ruamel.yaml.clib>=0.1.2 in ./.KlipperScreen-env/lib/python3.7/site-packages (from ruamel.yaml>=0.11.10->vext>=0.7.4->vext.gi==0.7.4) (0.2.2)
Installing KlipperScreen unit file
-bash: /home/pi/KlipperScreen.service: No such file or directory
The unit files have no installation config (WantedBy=, RequiredBy=, Also=,
Alias= settings in the [Install] section, and DefaultInstance= for template
units). This means they are not meant to be enabled using systemctl.

Possible reasons for having this kind of units are:
• A unit may be statically enabled by being symlinked from another unit's
  .wants/ or .requires/ directory.
• A unit's purpose may be to act as a helper for some other unit which has
  a requirement dependency on it.
• A unit may be started when needed via activation (socket, path, timer,
  D-Bus, udev, scripted systemctl call, ...).
• In case of template units, the unit is meant to be enabled with some
  instance name specified.
Updating X11 configuration
Failed to start KlipperScreen.service: Unit KlipperScreen.service has a bad unit file setting.
See system logs and 'systemctl status KlipperScreen.service' for details.

Installation unable to take control of the screen

I've installed KlipperScreen but the service log files indicates it is unable to take control of the screen. I have tried running it with an auto log-in raspbian setup or with-out auto log in or with start up with no UI. In all cases it is unable to display. With no auto log-in the log file indicates:

Oct 26 10:55:02 raspberrypi xinit[766]: #011and start again.
Oct 26 10:55:02 raspberrypi xinit[766]: (EE)
Oct 26 10:55:02 raspberrypi xinit[766]: (EE)
Oct 26 10:55:02 raspberrypi xinit[766]: Please consult the The X.Org Foundation support
Oct 26 10:55:02 raspberrypi xinit[766]: #11 at http://wiki.x.org
Oct 26 10:55:02 raspberrypi xinit[766]: for help.
Oct 26 10:55:02 raspberrypi xinit[766]: (EE)
Oct 26 10:55:17 raspberrypi xinit[766]: Invalid MIT-MAGIC-COOKIE-1 key/usr/bin/xinit: giving up
Oct 26 10:55:17 raspberrypi xinit[766]: /usr/bin/xinit: unable to connect to X server: Resource temporarily unavailable
Oct 26 10:55:17 raspberrypi xinit[766]: /usr/bin/xinit: server error
Oct 26 10:55:17 raspberrypi systemd[1]: KlipperScreen.service: Main process exited, code=exited, status=1/FAILURE
Oct 26 10:55:17 raspberrypi systemd[1]: KlipperScreen.service: Failed with result 'exit-code'.
Oct 26 10:55:18 raspberrypi systemd[1]: KlipperScreen.service: Service RestartSec=1s expired, scheduling restart.
Oct 26 10:55:18 raspberrypi systemd[1]: KlipperScreen.service: Scheduled restart job, restart counter is at 14.
Oct 26 10:55:18 raspberrypi systemd[1]: Stopped KlipperScreen.
Oct 26 10:55:18 raspberrypi systemd[1]: Started KlipperScreen.
Oct 26 10:55:18 raspberrypi xinit[768]: (EE)
Oct 26 10:55:18 raspberrypi xinit[768]: Fatal server error:
Oct 26 10:55:18 raspberrypi xinit[768]: (EE) Server is already active for display 0
Oct 26 10:55:18 raspberrypi xinit[768]: #011If this server is no longer running, remove /tmp/.X0-lock

KlipperScreen says it encountered an error

Heya,

I updated to latest version and it seems after Homing all axis KlipperScreen stops to work with this message:

image

Going to the WebUI everything is working and printer is still printing...
image

incomplete setup on RPI4 (with KIAUH)

Unsuccessful installation on Rpi4 2GB RaspbianOS 32bit LITE.
During installation, I get the error -log below:

(from ruamel.yaml>=0.11.10->vext>=0.7.4->vext.gi==0.7.4) (0.2.2)
Building wheels for collected packages: vext.gi
  Building wheel for vext.gi (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: /home/pi/.KlipperScreen-env/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-6h7gzwgs/vext-gi_0a516d6aeca54762b34c2627c4a523aa/setup.py'"'"'; __file__='"'"'/tmp/pip-install-6h7gzwgs/vext-gi_0a516d6aeca54762b34c2627c4a523aa/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-1ukti3ot
       cwd: /tmp/pip-install-6h7gzwgs/vext-gi_0a516d6aeca54762b34c2627c4a523aa/
  Complete output (29 lines):
  running bdist_wheel
  running build
  installing to build/bdist.linux-armv7l/wheel
  running install
  vext.gi Install
  running install_data
  creating build
  creating build/bdist.linux-armv7l
  creating build/bdist.linux-armv7l/wheel
  creating build/bdist.linux-armv7l/wheel/vext.gi-0.7.4.data
  creating build/bdist.linux-armv7l/wheel/vext.gi-0.7.4.data/data
  creating build/bdist.linux-armv7l/wheel/vext.gi-0.7.4.data/data/share
  creating build/bdist.linux-armv7l/wheel/vext.gi-0.7.4.data/data/share/vext
  creating build/bdist.linux-armv7l/wheel/vext.gi-0.7.4.data/data/share/vext/specs
  copying gi.vext -> build/bdist.linux-armv7l/wheel/vext.gi-0.7.4.data/data/share/vext/specs
  running install_egg_info
  running egg_info
  writing vext.gi.egg-info/PKG-INFO
  writing dependency_links to vext.gi.egg-info/dependency_links.txt
  writing requirements to vext.gi.egg-info/requires.txt
  writing top-level names to vext.gi.egg-info/top_level.txt
  reading manifest file 'vext.gi.egg-info/SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  warning: no files found matching '*.txt'
  writing manifest file 'vext.gi.egg-info/SOURCES.txt'
  Copying vext.gi.egg-info to build/bdist.linux-armv7l/wheel/vext.gi-0.7.4-py3.7.egg-info
  running install_scripts
  Install vext files:
  error: [Errno 2] No such file or directory: 'vext': 'vext'
  ----------------------------------------
  ERROR: Failed building wheel for vext.gi
  Running setup.py clean for vext.gi
Failed to build vext.gi
Installing collected packages: vext.gi
    Running setup.py install for vext.gi ... error
    ERROR: Command errored out with exit status 1:
     command: /home/pi/.KlipperScreen-env/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-6h7gzwgs/vext-gi_0a516d6aeca54762b34c2627c4a523aa/setup.py'"'"'; __file__='"'"'/tmp/pip-install-6h7gzwgs/vext-gi_0a516d6aeca54762b34c2627c4a523aa/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-h59t69wr/install-record.txt --single-version-externally-managed --compile --install-headers /home/pi/.KlipperScreen-env/include/site/python3.7/vext.gi
         cwd: /tmp/pip-install-6h7gzwgs/vext-gi_0a516d6aeca54762b34c2627c4a523aa/
    Complete output (22 lines):
    running install
    vext.gi Install
    running build
    running install_data
    creating /home/pi/.KlipperScreen-env/share/vext
    creating /home/pi/.KlipperScreen-env/share/vext/specs
    copying gi.vext -> /home/pi/.KlipperScreen-env/share/vext/specs
    running install_egg_info
    running egg_info
    writing vext.gi.egg-info/PKG-INFO
    writing dependency_links to vext.gi.egg-info/dependency_links.txt
    writing requirements to vext.gi.egg-info/requires.txt
    writing top-level names to vext.gi.egg-info/top_level.txt
    reading manifest file 'vext.gi.egg-info/SOURCES.txt'
    reading manifest template 'MANIFEST.in'
    warning: no files found matching '*.txt'
    writing manifest file 'vext.gi.egg-info/SOURCES.txt'
    Copying vext.gi.egg-info to /home/pi/.KlipperScreen-env/lib/python3.7/site-packages/vext.gi-0.7.4-py3.7.egg-info
    running install_scripts
    writing list of installed files to '/tmp/pip-record-h59t69wr/install-record.txt'
    Install vext files:
    error: [Errno 2] No such file or directory: 'vext': 'vext'
    ----------------------------------------
ERROR: Command errored out with exit status 1: /home/pi/.KlipperScreen-env/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-6h7gzwgs/vext-gi_0a516d6aeca54762b34c2627c4a523aa/setup.py'"'"'; __file__='"'"'/tmp/pip-install-6h7gzwgs/vext-gi_0a516d6aeca54762b34c2627c4a523aa/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-h59t69wr/install-record.txt --single-version-externally-managed --compile --install-headers /home/pi/.KlipperScreen-env/include/site/python3.7/vext.gi Check the logs for full command output.
Installing KlipperScreen unit file
Updating X11 configuration

Print progress screen not updating.

When a print is complete. The progress screen while printing does not reset. When you restart a new print it shows the progress of the last completed print.

[FR] - different main screen layout on bigger screens

Hi,
First of all - Thank you for your great work for this app :)

Given the below 7" touch screen (1024x600).
0.
It would be nice, if the GUI itself could reload it's config file (either by a button which is always on the screen or if it detects when the file is changed) - it would be good for testing different menu layout modifications without restarting the service
1.
I feel the left half of the main screen is wasted with just the temperatures are sitting there.
Instead, what I would like to do:

  • to be able to hide the temperature buttons or make them quite small, even move them to like a statusbar/titlebar part of the screen
  • place instead (several) smaller simple, clickable buttons (just like Homing, Preheat, etc but smaller sized, customizable, with/without icon/text)
  • maybe customization option for button size, position (absolute/relative on the current screen)
  • connect these buttons to klipper macros / OS (linux) commands (for example, I could call a linux bash script if I would like to, not kist macro/gcode)
  • to be able to define this structure in the Klipperscreen config file just like we can the current menu structure with possiblity of cusomizeable standard dialogs, like "Are you sure you want to prime the nozzle? Yes/No" and similar. Just similar your current Config Save section below:
[menu __main config save]
name: {{ gettext('Save Config') }}
icon: complete
method: printer.gcode.script
params: {"script":"SAVE_CONFIG"}
confirm:
    {{ gettext('Save configuration.') }}
    {{ gettext('Klipper will reboot') }}

7_inch_htmi

+1: If KlipperScreen is installed beside for example MainSailOS, most of the config files resides in /home//config_klipper directory. You might consider in your installation to either automatically link there your config file or make it possible during installation to select the actually used config directory.
Or if you would implement [include extra-config.cfg] logic in your config file (like klipper's config file), we could create the customization in different directory than KlipperScreen's own dir.

Thanks a lot in advance!

CantKlipperScreen.service: Failed to execute command: No such file or directory

I updated my KlipperScreen by downloading the latest version using a clone command. Then ran the installation script which ended with the following message:

Updating X11 configuration
Job for KlipperScreen.service failed because the control process exited with error code.
See "systemctl status KlipperScreen.service" and "journalctl -xe" for details.

When I run systemctl I get this message:

● KlipperScreen.service - KlipperScreen
Loaded: loaded (/etc/systemd/system/KlipperScreen.service; enabled; vendor preset: enabled)
Active: activating (start-post) (Result: exit-code) since Sun 2020-11-15 11:09:23 PST; 6s ago
Process: 863 ExecStart=/usr/bin/xinit /home/pi/.KlipperScreen-env/bin/python /home/pi/KlipperScreen/screen.py (code=exited, status=203/EXEC
Main PID: 863 (code=exited, status=203/EXEC); Control PID: 864 (disablescreenbl)
Tasks: 2 (limit: 4915)
CGroup: /system.slice/KlipperScreen.service
├─864 /bin/bash /home/pi/KlipperScreen/scripts/disablescreenblank.sh
└─865 sleep 15

Nov 15 11:09:23 raspberrypi systemd[1]: Starting KlipperScreen...
Nov 15 11:09:23 raspberrypi systemd[863]: KlipperScreen.service: Failed to execute command: No such file or directory
Nov 15 11:09:23 raspberrypi systemd[863]: KlipperScreen.service: Failed at step EXEC spawning /usr/bin/xinit: No such file or directory
Nov 15 11:09:23 raspberrypi systemd[1]: KlipperScreen.service: Main process exited, code=exited, status=203/EXEC

Feature request: Operating System Reboot/poweroff Button

Sometimes I loose network on my printer(s). but with no keyboard or mouse it would be useful to powerdown/reboot the whole system. Due to my waveshare display the GPIO-pin to reboot is not accessable to install a switch there.
So a touch menu entry would be very nice..

Installation Fails

Heya,

just run your script after a git clone to install your KlipperScreen.
It returns the following. Is there a fix?

  Building wheel for vext.gi (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: /root/.KlipperScreen-env/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-8tgs5uvr/vext-gi_7b15bbdfbf054ca4a53aea893eb54224/setup.py'"'"'; __file__='"'"'/tmp/pip-install-8tgs5uvr/vext-gi_7b15bbdfbf054ca4a53aea893eb54224/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-pitomfw3
       cwd: /tmp/pip-install-8tgs5uvr/vext-gi_7b15bbdfbf054ca4a53aea893eb54224/
  Complete output (29 lines):
  running bdist_wheel
  running build
  installing to build/bdist.linux-armv7l/wheel
  running install
  vext.gi Install
  running install_data
  creating build
  creating build/bdist.linux-armv7l
  creating build/bdist.linux-armv7l/wheel
  creating build/bdist.linux-armv7l/wheel/vext.gi-0.7.4.data
  creating build/bdist.linux-armv7l/wheel/vext.gi-0.7.4.data/data
  creating build/bdist.linux-armv7l/wheel/vext.gi-0.7.4.data/data/share
  creating build/bdist.linux-armv7l/wheel/vext.gi-0.7.4.data/data/share/vext
  creating build/bdist.linux-armv7l/wheel/vext.gi-0.7.4.data/data/share/vext/specs
  copying gi.vext -> build/bdist.linux-armv7l/wheel/vext.gi-0.7.4.data/data/share/vext/specs
  running install_egg_info
  running egg_info
  writing vext.gi.egg-info/PKG-INFO
  writing dependency_links to vext.gi.egg-info/dependency_links.txt
  writing requirements to vext.gi.egg-info/requires.txt
  writing top-level names to vext.gi.egg-info/top_level.txt
  reading manifest file 'vext.gi.egg-info/SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  warning: no files found matching '*.txt'
  writing manifest file 'vext.gi.egg-info/SOURCES.txt'
  Copying vext.gi.egg-info to build/bdist.linux-armv7l/wheel/vext.gi-0.7.4-py3.7.egg-info
  running install_scripts
  Install vext files:
  error: [Errno 2] No such file or directory: 'vext': 'vext'
  ----------------------------------------
  ERROR: Failed building wheel for vext.gi
  Running setup.py clean for vext.gi
Failed to build vext.gi
Installing collected packages: vext.gi
    Running setup.py install for vext.gi ... error
    ERROR: Command errored out with exit status 1:
     command: /root/.KlipperScreen-env/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-8tgs5uvr/vext-gi_7b15bbdfbf054ca4a53aea893eb54224/setup.py'"'"'; __file__='"'"'/tmp/pip-install-8tgs5uvr/vext-gi_7b15bbdfbf054ca4a53aea893eb54224/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-587refqp/install-record.txt --single-version-externally-managed --compile --install-headers /root/.KlipperScreen-env/include/site/python3.7/vext.gi
         cwd: /tmp/pip-install-8tgs5uvr/vext-gi_7b15bbdfbf054ca4a53aea893eb54224/
    Complete output (22 lines):
    running install
    vext.gi Install
    running build
    running install_data
    creating /root/.KlipperScreen-env/share/vext
    creating /root/.KlipperScreen-env/share/vext/specs
    copying gi.vext -> /root/.KlipperScreen-env/share/vext/specs
    running install_egg_info
    running egg_info
    writing vext.gi.egg-info/PKG-INFO
    writing dependency_links to vext.gi.egg-info/dependency_links.txt
    writing requirements to vext.gi.egg-info/requires.txt
    writing top-level names to vext.gi.egg-info/top_level.txt
    reading manifest file 'vext.gi.egg-info/SOURCES.txt'
    reading manifest template 'MANIFEST.in'
    warning: no files found matching '*.txt'
    writing manifest file 'vext.gi.egg-info/SOURCES.txt'
    Copying vext.gi.egg-info to /root/.KlipperScreen-env/lib/python3.7/site-packages/vext.gi-0.7.4-py3.7.egg-info
    running install_scripts
    writing list of installed files to '/tmp/pip-record-587refqp/install-record.txt'
    Install vext files:
    error: [Errno 2] No such file or directory: 'vext': 'vext'
    ----------------------------------------
ERROR: Command errored out with exit status 1: /root/.KlipperScreen-env/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-8tgs5uvr/vext-gi_7b15bbdfbf054ca4a53aea893eb54224/setup.py'"'"'; __file__='"'"'/tmp/pip-install-8tgs5uvr/vext-gi_7b15bbdfbf054ca4a53aea893eb54224/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-587refqp/install-record.txt --single-version-externally-managed --compile --install-headers /root/.KlipperScreen-env/include/site/python3.7/vext.gi Check the logs for full command output.
Installing KlipperScreen unit file

initilizing on boot

When the system boots KlipperScreen stays on "in initializing".
When I press "Klipper restart" klipper restarts and the screen switches to main menu.

KlipperScreen.log

Manual bed level UI nozzle placement sub-optimal for larger bed sizes

I am using KlipperScreen on a CR10 Max. It has a 450mm by 450mm printable bed size. The bed is physically 470 by 470. When doing manual bed leveling the UI uses 1/4 the size of the printable bed size to decide on the nozzle placement. For my print this shifts the nozzle into the bed to location X=112.5mm Y=112.5mm. This is too far from the corner of the print bed.

When then moving the the max X and Y location it seems to use printable bed size - 1/4(printabel bed size). This results in a location of X=337.5 Y=337.5 (I've not confirmed this from the logs yet) which seems to result in a location even further in. I'll confirm this exactly by looking at the log once my current print has completed but I know 1/4 is used in the source code and you probably know exactly how physical vs printable area is used in this calculation.

A better method would be to use a user specified offset either from the printer.cfg or the KlipperScreen.conf. It could then use the offset combined with the bed physical size to calculate the nozzle location. This would result in a more controllable and predictable behavior.

For now I have manually modified my source to use 1/8 instead but I still have the impression the nozzle is shifted in further on the max side. I'll confirm and provide the log shortly.

No scripts/install_service.sh ?

Dont know if its just me, but I cant seem to find this

Using sudo, then run the service install script under scripts/install_service.sh and perform sudo systemctl daemon-reload. You can then start KlipperScreen with systemctl such as systemctl start KlipperScreen<

Many of the buttons are not functional

I am able to operate most of the buttons found under Actions but almost everything else does not work. Here is a description of the behavior of my install

  1. The bed level to manually move the nozzle to each corner for manual bed level does not do anything. The Home and disable buttons also do not do anything in this menu.
  2. The Z-offset menu allows me to move the nozzle and adjust it. I can also press the set z-offset button. Even if these operate the displayed z-offset remain 0 at all time. If I save exit the menu and enter it again it places the nozzle back a few mm off the bed exactly like before. One more detail. After I went back into this menu nothing works anymore. I went out and did home again and then back in and again nothing works anymore. I'll have to do a restart instead.
  3. I can set the nozzle heat in the Actions preheat sub-menu but I cannot do anything in the top level preheat menu where I select between PLA and ABS.

Most of the simple move X, Y and Z seem to work. I can control the fan and fan speed and do home from the Actions->Move menu but the rest is not functional.

I did look at my /var/log/syslog and for the operations that don't work I don't get any lines but the ones that do work I get these line:

Oct 26 15:40:55 raspberrypi xinit[1721]: {"jsonrpc": "2.0", "method": "server.files.list", "params": {}, "id": 2}
Oct 26 15:40:55 raspberrypi xinit[1721]: {"jsonrpc": "2.0", "method": "printer.gcode.script", "params": {"script": "G28 X"}, "id": 3}
Oct 26 15:40:55 raspberrypi xinit[1721]: {"jsonrpc": "2.0", "method": "printer.gcode.script", "params": {"script": "G28"}, "id": 4}
Oct 26 15:40:55 raspberrypi xinit[1721]: {"jsonrpc": "2.0", "method": "printer.gcode.script", "params": {"script": "PROBE_CALIBRATE"}, "id": 5}
Oct 26 15:40:55 raspberrypi xinit[1721]: {"jsonrpc": "2.0", "method": "printer.gcode.script", "params": {"script": "TESTZ Z=-1"}, "id": 11}
Oct 26 15:40:55 raspberrypi xinit[1721]: {"jsonrpc": "2.0", "method": "printer.gcode.script", "params": {"script": "TESTZ Z=-.01"}, "id": 15}
Oct 26 15:40:55 raspberrypi xinit[1721]: {"jsonrpc": "2.0", "method": "printer.gcode.script", "params": {"script": "ACCEPT"}, "id": 16}
Oct 26 15:40:55 raspberrypi xinit[1721]: {"jsonrpc": "2.0", "method": "printer.gcode.script", "params": {"script": "SAVE_CONFIG"}, "id": 17}
Oct 26 15:40:55 raspberrypi xinit[1721]: {"jsonrpc": "2.0", "method": "printer.gcode.script", "params": {"script": "ACCEPT"}, "id": 18}
Oct 26 15:40:55 raspberrypi xinit[1721]: {"jsonrpc": "2.0", "method": "printer.gcode.script", "params": {"script": "SAVE_CONFIG"}, "id": 19}
Oct 26 15:40:55 raspberrypi xinit[1721]: {"jsonrpc": "2.0", "method": "printer.gcode.script", "params": {"script": "ABORT"}, "id": 20}
Oct 26 15:40:55 raspberrypi xinit[1721]: {"jsonrpc": "2.0", "method": "printer.gcode.script", "params": {"script": "G28"}, "id": 21}
Oct 26 15:40:55 raspberrypi xinit[1721]: {"jsonrpc": "2.0", "method": "printer.gcode.script", "params": {"script": "G91\nG1 Z1"}, "id": 25}
Oct 26 15:40:55 raspberrypi xinit[1721]: {"jsonrpc": "2.0", "method": "printer.gcode.script", "params": {"script": "M106 S0"}, "id": 35}
Oct 26 15:40:55 raspberrypi xinit[1721]: {"jsonrpc": "2.0", "method": "printer.gcode.script", "params": {"script": "M104 T0 S130.0"}, "id": 57}

Not switching to printing screen

I have had this work only a few times but recently when I upload files and set prusaslicer to "start print after upload" klipper screen does not switch to the printing view. It still display temperature and such but does not switch to the printing view.

If I kill the klipperscreen process it is stuck at "initializing". If I start a print directly from the display it also does not show the printing screen.

I have attached the log file
KlipperScreen.log

[FR] time left 0 while still printing

Is it possible to show that kind of progress bar, what can be seen on a character based LCD?
I know, (sum)print time estimation is a hard thing, that's why(?) KS shows remaining time 0 min, while the print job is still running. Maybe an additional progress bar would add a "touch" the UIX :)
Maybe even "Time left" label could count and show the additional time, after it reaches 0
For example
[hourglass]Left: 0m 0s + (1m 20s) - this last part would increase until job ends
What do you think?
image

No option to run a G29 Auto Bed Level

My printer supports auto bed leveling with a BLTouch. Klipper is configured to run this command. My flow is to run it once and then no run this command before every print to save time. I can get many print going.

For now KlipperScreen allows me to do Z-offset followed by a manual bed leveling. Once done I would want to update my ABL table and run a G29 but this option is not supported yet in KlipperScreen.

Please add support for ABL.

Error when running install script

Fully patched Raspian on Raspi4 with Klipper and Mainsail installed from kiauh scripts. When I run /scripts/KlipperScreen-install.sh It pulls down the packages then gives me this.

Collecting ruamel.yaml.clib>=0.1.2; platform_python_implementation == "CPython" and python_version < "3.9"
Downloading https://www.piwheels.org/simple/ruamel-yaml-clib/ruamel.yaml.clib-0.2.2-cp37-cp37m-linux_armv7l.whl (550 kB)
|████████████████████████████████| 550 kB 1.2 MB/s
Building wheels for collected packages: vext.gi
Building wheel for vext.gi (setup.py) ... error
ERROR: Command errored out with exit status 1:

....

running install_scripts
Install vext files:
error: [Errno 2] No such file or directory: 'vext': 'vext'

ERROR: Failed building wheel for vext.gi
Running setup.py clean for vext.gi
Failed to build vext.gi

Any help you could give would be appreciated.

Unable to cancel a print with-out pressing the pause button

When I try and press the Cancel button it just keeps on printing. After trying multiple times I usually press the Pause button and then it finally stops but seems to be in pause but the UI returns to the main panel.

In the attached log files I started a benchy print. Let it warm up. When it started I pressed cancel three times but it continued. I then pressed pause and it finally stop. It still had heat going on both bed and hot end which I had to stop manually. It looks like it was in pause but the UI was on the main panel where I could start a new print which does not feel like pause.

One other note. I had a hard time getting the files off my PI because the PI seemed to be unresponsive. I had to restart the firmware (and nothing else) before it came back to life and I could get the log files. Looks like the system was waiting on a firmware response or something. I've attached all the log files.

KlipperScreen.log
klippy.log
moonraker.log

Looses connection when a print job is started by another moonrake client

Hi,

Reporting this isue here that I'm seeing.
I have Klipperscreen running alongside FluidDD UI, in case I start a print using Fluidd, KlipperScreen loose the connection.

IT says that Klipper shutdown (that is not true) and if I force restart the KlipperScreen service It stays forever with the "initializing message in the LCD.
Checking the log I can clearly see that it was able to comunicate an it even received the status that klipper is printing.

ccel_to_decel': 7000.0, 'axis_minimum': [0.0, 0.0, -0.5, 0.0], 'axis_maximum': [260.0, 240.0, 250.0, 0.0], 'position': [112.983, 115.928, 0.019159361882638067, 89.45488000000044], 'extruder': 'extruder'}, 'fan': {'speed': 0.0}, 'webhooks': {'state': 'ready', 'state_message': 'Printer is ready'}, 'heater_bed': {'temperature': 86.00248219247557, 'power': 0.1696788422897857, 'target': 85.0}, 'extruder': {'pressure_advance': 0.1275, 'target': 240.0, 'smooth_time': 0.04, 'power': 0.3150097760102062, 'temperature': 240.1732832036485}}
2021-01-19 20:35:30,123 - KlipperScreen.Printer - DEBUG - Changing state from 'disconnected' to 'printing'
2021-01-19 20:35:30,123 - KlipperScreen.Printer - DEBUG - Running callback for state: printing
2021-01-19 20:35:30,483 - KlipperScreen.KlipperWebsocket - DEBUG - Attempting to reconnect
2021-01-19 20:35:30,484 - KlipperScreen.KlipperWebsocket - DEBUG - Reconnected
2021-01-19 22:11:46,596 - KlipperScreen - DEBUG - [
  "notify_gcode_response",
  "Done printing file"
]

Later also when the print is finished, yet it does not do anything.

Very small text and images on 480x320 screen

I'm setting up klipperscreen on a 480x320 screen. It works and all buttons seem operational but the icons and text is very small even if the screen seems to have some space to spare. It would be great to take better advantage of the space available and make the icons and text a bit larger.

After Reboot TFT isn't reacting to Touch

Am I the only one that got this issue?

I did an update to latest commit yesterday and after a reboot of my pi I'm not able to do any "touch" commands on the original raspberry pi touch screen anymore.

display is showing everything as it should but can't control my printer anymore :(

update blocks communication with the printer

The latest update blocks communication with the printer. The printer cannot be controlled via mainsail either.
After stopping KlipperScreen, the printer starts communicating via mainsail.

[FR] System Shutdown

Would be great to have an option to shut down the host system.
So the system can be shut down from the panel before switching of power.

I first though implementing it as a Klipper Macro. But it seems system calls are not possible as macros.

Feature Request

Heya again, now, after your plugin/addon seems to work as intended I found a small thing that is a bit annoying after you uploaded a lot of files to your pi :)

The printable lilelist is sorted by name but I would say, most of us want to see the most recent files at the top of the list instead of scrolling through the whole list or?

Maybe you could add a sort option by name or upload date?

Display nozzle temperature in extrusion panel

I was using the extrusion panel and tried to extrude while the nozzle was still warming up. I can see the temp control option on this panel but it would be very useful to see the current temperature in the extrusion panel. In my case I had already set the temp and just had to wait for it to reach this target temp. Having it displayed would save me having to go to the sub panel or another panel to see the current temp.

Status screen not updating

Hi,
Print job status screen is not updating. I get this error:
self.panels[sub].process_update(action, data) Dec 21 11:43:24 Printer xinit[30095]: File "/home/pi/KlipperScreen/panels/job_status.py", line 351, in process_update Dec 21 11:43:24 Printer xinit[30095]: self._printer.get_dev_stat(x,"target") Dec 21 11:43:24 Printer xinit[30095]: File "/home/pi/KlipperScreen/panels/job_status.py", line 506, in update_temp Dec 21 11:43:24 Printer xinit[30095]: self.labels[x].set_markup( Dec 21 11:43:24 Printer xinit[30095]: KeyError: 'extruder1' Dec 21 11:43:24 Printer xinit[30095]: Traceback (most recent call last): Dec 21 11:43:24 Printer xinit[30095]: File "/home/pi/KlipperScreen/screen.py", line 401, in _websocket_callback Dec 21 11:43:24 Printer xinit[30095]: self.panels[sub].process_update(action, data) Dec 21 11:43:24 Printer xinit[30095]: File "/home/pi/KlipperScreen/panels/job_status.py", line 351, in process_update Dec 21 11:43:24 Printer xinit[30095]: self._printer.get_dev_stat(x,"target") Dec 21 11:43:24 Printer xinit[30095]: File "/home/pi/KlipperScreen/panels/job_status.py", line 506, in update_temp Dec 21 11:43:24 Printer xinit[30095]: self.labels[x].set_markup( Dec 21 11:43:24 Printer xinit[30095]: KeyError: 'extruder1'

It is extruder that is selected but it is checking extruder1
I have two extruders sharing one hotend. When the printer is on idle it always shows tool2 temp even when tool1 is selected.

Thanks

BED_SCREWS_ADJUST macro support

Currently the menu for Z Bed Leveling seems to manually find the screws within the config file and manually moves to each position.

I have had a problem with the lower left on my Ender 5 Plus where the location that the menu sends the head to is ~.3mm lower than it should be.

Would it not be a simpler approach to rely on the Klipper FW command BED_SCREWS_ADJUST similar to what is done for PROBE_CALIBRATE? This would allow a simple interface which could show the location of the head as BED_SCREWS_ADJUST moves around the plate and the ACCEPT / ABORT / ADJUST buttons on the menu

After completing a z-offset adjustment the ACCEPT button does not return to parent panel

When selecting the Accept button in the z-offset panel it seems to accept the new offset looking at the log but it does not return to the parent panel.

Looked at the source code and noticed the Abort has the _menu_go_back call but accept does not. With-out this I have no way to go back unless I press the Abort button which does not make sense. Also you stay in the z-offset UI which is not not functional because the z-offset command has ended after klipper got the Accept command.

Screen Not updating.

With the latest update the screen does not update when I start a print. I have to restart KlipperScreen for it to work.

Can't get it to start

I've getting KlipperScreen to run well on one of my printer. I'm trying to setup a second printer with a Raspberr PI 3B+. I did the install and I can run the "sudo service KlipperScreen start" command but nothing happens. The log file is not created so I don't have any visibility into what the service is doing when it tries to start. Where can I look to find any errors encountered during service startup?

[FR] bed_mesh_calibrate panel

Klipper prefers manual calibration for the bed mesh.
Actually I do a bed_mesh_calibrate with a bunch ob macros.
So it would be great to build a panel to it. The panel zcalibrate looks perfect for that. The only missing thing is a NEXT-Button.
maybe this new panel could be integrated into the bedmesh panel as a link.

Is it useful to only show this menu if a delta-like kinematic is in the printer.cfg?
Or use it on delta-like kinematics instead of the bed_level menu?
Maybe this is a good way to keep erverything clean and also meet all printer specific needs.

ERROR - Fatal error in main loop (module 'websocket' has no attribute 'WebSocketApp')

After doing a completely fresh install of Raspberry Pi OS, Klipper, Moonraker, Fluidd and KlipperScreen (using KIAUH), I have everything working except KlipperScreen which throws the following error in /tmp/KlipperScreen.log:

2020-12-01 16:43:10,120 - KlipperScreen - ERROR - Fatal error in main loop
Traceback (most recent call last):
  File "/home/pi/KlipperScreen/screen.py", line 465, in <module>
    main()
  File "/home/pi/KlipperScreen/screen.py", line 457, in main
    win = KlipperScreen()
  File "/home/pi/KlipperScreen/screen.py", line 104, in __init__
    self._ws.connect()
  File "/home/pi/KlipperScreen/ks_includes/KlippyWebsocket.py", line 61, in connect
    self.ws = websocket.WebSocketApp(self.ws_url,
AttributeError: module 'websocket' has no attribute 'WebSocketApp'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.