diabase / H-Series-Pendant-Firmware

Firmware for the PanelDue touch screen for H-Series Pendant application
Other
3 stars 3 forks source link

Pendant mode behavior is diagonally opposite of screen. #9

Open nionio6915 opened 2 years ago

nionio6915 commented 2 years ago

Trying to use the 3.2.6+1 and 3.2.6 pendant binaries. My experience is opposite side of the screen, and mirrored position seems be what is activated for me. Here is what I mean by it- image

Here are some better videos of the behavior-

  1. PanelDue with the firmware loaded. Ignore the portait/landscape difference at the start-I have it that way so you can see the lanscape mode of the normal Panel function. (I am trying to use a stylus to push buttons so you can see the highlighed presses, and my hand movements are making the focus jumpy). https://photos.app.goo.gl/8nYPxtsLjEH7yCuq7

  2. For comparison, here is the same unit with Standard Paneldue firmware on the same machine with normal firmware to show normal function- https://photos.app.goo.gl/YUebXv5EmbUYDB296

  3. I have tried the same binaries on PaneDue7i and PanelDue7.0/V3 controller. Same results.

After comparing the firmware behavior to other users with the same hardware, I started a thread at Duet forums. No luck i trying to solve it yet.

https://forum.duet3d.com/topic/28407/paneldue-as-pendant-behavior-opposite-mirrored-areas-activate/3?_=1652193875516

nionio6915 commented 2 years ago

The fix seems to be a change in the line for

DisplayOrientation portraitTouch = static_cast<DisplayOrientation>(nvData.touchOrientation ^ (SwapXY | ReverseX));

to

DisplayOrientation portraitTouch = static_cast<DisplayOrientation>(nvData.touchOrientation ^ (SwapXY | ReverseY));

in PanelDue.cpp around line 950

image

Solex4ever commented 2 weeks ago

I have the same mirroring issues but I don't know how to compile the firmware after modifying PanelDue.cpp. I have PanelDue7.0/V3 controller also so could you please release the modified firmware or send me the .bin ? Thanks a lot !