Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Changes for Nebula Pad, fix to layer progress, and minor UI fixes #57

Closed
wants to merge 0 commits into from

Conversation

ajs123
Copy link
Contributor

@ajs123 ajs123 commented Mar 13, 2024

Changes for proper display on the Nebula Pad, and a few small fixes for known issues:

  • Adjusted screen limits for proper touchscreen coordinates (lv_drv_conf.h)
  • Fixed layer progress update (print status panel)
  • Reduced flow display to 2 digits after the decimal (print status panel)
  • Changed the default font in lv_conf.h (Could this break other builds? Font setup in main.cpp doesn't seem to have effect.)
  • Swapped icons for Z+ and Z- in fine tune and homing panels
  • Updated build instructions for spdlog

@adec
Copy link

adec commented Mar 22, 2024

The modified instructions for cross-compilation were top notch - thanks @ajs123.

DEVELOPMENT.md Outdated
export CROSS_COMPILE=mips-linux-gnu-
export CC=mips-linux-gnu-gcc
export CXX=mips-linux-gnu-g++
export GUPPY_SMALL_SCREEN=1
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Explanation of exporting GUPPY_SMALL_SCREEN/EVDEV_CALIBRATE will be a good information.

DEVELOPMENT.md Outdated

Build libraries and executable

1. `make wpaclean && make wpaclient`
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@pellcorp actually simplified this instruction. The steps are already in the Makefile build target. See here https://github.com/ballaswag/guppyscreen/pull/45/files#diff-fc2a310fcfedfefb0046def697f932def80cbb1e78c689bc0af3c8eab3e33eceR56

lv_conf.h Outdated
@@ -376,7 +376,7 @@ extern uint32_t custom_tick_get(void);
#define LV_FONT_CUSTOM_DECLARE

/*Always set a default font*/
#define LV_FONT_DEFAULT &lv_font_montserrat_16
#define LV_FONT_DEFAULT &lv_font_montserrat_12 // Appropriate size for Nebula Pad
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry about this nonsense, the issue was a bug in lvgl which I patched locally but didn't commit. The DPI font size is fixed by 237c61a

@@ -22,8 +22,8 @@ FineTunePanel::FineTunePanel(KWebSocketClient &websocket_client, std::mutex &l)
, panel_cont(lv_obj_create(lv_scr_act()))
, values_cont(lv_obj_create(panel_cont))
, zreset_btn(panel_cont, &refresh_img, "Reset Z", &FineTunePanel::_handle_zoffset, this)
, zup_btn(panel_cont, &z_closer, "Z+", &FineTunePanel::_handle_zoffset, this)
, zdown_btn(panel_cont, &z_farther, "Z-", &FineTunePanel::_handle_zoffset, this)
, zup_btn(panel_cont, &z_farther, "Z+", &FineTunePanel::_handle_zoffset, this)
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should probably be an option for the user invert these 2 icons.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The icons are pretty industry standard if I'm not mistaken. Flipping them (as they currently are) could be potentially dangerous in terms of leading to nozzle crashes (happened to me).

@@ -538,7 +538,7 @@ void PrintStatusPanel::update_layers(json &info) {
new_total_layer = v.template get<int>();
}

if (new_total_layer > total_layer || new_cur_layer > cur_layer) {
if (new_total_layer != total_layer || new_cur_layer != cur_layer) {
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice

lv_drv_conf.h Outdated
# define EVDEV_HOR_MAX 4096 /*"evtest" Linux tool can help to get the correct calibraion values>*/
# define EVDEV_VER_MIN 0
# define EVDEV_VER_MAX 4096
# define EVDEV_HOR_MIN 190 //0 /*to invert axis swap EVDEV_XXX_MIN by EVDEV_XXX_MAX*/
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the numbers. This needs to be configurable so other screens that needs calibration do not get impacted (e.g. the BTT Pad 7).

@Rulevoid
Copy link

Rulevoid commented Apr 4, 2024

This is a pretty massive fix for many issues with Guppy on Nebula pads. Looks like this has been sitting for a while. Are there some easy to follow steps for me to compile and use this branch on my Ender 3 V3 KE w/ Nebula Pad? (Already using Guppy on it)?

@ballaswag
Copy link
Owner

Fixes in nightly build here https://github.com/ballaswag/guppyscreen/actions/runs/8629364623 guppyscreen-smallscreen. If anyone tests it out please let me know if touch calibration works.

@ajs123
Copy link
Contributor Author

ajs123 commented Apr 10, 2024

Fixes in nightly build here https://github.com/ballaswag/guppyscreen/actions/runs/8629364623 guppyscreen-smallscreen. If anyone tests it out please let me know if touch calibration works.

The screen cal worked for me!

@Rulevoid
Copy link

@ajs123 How did you get the file to an Ender 3 V3 KE? I don't think they support FTP (WinSCP is failing for me).

@ajs123
Copy link
Contributor Author

ajs123 commented Apr 10, 2024

@ajs123 How did you get the file to an Ender 3 V3 KE? I don't think they support FTP (WinSCP is failing for me).

On the build machine...
scp build/bin/guppyscreen root@<ip.address>:/usr/data/guppyscreen/guppyscreen-new
(may require the -O option to scp)

Then on the Nebula...
cd /usr/data/guppyscreen
cp guppyscreen guppyscreen-save
cp guppydcreen-new guppyscreen
/etc/init.d/S99guppyscreen restart

@Rulevoid
Copy link

Thanks! Only difference I had was to make the permissions match on the new binary vs. the previous one.

My thoughts:
This build still looks like it has some issues. The Homing screen still has the icons for the Z+ and Z- backwards, the target temperature for extruder on the main screen is still wrapping lines, etc. The good is that the refresh button under the Print icon now actually refreshes the gcode directory, and the touchscreen calibration has made more accurate clicks.

image

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants