RRF3.3 can't control spindle and call CAM tools
SDJ last edited by
I am very confused with the implementation of how RRF3 handles the tools of the machine, ie, spindle, probe, etc, and how this clashes with the CAM tools called for in my gcode coming from Fusion 360. They use the same Tn notation. Each CAM tool has a different tool number in my Tool Library. If my post processor sees a tool change, it calls up macros for probing, so I need them to be there.
Previously, my config.g setup looked like this:
;CNC M950 P0 C"e0heat" Q300 ; Allocate GPOP Port 0 to Heater 1 M453 C"e1heat" Q300 R24000 T1 ; Set to CNC mode, using Tool 1, 24000 Max RPM ; Tools M563 P1 S"Tool1" ; Define Probe Tool
and used M42 P0 S1 to turn on the spindle in my post processor with Snnn commands controlling spindle speed.
In RRF3.3, my setup is this:
;Tools ; No tool is selected at startup M453 ; Set to CNC mode, M950 R2 C"e1heat+e0heat" L0:24000 Q300 ; Select Spindle On/Off,RPM & Direction (not selected). M563 P1 S"Laser" ; Create tool 1 Laser M563 P2 S"Spindle" R2 ; Create tool 2 with Spindle ; PWM Laser Enable M950 P1 C"!exp.heater6" R255 F5000 ; Use C"" for output - Opt Lasers enable input #1 M42 P1 S0 ; Ensure P1 is off - enable input #1 ; Stationary Probe M558 P5 C"^zprobe.in" H180 F700 T1000 ; Set to Z probe type 5 and to switch and dive height + speeds M950 P2 C"^zprobe.in" ;Allocate GPOP Port 1 to Z Probe in
I assumed the new format forgoes the need to assign a GPOP port to the spindle. I could assign one, but the issue below is a nonstarter.
I first have to use T2 to select the spindle. I can then turn on the spindle at speed 12000 with M3 P2 S12000.
But if a CAM tool is called in the gcode with a different tool number, M3 P2 Snn commands obviously no longer work as the spindle is no longer the selected tool.
Am I missing something here? Why does calling the spindle use the same notation for calling CAM tools?
Also, as Savvas pointed out in another post, I can't use the M3 command without Pn. I also can't use Snnn to change the speed without first calling T2 and then using M3 Pn Snnn.
SDJ last edited by SDJ
Does that mean if R in M950 and P in M563 are the same number during CNC mode, I would not need to write P# when using an M3 command?
Should any spindle defining commands be in the tfree#.g tpre#.g and tpost#.g? That is to say I load the spindle separately from config.g file?
There is no need to do that. In config.g, define all your spindles, then for each tool specify which spindle it uses in its M563 command.
Ok, I think I get it. To config.g I added
M563 P3 R2 S"T3" R2 M563 P4 R2 S"T4" R2 M563 P5 R2 S"T5" R2 M563 P6 R2 S"T6" R2
To the config file. But this basically means I need to do this 20 times to cover all the different bits that I use.
Also noticed that you don't require Pn during M3 commands with any tool assigned to the spindle. but the spindle tool itself requires Pn presumable because M563 can't assign the spindle to the spindle itself. Not sure if this is a bug or by design.