Code Monkey home page Code Monkey logo

klipperscreen's Introduction

๐Ÿ“Œ ANNOUNCEMENT: KlipperScreen-Happy Hare edition now requires an upgraded Happy Hare v2 software

Happy Hare v2 available here

Important

Also after updating KlipperScreen be sure to re-run happy_hare/install_ks.sh -g <num_gates> to install new images and update menus.

KlipperScreen - MMU Happy Hare Edition

MMU Control

Read more on how MMU Panels work...

Introduction

KlipperScreen Happy Hare edition is quite a mouthful! It is a forked (but up-to-date) version of KlipperScreen designed to run/manage any MMU using the Happy Hare driver software. Click here to access the original documentation.

๐Ÿ“Œ KlipperScreen is an amazing piece of software but unfortunally lacks the level of panel integration and features I needed for this project. I hope in the future to have changes integrated so that this becomes a layered install rather than a fork. Until then you must follow these install directions closely. Also note that I regularly (every 2 weeks) re-merge with the master project so the Happy Hare addition is only additive and all original functionality is untouched.

Installation

Firstly, make sure Happy Hare software is completely up-to-date. Features were added to support this KlipperScreen add on.

Install and setup a base KlipperScreen from the original source. Get it working. Don't skip this step because I cannot help with basic KlipperScreen and system setup. Once you have that installed and working, log into you Rasberry Pi and execute the following commands. You can cut'n'paste...

cd ~
mv KlipperScreen KlipperScreen.orig
git clone https://github.com/moggieuk/KlipperScreen-Happy-Hare-Edition.git KlipperScreen

cd ~/KlipperScreen/happy_hare
./install_ks.sh -g <num_gates>

(where <num_gates> is the number of selectors you built with, e.g. 9)

KlipperScreen will be restarted and hopefully you should now be running the enhanced version!

Notes:

Note

If you are installing on a rpi without Klipper and printer attached the install will not be able to find the Klipper "config" directory where the KlipperScreen.conf and mmu_klipperscreen.conf should be placed. To fix this, specify a -c <config_dir> option to the install line and specify a valid directory where KlipperScreen is expecting to see its config files.

Note

Expert Tip: The last step of running './install_ks -g <num_gates>' can be run many times.. and sometimes is needed after an update to install new images or update menu structure. If you customize the MMU part of the KlipperScreen menu and want to make use of the "replicator" function that will automatically replicate menu options for the configured number of gates, you can edit menus.conf and reference the templating there.

Note that the base KlipperScreen is up-to-date (and I will continue to merge with master every 2 weeks) with changes in the original but also includes extra menu functionality that can be used in the creation of your custom menus. See the generated ercf_klipperscreen.conf for clues!

Request

I can offer limited help on the Discord channels so would prefer if you submit an issue report via github so I can manage them. Also, some folks have asked about making a donation to cover the cost of the all the coffee I'm drinking. I'm not doing this for any financial reward but it you feel inclined a donation to PayPal https://www.paypal.me/moggieuk will certainly be spent making your life with MMU more enjoyable.

Thank you!

Caveats & Possible problems / workarounds

I have only tested on a single screen. A 640x480 resolution BTT TFT5.0. It is possible that you might find layout problems on other (likely smaller) displays. Also, I have only tested in and optimized for horizonal orientation. I doubt it will be effective in vertical but I don't know of any Voron owners with vertically mounted panels.

JFYI the installer will alter or add the KlipperScreen entry in moonraker.conf:

[update_manager KlipperScreen]
type: git_repo
path: /home/pi/KlipperScreen
origin: https://github.com/moggieuk/KlipperScreen-Happy-Hare-Edition.git
env: /home/pi/.KlipperScreen-env/bin/python
requirements: scripts/KlipperScreen-requirements.txt
install_script: scripts/KlipperScreen-install.sh
managed_services: KlipperScreen

Font problems:

The CSS style only specifies a "Free Mono" font to be used (this is the same as original KlipperScreen") for all textual displays. I use the Unicode Box character set in that font to render the selector status, filament positions and TTG map. A couple of users have reported issues with this part of the display, either not appearing or not spaced correctly. E.g.

mmu_panel_printing

If this occurs the first thing to try is to run the following, then restart KlipperScreen:

sudo apt install fontconfig
fc-cache -f -v
sudo systemctl restart KlipperScreen

If this doesn't fix the problem I suggest installing a new font set.

Note

A very useful way of listing the fonts you have installed on your system by family is with:

fc-list : family | sort | uniq

๐Ÿ”น How to install JetBrains fonts...

Download the JetBrains fonts from (www.jetbrains.com). Extract the zip. Copy all the *.ttf fonts (you will find them under fonts/ttf in the extracted zip) into /usr/share/fonts/truetype directory (you will have to sudo cp else you will likely get permission denied), then cache these fonts:

cd ..to where you extracted font files../fonts/ttf
sudo cp *.ttf /usr/share/fonts/truetype
fc-cache -f -v

Then finally update the font reference in the KlipperScreen css file:

cd ~/KlipperScreen/styles

Edit base.css file. Find the css entry for .mmu_status, then change the font-family to:

font-family:      JetBrains Mono;

(it will by default be font-family: Free Mono;)

Then restart KlipperScreen

sudo systemctl restart KlipperScreen

If you have to do this, please let me know the details about the operating system you are running on and how you installed KlipperScreen in the first place... if I can locate the source of the issue I might be able to workaround in the future.

Blank Screen after system update

It has come to my attention that sometimes a system (OS) update can break KlipperScreen. This is nothing to do with KlipperScreen but rather the installation of a slightly broken video driver fbturbo. Luckily the fix is simple. After OS upgrade run:

sudo apt purge xserver-xorg-video-fbturbo

Happy Hare version incompatibility

If you are upgrading and see a message like this when accessing the main MMU panel it is probably because of a version mismatch with Happy Hare on your printer. Follow the instructions in the popup!

A description of all the MMU panels can be found here...

The original Klipperscreen panels can be found here

All screen shots are taken with the "Colorize" theme (my preference because the buttons are more defined). The default is z-bolt and looks slightly different

klipperscreen's People

Contributors

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

Watchers

James Cloos avatar  avatar

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.