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

    RepRapFirmware 3.0beta 11 released

    Scheduled Pinned Locked Moved
    Beta Firmware
    13
    72
    3.5k
    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.
    • stereoundefined
      stereo @dc42
      last edited by stereo

      @dc42 shot_191024_124521.png shot_191024_124938.png

      M574 X1 S1 P"io0.in" or
      M574 X1 S0 P"io0.in"
      on beta11 always triggered YES.

      IF RUN "M574 Y2 S0","M574 X1 S0" work fine NO...

      normal config on beta10:
      M574 X1 S0 P"io0.in"

      Duet3

      1 Reply Last reply Reply Quote 0
      • A Former User?
        A Former User @dc42
        last edited by

        @dc42 FOUND THE CAUSE OF THE BUG 😄

        This is ZPROBE.IN in beta10 (bltouch disconnected)

        34b3b580-bc57-4f8a-908d-2ffea12884f3-image.png

        as you can see ~3V with some ugly 50Hz garbage that should not interfere

        but this is ZPROBE.IN in beta11 (bltouch disconnected)

        60c767d3-a300-4035-a997-b5be9b246698-image.png

        as you can see it's floating around 1V at 50Hz so I'd say ZPROBE.IN is HIZ at this point and there is no pullup enabled... I don't see on schematic where zprobe_in becomes zprobe_mcu, are you using external pullup or you just need to configure it as in with pullup enabled .. anyhow .. there's no pullup on zprobe.in with beta11

        dc42undefined 1 Reply Last reply Reply Quote 0
        • A Former User?
          A Former User
          last edited by

          found the zprobe_in to zprobe_mcu .. just 10k trough and 2n2 down .. so def port configuration missing 😄

          and I also found the commit that introduced the bug:

          src/Endstops/LocalZProbe.cpp:42

          https://github.com/dc42/RepRapFirmware/blame/c25d73194252791ceb479ced79ffc77b31c810fe/src/Endstops/LocalZProbe.cpp#L42

          you switched it from PinAccess::readWithPullup; to PinAccess::read;

          Nuramoriundefined 1 Reply Last reply Reply Quote 0
          • A Former User?
            A Former User
            last edited by

            This will probbly work ok with bltouch v2 or v1 as they have 0/1 output, v3/v3.1 is open drain output so it can only pull low. Not sure why you switched from readWithPullup to read, but maybe create a new probe type with pullup, or should we add external pullup if this is to remain without one on the port?

            b7c4c4fe-7b67-4c36-8584-1c94bcea4f30-image.png

            1 Reply Last reply Reply Quote 0
            • Nuramoriundefined
              Nuramori @A Former User
              last edited by Nuramori

              @smece sadly, I saw your posts 3 minutes too late :p.

              Thought my errant height map was a fluke due to a part swap. I dug a nice groove into my test spring plate (luckily I always use a sacrificial test plate whenever I change anything on the printer, hardware or software).

              Moving back to 10 brought everything back to “normal”.

              1 Reply Last reply Reply Quote 0
              • dc42undefined
                dc42 administrators @A Former User
                last edited by dc42

                @smece said in RepRapFirmware 3.0beta 11 released:

                so I'd say ZPROBE.IN is HIZ at this point and there is no pullup enabled... I don't see on schematic where zprobe_in becomes zprobe_mcu, are you using external pullup or you just need to configure it as in with pullup enabled .. anyhow .. there's no pullup on zprobe.in with beta11

                Thanks for tracking this down. I removed implicit enabling of pullup resistors in beta 11 because it meant that you couldn't turn them off. If you want to enable the pullup resistor, you need to be explicit by using C"^zprobe.in" in your M558 command.

                The BLTouch that I test with is the older version that drives the output high when triggered, that's why I didn't see the problem during testing.

                I'll update the documentation to make this clear.

                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

                A Former User? 1 Reply Last reply Reply Quote 2
                • A Former User?
                  A Former User @dc42
                  last edited by

                  @dc42 said in RepRapFirmware 3.0beta 11 released:

                  you need to be explicit by using C"^zprobe.in" in your M558 command.

                  Perfect, this solves the problem. Everything works ok now.

                  M558 P9 C"^zprobe.in" H5 F120 T3000 A2
                  M950 S0 C"exp.heater3"
                  G31 P100 X35 Y0 Z2.2
                  
                  1 Reply Last reply Reply Quote 0
                  • fmaundefined
                    fma
                    last edited by fma

                    I just installed RRF3.0beta11 on my DuetWifi2, and I have troubles configuring Fans. In my config.g file, I have:

                    M950 F0 C"heater1" Q100    ; Fan 0 (water pump) is connected to heater 1, PWM at 100Hz
                    M950 F1 C"heater2" Q100    ; Fan 1 (Berd air pump) is connected to heater 2, PWM at 100Hz
                    M950 F2 C"duex.fan3" Q100  ; Fan 2 (Leds) is connected to heater 2, PWM at 100Hz
                    M950 S0 C"fan0"            ; Servo 0 is connected to "fan0" pin
                    
                    ; Tools
                    M563 P0 D0 H1 F1 S"Manual"  ; Define tool 0 using Drive 0, Heater 1 and Fan 1
                    

                    But I don't see any fan controls in DWC2... What I missed?

                    I also would like to know:

                    • how to setup thermostatic control for a fan
                    • how to name a fan

                    Thanks,

                    PS: the tool is working fine.

                    Frédéric

                    gtj0undefined 1 Reply Last reply Reply Quote 0
                    • gtj0undefined
                      gtj0 @fma
                      last edited by

                      @fma You still need M106 commands...

                      This is for a Duet3 but

                      ; Fans & LEDs
                      M950 F0 C"out7" Q25000
                      M106 P0 C"PartCooling" S0  H-1
                      M950 F1 C"out8" Q25000
                      M106 P1 C"HotEnd" T45 H1
                      
                      M950 F2 C"out9" Q100
                      M106 P2 S255 B0 C"Bed LED"
                      
                      1 Reply Last reply Reply Quote 1
                      • fmaundefined
                        fma
                        last edited by

                        Ok, I see. Thanks!

                        Frédéric

                        1 Reply Last reply Reply Quote 0
                        • fmaundefined
                          fma
                          last edited by

                          I also have the homing issue G0/G1: insufficient axes homed.

                          But it does not happen all the time. It can home fine, then it does not. I can't find a pattern, it can happens at different stages...

                          I'm using a Duet2Wifi.

                          Here are my congif.g and all homing files:

                          ; Configuration file for Duet WiFi
                          ; executed by the firmware on start-up
                          
                          ; General preferences
                          M111 S0  ; Debugging off
                          G21      ; Work in millimetres
                          G90      ; Send absolute coordinates...
                          M83      ; ...but relative extruder moves
                          M555 P2  ; Set firmware compatibility to look like Marlin
                          M667 S1  ; Select CoreXY mode
                          
                          ; Drives
                          M208 X-60:302 Y-100:305 Z0:320 U-1000:1000  ; Set axis limits
                          M584 X0 Y1 Z2 E5 U6                         ; Remap axes
                          M569 P0 S1                                  ; Drive 0 goes forwards
                          M569 P1 S1                                  ; Drive 1 goes forwards
                          M569 P2 S0                                  ; Drive 2 goes reverse
                          M569 P5 S0                                  ; Drive 5 goes reverse
                          M569 P6 S1                                  ; Drive 6 goes forward
                          M350 X16 Y16 Z16 E16 U16 I1                 ; Configure microstepping with interpolation
                          M92 X66.667 Y66.667 Z1417.323 E530 U140     ; Set steps per mm
                          M203 X30000 Y30000 Z1200 E3600 U3600        ; Set maximum speeds (mm/min)
                          M201 X1000 Y1000 Z100 E3000 U3000           ; Set accelerations (mm/s^2)
                          M566 X900 Y900 Z60 E600 U600                ; Set maximum instantaneous speed changes (mm/min)
                          M906 X1750 Y1750 Z1750 E750 U1250 I30       ; Set motor currents (mA) and motor idle factor in per cent
                          M84 S30                                     ; Set motors idle timeout
                          
                          ; Endstops (must be defined after any M584 command)
                          M574 X2 S1 P"xstop"  ; X min active high endstop switch
                          M574 Y2 S1 P"ystop"  ; Y min active high endstop switch
                          M574 Z1 S1 P"zstop"  ; Z min active high endstop switch
                          
                          ; Sensors
                          M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 R4700               ; bed temperature sensor uses 'bedtemp' pin
                          M308 S1 P"duex.e2temp" Y"thermistor" T100000 B4725 C7.06e-8 R4700  ; E0 temperature sensor uses 'deux.e2temp' pin
                          
                          ; Heaters
                          M950 H0 C"bedheat" T0          ; heater 0 uses the 'bedheat' pin and sensor 0
                          M143 H0 S120                   ; Set maximum heater 0 temperature to 120°C (not yet supported)
                          M307 H0 A105.6 C627.9 D1.5 B0  ; Auto-tune values for heater 0
                          M950 H1 C"duex.e2heat" T1      ; heater 1 uses the 'duex.e2heat' pin and sensor 1
                          M143 H1 S280                   ; Set maximum heater 1 temperature to 280C (not yet supported)
                          
                          ; Fans
                          M950 F0 C"e0heat" Q100000           ; Fan 0 connected to 'e0heat' pin, PWM at 100KHz
                          M106 P0 C"Part cooling"             ; Part cooling fan uses fan 0
                          M950 F1 C"e1heat" Q100000           ; Fan 1 connected to 'e1heat' pin, PWM at 100KHz
                          M106 P1 C"Water pump" T45 H1 X0.25  ; Thermostatic fan uses fan 1, monitor heater 1, max PWM 25% (6V out of 24V)
                          M950 F2 C"duex.fan3" Q100           ; Fan 2 connected to 'duex.fan3' pin, PWM at 100Hz
                          M106 P2 C"Leds"                     ; Leds uses fan 2
                          
                          ; Servos
                          M950 S0 C"fan0"  ; Servo 0 connected to 'fan0' pin
                          
                          ; Tools
                          M563 P0 D0 H1 F1 S"Manual"  ; Define tool 0 using Drive 0, Heater 1 and Fan 1
                          G10 P0 X0 Y0 Z0             ; Set tool 0 axis offsets
                          G10 P0 R190 S190            ; Set initial tool 0 active and standby temperatures
                          M207 S1.5 F2400             ; Set retraction length (G10/G11)
                          M572 D0 S0.08               ; Pressure advance
                          
                          ; Network
                          M550 PDuetWifi  ; Set machine name
                          M551 Pxxxxxx    ; Set password
                          M552 S1         ; Enable network
                          ; Access point is configured manually via M587 by the user
                          M586 P0 S1      ; Enable HTTP
                          M586 P1 S1      ; Enable FTP
                          M586 P2 S0      ; Disable Telnet
                          
                          ; Misc
                          M912 P0 S-13  ; Calibrate CPU temp.
                          M106 P2 S0.1  ; Turn leds on 10%
                          
                          ; Custom settings are not configured
                          
                          ; homeall.g
                          ; called to home all axes
                          
                          M98 P0:/sys/homexy.g
                          M98 P0:/sys/homez.g
                          M98 P0:/sys/homeu.g
                          
                          ; homexy.g
                          ; called to home the X and Y axis
                          
                          G91  ; relative positioning
                          
                          G1 Z1 F1200 H2  ; lift Z
                          
                          G1 X325 Y325 F1800 H1  ; course home X or Y
                          G1 X325 H1             ; course home X
                          G1 Y325 H1             ; course home Y
                          G1 X-5 Y-5 F6000       ; move away from the endstops
                          G1 X325 F300 H1        ; fine home X
                          G1 Y325 H1             ; fine home Y
                          
                          G1 Z-1 F1200 H2  ; lower Z
                          
                          G90  ; absolute positioning
                          
                          ; homez.g
                          ; called to home the Z axis
                          
                          G91  ; relative positioning
                          
                          G1 Z-325 F600 H1  ; course home Z
                          G1 Z5 F1200       ; move away from the endstop
                          G1 Z-325 F120 H1  ; Fine home Z
                          
                          G90  ; absolute positioning
                          
                          ; homeu.g
                          ; called to home the U axis
                          
                          G92 U0
                          

                          Thanks for you help.

                          Frédéric

                          deckingmanundefined JoergS5undefined 2 Replies Last reply Reply Quote 0
                          • deckingmanundefined
                            deckingman @fma
                            last edited by

                            @fma You need to put your M584 before M667 and M208. Look at the order dependencies here https://duet3d.dozuki.com/Wiki/Gcode#Section_M584_Set_drive_mapping. Also, it probably won't make any difference but M667 is deprecated and you should really be using M669 instead of M667.

                            Ian
                            https://somei3deas.wordpress.com/
                            https://www.youtube.com/@deckingman

                            1 Reply Last reply Reply Quote 0
                            • fmaundefined
                              fma
                              last edited by

                              Ok, thanks. I applied all these corrections, but I still have the issue.

                              I tried to removed the U axis: not better.

                              Frédéric

                              deckingmanundefined 1 Reply Last reply Reply Quote 0
                              • deckingmanundefined
                                deckingman @fma
                                last edited by

                                @fma Then I guess what's needed is some way of reproducing the problem - it's always difficult to diagnose when there is an element of "randomness" involved.

                                Unfortunately, I'm unable to help much more because I can't home my printer at all. Some of my end stops are on expansion boards and RRF 3 firmware doesn't yet work for homing with end stops on expansion boards.

                                Ian
                                https://somei3deas.wordpress.com/
                                https://www.youtube.com/@deckingman

                                1 Reply Last reply Reply Quote 0
                                • JoergS5undefined
                                  JoergS5 @fma
                                  last edited by JoergS5

                                  @fma said in RepRapFirmware 3.0beta 11 released:

                                  M208 X-60:302 Y-100:305 Z0:320 U-1000:1000

                                  I would propose as reason:
                                  M208 X-60:302 Y-100:305 Z0:320 U-1000:1000
                                  means X maximum distance is 362, Y is 405, but you home only 325 each in
                                  G1 X325 Y325 F1800 H1
                                  , so depending on your current position you reach one of the endstops or not, assumed, 0 position is not defined after turning the printer on. I would change to
                                  G1 X500 Y500 F1800 H1
                                  and the followong two also to be sure they reach the endstops..

                                  1 Reply Last reply Reply Quote 0
                                  • JoergS5undefined
                                    JoergS5
                                    last edited by

                                    This post is deleted!
                                    1 Reply Last reply Reply Quote 0
                                    • JoergS5undefined
                                      JoergS5
                                      last edited by

                                      If G1 X325 Y325 F1800 H1 reaches X immediately, M208 defines X/Y position as 302/305, but in reality Y may be at -100. So it will not reach the endstop with the following Y move, even when the first line reached an endstop. So better 500 for the following two lines also.

                                      1 Reply Last reply Reply Quote 0
                                      • fmaundefined
                                        fma
                                        last edited by fma

                                        The min values are wrong; I didn't noticed it because I home on max values. Anyway, total travel for X and Y is < 325mm, so the endstops are always reached (I'm using relative positionning). And in my tests, I'm close to the max positions, so carriage travels only a few mm before hitting the endstops.

                                        And it was working fine with 2.02/2.03 firmwares; I just changed the S param to H param in the G1 moves.

                                        Frédéric

                                        1 Reply Last reply Reply Quote 0
                                        • fmaundefined
                                          fma
                                          last edited by

                                          I confirm it is totally random.

                                          Say I'm on the max position, both endstops X/Y activated. If I hit the homing button several times, I can see the machine homing X then fail, or Y, the fail, or none, or successfully home all axis.

                                          But I find a workaround: I changed

                                          G1 X-5 Y-5 F6000       ; move away from the endstops
                                          

                                          to

                                          G1 X-5 Y-5 F6000 H2    ; move away from the endstops
                                          

                                          and it now works fine. If it can helps to find the problem...

                                          Frédéric

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

                                            This may or may not be related, I didn't completely follow all above... if it helps:

                                            I have noticed that RepRap 3 on Duet 3 hardware gets "stuck" if the endstop is already triggered (physically) when a G28 is issued. Stuck meaning it won't successfully show as homed, and therefore won't G0/G1 (to move off the switch). Just won't move at all.

                                            I've had to either manually back it off (forcing the steppers) or add something like an M564 (to allow unhomed movement) and a G0 back off of a millimeter or two (and then turn M564 back to normal), or similar, to my home... files. Of course, this back off would be problematic if the axis happened to be a physical max when the home... file was invoked.

                                            Anyway, one of those two things is required to get that axis to move again. Not even a reboot will help.

                                            Delta / Kossel printer fanatic

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