Using variables with M584 doesn't work
-
@carlosr which board and FW are you using?
-
@cosmowave Board: Duet 3 MB6HC
Firmware version: 3.3 -
I have the same issue and it's prior to variables, object model nodes also don't work
In standalone mode works as expected but not in SBC mode.Example:
-
@carlosr Do you have an extension board?
-
Perhaps you need to explain in more detail exactly what doesn't work (with more detailed examples).
I don't have multiple extruders, but a quick test of M92 produced thisBoard: Duet 2 WiFi (2WiFi)
Firmware: RepRapFirmware for Duet 2 WiFi/Ethernet 3.4.0beta1-inputshaping (2021-07-11)
Duet WiFi Server Version: 1.26If you are in fact using var, then the scope is only in that macro.
If you use globals then they can be (re)called "globally"
-
@owend I think the problem is when using ":" to concatenate different extruder drives. The command only detects the first value. When using only one value, without the ":" character, it works.
-
@owend said in Using variables with M584 doesn't work:
I don't have multiple extruders
The problem is the way multiple extruders are configured, i think DSF doesn't understand well the "M92 E--:-- " way of configuring them.
-
@cosmowave Yes, we have a 1LC v1 extension board.
-
@carlosr said in Using variables with M584 doesn't work:
@owend I think the problem is when using ":" to concatenate different extruder drives. The command only detects the first value. When using only one value, without the ":" character, it works.
Then you can write the commands in separate lines! Or not?
In the gcode-wiki is written:
In RRF3, M584 works the same way as in RRF2, with exception that on Duet 3 the driver on expansion boards are assigned with <board address>.<driver number>. -
@cosmowave said in Using variables with M584 doesn't work:
Then you can write the commands in separate lines! Or not?
No.
-
@cosmowave If you write the command in different lines, the first drive value is overwritten.
-
@ja ok... yes. M92 is not possible in single line.
-
@cosmowave Can it be that there is a problem of the format of your variable?
e.g. the variable is a string, but M92 needs a "float"... -
@cosmowave as @JA said, i think DSF doesn't understand well the "M92 E--:-- " syntax when using variables.
-
-
@carlosr Array expressions aren't yet supported by RRF in SBC mode but something like
M584 E{123:{myVar}}
should be already passed to RRF correctly. I'll discuss with dc42 how we can add support for this. -
@chrishamm I declare 3 variables and assign them 3 different values (integers):
var driverZero = 20
var driverOne = 21
var driverTwo = 22Tried:
- M584 E{var.driverZero}:{var.driverOne}:{var.driverTwo}
- M584 E{{var.driverZero}:{var.driverOne}:{var.driverTwo}}
- M584 E20:{var.driverOne}:{var.driverTwo}
And none of them worked. The following commands show this error message:
-
@carlosr As I said RRF does not support array expressions in SBC mode yet, although
M584 E{{var.bla}:..}
would be passed through correctly. Before this can work further improvements in RRF are required. -
I think I'm not understanding correctly (i'm not an english speaker).
Do you mean that M584 E{{var.bla}:..} should work right now (in 3.3 version)? Because it isn't.
-
@carlosr No, it does not.