Lower case axis letters
-
Where did we get on axis labels please? Has anyone tested it out? I can't get any movement (or errors) from an axis defined as one of abcdefghijkl (XYZUVW works fine). I've tried every combination of upper and lower case, with and without the single quote prefix, in a G1. However, I also don't get any warnings that a motor is not connected when it is not connected for that defined axis.
Furthermore, a G1 X50 F1000 does move the motor if trying to use say M584 'j0.0 - despite no mention of an X axis in the config.g file!
I also get this error on startup:
From config.g:
I want to define 12 independent axes not including XYZ. Ideally I would also be able to use those letters as macro parameters, however they don't need to be lower case in the macro call.
-
OK, this bit of config.g:
Gives this result:
So only 10 axis, and must be declared in XYZUVWABCD order still in RRF3.4?
-
This post is deleted! -
There's a lot of strange stuff going on here. Definitely trying to insist on XYZ?
Here are the console messages from a single startup:
And here is the config.g (I tried declaring and reassigning X Y Z to no avail):
; config.g ; Configuration file for Duet 3 (firmware version 3) ; executed by the firmware on start-up ; Revision date 2021.12.09 ; Duet3 6HC on RRF 3.4 Beta5 ; Running DuetPi ; firmare V3.3RC2 as of 13/05/2021 ; support for 15 axes has been specified ! ; https://forum.duet3d.com/topic/20088/cnc-mode-need-12-16-axes-how-to/2?_=1607778151592 ;Axis letters abcdefghijkl may be used in addition to XYZUVWABCD. ;Because GCode is normally case insensitive, these must be prefixed with a single quote character in GCode commands. ;For example, M584 'A1.2 would assign axis 'a' to driver 1.2; ; General preferences G91 ; send relative coordinates... M550 P"Duet3" ; set printer name ; Main 6HC Board, CAN Addr #0 M569 P0.0 S1 ; physical drive 0.0 goes forwards, M569 P0.1 S1 ; physical drive 0.1 goes forwards, M569 P0.2 S1 ; physical drive 0.2 goes forwards, M569 P0.3 S1 ; physical drive 0.3 goes forwards, M569 P0.4 S1 ; physical drive 0.4 goes forwards, M569 P0.5 S1 ; physical drive 0.5 goes forwards, ; 1st 3HC Board, CAN Addr #1 M569 P1.0 S1 ; physical drive 1.0 goes forwards, M569 P1.1 S1 ; physical drive 1.1 goes forwards, M569 P1.2 S1 ; physical drive 1.2 goes forwards, ; 2nd 3HC Board, CAN Addr #2 M569 P2.0 S1 ; physical drive 2.0 goes forwards, M569 P2.1 S1 ; physical drive 2.1 goes forwards, M569 P2.2 S1 ; physical drive 2.2 goes forwards, ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; M584: Set drive mapping ; https://duet3d.dozuki.com/Wiki/Gcode#Section_M584_Set_drive_mapping ; all axes are LINEAR ; Main 6HC Board CAN #0 M584 X0.0 M584 Y0.1 M584 Z0.2 M18 X Y Z M584 U0.0 M584 V0.1 M584 W0.2 M584 'A0.3 R0 M584 'B0.4 R0 M584 'C0.5 R0 M584 'D1.0 R0 M584 'H1.1 R0 M584 'I1.2 R0 M584 'J2.0 M584 'K2.1 M584 'L2.2 ; M92: Set axis steps per unit ; https://duet3d.dozuki.com/Wiki/Gcode#Section_M92_Set_axis_steps_per_unit M92 U320.0 V320.0 W320.0 M92 A320.0 B320.0 C320.0 M92 D320.0 'H320.0 'I320.0 M92 'J320.0 'K320.0 'L320.0 ; M203: Set maximum feedrate mm/minute ; https://duet3d.dozuki.com/Wiki/Gcode#Section_M203_Set_maximum_feedrate M203 U4000 V4000 W4000 M203 A4000 B4000 C4000 M203 D4000 'H4000 'I4000 M203 'J4000 'K4000 'L4000 ;M201: Set max acceleration mm/s^2 ; https://duet3d.dozuki.com/Wiki/Gcode#Section_M201_Set_max_acceleration M201 U24 V24 W24 M201 A24 B24 C24 M201 D24 'H24 'I24 M201 'J24 'K24 'L24 ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;M906: Set motor currents ;https://duet3d.dozuki.com/Wiki/Gcode#Section_M906_Set_motor_currents M906 U4000 V4000 W4000 I30 ; set motor currents (mA) and motor idle factor in per cent M906 A4000 B4000 C4000 I30 ; set motor currents (mA) and motor idle factor in per cent M906 D4000 'H4000 'I4000 I30 ; set motor currents (mA) and motor idle factor in per cent M906 'J4000 'K4000 'L4000 I30 ; set motor currents (mA) and motor idle factor in per cent ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; M208: Set axis max travel ; https://duet3d.dozuki.com/Wiki/Gcode#Section_M208_Set_axis_max_travel M208 U-5 V-5 W-5 A-5 B-5 C-5 D-5 'H-5 'I-5 'J-5 'K-5 'L-5 S1 M208 U2350 V2350 W2350 A2350 B2350 C2350 D2350 'H3000 'I2350 'J2350 'K2350 'L2350 S0 ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; Endstops ; M574: Set endstop configuration ; https://duet3d.dozuki.com/Wiki/Gcode#Section_M574_RepRapFirmware_Num_3 ; 6HC Board 0 M574 U1 S1 P"^0.io0.in" M574 V1 S1 P"^0.io1.in" M574 W1 S1 P"^0.io2.in" M574 A1 S1 P"^0.io3.in" M574 B1 S1 P"^0.io4.in" M574 C1 S1 P"^0.io5.in" ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ T0 ; select first tool M564 S0 H0 ; ignore end stops for development ; [Duet 3 MB6HC] The maximum number of axes supported on Duet 3 MB6HC is increased to 15. ; Axis letters abcdefghijkl may be used in addition to XYZUVWABCD. ; Because GCode is normally case insensitive, these must be prefixed with a single quote character in GCode commands. ; For example, M584 'A1.2 would assign axis 'a' to driver 1.2, and G1 'A10 would move the 'a' axis to the 10mm or 10 degree position (or by 10mm or 10 degrees if in relative mode).
-
@theolodian TBH I've never tried more than 9 axes in SBC mode and I've just figured out that various codes would fail with lower-case axis letters. I'm going to fix this in 3.4-b7.
-
@theolodian axes X, Y and Z are created by default and will be assigned to drivers 0.0, 0.1 and 0.2 by default. You can use M584 to reassign them to different drivers if you like.
Other axes can be created in any order you like. Letter E does not specify an axis, it specifies an extruder. Letter F is not valid as an axis letter.
I just ran the following in standalone mode:
M584 A0.3 M584 B0.4 M584 C0.5 M584 U1.0 M584 V1.1 M584 W1.2 M584 D2.0 M584 'j2.1 M584 'k2.2
M584 now reports:
Driver assignments: X0.0 Y0.1 Z0.2 (r)(c)A0.3 (r)(c)B0.4 (r)(c)C0.5 U1.0 V1.1 W1.2 (r)(c)D2.0 j2.1 k2.2, 12 axes visible
So the assignment appears to have worked exactly as it should. Does this work for you? There is a possibility that SBC mode might behave differently.
PS - in future, please post your config lines as text not as images, so that I can copy and paste them.
EDIT: I see that the reply from @chrishamm crossed with mine.
-
Thanks kindly both! Any target date for Beta 7? Cheers
-
@theolodian it should be within the next few days.
-
@dc42 Thanks a ton, tried 3.4b7. Says expansion board stepper drivers don't exist?
This config.g:
; General preferences G4 S5 ; wait for expansion boards to boot up G91 ; send relative coordinates... M550 P"Duet3" ; set printer name ; Main 6HC Board, CAN Addr #0 M569 P0.0 S1 ; physical drive 0.0 goes forwards, M569 P0.1 S1 ; physical drive 0.1 goes forwards, M569 P0.2 S1 ; physical drive 0.2 goes forwards, M569 P0.3 S1 ; physical drive 0.3 goes forwards, M569 P0.4 S1 ; physical drive 0.4 goes forwards, M569 P0.5 S1 ; physical drive 0.5 goes forwards, ; 1st 3HC Board, CAN Addr #1 M569 P1.0 S1 ; physical drive 1.0 goes forwards, M569 P1.1 S1 ; physical drive 1.1 goes forwards, M569 P1.2 S1 ; physical drive 1.2 goes forwards, ; 2nd 3HC Board, CAN Addr #2 M569 P2.0 S1 ; physical drive 2.0 goes forwards, M569 P2.1 S1 ; physical drive 2.1 goes forwards, M569 P2.2 S1 ; physical drive 2.2 goes forwards, ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; M584: Set drive mapping ; https://duet3d.dozuki.com/Wiki/Gcode#Section_M584_Set_drive_mapping ; all axes are LINEAR ; Main 6HC Board CAN #0 M584 U0.3 M584 V0.4 M584 W0.5 M584 'a0.0 ;R0 M584 'b0.1 ;R0 M584 'c0.2 ;R0 M584 'd1.0 M584 'e1.1 M584 'f1.2 M584 'j2.0 M584 'k2.1 M584 'l2.2 ; M92: Set axis steps per unit ; https://duet3d.dozuki.com/Wiki/Gcode#Section_M92_Set_axis_steps_per_unit M92 U320.0 V320.0 W320.0 M92 'A320.0 'B320.0 'C320.0 M92 'D320.0 'E320.0 'F320.0 M92 'J320.0 'K320.0 'L320.0
Gives this in the console (M122s first with errors at the bottom):
12/17/2021, 8:08:51 PM m122 B2 Diagnostics for board 2: Duet EXP3HC firmware version 3.4.0beta7 (2021-12-16 12:24:41) Bootloader ID: not available Never used RAM 158848, free system stack 4400 words Tasks: Move(notifyWait,0.0%,160) HEAT(notifyWait,0.0%,95) CanAsync(notifyWait,0.0%,69) CanRecv(notifyWait,0.0%,82) CanClock(notifyWait,0.0%,71) TMC(notifyWait,7.4%,99) MAIN(running,91.2%,388) IDLE(ready,0.0%,39) AIN(delaying,1.3%,263), total 100.0% Last reset 00:09:30 ago, cause: power up Last software reset at 2021-10-24 23:03, reason: HardFault bfarValid precise, available RAM 158896, slot 1 Software reset code 0x0060 HFSR 0x40000000 CFSR 0x00008200 ICSR 0x00000003 BFAR 0xae4aaef5 SP 0x2002ffc0 Task MAIN Freestk 46361 ok Stack: 00000000 20003870 ae4aaeb5 00000bd5 04000000 ffffffed 000204e2 61000089 00000000 00f00000 e03fffe0 ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff Driver 0: pos 0, 320.0 steps/mm,standstill, SG min n/a, mspos 8, reads 17641, writes 0 timeouts 0, steps req 0 done 0 Driver 1: pos 0, 320.0 steps/mm,standstill, SG min n/a, mspos 8, reads 17642, writes 0 timeouts 0, steps req 0 done 0 Driver 2: pos 0, 320.0 steps/mm,standstill, SG min n/a, mspos 8, reads 17642, writes 0 timeouts 0, steps req 0 done 0 Moves scheduled 0, completed 0, in progress 0, hiccups 0, step errors 0, maxPrep 0, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0 Peak sync jitter -2/11, peak Rx sync delay 179, resyncs 0/1, no step interrupt scheduled VIN voltage: min 24.2, current 24.3, max 24.3 V12 voltage: min 12.1, current 12.1, max 12.1 MCU temperature: min 28.8C, current 30.1C, max 30.1C Last sensors broadcast 0x00000000 found 0 165 ticks ago, 0 ordering errs, loop time 0 CAN messages queued 2528, send timeouts 0, received 1568, lost 0, free buffers 37, min 37, error reg 0 dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 0 12/17/2021, 8:08:31 PM m122 B1 Diagnostics for board 1: Duet EXP3HC firmware version 3.4.0beta7 (2021-12-16 12:24:41) Bootloader ID: SAME5x bootloader version 2.3 (2021-01-26b1) Never used RAM 158848, free system stack 4400 words Tasks: Move(notifyWait,0.0%,160) HEAT(notifyWait,0.0%,108) CanAsync(notifyWait,0.0%,69) CanRecv(notifyWait,0.0%,82) CanClock(notifyWait,0.0%,71) TMC(notifyWait,7.4%,99) MAIN(running,91.2%,416) IDLE(ready,0.0%,39) AIN(delaying,1.3%,263), total 100.0% Last reset 00:09:11 ago, cause: power up Last software reset at 2021-11-23 12:29, reason: HardFault, available RAM 158816, slot 0 Software reset code 0x0060 HFSR 0x40000000 CFSR 0x00000001 ICSR 0x00489803 BFAR 0xe000ed38 SP 0x20003360 Task MAIN Freestk 519 ok Stack: 00000000 00000000 20001060 00000000 00000000 000265f3 ffe1d614 61000000 4344ec4f fffc0000 ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff Driver 0: pos 0, 320.0 steps/mm,standstill, SG min n/a, mspos 8, reads 16746, writes 0 timeouts 0, steps req 0 done 0 Driver 1: pos 0, 80.0 steps/mm,standstill, SG min n/a, mspos 8, reads 16746, writes 0 timeouts 0, steps req 0 done 0 Driver 2: pos 0, 80.0 steps/mm,standstill, SG min n/a, mspos 8, reads 16745, writes 0 timeouts 0, steps req 0 done 0 Moves scheduled 0, completed 0, in progress 0, hiccups 0, step errors 0, maxPrep 0, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0 Peak sync jitter -10/3, peak Rx sync delay 177, resyncs 0/1, no step interrupt scheduled VIN voltage: min 24.3, current 24.3, max 24.3 V12 voltage: min 12.2, current 12.2, max 12.2 MCU temperature: min 30.4C, current 31.4C, max 31.7C Last sensors broadcast 0x00000000 found 0 96 ticks ago, 0 ordering errs, loop time 0 CAN messages queued 2529, send timeouts 0, received 1567, lost 0, free buffers 37, min 37, error reg 0 dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 0 12/17/2021, 8:07:45 PM Error: M584: Driver 2.1 does not exist 12/17/2021, 8:07:45 PM Error: M584: Driver 2.2 does not exist 12/17/2021, 8:07:45 PM Error: M584: Driver 1.0 does not exist 12/17/2021, 8:07:45 PM Error: M584: Driver 1.1 does not exist 12/17/2021, 8:07:45 PM Error: M584: Driver 2.0 does not exist 12/17/2021, 8:07:45 PM Error: M584: Driver 1.2 does not exist
-
-
-
Bump for visibility.
Also, maybe related to this? Firmware installation issue?
https://forum.duet3d.com/topic/26435/toolboard-1-1-driver-not-present
-
@theolodian have you powered the system down and up again since upgrading the firmware to 3.4.0beta7?
If you send M409 K"boards" what response do you get?
-
@dc42 Yes, I've tried several sequences of booting it up. I replied in the other thread. Thanks!
-
@theolodian thanks, the issue isn't the lowercase axis letters, it's that the main board hasn't received or hasn't processed the announcement from the 3HC. I'll close this thread.
-
-