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

    result of G30

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    5
    15
    395
    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.
    • arhiundefined
      arhi
      last edited by

      M558 P1 C"!zprobe.in" R2 H5 F950 T3000 A3 S0.03 K0 
      G31 X0 Y0 Z0 P780 
      G0X0Y0
      M566 Z0  
      G30
      M409 K"move.calibration" F"v,n,d4"
      

      First, the !zprobe.in makes the probe trigger when value > G31P780? and if there is no ! then it would trigger if value is < G31P780 ?

      Anyhow, the real question, why does M409 always return 0 for all values here?

      {"key":"move.calibration","flags":"v,n,d4","result":{"final":{"deviation":0,"mean":0},"initial":{"deviation":0,"mean":0},"numFactors":0}}
      

      Also, the A3 is "do a max of 3 touches", if it does 2 what does that mean? that between 1st and 2nd difference is below M558 S0.03 ?

      Phaedruxundefined dc42undefined 2 Replies Last reply Reply Quote 0
      • Phaedruxundefined
        Phaedrux Moderator @arhi
        last edited by

        @arhi said in result of G30:

        that between 1st and 2nd difference is below M558 S0.03 ?

        Yes. If the difference were greater, it would probe again, up to the value of A.

        I'm not sure about your first questions.

        Z-Bot CoreXY Build | Thingiverse Profile

        1 Reply Last reply Reply Quote 1
        • Danalundefined
          Danal
          last edited by Danal

          @arhi said in result of G30:

          First, the !zprobe.in makes the probe trigger when value > G31P780? and if there is no ! then it would trigger if value is < G31P780 ?

          Sort of. The ! inverts the pin that follows, if it is a digital pin. It will have no effect on analog (0 to 1000) pins.

          @arhi said in result of G30:

          Anyhow, the real question, why does M409 always return 0 for all values here?

          I am about 90% sure that "move.calibration" will only have values when a G29 or G32 is in the middle of execution, or has finished. That's the part where I'm not absolutely sure.

          @arhi said in result of G30:

          Also, the A3 is "do a max of 3 touches", if it does 2 what does that mean? that between 1st and 2nd difference is below M558 S0.03 ?

          Yes, when two touches are within the threshold, the probe is done. A single probe will end, a level or mesh probe will move to the next step.

          Delta / Kossel printer fanatic

          arhiundefined 1 Reply Last reply Reply Quote 1
          • arhiundefined
            arhi @Danal
            last edited by

            @Danal said in result of G30:

            Sort of. The ! inverts the pin that follows. Therefore more clear phrasing would be: Example: the probe returns a value of 100, this value is inverted on a scale of 1 to 1000, and therefore becomes 900. This value is compared with the P780 on the probe definition and, in this example, a trigger occurs.

            That is what I expected but ! does not have that effect here, the readout is same no matter if there is ! or not. I also had ^ (copy/paste from somewhere) that I removed as also had no effect and IIRC you can't configure ADC input with pullup.

            G29 or G32 is in the middle of execution

            Makes sense, initial before G29/32 and final after. I assume I can read the G30 too but looks like I'm out of luck. Not that I will need it in future, would be interesting to debug something tonight. echo {return} also returns 0 whatever happens with G30 (success, failure no matter).

            1 Reply Last reply Reply Quote 0
            • Danalundefined
              Danal
              last edited by

              Hmmm... I may have been mistaken about inverting an analog reading. Perhaps ! is really intended for digital inversion... I'll have to play around a little and see how it really works.

              Delta / Kossel printer fanatic

              arhiundefined 1 Reply Last reply Reply Quote 0
              • arhiundefined
                arhi @Danal
                last edited by

                @Danal I expected the same but it is totally misleading TBH 😞

                2/28/2020, 4:56:07 AM 	M558 P1 C"!zprobe.in" R2 H5 F3000 T3000 A3 S0.03 K0
                2/28/2020, 4:56:17 AM 	G31
                Current reading 777, threshold 500, trigger height 0.700, offsets X0.0 Y0.0
                2/28/2020, 4:56:28 AM 	M558 P1 C"zprobe.in" R2 H5 F3000 T3000 A3 S0.03 K0
                2/28/2020, 4:56:32 AM 	G31
                Current reading 777, threshold 500, trigger height 0.700, offsets X0.0 Y0.0
                

                Would be cool I can get it to probe faster than 10mm/sec 😞 it's ignoring my F value

                1 Reply Last reply Reply Quote 0
                • Danalundefined
                  Danal
                  last edited by

                  The F is in mm/min. So you should be seeing 50mm/sec. If your axis jerk/accel/speed allow that.

                  Delta / Kossel printer fanatic

                  arhiundefined 1 Reply Last reply Reply Quote 1
                  • arhiundefined
                    arhi @Danal
                    last edited by

                    @Danal hm, I might put a limit on Z max speed somewhere! Must check, I remembered it slows down when it is close to triggering and with piezo you are always close to triggering till it happens so I was thinking that's the problem. It's possible I limited Z speed to 10mm/sec. I must stop debugging stuff at 5am 😞 I'm not 30 anymore 😞

                    M203 X60000.00 Y60000.00 Z600.00 E2400.00
                    

                    Thanks, good catch 😄

                    droftartsundefined 1 Reply Last reply Reply Quote 0
                    • droftartsundefined
                      droftarts administrators @arhi
                      last edited by

                      @arhi Any reason you're defining your probe as P1, but then using K0? Do you already have a probe defined as P0? Maybe K0 doesn't works if you already do, so you're just seeing however P0 is defined (I haven't tested this theory). From https://duet3d.dozuki.com/Wiki/Gcode#Section_M558_in_RepRapFirmware_Num_3

                      New optional parameter K selects the Z probe number. If there is no K parameter then the current Z probe number is used. The current Z probe number is 0 at startup. You can ignore this parameter if you have only one Z probe.

                      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

                      arhiundefined 1 Reply Last reply Reply Quote 0
                      • arhiundefined
                        arhi @droftarts
                        last edited by

                        @droftarts I had K0 and K1, K0 was this piezo orion and the K1 was bltouch, but since chosing what probe is active and since I removed bltouch from the printer as orion got stable enough I could drop K0 but it's default value so it's not changing anything.

                        Maybe you mixed something, P is a probe type it has nothing to do with K (probe number), P0 is type "not existing", P1 is "analog input" (probe output is an analog signal that rises with decreasing nozzle height above the bed)

                        droftartsundefined 1 Reply Last reply Reply Quote 0
                        • droftartsundefined
                          droftarts administrators @arhi
                          last edited by

                          @arhi said in result of G30:

                          Maybe you mixed something, P is a probe type

                          Doh! You're right. Just used to seeing P used to define the each iteration of a type of thing, eg M569 (Drive mapping), M106 (fans), M563 (Tools). Perhaps K should come first!

                          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
                          • dc42undefined
                            dc42 administrators @arhi
                            last edited by

                            @arhi said in result of G30:

                            M558 P1 C"!zprobe.in" R2 H5 F950 T3000 A3 S0.03 K0 
                            G31 X0 Y0 Z0 P780 
                            G0X0Y0
                            M566 Z0  
                            G30
                            M409 K"move.calibration" F"v,n,d4"
                            

                            First, the !zprobe.in makes the probe trigger when value > G31P780? and if there is no ! then it would trigger if value is < G31P780 ?

                            The other way round: with no ! in the pin name, the reading needs to be at least the G31 P value to trigger.

                            Anyhow, the real question, why does M409 always return 0 for all values here?

                            {"key":"move.calibration","flags":"v,n,d4","result":{"final":{"deviation":0,"mean":0},"initial":{"deviation":0,"mean":0},"numFactors":0}}
                            

                            Because you haven't done any auto calibration yet (i.e. delta calibration or true bed levelling).

                            Also, the A3 is "do a max of 3 touches", if it does 2 what does that mean? that between 1st and 2nd difference is below M558 S0.03 ?

                            Yes.

                            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

                            arhiundefined 1 Reply Last reply Reply Quote 1
                            • arhiundefined
                              arhi @dc42
                              last edited by

                              @dc42 said in result of G30:

                              The other way round: with no ! in the pin name, the reading needs to be at least the G31 P value to trigger.

                              Now I'm wondering how my setup works at all 😄 (and it works reliably 😄 )

                              Need to extend the question then. DWC:
                              f20961cc-f3af-4150-bd3e-a86258e94729-image.png

                              What is the color coding here

                              • gray -> not triggered
                              • yellow / orange -> ?!
                              • red -> triggered

                              cause I have trashold configured as +5 from what I read and !zprobe.in
                              so that means that I'm already triggered ?!

                              0e663418-7393-4135-a7e5-3eb0fd2687ef-image.png

                              so treshold is 900
                              reading is 777
                              "gray" show it is not triggered (I can't see in G31 result if it's triggered or not)
                              M558 show it is defined as !zprobe.in

                              so according to

                              with no ! in the pin name, the reading needs to be at least the G31 P value to trigger.

                              I have ! in the pin name so I should trigger below the P value, I am below the P value why is it not "triggered" ? and how will it work at all?! the trigger will happen when the value moves back from 900+ to 900-? but shouldn't it block the probe at all with "zprobe already triggered" ?

                              But, I do the opposite
                              a774def3-cd0f-4400-93a8-45f6bec14e32-image.png

                              no !, reading 777 treshold 500 it's triggered (ok so read is > tresh it's triggered)

                              change threshold:
                              b1d078ab-b7fa-48e6-951f-4902cdc68c43-image.png

                              so without ! it behaves as expected, when read is lower than trash it's not triggered, higher it is ...

                              but with ! behavior looks identical !?
                              bfe6f4d4-a66e-4055-a8da-8e2d8236e9f4-image.png

                              looks like the ! makes no difference at all ?!

                              1 Reply Last reply Reply Quote 0
                              • Danalundefined
                                Danal
                                last edited by

                                Red is indeed triggered, and no color (grey to match background) is not triggered. I have never seen yellow.

                                An exclamation definitely performs a logical not on probe types that are only hi/lo, i.e. switches, BLTouch, etc. I tested this, moments ago.

                                An exclamation point does nothing on a probe types that provide a value. Also tested, moments ago.

                                Board: Duet 3 MB6HC (MB6HC)
                                DSF Version: 1.2.4.0
                                Firmware: RepRapFirmware for Duet 3 MB6HC v0.6 or 1.0 3.01-RC2 (2020-02-18b1)

                                Delta / Kossel printer fanatic

                                arhiundefined 1 Reply Last reply Reply Quote 1
                                • arhiundefined
                                  arhi @Danal
                                  last edited by

                                  @Danal digital one I tested too, ^ and ! behave as expected, but looks like ! does not do anything for analog 😄

                                  There is a yellow/orange state I think when the value is close to the threshold. I don't know how is "close" defined.

                                  @dc42 maybe this should be documented? Maybe if it is I didn't find it. Also, would it make sense for G31 to output also if the probe is triggered or not? It does not matter to me personally any more as I see now that it's always irrelevant to pin modifiers trigger = value >= threshold but maybe it still makes sense.

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