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

Disable Bed Compensation (M561) disabled / greyed out

Scheduled Pinned Locked Moved
Duet Web Control
5
11
409
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
    Sevimuelli
    last edited by 4 Apr 2023, 14:07

    Hi
    On the Dashboard under Compensation & Calibration, the field "Disable Bed Compensation (M561)" is constantly disabled. As far as I understand, ones one does a calibration with G32 ( not a Mesh Compensation), this field should be active and one should be able to deactivate the previous calibration.
    cc501922-6e93-44fc-8f9e-69c909972263-Screenshot 2023-04-04 at 13.34.55.png Screenshot 2023-04-04 at 13.34.55.png

    Looking into the source code, under MovementPanel.vue, this field is disabled if: "!move.compensation.type || move.compensation.type.indexOf('Point') === -1". So if the mesh grid compensation is active, this field should be available. But even then, the field is disabled because ".indexOf('Point')" always returns -1, because type can only be "none" or "mesh". This behaviour is probably wrong anyway, because this button corresponds to the G32 calibration and not to the mesh compensation. Or am I not seeing something here? So if after calibration the type would be set to "Point", it would work but then again as far as I understand, this would be in the wrong category. So one needs a property "Type" under move.calibration, not move.compensation, as this are two different categories, right? And to be completely correct, shouldn't it say something like "Disable Bed Calibration" to differentiate between this and mesh compensation?

    So with the proper values in the object model, this will be an easy fix. But as long as they are not available, one can't do anything about it.

    I have updated the system today and run Duet Web Control 3.4.5. I use Duet3D with a Delta 3D printer.

    Thanks very much in advance ๐Ÿ™‚

    undefined undefined 2 Replies Last reply 4 Apr 2023, 14:41 Reply Quote 0
    • undefined
      jay_s_uk @Sevimuelli
      last edited by 4 Apr 2023, 14:41

      @Sevimuelli whats probably misleading is that M561 and G29 S2 do the same thing.
      I would really be proposing that one got removed.

      so to sum up, M561 is only enabled when a mesh is loaded with G29

      Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

      1 Reply Last reply Reply Quote 0
      • undefined
        droftarts administrators @Sevimuelli
        last edited by 4 Apr 2023, 18:41

        @Sevimuelli G32 runs bed.g, which is used for delta calibration, or bed levelling. This is not compensation; itโ€™s getting the bed plane level to the XY axes. Mesh compensation then runs after that, compensating for any unevenness in the bed plane.

        The only other compensation is Orthogonal axis compensation https://docs.duet3d.com/en/User_manual/Tuning/Orthogonal_axis_compensation
        I think if this is applied, it also counts as a compensation type, but I might be wrong.

        Ian

        Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

        1 Reply Last reply Reply Quote 0
        • undefined
          Sevimuelli
          last edited by 4 Apr 2023, 19:36

          @droftarts @jay_s_uk Thanks for the replies. Yes I understand how it should work and what's the difference between calibration and compensation. The issue here is that this button can never be enabled because it is only enabled if the object property "move.compensation.type" is set to "Point". That's how they have done it in DuetWebControl:

          <v-list-item :disabled="!move.compensation.type || move.compensation.type.indexOf('Point') === -1" @click="sendCode('M561')">
          <v-icon class="mr-1">mdi-border-none</v-icon> {{ $t('panel.movement.disableBedCompensation') }}
          </v-list-item>

          But if you check the source code of reprapfirmware, the type will only ever be set to either "none" if no mesh bed compensation ( no matter what about the calibration) or to "mesh" if a mesh bed compensation is active. There is no option for "Point".

          So the main issue is that right now you have a button which never can be active. It is not possible. Yeah sure one option is to just remove this button, but in my opinion, it would be really helpful to have some sort of indication if a calibration is active or not. Use this button for what is originally was intended for.

          I would make a new issue on GitHub, but I'd like to know what it's actually about this button. I could even make a pull request for DuetWebControl, it's an easy fix. But for this to work one needs a corresponding property in the object model and to be honest, I feel less comfortable changing something in the reprap firmware.

          Sevi

          undefined undefined 2 Replies Last reply 4 Apr 2023, 21:14 Reply Quote 0
          • undefined
            jay_s_uk @Sevimuelli
            last edited by jay_s_uk 4 Apr 2023, 21:15 4 Apr 2023, 21:14

            @Sevimuelli the button activates if you load a mesh though...
            You also can't disable a bed calibration

            Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

            1 Reply Last reply Reply Quote 0
            • undefined
              droftarts administrators @Sevimuelli
              last edited by 4 Apr 2023, 21:18

              @Sevimuelli This does seem to be a bug in DWC 3.4.5, but does seem to have been fixed in the DWC 3.5 beta version I'm running. This is DWC 3.4.5:
              a5e8ad62-418f-417e-842b-76a74a4f3c93-image.png
              This is from DWC 3.5.0-beta.3+pre2
              8ad95ab9-e0fa-41ab-8c11-b41af473cc08-image.png
              Thanks for pointing it out!

              Ian

              Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

              undefined 1 Reply Last reply 4 Apr 2023, 21:19 Reply Quote 0
              • undefined
                jay_s_uk @droftarts
                last edited by 4 Apr 2023, 21:19

                @droftarts ah, I'm running 3.5b2.
                Still seems a bit pointless when both buttons do the same thing. You can't disable a compensation

                Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

                undefined 1 Reply Last reply 4 Apr 2023, 21:33 Reply Quote 0
                • undefined
                  droftarts administrators @jay_s_uk
                  last edited by droftarts 4 May 2023, 13:26 4 Apr 2023, 21:33

                  @jay_s_uk Yes, M561 and G29 S2 do the same thing as far as I'm aware. I can't remember if it's different on a delta, but I don't think so. Also, M556 Orthogonal Axis Compensation (or axis skew compensation) doesn't count as a 'compensation in use' when set, and isn't cleared by M561 or G29 S1. I'll ask @dc42 if that is intentional.

                  @Sevimuelli I think the 'Point' compensation might be the old 'bed probing using G32' method. This is now obsolete, and I think support for it has been removed from the firmware. The only reference to it now is on the old Dozuki pages (which may not last too much longer); see
                  http://web.archive.org/web/20221202023413/https://duet3d.dozuki.com/Wiki/Setting_up_automatic_probing_of_the_print_bed#Section_Obsolete_information

                  Ian

                  Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                  1 Reply Last reply Reply Quote 1
                  • undefined
                    Sevimuelli
                    last edited by 4 Apr 2023, 23:23

                    @droftarts Thanks for the explanation! Ok now it makes sense because I am running DWC 3.4.5 and it never worked.
                    I have to agree with @jay_s_uk that it's a bit pointless if both do the "same" thing. Looking at the dev-version, both buttons are now active only when the mesh compensation is active. And yes you can disable the bed calibration as it just resets the bed probing as described in the G Code reference but for this to be useful it needs to be active as soon as a calibration is active. But then again you can just home the printer and it has the same effect. Don't get me wrong but I feel like now it's more confusing than helpful. But that's not my place to decide.

                    Sevi

                    undefined 1 Reply Last reply 5 Apr 2023, 08:51 Reply Quote 1
                    • undefined
                      dc42 administrators @Sevimuelli
                      last edited by dc42 4 May 2023, 08:51 5 Apr 2023, 08:51

                      @Sevimuelli I agree that the "Disable bed compensation" button should be removed. One for @chrishamm.

                      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 5 Apr 2023, 08:57 Reply Quote 0
                      • undefined
                        chrishamm administrators @dc42
                        last edited by 5 Apr 2023, 08:57

                        @dc42 @Sevimuelli Done.

                        Duet software engineer

                        1 Reply Last reply Reply Quote 2
                        7 out of 11
                        • First post
                          7/11
                          Last post
                        Unless otherwise noted, all forum content is licensed under CC-BY-SA