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

    3.6.0-beta.3 in CNC Mode Issues

    Scheduled Pinned Locked Moved Solved
    Beta Firmware
    4
    16
    499
    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.
    • dc42undefined
      dc42 administrators @davidjryan
      last edited by

      @davidjryan thanks for your report. We'll try to replicate your configuration when you post your config.g file and the contents of any macro files that it calls.

      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

      1 Reply Last reply Reply Quote 0
      • davidjryanundefined
        davidjryan
        last edited by

        My config.g:

        ; General preferences
        M453                                                        ; set CNC mode
        M550 P"A1000-0"                                             ; set name of controller
        G90                                                         ; set absolute coordinates
        G4 P1000                                                    ; 1s delay for CAN comms
        ; Drives
        ; Motors are wired to Duet A-A, B-B - motor directions are flipped here
        M569 P0.0 S0                                                ; physical drive 0.0 goes forwards
        M569 P0.1 S0                                                ; physical drive 0.1 goes forwards
        M569 P0.2 S0                                                ; physical drive 0.2 goes forwards
        M569 P0.3 S1                                                ; physical drive 0.3 goes reverse
        M569 P0.4 S1                                                ; physical drive 0.4 goes reverse
        M569 P0.5 S1                                                ; physical drive 0.5 goes reverse
        M569 P1.0 S0                                                ; physical drive 1.0 goes forwards
        M569 P1.1 S0                                                ; physical drive 1.1 goes forwards
        M569 P1.2 S0                                                ; physical drive 1.2 goes forwards
        M569 P2.0 S1                                                ; physical drive 2.0 goes reverse
        M569 P2.1 S1                                                ; physical drive 2.1 goes reverse
        M569 P2.2 S0                                                ; physical drive 2.2 goes forwards
        M569 P3.0 S0                                                ; physical drive 3.0 goes forwards
        M569 P3.1 S0                                                ; physical drive 3.1 goes forwards
        M569 P3.2 S0                                                ; physical drive 3.2 goes reverse
        
        ; Set motion system queue parameters
        M595 P100 R50 Q0                                            ; set motion system queue 0 to 100 steps
        M595 P100 R50 Q1                                            ; set motion system queue 1 to 100 steps
        
        ; Set drive mapping
        M584 X0.0 Z0.1 R0                                           ; set linear drive mapping for gantry
        M584 A0.2 B0.3 C0.4 D0.5 R0                                 ; set linear drive mapping for cartridges
        M584 Y1.2 W3.0 R0                                           ; set linear drive mapping for slitter and duckbill
        M584 'A2.0 'B2.1 'D2.2 'E1.0 'F1.1 R1                       ; set rotary drive mapping for napkin table and slitter feeding
        
        ; Set microstepping interpolation
        M350 X16 Z16 A16 B16 C16 D16 Y16 W16 I1                     ; configure microstepping with interpolation for linear motors
        M350 'A16 'B16 'D16 'E16 'F16 I1                            ; configure microstepping with interpolation for rotary motors
        
        ; Set axes scale values
        M92 X60.00 Z507.00 A1520.50 B1520.50 C1520.50 D1520.50 Y54.00 W53.75                ; set steps per mm
        M92 'A20.90 'B8.88 'D10.50 'E9.00 'F9.00                                            ; set steps per degree
        
        ; Set max speed change values
        M566 X400.00 Z400.00 A400.00 B400.00 C400.00 D400.00 Y400.00 W400.00                ; set maximum instantaneous speed changes (mm/min)
        M566 'A450.00 'B900.00 'D500.00 'E450.00 'F450.00                    		        ; set maximum instantaneous speed changes (mm/min)
        
        ; Set max speeds
        M203 X40000.00 Z20000.00 A5000.00 B5000.00 C5000.00 D5000.00 Y30000.00 W7000.00     ; set maximum speeds (mm/min)
        M203 'A30000.00 'B35000.00 'D5000.00 'E40000.00 'F40000.00                          ; set maximum speeds (mm/min)
        
        ; Set accelerations
        M201 X3000.00 Z1500.00 A500.00 B500.00 C500.00 D500.00 Y2000.00 W1000.00            ; set accelerations (mm/s^2)
        M201 'A2000.00 'B2000.00 'D1000.00 'E5000.00 'F2000.00                              ; set accelerations (mm/s^2)
        
        ; Set motors currents and idle factor
        M906 X2000 Z1400 A3000 B3000 C3000 D3000 Y1500 W1500 I5                             ; set motor currents (mA) and motor idle factor in per cent
        M906 'A3500 'B2800 'D2800 'E1500 'F2800 I5                                          ; set motor currents (mA) and motor idle factor in per cent
        
        ; Set idle timeout
        M84 S30                                      						                ; Set idle timeout
        
        ; Axis Limits - minimum
        M208 X-2 Z-85 A-5 B-5 C-5 D-5 Y-2 W-2 S1                                            ; set linear axis minimum
        M208 'A-5 'B-30 'D-5 'E-100 'F-30 S1                                                 ; set rotary axis minimum
        
        ; Axis Limits - maximum
        M208 X601 Z50 A200 B380 C380 D380 Y195 W200 S0                                      ; set linear axis maximum
        M208 'A400 'B10000 'D180 'E10000 'F10000 S0                                          ; set rotary axis maximum
        
        ; Endstops
        M574 X1 S1 P"!^3.io4.in"        ; 
        M574 Y1 S1 P"!^2.io4.in"        ; 
        M574 Z1 S1 P"!^3.io5.in"        ;
        M574 A1 S1 P"!^3.io0.in"        ;
        M574 B1 S1 P"!^3.io1.in"        ;
        M574 C1 S1 P"!^3.io2.in"        ;
        M574 D1 S1 P"!^3.io3.in"        ; 
        M574 W1 S1 P"!^0.io6.in"        ; 
        M574 'A1 S1 P"!^2.io0.in"       ; 
        M574 'B1 S1 P"!^2.io1.in"       ;
        M574 'D1 S1 P"!^2.io2.in"       ; 
        M574 'E2 S1 P"!^0.io8.in"       ; 
        
        ; Inputs - for use with M581/2 commands
        M950 J0 C"!^0.io0.in"	        ; 
        M950 J1 C"!^0.io1.in"	        ; 
        M950 J2 C"!^0.io2.in"           ; Spare
        M950 J3 C"!^0.io3.in"           ; 
        M950 J4 C"!^0.io4.in"           ; spare
        M950 J5 C"!^0.io5.in"           ; spare
        M950 J7 C"!^0.io7.in"           ; 
        M950 J10 C"!^1.io0.in"	        ; 
        M950 J11 C"!^1.io1.in"	        ; 
        M950 J12 C"!^1.io2.in"	        ; 
        M950 J13 C"!^1.io3.in"	        ; 
        M950 J14 C"!^1.io4.in"	        ; 
        M950 J15 C"!^1.io5.in"	        ; 
        M950 J23 C"!^2.io3.in"	        ; spare
        M950 J25 C"!^2.io5.in"	        ; Napkin Cartridge Present
        
        ; Thermister configuration (if installed)
        M308 S0 P"temp0" Y"thermistor" T100000 B4261    ; sensor 0
        M308 S1 P"temp1" Y"thermistor" T100000 B4261    ; sensor 1
        
        ; Outputs - for use with M42 commands
        ; Board 0
        M950 P0 C"0.io0.out"	        ; 
        M950 P1 C"0.io1.out"	        ; 
        M950 P2 C"0.io2.out"	        ; 
        M950 P3 C"0.io3.out"	        ; 
        M950 P4 C"0.io4.out"	        ; Spare
        M950 P5 C"0.io5.out"	        ; Spare
        M950 P6 C"0.io6.out"	        ; 
        M950 P7 C"0.io7.out"	        ; 
        M950 P8 C"0.io8.out"	        ; Spare 
        ; Board 1
        M950 P9  C"1.io0.out"	        ; Spare 
        M950 P10 C"1.io1.out"	        ; Spare 
        M950 P11 C"1.io2.out"	        ; Spare 
        M950 P12 C"1.io3.out"	        ; Spare 
        M950 P13 C"1.io4.out"	        ; Spare 
        M950 P14 C"1.io5.out"	        ; Spare 
        ; Board 2
        M950 P15 C"2.io0.out"	        ; Spare 
        M950 P16 C"2.io1.out"	        ; Spare 
        M950 P17 C"2.io2.out"	        ; Spare 
        M950 P18 C"2.io3.out"	        ; Spare 
        M950 P19 C"2.io4.out"	        ; Spare 
        M950 P20 C"2.io5.out"	        ; Spare 
        ; Board 3
        M950 P21 C"3.io0.out"	        ; Spare 
        M950 P22 C"3.io1.out"	        ; Spare 
        M950 P23 C"3.io2.out"	        ; Spare 
        M950 P24 C"3.io3.out"	        ; Spare 
        M950 P25 C"3.io4.out"	        ; Spare 
        M950 P26 C"3.io5.out"	        ; Spare 
        
        ; Fan configuration (if installed)
        ; 4 Wire Fan Configuration
        M950 F0 C"!0.out4+out4.tach" K2
        ; 3 Wire Fan Configuration
        ;M950 F0 C"0.out4+out4.tach" K2
        
        ; Turn on fan to initial setting
        ;M106 P0 S1 B0.5
        
        ; NeoPixel RGBW LED Strip configuration
        M950 E0 C"led" T2 Q3000000
        
        
        chrishammundefined 1 Reply Last reply Reply Quote 0
        • chrishammundefined
          chrishamm administrators @davidjryan
          last edited by

          @davidjryan Thanks for reporting this. I could reproduce that and I'm working on a fix.

          Duet software engineer

          davidjryanundefined 1 Reply Last reply Reply Quote 1
          • davidjryanundefined
            davidjryan @chrishamm
            last edited by

            @chrishamm sounds good! I'll test the fix as soon as it's released.

            davidjryanundefined 1 Reply Last reply Reply Quote 0
            • davidjryanundefined
              davidjryan @davidjryan
              last edited by

              @chrishamm

              Just saw this from @dc42

              @dc42 said in New unofficial 3.6.0-beta.3+4 builds now available:

              I have put new builds of RRF 3.6 at https://www.dropbox.com/scl/fo/wyqfqmzj0v7otx6wzqfdl/AJXLaai4nWowqfLtA4gePUk?rlkey=jpyla60xf2tqql0h4nx4sn9yv&dl=0. Please note, these have not been tested as thoroughly as we do for regular beta releases. In particular only the Duet 3 Mini, MB6HC, TOOL1LC, EXP3HC and SZP build have been used for running test prints.

              If you have experienced a bug in 3.6.0-beta.3 or subsequent builds then you may wish to try these new builds. Upgrade notes and change list are at https://github.com/Duet3D/RepRapFirmware/wiki/Changelog-RRF-3.x-Beta#reprapfirmware-360-rc1-in-preparation-changes-since-360-beta3.

              Should I try this build? The issue isn't specifically mentioned in the change list but I think it's too small of a bug to warrant a mention.

              chrishammundefined 2 Replies Last reply Reply Quote 0
              • chrishammundefined
                chrishamm administrators @davidjryan
                last edited by

                @davidjryan The required fix will be in DSF 3.6.0-beta.4 which we're still testing internally. Upgrading only RRF will not fix the issue.

                Duet software engineer

                1 Reply Last reply Reply Quote 0
                • chrishammundefined
                  chrishamm administrators @davidjryan
                  last edited by

                  @davidjryan Please try again with the new beta 4.

                  Duet software engineer

                  davidjryanundefined 1 Reply Last reply Reply Quote 0
                  • davidjryanundefined
                    davidjryan @chrishamm
                    last edited by

                    @chrishamm I tried installing 3.6-beta4 on our test rig.

                    M997 S2 F"unstable" whilst under 3.5.4 did not switch to unstable, so I did this to switch:

                    sudo rm -f /etc/apt/sources.list.d/duet3d.list
                    sudo bash -c "echo 'deb https://pkg.duet3d.com/ unstable armv7' > /etc/apt/sources.list.d/duet3d.list"
                    sudo apt update
                    sudo apt upgrade
                    

                    All board firmware, DSF, and DWC installed without intervention.

                    After a power cycle, I could not get into the DWC webpage. I kept getting the blue Connecting banner and the Red could not connect banner at the bottom of the screen.

                    I reset the board a few times and powered down and back up and kept getting the same thing.

                    Another thing I noticed is that the CAN interface did not "come up". All boards were "quick" flashing the Status LED as if they weren't talking CAN to the 6HC ("slow" flash).

                    To revert back to 3.5.4, I performed:

                    sudo rm -f /etc/apt/sources.list.d/duet3d.list
                    sudo bash -c "echo 'deb https://pkg.duet3d.com/ stable armv7' > /etc/apt/sources.list.d/duet3d.list"
                    sudo apt update
                    rm -f ./reprapfirmware*.deb
                    apt download reprapfirmware/stable
                    sudo dpkg -i --force-depends ./reprapfirmware*.deb
                    sudo apt install -y --allow-downgrades duetsoftwareframework/stable duetcontrolserver/stable duetwebserver/stable duetpluginservice/stable duettools/stable duetruntime/stable duetwebcontrol/stable duetpimanagementplugin/stable
                    

                    But... when the firmware update tried to run
                    sudo dpkg -i --force-depends ./reprapfirmware*.deb
                    it failed waiting for transfer pin ready

                    DSF, DWC did revert to 3.5.4 with the last command without issue.
                    A reboot after that still didn't allow a connection with DWC (3.5.4 DSF/DWC and 3.6.beta4 firmware)

                    I had to use Bossa to revert the board back to 3.5.4
                    A reboot after that allowed a connected to DWC.

                    The Machine-Specifics Electronics showed everything at 3.5.4 except the 3 3HC boards which were at 3.6.beta4
                    I ran an M997 on B1, B2, and B3, and pushed 3.5.4 to the 3HCs.
                    After a reboot there, the system is back to 3.5.4 and fully functional.

                    I'm going to try 3.6.beta4 on my test bench board to see what happens there. Then I can add 3HCs to the mix to see if/where it breaks. If it works there, I'll try the the system again. Maybe there was a glitch updating the 6HC firmware on the first go-around.

                    If you need me to run specific tests, let me know.

                    chrishammundefined 1 Reply Last reply Reply Quote 0
                    • chrishammundefined
                      chrishamm administrators @davidjryan
                      last edited by

                      @davidjryan In order to use M997 S2, you must be on the latest Bookworm-based SBC image and the DuetPiManagementPluigin must be loaded. If the latter is the case, that suggests your SBC image is outdated. In that case, I'd propose to flash it again and check if the problem persists.

                      Duet software engineer

                      davidjryanundefined 1 Reply Last reply Reply Quote 0
                      • davidjryanundefined
                        davidjryan @chrishamm
                        last edited by

                        @chrishamm the test machine is on the 2024-09-19 Duet Pi image. All of our machines are using that image. We have not tried the 2024-11-27 yet since we slow roll updates AFTER our test machine has run for a couple of weeks without issue.

                        The test bench 6HC took 3.6-beta4 without issue. I added one 3HC and it was able to update.

                        I am trying our test machine again. If it fails again, I'll try the 2024-11-27 image.

                        davidjryanundefined 1 Reply Last reply Reply Quote 0
                        • davidjryanundefined
                          davidjryan @davidjryan
                          last edited by

                          @chrishamm the second attempt to upgrade to 3.6-beta4 on our test machine was successful.

                          Our machine is operational and we will continue to test it's functionality.

                          One thing I noticed in DWC while performing a "Home All" are axes 7-13 "re-racking" their order as each axis homes itself. Here is a screen recording of it:
                          Duet Home All.mp4

                          Do you want to keep this thread going or switch to a new 3.6-beta4 thread as I run more tests? I believe the original concern is fixed.

                          I'm going to go ahead and put our test machine on DuetPi 2024-11-27 so we are apples-to-apples going forward.

                          davidjryanundefined chrishammundefined 2 Replies Last reply Reply Quote 0
                          • davidjryanundefined
                            davidjryan @davidjryan
                            last edited by

                            @chrishamm I spoke a little too soon. The system functionality I spoke of in my previous message was via DWC, not our custom app.

                            Our custom app relies on python3-dsf-python bindings and it seems they aren't up to date with 3.6-beta4 changes. Or I missed a notation in the changes list for a code change.

                            When I try to run the dsf-python github example, subscribe_object_model.py, I get an error on:

                            object_model = subscribe_connection.get_object_model()
                            

                            It seems like DSF is now expecting something not null in the get_object_model() call

                            I reverted back to 3.5.4 and all is well.

                            At the same time, I am now using DuetPi 2024-11-27 on the test machine.

                            davidjryanundefined 1 Reply Last reply Reply Quote 0
                            • davidjryanundefined
                              davidjryan @davidjryan
                              last edited by

                              @chrishamm I spoke too soon, again...

                              So, after I RTFM (read the flipping manual, though it's not flipping), I found I was missing:

                              pip install dsf-python==3.6.0-b2
                              

                              Soooooooooo... now I am at 3.6-beta4 for all boards, DSF, DWC, python bindings, etc...

                              Initial testing of our python app shows functionality.

                              1 Reply Last reply Reply Quote 1
                              • dc42undefined dc42 marked this topic as a question
                              • dc42undefined dc42 has marked this topic as solved
                              • chrishammundefined
                                chrishamm administrators @davidjryan
                                last edited by

                                @davidjryan I just implemented a change in DSF to avoid that re-racking problem.

                                Duet software engineer

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