Giter Site home page Giter Site logo

octoscreen's Introduction

OctoScreen GitHub release license

OctoScreen is a LCD touch interface for your OctoPrint server. It is based on GTK+3 and allows you to control your 3D Printer using a LCD touch screen, a Raspberry Pi, and OctoPrint. It's an X application that's executed directly in the X Server without a window manager or browser, and operates as a frontend for OctoPrint.

Idle


Idle-Multiple Hotends


Printing


Home


Filament


Actions


Some of the functionality of OctoScreen included:

  • Print jobs monitoring.
  • Temperature and Filament management.
  • Jogging operations.
  • WiFi connection management.
  • Tool changer management tools.

How Is OctoScreen Different From TouchUI?

TouchUI is an amazing plugin for OctoPrint. It was created as a responsive design application to access OctoPrint from low resolution devices, such as smartphones, tablets, etc.

Executing TouchUI under a RPi with a TFT display presents two big problems: First, it isn't optimized to be used with resistive touch screens with low resolutions like 480x320, and second, it requires a browser to run, which consumes a lot of resources. This is the main reason OctoScreen was developed as an X application.


Installation

Dependencies

OctoScreen is based on GoLang. GoLang applications are usually dependency-less, but in this case GTK+3 is used, and the GTK+3 libraries are required in order to run. Be sure that GTK+3 is installed and is the only graphical environment that's been installed.

If you are using Raspbian or any other Debian based distribution, required packages can be installed using:

sudo apt-get install libgtk-3-0 xserver-xorg xinit x11-xserver-utils

You will also need to set up the video drivers for the display you are using. Installation and configuration of the drivers is usually specific to the display you are using, and you will need to contact the manufacturer for instructions. To help you set up your system and display, a setup guide (Setting Up OctoScreen and Your Display) is available in the wiki.

Install From a .deb Package

There are two ways to install OctoScreen: the recommended and supported way is to install from a .deb package, or you can choose to install from building the sources yourself. The recommended way to install OctoScreen is use the .deb packages from the Releases page. The packages are available for Debian Stretch based distributions such as Raspbian and OctoPi.

For example, to install on a new RaspberryPi with OctoPi:

wget https://github.com/Z-Bolt/OctoScreen/releases/download/v2.7.4/octoscreen_2.7.4_armhf.deb
sudo dpkg -i octoscreen_2.7.4_armhf.deb

Or to update an existing version of OctoScreen:

wget https://github.com/Z-Bolt/OctoScreen/releases/download/v2.7.4/octoscreen_2.7.4_armhf.deb
sudo dpkg -r octoscreen
sudo dpkg -i octoscreen_2.7.4_armhf.deb
sudo reboot now

Install From Source

The compilation and packaging tasks are managed by the Makefile and backed on Docker. Docker is used to avoid installing any other dependencies since all the operations are done inside of the container.

If you need to install docker inside Raspbian or any other linux distribution just run:

curl -fsSL get.docker.com -o get-docker.sh
sh get-docker.sh

You can read more about this at docker-install

To compile the project (assuming that you already cloned this repository), just execute the build target. This will generate all the binaries and debian packages in the build folder:

make build
ls -1 build/

The default build is for the STRETCH release of debian, but BUSTER and JESSIE are also possible. To build one of these targets, you just have to specify the package during make. Example for BUSTER:

make build DEBIAN_PACKAGES=BUSTER
ls -1 build/

If you are using Raspbian you can install any of the .deb generated packages. If not, just use the compiled binary.


Configuration

Basic Configuration

The basic configuration is handled via environment variables, if you are using the .deb package you can configure it at /etc/octoscreen/config.

Required Configuration Settings

  • OCTOPRINT_HOST - The URL to the OctoPrint server. Example: http://octopi.local or http://localhost:5000. Note: the protocol (http:// or https://) is required. If the setting for OCTOPRINT_HOST does not contain the protocol, an error will be displayed when OctoScreen starts.

  • OCTOPRINT_APIKEY - OctoScreen expects an API key to be supplied. The API key can either be set in OctoScreen's config file, or in OctoPrint's config file (OCTOPRINT_CONFIG_FILE below)

  • OCTOSCREEN_STYLE_PATH - Several themes are supported, and style configurations can be done through CSS. This variable defines the location of the application theme.

Optional Configuration Settings

  • OCTOPRINT_CONFIG_FILE - The location of OctoPrint's config.yaml file. If empty, the file path used will be the pi home folder of the current user. The OCTOPRINT_APIKEY is required, and if it isn't defined in OctoScreen's config file (see OCTOPRINT_APIKEY above) it needs to be defined in OctoPrint's config file.

  • OCTOSCREEN_LOG_FILE_PATH - The file path to where the log file will be saved. The file path should be a fully qualified path and not only include the path to the log file, but the name of the log file as well (eg /home/pi/logs/logfile.txt). The log file is appended to and is never automatically truncated, and will grow over time. If you turn log file logging on (by specifying a path), be sure to turn it off (by setting the value to "").

  • OCTOSCREEN_LOG_LEVEL - Controls the level of logging. Accepted values are (with increasing levels): debug, info, warn, and error. If no value is provided, the log level will default to warn.

  • OCTOSCREEN_RESOLUTION - Resolution of the application, and should be configured to the resolution of your screen. Optimal resolution for OctoScreen is no less than 800x480, so if the physical resolution of your screen is 480x320, it's recommended to set the software resolution 800x533. If you are using Raspbian you can do it by changing hdmi_cvt param in /boot/config.txt file. Please see Setting Up OctoScreen and Your Display and Installing OctoScreen with a 3.5" 480x320 TFT screen for more information.

  • DISPLAY_CURSOR - To display the cursor, add DISPLAY_CURSOR=true to your config file. In order to display the cursor, you will also need to edit /lib/systemd/system/octoscreen.service and remove -nocursor


Menu Configuration

Custom Controls and Commands

Custom controls to execute GCODE instructions and commands to execute shell commands can be defined in the config.yaml file.

The controls are limit to static controls without inputs.


Wiki

For troubleshooting and general information about this project, be sure to check out the Wiki page, located at https://github.com/Z-Bolt/OctoScreen/wiki


Roadmap

https://github.com/Z-Bolt/OctoScreen/wiki/Project-Roadmap


License

GNU Affero General Public License v3.0, see LICENSE

This project is a hard fork from Octoprint-TFT created by @mcuadros

octoscreen's People

Contributors

alexkv avatar blondak avatar flexy2dd avatar freman avatar gmembre-zenika avatar herrwusel avatar ismangil avatar jeffb42 avatar mcuadros avatar neatsoft avatar rook0316 avatar rpochot avatar steviehs avatar thebeline avatar xunleii avatar zen 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

octoscreen's Issues

V2.1 Feature Request - button code to to be stored in external file

Hi,

if I read the code correctly then commands such as filament loading or unloading from the filament screen are hard-coded. As there are many printers out there which special commands (e.g. the filament load commands currently implemented are running my extruder on overdrive and will grind the filament down before it can even be loaded), is it possible to instead store the scripts in external files so that they can - if necessary - be changed or replaced with printer specific code?

Octoprint uses the ~/.octoprint/scripts/gcode folder for custom command scripts. Adding them here would consolidate them all in the same place (e.g. call them oscreen_load.gco etc..)

Thanks !

Home Screen if printer is not connected

As there may be some users around with the same setup, I would love to have a different home screen, which allows me to switch on a psu for the printer with some scriptable button (Right now I can do so from within octoprint via psu plugin).
Right now I seen only the "waiting for serial connection" info popping up endlessly (and ending in a memory leak, which is a different issue)

Problem with installation

Im using Raspberry 3b+ and Raspberry 7" touchscreen display.
Try guide from github for .deb installation but without success.

When I get to this step: sudo dpkg -i octoscreen_2.3-5_armhf.deb
It respond with this: Failed to preset unit:
File /etc/systemd/system/display-manager.service already exists and is a symlink to /lib/systemd/system/lightdm.service.
/usr/bin/deb-systemd-helper:
error: systemctl preset failed on octoscreen.service: No such file or directory

And this is end of the way for me, please can someone help me with this instalation.
Thank you in advance.

OctoScreen dont start on boot and screen dont fit correctly

The OctoScreen seems that could be a fantastic app from what I read :) but it would be great if you could solve the problem that the program it not starting on boot and the screen dont fit correctly. I see that like me others users have the same problem and dont can use an app that could be amazing. Thanks in Advance :)

Octoscreen loads then resets every 10 seconds

Having an Issue with Octoscreen restarting every 10 seconds, Any Ideas how to fix this ?

pi@octopi:~ $ systemctl status octoscreen.service
● octoscreen.service - OctoScreen
Loaded: loaded (/lib/systemd/system/octoscreen.service; enabled; vendor preset: enabled)
Active: activating (start-post) since Sat 2019-11-02 00:54:36 AEDT; 5s ago
Main PID: 2088 (xinit); Control PID: 2109 (bash)
Tasks: 20 (limit: 4915)
CGroup: /system.slice/octoscreen.service
├─2088 /usr/bin/xinit /usr/bin/OctoScreen -- :0 -nolisten tcp -nocursor
├─2089 /usr/lib/xorg/Xorg :0 -nolisten tcp -nocursor
├─2097 /usr/bin/OctoScreen
└─control
├─2109 /bin/bash /etc/octoscreen/disablescreenblank.sh 0
└─2110 sleep 10

Nov 02 00:54:36 octopi xinit[2088]: (++) from command line, (!!) notice, (II) informational,
Nov 02 00:54:36 octopi xinit[2088]: (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
Nov 02 00:54:36 octopi xinit[2088]: (==) Log file: "/var/log/Xorg.0.log", Time: Sat Nov 2 00:54:36 2019
Nov 02 00:54:36 octopi xinit[2088]: (==) Using config directory: "/etc/X11/xorg.conf.d"
Nov 02 00:54:36 octopi xinit[2088]: (==) Using system config directory "/usr/share/X11/xorg.conf.d"
Nov 02 00:54:36 octopi xinit[2088]: time="2019-11-02T00:54:36+11:00" level=info msg="OctoPrint's config file found: "/home/pi/.octoprint/config.yaml"" file=main.go func=main.readConfig line=102
Nov 02 00:54:36 octopi xinit[2088]: time="2019-11-02T00:54:36+11:00" level=info msg="Using "http://localhost:5000\" as server address" file=main.go func=main.init.0 line=52
Nov 02 00:54:37 octopi xinit[2088]: time="2019-11-02T00:54:37+11:00" level=debug msg="New background task started" file=common.go func="ui.(*BackgroundTask).Start" line=114
Nov 02 00:54:37 octopi xinit[2088]: time="2019-11-02T00:54:37+11:00" level=error msg="unexpected status code: 404" file=ui.go func="ui.(*UI).checkNotification" line=175
Nov 02 00:54:39 octopi xinit[2088]: time="2019-11-02T00:54:39+11:00" level=error msg="unexpected status code: 404" file=ui.go func="ui.(*UI).checkNotification" line=175

pi@octopi:~ $ journalctl -xe
Nov 02 00:50:54 octopi systemd[1]: Failed to start OctoScreen.
-- Subject: Unit octoscreen.service has failed
-- Defined-By: systemd
-- Support: https://www.debian.org/support

-- Unit octoscreen.service has failed.

-- The result is failed.
Nov 02 00:50:54 octopi systemd[1]: octoscreen.service: Unit entered failed state.
Nov 02 00:50:54 octopi systemd[1]: octoscreen.service: Failed with result 'exit-code'.
Nov 02 00:50:54 octopi systemd[1]: octoscreen.service: Service hold-off time over, scheduling restart.
Nov 02 00:50:54 octopi systemd[1]: Stopped OctoScreen.
-- Subject: Unit octoscreen.service has finished shutting down
-- Defined-By: systemd
-- Support: https://www.debian.org/support

-- Unit octoscreen.service has finished shutting down.
Nov 02 00:50:54 octopi systemd[1]: Starting OctoScreen...
-- Subject: Unit octoscreen.service has begun start-up
-- Defined-By: systemd
-- Support: https://www.debian.org/support

-- Unit octoscreen.service has begun starting up.
Nov 02 00:50:54 octopi xinit[952]: X.Org X Server 1.19.2
Nov 02 00:50:54 octopi xinit[952]: Release Date: 2017-03-02
Nov 02 00:50:54 octopi xinit[952]: X Protocol Version 11, Revision 0
Nov 02 00:50:54 octopi xinit[952]: Build Operating System: Linux 4.9.41-v7+ armv7l Raspbian
Nov 02 00:50:54 octopi xinit[952]: Current Operating System: Linux octopi 4.19.66-v7+ #1253 SMP Thu Aug 15 11:49:46 BST 2019 armv7l
Nov 02 00:50:54 octopi xinit[952]: Kernel command line: coherent_pool=1M 8250.nr_uarts=1 bcm2708_fb.fbwidth=800 bcm2708_fb.fbheight=480 bcm2708_fb.fbswap=1 vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x400
Nov 02 00:50:54 octopi xinit[952]: Build Date: 18 October 2017 04:55:30PM
Nov 02 00:50:54 octopi xinit[952]: xorg-server 2:1.19.2-1+rpt1+deb9u2 (https://www.debian.org/support)
Nov 02 00:50:54 octopi xinit[952]: Current version of pixman: 0.34.0
Nov 02 00:50:54 octopi xinit[952]: Before reporting problems, check http://wiki.x.org
Nov 02 00:50:54 octopi xinit[952]: to make sure that you have the latest version.
Nov 02 00:50:54 octopi xinit[952]: Markers: (--) probed, (**) from config file, (==) default setting,
Nov 02 00:50:54 octopi xinit[952]: (++) from command line, (!!) notice, (II) informational,
Nov 02 00:50:54 octopi xinit[952]: (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
Nov 02 00:50:54 octopi xinit[952]: (==) Log file: "/var/log/Xorg.0.log", Time: Sat Nov 2 00:50:54 2019
Nov 02 00:50:54 octopi xinit[952]: (==) Using config directory: "/etc/X11/xorg.conf.d"
Nov 02 00:50:54 octopi xinit[952]: (==) Using system config directory "/usr/share/X11/xorg.conf.d"
Nov 02 00:50:55 octopi xinit[952]: time="2019-11-02T00:50:55+11:00" level=info msg="OctoPrint's config file found: "/home/pi/.octoprint/config.yaml"" file=main.go func=main.readConfig line=102
Nov 02 00:50:55 octopi xinit[952]: time="2019-11-02T00:50:55+11:00" level=info msg="Using "http://localhost:5000\" as server address" file=main.go func=main.init.0 line=52
Nov 02 00:50:55 octopi xinit[952]: time="2019-11-02T00:50:55+11:00" level=debug msg="New background task started" file=common.go func="ui.(*BackgroundTask).Start" line=114
Nov 02 00:50:56 octopi xinit[952]: time="2019-11-02T00:50:56+11:00" level=error msg="unexpected status code: 404" file=ui.go func="ui.(*UI).checkNotification" line=175
Nov 02 00:50:58 octopi xinit[952]: time="2019-11-02T00:50:58+11:00" level=error msg="unexpected status code: 404" file=ui.go func="ui.(*UI).checkNotification" line=175
Nov 02 00:51:00 octopi xinit[952]: time="2019-11-02T00:51:00+11:00" level=error msg="unexpected status code: 404" file=ui.go func="ui.(*UI).checkNotification" line=175
Nov 02 00:51:02 octopi xinit[952]: time="2019-11-02T00:51:02+11:00" level=error msg="unexpected status code: 404" file=ui.go func="ui.(*UI).checkNotification" line=175
Nov 02 00:51:04 octopi xinit[952]: time="2019-11-02T00:51:04+11:00" level=error msg="unexpected status code: 404" file=ui.go func="ui.(*UI).checkNotification" line=175
lines 1724-1771/1771 (END)

SPI LCD 480x320

Hi.
What settings do you need to make everything fit on the screen?
SPI LCD 480x320.
Thanks.

Feature Request: Printer profiles

I would like the UI to be personalized depending on the printer. Some of the buttons available in the interface do not make sense for my printer, so it would be great to remove them based on some configuration file, or at least disabled them.

Why are z-axis control buttons reversed?

For my printer on which the extruded moves along the z-axis, the z movement buttons are reversed. The down arrow moves it up and the up arrow moves it down. Confusing... and sometimes dangerous as you may accidentally ram the hot end into the build plate or workpiece.
I can see how for a printer with a z-moving bed they would be correct.
Can there be an configuration option to set the orientation of these buttons?

Feature Request: Launch Cura via EGL or some other method for slicing. Similar functionality to astroprint

This project could be way ahead in its simplicity if it were possible to launch Cura on something like a Pi4 via a menu item with a hotkey to quit via either a hotkey on GPIO or on-screen overlay. Having some slicing functionality available without the commercial plague that has afflicted the Astroprint stuff right there on the display would be great for a Makerspace I attend.

I'm putting this here because it's something I want badly. I mean hey, I tried hard to compile Astroprint from its open core, but it's so sad that they've made it purposefully difficult just to grub some cash. So I'll also be making some efforts to try and implement this once I familiarize myself with the codebase here. I'm so glad you started this.

image

I don't know much about EGL, I just know it's how you'd accomplish the same thing you're already doing with launching Octoscreen as its own application without a windowing system but with a QT5 application like cura.

"EGLFS is a platform plugin for running Qt5 applications on top of EGL and OpenGL ES 2.0, without an actual windowing system like X11 or Wayland."

https://doc.qt.io/qt-5/embedded-linux.html

Installation

Hello,
i would like to have this OctoScreen running on my raspberry pi 3b+. I have this display TFT 3.5 and followed Step 3&4 from this page TFT Drivers. On reboot i see normal start of raspberry.

Following the instructions of this repository i executed
sudo apt-get install libgtk-3-0 xserver-xorg xinit x11-xserver-utils
and
wget https://github.com/Z-Bolt/OctoScreen/releases/download/v2.2.1/octoscreen_2.2-2_armhf.deb
sudo dpkg -i octoscreen_2.2-2_armhf.deb
and also activated auto console login in raspi-config.
But after reboot only console pi@octopi:~$ with cursor blinking shows up.

How do i get OctoScreen to run?

Feature request: Wayland support

This is a must, doing this would massively reduce computational workload and dependencies. I can imagine this running performantly on a Raspberry Pi Zero if you can accomplish this. I'll drop in when I know a bit more about display servers and see if I can help, but for now I'm just requesting it since I had a wonderful experience today setting up Wayland on an RPI 3, the lack of dependencies, etc.

This is only going to become harder to implement as you add more features, so it makes sense to nip it in the bud now for a better future.

Thanks so much for this wonderful thing, I'll be using it and hopefully contributing soon :)

v2.2: Layout broken after entering the System screen

Hello,
in the System screen the back button is shifted out of the display. It is hard to reach. If you return from the screen all other screens have the same layout problem. If you go to the Print screen you will never get out again. My resolution is 800x480. In version 2.1 there is no problem.
IMG_20190824_150529
IMG_20190824_150544

Network tab is changing native resolution

Hi!
I just installed OctoScreen on RPi3 and 7 inch official LCD. Printer is original prusa MK3S.
Two things:
1.I found out that "unload filament" tab is not working.
2. screen resolution is fine until i open "network" tab. This tab opens in somewhat bigger resolution than it should - whole screen extends to the right a bit, so part of "back" arrow is missing. But, from this moment on ALL tabs are a bit bigger resolution. It's like that "network" tab is changing resolution from native 800x480 to 800x500.

Here all is ok:
20191030_191029
Network tab:
20191030_191042
Detail of right side - it's missing somewhat:
20191030_191253

CR-10S Pro issues

I have few issues when connect Creality CR-10S Pro with Octoscreen which running on Raspberry 3b+ with raspberry 7" touchscreen.

  • First problem is extruding, when I try to extrude with "slow" command my extruder go crazy and start skipping.
  • Second is with move commands, when I try to move any axis I get this:
    Untitled
  • Third issue, I dont see anything in print directory on octoscreen, sd card is pluged in printer.
  • Fourt, when octoscreen running I cant access to octoprint thrue ip adress

Bug in vesion 2.3.5

hi, I installed version 2.3.5 but there is a bug. if you press the menu move when the axes move, the app crashes and nothing moves

Not sure how to configure screen

I managed to install the octoscreen after some issues (i had install a bunch of packages needed, but its fine now) and the service is starting, but it closes on the error "no screen found".

I 'm using a screen model "waveshare 3.5a" which is 480x320px, the driver is installed and i can see the terminal in the screen (already changed the resolution to 800x533 as specified)

Where should i set the screen model, or something, so the octoscreen boots up? i'm pretty lost at this point.

Thanks a lot gdachs :)

Thanks a lot gdachs :)
It works adding "systemctl start octoscreen &" to the file /etc/rc.local.
Now all seems working :) but I will test ;) Thanks for your help :)

Originally posted by @ARCH-3D in #34 (comment)

I wonder why you need the & ? systemctl is not a background service and finishes after it has started the octoscreen service.

unable to install screen flashes waveshare driver

Hi, I'm unable to install octoscreen when the waveshare driver is installed (https://github.com/waveshare/LCD-show)

I'm using the follwing driver: ./LCD35-HDMI-480x320-show

i tried it with the current octopi image /stretch) as well as with a stock debian buster in both cases the touchscreen works, but after installing octoscreen with the .deb i get the following error:
Failed to preset unit: File /etc/systemd/system/display-manager.service already exists and is a symlink to /lib/systemd/system/lightdm.service.
/usr/bin/deb-systemd-helper: error: systemctl preset failed on octoscreen.service: No such file or directory

after reboot the raspberry just shows the console and flashes black every few seconds#

on debian buster (with desktop) i can still ipen the desktop with startx, but octoscreen doesnt start

[Request] pre compiled image

Hi, i would like to suggest the creation of pre compiled images, this would certainly help noobs like me, who never used linux and those stuff before and want to try this new screen software :D

Feature request: show camera output

Currently TouchUI has a tab to show the output of the camera. It's very useful for aligning the camera on the printer. Can OctoScreen do this as well?
-Thanks.

Octoscreen not started

I'm not able to have octoscreen running, when i'm checking the status i've this:
`pi@octopi:~ $ systemctl status octoscreen.service
● octoscreen.service - OctoScreen
Loaded: loaded (/lib/systemd/system/octoscreen.service; enabled; vendor preset: enabled)
Active: activating (start) since Mon 2019-09-30 11:08:22 BST; 6s ago
Main PID: 4009 (xinit)
Tasks: 2 (limit: 4915)
CGroup: /system.slice/octoscreen.service
└─4009 /usr/bin/xinit /usr/bin/OctoScreen -- :0 -nolisten tcp -nocursor

Sep 30 11:08:22 octopi xinit[4009]: (EE)
Sep 30 11:08:22 octopi xinit[4009]: Fatal server error:
Sep 30 11:08:22 octopi xinit[4009]: (EE) Server is already active for display 0
Sep 30 11:08:22 octopi xinit[4009]: If this server is no longer running, remove /tmp/.X0-lock
Sep 30 11:08:22 octopi xinit[4009]: and start again.
Sep 30 11:08:22 octopi xinit[4009]: (EE)
Sep 30 11:08:22 octopi xinit[4009]: Please consult the The X.Org Foundation support
Sep 30 11:08:22 octopi xinit[4009]: at http://wiki.x.org
Sep 30 11:08:22 octopi xinit[4009]: for help.
Sep 30 11:08:22 octopi xinit[4009]: (EE)`

The screen on the pi is displaying the desktop.

Any idea?

Feature Request: Shutdown and Restart buttons

Thanks for this awesome project! I have been using OctoPrint-TFT on another build and it has Shutdown and Restart buttons in the System screen. Those come in handy when I need to shut down the Pi or restart it when things act funny. Would it be possible to add those to your project?

Missing 0.1mm Z movement

Hello,

I just started to use this setup. It is very nice! Everything works.

Just wanted to report that in the Movement Screen, Z-movement is missing 0.1mm steps. (This stepping is available on Octoprint's webpage)

Also, in the Movement Screen, Z+ and Z- is reversed on the screen (Z+ should be on top).

Lastly, as a request, would it be possible to enable baby-stepping? (less than 0.1mm movement?) This will make this interface perfect for my use.

Thanks so much -

New Feature: PSU Control

It would be great to shutdown and start the printer from the raspberry. Some plugin is already available in octoprint (by Shawn Bruce: psu control).

New install, screen not lining up

Just installed on R pi 3b+ with an Adafruit 3.5" touchscreen. Did the Adafruit driver install and touchscreen calibration, and their touchscreen test tool shows everything is accurate.

However when I launch OctoScreen, everything appears to be off to the right. Is this a resolution mismatch issue?

IMG_0224
IMG_0225
IMG_0226

V2.1: Custom Controls: Scripts not executing, long names causing layout issue

Hi,

Running Octoscreen V2.1 on OctoPrint 1.3.11 running on OctoPi 0.16.0.
Resolution set to 800x533.

I have played around with Octoscreen and ran into 2 issues with custom controls (added through Custom Control Editor Plugin).

Issue 1:
Custom controls which execute scripts (e.g. gcode script to run filament exchange routine) do not work via the OctoScreen interface. The same control works fine via the web interface (and TouchUI previously).

Issue 2:
After adding all my custom controls the control screen still showed the back button but upon return to the main menu the screen was stretched and the back buttons of all other menus no longer accessible.
After that, I removed a number of controls and see if it improves but the issue remained or the back button in the control screen disappeared altogether.
After removing all controls it worked fine again.

Next, I added all the controls back and checked after each section.
As soon as I added buttons with longer names such as "Load Filament (Sensor)" the error occurred again. Reducing the text to "Load (Sensor)" fixed the issue.

Checked the max length after that and it looks like up to 16 char work fine, after that the layout gets shifted out of the frame and runs into issues.

Hope this helps to troubleshoot for the next release.

20190825_141535
20190825_141530

Edite fan speed and flow while printing

Добавьте пожалуйста возможность управления обдувом модели и регулировку потока во время печати.

This Project is just straight up broken

Raspberry Pi 3B
480x320 GPIO touch screen

This project claims to be made exactly to be run on this hardware, but scaling to the screen just straight up doesnt work. I spend nearly 5 hours with many reinstalls and tried any user-provided "fix" that is suggested here, still wont work.

Sad to see there is no way to make it run properly, going back to TouchUI now.
It might be aimed at screen with an higher resolution, but at least its working ..

Feature Request: Custom MQTT buttons

With this you can make and do just about anything, infinite expandability of features through simple buttons that send MQTT messages. The thing on the other end simply does something with the message.

For example, I want to make a Power OFF button for my printer that is present on Octoscreen. To do this I can simply run mosquitto_pub -h mqtt.local -p 1883 -t 'ESPURNA-547CD9/relay/0/set' -m '0' on just about any distro that has mosquitto as a package.

This will tell an ESPURNA electrical relay that recieves MQTT messages to turn off. I can tell it to toggle if the payload is 2 with -m 2 or to turn on with -m 1.

Octoprint also has a plugin https://plugins.octoprint.org/plugins/mqtt/ which implements MQTT . There's also a plugin that lets you add MQTT buttons to the top bar of Octoprint's web interface which is where I've added my button.

This shouldn't be too hard to add, so I'll see about doing it myself once I familiarize myself enough with the codebase and Golang.

Here's my example of how a power button already works in my setup on Octoprint's interface with simple MQTT buttons.

Button in Octoprint

image

MQTT configuration in Octoprint

image

MQTT publishing configuration for MQTT Publish plugin

sends 2 to ESPURNA-547CD9/relay/0/set in order to toggle the power state.
image

Feature request: Increase text size on status screen

Sorry for all the feature requests. I just started using Octoscreen, so I'm getting ideas. :)

The text specifying the elapsed print time and % completion is really tiny and hard to see on a 3.5" screen. There's plenty of space to increase it. Could that be a configuration option?

Opinion of OctoScreen

Hello alexkv,

I leave here my opinion about OctoScreen.
The design is simple and beautiful :) maybe a bit bigger the icons and the text and its perfect ;)

Now some problems (with my specs, and other users in the same situation):
The Main Menu only fits correctly on my screen if i do a lot of extra steps: #34 (comment) . But anyway....I see different resolutions when i change to print menu (when prints) and it doesnt fits correctly. Main Menu and Print Menu have different resolutions on my screen, cutting some parts on right side.
I also see that OctoScreen have problems with the connection on boot, and dont starts automatically, unless I do extra steps: #34 (comment)
Also bed and extruder temperature does not appear in main menu as in your post
Sometimes it seems to block after a while with the printer off, maybe this situation: #10
Some features are not necessary and are unusable buttons in my case (for example: move bed up and down). It would be nice if we could choose to eliminate this buttons
I see that the menu have space to four extruders, but i have the Prusa MMU2 and it have 5 filaments, it would be nice if could be 5 tools.

I think that it will be a super fantastic app, but will be nice to solve this issues. Maybe very hard to solve :S i Dont Know but i send You my opinion. Thanks for the great Work that You are doing :)

My system:
-Raspberry Pi3b+
-Raspbian Octopi
-Velleman TFT 3.5" 320 x 480 - Resistive Touchscreen Display. GPIO

Cheers,

V2.3.0: screens are shifted to the right after entering the control screen

Just installed version 2.3.0 on Ubuntu on my Odroid C2. Looks fine so far, good job!

Small problem is that after entering the control screen, every screen is shifted slightly to the right, so a small part gets cuttet. Not so much like the other bug I posted some time ago with the version 2.1.

My resolution is 800x480.

Memory leak?

From what I see, there are some open issues in the original project, which should now be resolved here. One is a memory leak (hey, wasn't that the reason for golang?): If I have octoscreen running and the printer is disconnected, I see the screen "waiting for connection" - which has do be discussed in another issue - still after some hours, even octoprint get's killed as octoscreen is eating up more and more memory on my RPI3.

no screens found

octoprint-tft.service падает с ошибкой:

octoprint-tft.service - OctoPrint-TFT
   Loaded: loaded (/lib/systemd/system/octoprint-tft.service; enabled; vendor preset: enabled)
   Active: activating (start) since Sat 2019-06-29 10:44:15 BST; 6s ago
 Main PID: 992 (xinit)
   CGroup: /system.slice/octoprint-tft.service
           └─992 /usr/bin/xinit /usr/bin/OctoPrint-TFT -- :0 -nolisten tcp -nocursor

Jun 29 10:44:15 octopi xinit[992]: (EE)
Jun 29 10:44:15 octopi xinit[992]: Fatal server error:
Jun 29 10:44:15 octopi xinit[992]: (EE) no screens found(EE)
Jun 29 10:44:15 octopi xinit[992]: (EE)
Jun 29 10:44:15 octopi xinit[992]: Please consult the The X.Org Foundation support
Jun 29 10:44:15 octopi xinit[992]:          at http://wiki.x.org
Jun 29 10:44:15 octopi xinit[992]:  for help.
Jun 29 10:44:15 octopi xinit[992]: (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
Jun 29 10:44:15 octopi xinit[992]: (EE)
Jun 29 10:44:15 octopi xinit[992]: (EE) Server terminated with error (1). Closing log file.

Installation instruction typo

pi@octopi:~ $ sudo apt-get install libgtk-3-0 xserver-xorg xinit X11-xserver-utils
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package X11-xserver-utils

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.