3.6.0-beta.3 in CNC Mode Issues
-
@davidjryan can you include your config please
-
@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.
-
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
-
@davidjryan Thanks for reporting this. I could reproduce that and I'm working on a fix.
-
@chrishamm sounds good! I'll test the fix as soon as it's released.
-
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.
-
@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.
-
@davidjryan Please try again with the new beta 4.
-
@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 readyDSF, 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.
-
@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. -
@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.
-
@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.mp4Do 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.
-
@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.
-
@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.
-
undefined dc42 marked this topic as a question
-
undefined dc42 has marked this topic as solved
-
@davidjryan I just implemented a change in DSF to avoid that re-racking problem.