Yes, this seems to be the exact issue I'm having.
Is there a estimate when this will get fixed?
Yes, this seems to be the exact issue I'm having.
Is there a estimate when this will get fixed?
My (Duet3 MB6HC in SBC mode) machine is running the latest firmware (3.5.2) which now supports multiple Neopixels, even on Toolboards.
I've tried to hook up a small strip of RGBW neopixels to the "io0.out" ports on one of my toolboards (v1.1)
It's configured and controlled as follows:
M950 E1 C"100.io0.out" T2 ; Neopixels on toolboard 1
M150 E1 R255 P50 S1 ; First led faint red
It turns on, but its full white instead of the expected faint red.
I cannot change it in any way after that, even turning it off (M150 E1 P0 S1) doesn't work.
I can also turn on additional LED's on the strip (using the S parameter), but they are all white and unresponsive after that.
I've used the same LED's connected to the strip that is controlled by the mainboard without problem, so the LED's aren't the problem.
Is there something that I'm missing here?
I'm running a Duet 3 MB6HC on 3.5.0-rc.1 using SBC (RPi-4) and some Toolboards v1.1
Occasionally I get the error:
Error: in file daemon.g line 12: in file macro line 1: unknown variable 'currentTemp'
The deamon.g looks like this:
var tolearance = 3
var setpoint = 0
var currentTemp = 0
while true
if {global.Idle == false}
set var.currentTemp = heat.heaters[{global.IO_NR[0][global.IO_HEATER]}].current
if heat.heaters[{global.IO_NR[0][global.IO_HEATER]}].state == "off"
if var.currentTemp < 50
M98 P"0:/macros/Lights/T0_Status.g" S"Off"
else
M98 P"0:/macros/Lights/T0_Status.g" S"Blue"
else
if heat.heaters[{global.IO_NR[0][global.IO_HEATER]}].state == "active"
set var.setpoint = heat.heaters[{global.IO_NR[0][global.IO_HEATER]}].active
else ; standby
set var.setpoint = heat.heaters[{global.IO_NR[0][global.IO_HEATER]}].standby
if var.currentTemp >= {var.setpoint + {var.tolearance}}
M98 P"0:/macros/Lights/T0_Status.g" S"Blue" ; cooling
elif var.currentTemp <= {var.setpoint - {var.tolearance}}
M98 P"0:/macros/Lights/T0_Status.g" S"Red" ; heating
else
M98 P"0:/macros/Lights/T0_Status.g" S"Green" ; at setpoint
G4 P2000 ; loop every 2s
It's not a big problem in this case, since It's just turning some LED's different colors, but it still shouldn't happen.
It only happens maybe once an hour, so I cant reproduce it reliably.
I don't think I'm doing anything wrong, since it works most of the time without any issues.
Maybe it is related to: rrf-3-5b2-error-meta-command-unknown-variable
I believe they are a spacers for the wiring.
Mounted on top of the black Delrin part, where the docking "forks" go into.
Have a look at E3D'S ToolChanger - Hemera Tool. it has some good pictures on the whole assembly. (full size hemera)
@dc42 said in Allow subfolders for config files:
You can now have a single tpre.g file that is called for any tool that does not have its own tpreN.g file. Similarly for tpost.g and tfree.g.
That's great to hear.
Is this also true for the "TriggerN.g" Files?
@deckingman
Yes, I saw your post a while back. I am planing to implement something similar.
I was thinking, I could use the arrays that are beeing introduced in RRF 3.5.0.
That way I can keep all the settings in one file and just use global variables to set the settings per tool to arrays. I can use the same code this way and just index the array with the tool number.
"
You don't have to put files in the in the .sys folder - it just makes calling them a bit easier. But you can put them in the macros folder or a sub folder therein as long as you use the correct path when calling them.
"
I guess this is only true for custom files, which have no defined naming convention like "HomeX.g" or "ToolPreN.g" right?
Which is what I'd like to do.
@fcwilt
Yea, I figured there is no easy way of just remapping the files, without firmware support.
Good tip with using an external editor. (Why haven't I thought of that )
I might be able to setup my usual code editor (VSCode) to do all the configuring remotely via FTP / SSH.
Thanks
Nico
@fcwilt
No, I'm trying to move the system defined files e.g. "homeall.g" into folders, which doesn't work out of the box.
I'm familiar with M98 for calling macros / subconfigs.
Is it somehow possible to create subfolders in the "system" folder and still have duet recognize the files inside it?
I'm running a 7 Axis Systems with 4 tools and the system folder with all the config files has alot of files in it by now.
With one file per axis for homing and three files per tool + all the other config files it gets a bit unwieldy.
So a "Homig" and a "Tools" folder would help to get them more organized.
I've tried the naïve approach in just putting them inside folders, and hoping they would get recognized anyway, but no luck.
Is there a way to put them inside Folders?
If I get you question right you should be able create a "Output" binding.
Have a look at Connecting DC motors in the docs.
Make sure you read and understand the "Cautions" part and add a flyback diode, if necessary.
I'm having the same Issue running a servo on a toolboard v1.0 on the io0.out Port.
Mainboard is Duet3 6HC + SBC
M280 P0 S80 works as expected the first time, but only once.
I just upgraded to RRF v3.4.2 but still no luck.
Allright, bridging the Top Pin (NC on the PCB) to the bottom one (io3.in) did the trick.
I had to invert the signal but other than that no changes were necessary on my firmware configuration.
For future reference and anyone who is trying to do something similar:
M950 J1 C"!^100.io3.in" ; Tool1 docking detection GPIO setup
Is the command I use now.
@alankilian I've soldered it to the designated pins on the Toolboard (IO3).
But your input was probably enough to solve this issue. I use the switch fliped on its Head (sensor arm pointing down) so the common pin on the switch is now connected to NC.
Off course that's not gonna work.
Nothing a bridging wire can't solve...
I will report back in the evening.
Thanks for the input.
I'm trying to hook up Toolboard docked detection using the microswitch on the Toolboard (v1.1)
I've set it up my first tool as CAN address 100.
I can see the sync LED blinking as it's suppose to, and I can read the temperature.
So, connection issues shouldn't be the problem here.
I'm Trying to hook the endstop input to a IO slot to read it out later.
in the config.g I have:
M950 J1 C"^100.io3.in"
As per my understanding I should be able to see the state change in the object model plugin under sensors->gpIn->1->value.
This is constantly '1'.
This parameters in the disappears form the object model plugin, when I comment out the config line, So it must have something to do with it...
Any pointers in what I'm doing wrong, or how I could make this easier/better?
Using the M150 command one can set a group of LED's to the same color. Chaining multiple M150 commands with the F1 Parameter together one can color each pixel separately.
If I want to change the settings of a group (or single) LED further down the Address line, one has to write all the LED's before it again.
It would be nice to have an additional parameter to set the starting address (LED id) of a M150 Command.
I Use 4 Neopixels on each tool on a Toolchanger (with some additional ones on the frame) and want to change the Led's according to the tools Status. With the current system that is pretty annoying.
Is there already such a feature planed? If no, can we please add this to the Wishlist?
@gloomyandy Yes. I get it only once, when I turn the PSU off, which I expected.
It's not a big deal, just a minor annoyance.
I just wish to keep my logs clean.
Is it possible to ignore warnings in DWC?
I'm setting up my printer with a separate psu for 5V (for Duet3 6HC with SBC) and 24V. (for steppers, Heaters...)
The 24V supply is controlled via PS_ON.
I now get undervoltage warnings, everytime I turn off the second PSU. (which is to be expected)
Can I turn off these warning, while the PSU is off?
Do you have a link to a project like that, maybe with good explanation?
I haven't worked with lua before, but im happy to try it out...
Is there a way to make a if statement in g-code?
I want to setup a conditional ending script, where I can set a variable (via macro) at the start of the Print
and depending on that set variable execute different commands.
So I would need a way to set and store variables and a way to do conditional branching in g-code
I know there are g-code coommands for that (like so) , but I think they are not implemented in the duet.