Welcome! Log In Create A New Profile

Advanced

RepRapPro notice: Change of tool number

Posted by droftarts 
RepRapPro notice: Change of tool number
March 12, 2015 06:15AM
We have updated the config.g in the SD-Images on the RepRapFirmware to use T0 as the first extruder, T1 for the second, etc. Previously, we set T1 as the first extruder, T2 as the second, etc.

This is mainly to make it easier to slice multicolour objects with Slic3r and Cura, as they expect the first extruder to be named T0. So does Repetier Host, and, I think Simplify 3D. As the rest of the industry has settled on this, we'll follow suit. The reason we used T1 as the first extruder is, I seem to remember, because in earlier versions of the RRP firmware, we initially had to have a T code to turn off all extruders, and we settled on T0 for this. You can now use any T[number] that is undefined to deselect all extruders, so it doesn't specifically need to be T0 any more.

If you get the "Attempting to extrude with no tool selected." error, you have probably been caught while this change took place, and have some files that specify T1, and some that specify T0.

I think we have now managed to find all the references to 'T1' and revert them to 'T0' in the current SD images. If you use the latest SD Image files, make sure you update your Slic3r settings; set T0 in Slic3r > Printer Settings > Custom G-code > Start-Gcode. Any old gcode files that you want to run, that specify T1, will need to be edited to T0 (you can do this in any text editor).

We are imminently releasing an updated version of our firmware. This has fixed many bugs (thanks to dc42 and zombiepantslol for their input), and fixes for the motion code (this is Adrian's motion code, not dc42's). It also will include handling of G10 nozzle offsets, needed for the multi-nozzle setups. There will be a blog about this firmware update posted soon.

Let me know if you find any of our files with errant T1 commands in them!

Ian
RepRapPro tech support

Edited 1 time(s). Last edit at 03/12/2015 06:16AM by droftarts.
Re: RepRapPro notice: Change of tool number
March 12, 2015 08:35AM
For anyone using my firmware fork, these are the implications of the tool numbering change:

- The firmware itself is agnostic to the tool numbering. To change the tool numbers to 0 and 1, all you should need to do is to change the P values in the M563 commands and the G10 commands in config.g. I will make this change in the config.g files in my next release.

- Recent versions of my fork of the OrmerodWebControl web interface assume the heads are numbered T1 and T2, and that T0 will set both heads to idle. I will do a new release to use T0 and T1 instead if anyone asks. However, I recommend using zombiepantslol's 1.03 or later DuetWebControl interface with recent versions (1.00o and later) of my firmware fork

- If you have been doing dual-nozzle printing with the heads numbered T1 and T2, and you have been using the M563 S1 command in your slic3r start gcode to temporarily renumber the heads to T0 and T1 for slic3r compatibility, don't forget to remove that command from the start gcode.

Edited 2 time(s). Last edit at 03/12/2015 08:36AM by dc42.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: RepRapPro notice: Change of tool number
March 12, 2015 08:40AM
Sorry dc42, probably should have run this by you a few days ago! I thought you'd changed back to T0 ages ago, though...

Ian
RepRapPro tech support
Re: RepRapPro notice: Change of tool number
March 12, 2015 08:43AM
Quote
droftarts
Sorry dc42, probably should have run this by you a few days ago! I thought you'd changed back to T0 ages ago, though...

No problem. I stuck with T1/T2 but added an extension to the M563 command as a workaround for the slic3r compatibility issue, as described at the end of [reprap.org].



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: RepRapPro notice: Change of tool number
March 12, 2015 09:05AM
Hmmmm - I recall that there was a reason given for changing from T0 to T1, but I do not recall what the reason was. Changing such a fundamental thing is a nuisance because it means editing all existing G-code (many of us have built up a fair library), and there will inevitably come a time when I try to print a file that I have overlooked. Probably better for RepRap to implement DC42's M563 command so we can choose what system to use, and change on a print-by-print basis in the start code if required.

Dave
Re: RepRapPro notice: Change of tool number
March 12, 2015 09:35AM
You can still use T1 as the first tool. Just change the M563 ( [reprap.org] ) line in config.g. I'm just explaining what we're doing as standard.

The history: it was just 'T' to start with, before we had any multi nozzle support in the firmware, then 'T0' when we started to actually define it. When we properly added the multi-nozzle code (0.65e), we decided to make it T1, as people always got confused with the numbering (ie T0 is '1'st, T1 is '2'nd), to make it more logical, and added T0 to deselect all tools. Also, the bed is always defined as H0 (heater 0, but not defined as a tool), and the first hot end heater is H1 (heater 1), while the first extruder is D0, which is also rather confusing. Ideally, it would be set up logically, such that T1 = H1 D1, but the numbering system just doesn't work like that; it's either T0 = H1 D0 or T1 = H1 D0.

As setting the first nozzle as T1 is rather at odds with what everyone else is doing, and difficult to set up in slicing software (until options for defining what tool to use for different parts appear), we've changed it back to make it simpler to integrate with other software. Probably changing from T0 to T1 was the wrong decision in the first place, but that's what seemed the right thing to do at the time.

You can continue to use T1, or any T[number], to define the hot ends. It doesn't have to start at any specific number. The firmware is flexible enough to define multiple heaters and extruders to a tool; even the same heater to different tools. The difficultly is configuring the slicing tool to tell the printer what tool to use!

From a documentation and support point of view, adding and explaining yet another layer of abstraction (M563 S1) doesn't help. And adding a hack to correct another hack is really not the answer! I think dc42 missed the change where T0 stopped being the only command that would deselect all extruders. Adrian changed the firmware some time between 0.65 and 0.78 so that any non-defined tool command (eg T99) deselects tools, so T0 was freed up to be used as a defined tool again.

Ian
RepRapPro tech support
Re: RepRapPro notice: Change of tool number
March 12, 2015 10:57AM
Quote
droftarts
I think dc42 missed the change where T0 stopped being the only command that would deselect all extruders.

No, I didn't miss it. I thought it would be too confusing for me to recommend a tool numbering setup that was at odds with the standard RepRapPro one. For a start, it would mean that when switching firmware, users would have to re-slice their STL files or edit the gcode files, to change T1 in the start gcode to T0.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: RepRapPro notice: Change of tool number
March 12, 2015 12:16PM
Quote
dc42
No, I didn't miss it. I thought it would be too confusing for me to recommend a tool numbering setup that was at odds with the standard RepRapPro one. For a start, it would mean that when switching firmware, users would have to re-slice their STL files or edit the gcode files, to change T1 in the start gcode to T0.

Fair enough. Now any number works, it doesn't really matter. You could even set, in config.g:

M563 P0 D0 H1 ; Define tool 0
G10 P0 S-273 R-273 ; Set tool 0 operating and standby temperatures
M563 P1 D0 H1 ; Define tool 1
G10 P1 S-273 R-273 ; Set tool 1 operating and standby temperatures

Then it wouldn't matter if the gcode had T0 or T1 in it. (NOT TESTED!)

Ian
RepRapPro tech support
Sorry, only registered users may post in this forum.

Click here to login