M571 Proper Use + Question
-
Firmware: 3.2.2
Duet 2 Ethernet + Duex5I have a few questions related to M571 (set output on extrude):
1). Is it necessary to first use M950 & C"nil" to free the desired pin?
I tried these in the following order but DWC replies that "e0heat is not free":
M950 e0heat C"nil" M571 P"e0heat" S1
2). How many instances of M571 does RRF allow? I have a pair of relays that i'd like to switch on when extrusion is active (both relays activated by a unique M571 command)
3). Last one is an issue I can't seem to solve related to M950 - I found that disabling any heater make my bed heater disappear from DWC.
For example:
M950 e0heat C"nil" M950 P0 C"e0heat" F10
replacing e0heat with any other heater makes my bed heater go away.
-
You don't have any parameter identifier before the e0_heat name.
Maybe M950 H0 C"nil"
Reference: https://duet3d.dozuki.com/Wiki/Gcode#Section_M950_Create_heater_fan_spindle_or_GPIO_servo_pin
-
Can you share your full config?
Also might want to update to 3.3.
https://github.com/Duet3D/RepRapFirmware/releases/download/3.3/Duet2and3Firmware-3.3.zip
Upload to the system tab.
I don't think you need to use M950 at all. There are no default bindings for pins after 3.0, so no need to use "nil" unless it's already been defined previously.
-
-
Thank you all for the help.
I used M571 "e0heat" Qxx Sxx and it's working now. Also upgraded to 3.3 as @Phaedrux recommended.
@dc42 I'll admit, I have a specific use case that requires multiple components to turn on when extrusion (syringe) is active. No idea if it's feasible, but I would love to see multiple M571 commands supported so that each external component can have a dedicated output.
For now, my workaround is to define a M571 in tpreX.g for each tool. All my external components use 24v input, so I'll just connect all of them to the needed output and turn them on simultaneously.
-
Perhaps I'll move to the wishlist forum then.
-
@phaedrux Thanks!