• Tags
  • Documentation
  • Order
  • Register
  • Login
Duet3D Logo Duet3D
  • Tags
  • Documentation
  • Order
  • Register
  • Login

Paneldue as Pendant behavior - opposite mirrored areas activate

Scheduled Pinned Locked Moved
PanelDue
5
19
1.0k
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • undefined
    sinned6915 @Phaedrux
    last edited by 8 May 2022, 02:48

    @phaedrux
    YES!

    At the end of my video, I switch it by the 'Panel' button and go into regular landscape mode and everything works like it should.

    That is what is so confusing.

    undefined 1 Reply Last reply 8 May 2022, 11:39 Reply Quote 0
    • undefined
      oliof @sinned6915
      last edited by 8 May 2022, 11:39

      @sinned6915 if noone from diabase reads here, you will likely need to file an issue in their github https://github.com/diabase/H-Series-Pendant-Firmware

      <>RatRig V-Minion Fly Super5Pro RRF<> V-Core 3.1 IDEX k*****r <> RatRig V-Minion SKR 2 Marlin<>

      undefined 1 Reply Last reply 8 May 2022, 17:56 Reply Quote 1
      • undefined
        sinned6915 @oliof
        last edited by 8 May 2022, 17:56

        @oliof yes, that is probly best.
        I wanted to try and make sure it was not operator error first.
        thanks again

        undefined 1 Reply Last reply 8 May 2022, 17:59 Reply Quote 0
        • undefined
          sinned6915 @sinned6915
          last edited by 8 May 2022, 17:59

          The reason I am trying to make use of this is that I am trying to avoid making the PanelDue pass-through version of the pendant.

          undefined 1 Reply Last reply 8 May 2022, 23:07 Reply Quote 0
          • undefined
            oliof @sinned6915
            last edited by 8 May 2022, 23:07

            @sinned6915 I'd want to use it as well if I were in need of a pendant. In fact I gave it a try last year but the soldering job on my encoder knob was so bad that I built back before I printed a case and returned to stock PanelDue firmware. But not for lack of want (-:

            <>RatRig V-Minion Fly Super5Pro RRF<> V-Core 3.1 IDEX k*****r <> RatRig V-Minion SKR 2 Marlin<>

            1 Reply Last reply Reply Quote 0
            • undefined
              sinned6915 @Phaedrux
              last edited by 9 May 2022, 17:44

              @phaedrux 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 functoin. 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. Standar Paneldue firmware on the same machine with normal firmware to show normal function- https://photos.app.goo.gl/YUebXv5EmbUYDB296

              1 Reply Last reply Reply Quote 0
              • undefined
                Phaedrux Moderator
                last edited by 9 May 2022, 19:53

                Normal hardware and normal firmware are working correctly. Beyond that I wouldn't even know where to begin looking. The Diabase github would be my next step if I were you.

                Z-Bot CoreXY Build | Thingiverse Profile

                1 Reply Last reply Reply Quote 0
                • undefined
                  dc42 administrators @sinned6915
                  last edited by 10 May 2022, 06:00

                  @sinned6915 did you re-run touch calibration after switching to pendant mode?

                  Duet WiFi hardware designer and firmware engineer
                  Please do not ask me for Duet support via PM or email, use the forum
                  http://www.escher3d.com, https://miscsolutions.wordpress.com

                  undefined 1 Reply Last reply 10 May 2022, 15:06 Reply Quote 0
                  • undefined
                    sinned6915 @dc42
                    last edited by sinned6915 5 Oct 2022, 15:51 10 May 2022, 15:06

                    @dc42 yes, i believe I have. I will redo and double check and report back.

                    EDIT: After upload of the FW, the PanelDue is calibration mode to touch the 4 spots.
                    After calibration it is in Pendant mode, and after switching to Panel mode, rerunning the calibration does not seem to make any difference.

                    Once I have gotten into a jog selection, say X at 1.0mm, the encoder works beautifully.

                    I have tried this on both a PanelDue 7.0 with V3 controller AND on a PanelDue 7i, both behave the same.

                    Is there anything in the config.g settings that might throw this off? I looked at the H5 firmware files, but did not see anything obvious.

                    I agree that the next step would be to create an issue ticket on Diabase github.

                    I have tried delving into the source code, but I am having a hard time telling what is OE code and what is user contributed code. My conclusions are that looking at the code are above my skills at this time.

                    undefined 1 Reply Last reply 10 May 2022, 20:30 Reply Quote 0
                    • undefined
                      dc42 administrators @sinned6915
                      last edited by 10 May 2022, 20:30

                      @sinned6915 in the original PanelDue firmware code, there is a parameter of type DisplayOrientation to the constructor that determines the polarity of the touch response. There is also a function AdjustOrientation that can change it. AFAIR the touch calibration procedure calls AdjustOrientation.

                      Duet WiFi hardware designer and firmware engineer
                      Please do not ask me for Duet support via PM or email, use the forum
                      http://www.escher3d.com, https://miscsolutions.wordpress.com

                      undefined 1 Reply Last reply 10 May 2022, 21:40 Reply Quote 0
                      • undefined
                        sinned6915 @dc42
                        last edited by 10 May 2022, 21:40

                        @dc42 any suggestions on what to look for?

                        their firmware is supposed to work for 5i and 7i.
                        could something be 'wrapping' to behave like this?

                        undefined 1 Reply Last reply 12 May 2022, 12:21 Reply Quote 0
                        • undefined
                          dc42 administrators @sinned6915
                          last edited by 12 May 2022, 12:21

                          @sinned6915 I don't know why you are having this problem and Diabase isn't. However, I think a solution would be to make this function call when switching between portrait and landscape:

                          touch.adjustOrientation(ReverseX | ReverseY);

                          Duet WiFi hardware designer and firmware engineer
                          Please do not ask me for Duet support via PM or email, use the forum
                          http://www.escher3d.com, https://miscsolutions.wordpress.com

                          undefined 1 Reply Last reply 21 May 2022, 03:57 Reply Quote 0
                          • undefined
                            sinned6915 @dc42
                            last edited by 21 May 2022, 03:57

                            @dc42 where should I be looking for this function call?

                            I am looking at lines 815 - 837 of PanelDue.cpp -

                            
                            void LandscapeDisplay(const bool withTouch)
                            {
                            	lcd.fillScr(black);
                            	lcd.setOrientation(nvData.lcdOrientation, IS_ER, true);
                            	if (withTouch)
                            	{
                            		touch.init(DisplayX, DisplayY, nvData.touchOrientation);
                            		touch.calibrate(nvData.xmin, nvData.xmax, nvData.ymin, nvData.ymax, touchCalibMargin);
                            	}
                            }
                            
                            void PortraitDisplay(const bool withTouch)
                            {
                            	DisplayOrientation portrait = static_cast<DisplayOrientation>(nvData.lcdOrientation ^ (SwapXY | ReverseX));
                            	lcd.fillScr(black);
                            	lcd.setOrientation(portrait, IS_ER, true);
                            	if (withTouch)
                            	{
                            		DisplayOrientation portraitTouch = static_cast<DisplayOrientation>(nvData.touchOrientation ^ (SwapXY | ReverseX));
                            		touch.init(DisplayXP, DisplayYP, portraitTouch);
                            		touch.calibrate(nvData.ymin, nvData.ymax, nvData.xmin, nvData.xmax, touchCalibMargin);
                            	}
                            }
                            

                            the references to (SwapXY | ReverseX) are throwing me off.

                            sinneD

                            undefined 1 Reply Last reply 22 May 2022, 09:20 Reply Quote 0
                            • undefined
                              dc42 administrators @sinned6915
                              last edited by 22 May 2022, 09:20

                              @sinned6915 said in Paneldue as Pendant behavior - opposite mirrored areas activate:

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

                              Since X and Y need to be reversed compared to what happens now, I suggest you change ReverseX in that line to ReverseY.

                              Duet WiFi hardware designer and firmware engineer
                              Please do not ask me for Duet support via PM or email, use the forum
                              http://www.escher3d.com, https://miscsolutions.wordpress.com

                              undefined 1 Reply Last reply 22 May 2022, 20:44 Reply Quote 0
                              • undefined
                                sinned6915 @dc42
                                last edited by 22 May 2022, 20:44

                                @dc42 that seems to have done it!
                                at least it compiled and now runs.
                                i need to reassemble it all and make all the connections to fully test.
                                i will report back.

                                undefined 1 Reply Last reply 1 Nov 2024, 13:47 Reply Quote 0
                                • undefined
                                  solex4ever @sinned6915
                                  last edited by 1 Nov 2024, 13:47

                                  @sinned6915
                                  Hello, I have the same issue on PanelDue7.0/V3 controller.
                                  I can't recompile the firmware with the modified PanelDue.cpp file because I don't have the skills. Would it be possible to share the one you use? Thanks in advance

                                  1 Reply Last reply Reply Quote 0
                                  • First post
                                    Last post
                                  Unless otherwise noted, all forum content is licensed under CC-BY-SA