Possible to add unique ID to 1LC or modify Name
-
Hello,
I needs to attribute a unique id to my 1LC board but i don't find anything about this. I have searched on gcode list and on reprap firmware and i saw nothing about this.
But i can see that field exist on ObjectModel => Board.
I would like to know if you have any solutions to set this variable and if is not it's possible did you have a solution to change an other variable like Name or ShortName.Thanks by advanced.
-
@quentinle do you mean change the CAN address? That’s how each expansion board is addressed, not by name. See https://duet3d.dozuki.com/Wiki/Duet_3_Tool_Board#Section_Set_the_CAN_address
Ian
-
Hello droftarts thanks for you reply.
I already know for the can adresse but it not working on my case. I have multiple machines with different main board and I would like to recognise tool between machine so I need unique variable and store in the 1LC like the unique id on the 6HC.
I don't Know if it's possible but I can see the field uniqueID on board so I think so.Quentin
-
@quentinle there is a unique GUID on the toolboard 1LC (similar to the ID on the mainboards Board ID: 08DJM-956BA-09876-XYZUV-ABCDE-12345 ) so it could be reported by M122/the Object model. I take it you have looked for it and its not there? I am not by a printer right now to check. If not then this should be a feature request to report it.
-
@t3p3tony
It is good to know that there is an unique ID in the board. You can find below the M122 B20 console answer:Diagnostics for board 20: Duet TOOL1LC firmware version 3.3 (2021-06-15 16:12:58) Bootloader ID: not available Never used RAM 3604, free system stack 2762 words Tasks: Move(notifyWait,1.3%,147) HEAT(delaying,124.7%,107) CanAsync(notifyWait,0.0%,61) CanRecv(notifyWait,16.0%,76) CanClock(notifyWait,12.8%,65) TMC(delaying,1943.7%,57) MAIN(running,3696.1%,352) IDLE(ready,0.0%,41) AIN(delaying,3334.0%,142), total 9128.6% Last reset 23:53:46 ago, cause: power up Last software reset data not available Driver 0: position 0, 335.4 steps/mm, standstill, SG min/max 0/0, read errors 0, write errors 0, ifcnt 11, reads 21464, writes 11, timeouts 0, DMA errors 0, steps req 0 done 0 Moves scheduled 0, completed 0, in progress 0, hiccups 0, step errors 0, maxPrep 0, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0 Peak sync jitter -2/4, peak Rx sync delay 219, resyncs 0/0, no step interrupt scheduled VIN: 24.2V MCU temperature: min 37.2C, current 54.4C, max 55.9C Ticks since heat task active 213, ADC conversions started 85682667, completed 85682666, timed out 0, errs 0 Last sensors broadcast 0x00000001 found 1 218 ticks ago, loop time 0 CAN messages queued 1032430, send timeouts 0, received 1118443, lost 0, free buffers 37, min 37, error reg 100000 dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 0 Accelerometer detected: no I2C bus errors 4619, naks 4619, other errors 4619
So, on the 3.3 version, the unique ID is not reported.
The field "uniqueId" in the object model (under boards) returns "null", so nothing there either apparently.
In case it is an important information, I am running on SBC mode.
-
Same here, our several 1XD and 1LC didn't show the Bootloader ID. We identify the board by their Can ID adjusting the settings according that CAN number, but having a GUID could be advantageous to have same tool Can ID but some different settings or attibutes.
-
@marcossf if you run M409 K"boards" does it show the board unique IDs? I'm away from the office right now so I can't check.
-
@quentinle thanks for confirming this. I have moved this to the firmware wishlist.
-
@marcossf currently the only way you can find the unique ID of expansion boards is to send M122 B# P1 where # is the CAN address of the board.
The bootloader version will show as "not available" in the M122 report if the bootloader is an old version.
-
@dc42 Ok, found it out.
M409 K"board" in this case M409 K40 on a 1XD boards gives this output:
M409 K40 { "key": "", "flags": "", "result": { "boards": [ {}, {}, {}, {}, {}, {}, {}, {}, {}, {} ], "directories": {}, "fans": [], "global": {}, "heat": {}, "inputs": [ {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {} ], "job": {}, "limits": {}, "move": {}, "network": {}, "sensors": {}, "seqs": {}, "spindles": [ {}, {} ], "state": {}, "tools": [ {}, {}, {} ], "volumes": [ {} ] } }
Same with a 1LC:
M409 K20 { "key": "", "flags": "", "result": { "boards": [ {}, {}, {}, {}, {}, {}, {}, {}, {}, {} ], "directories": {}, "fans": [], "global": {}, "heat": {}, "inputs": [ {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {} ], "job": {}, "limits": {}, "move": {}, "network": {}, "sensors": {}, "seqs": {}, "spindles": [ {}, {} ], "state": {}, "tools": [ {}, {}, {} ], "volumes": [ {} ] } }
If query with a M122 B40 P1 it shows the GUID right:
1XD:
m122 b40 p1 MCU temperature reading OK (25.8C) VIN voltage reading OK (24.4V) All checks passed Board ID: SF2PJ-GDA7A-N25J0-40KM4-LNS2Z-76T99
1LC:
m122 b20 p1 MCU temperature reading OK (34.6C) VIN voltage reading OK (23.8V) Driver status OK All checks passed Board ID: 4DXBX-8KANL-M25J0-401GQ-1V40Z-RKLP5
Updating a toolboard to new version, also updates their bootloader, isn't it?
Thanks David
-
@marcossf the bootloader update is a separate command.
e.g. M997 B40 S3 -
@jay_s_uk Ok, thank you!
-
@dc42 said in Possible to add unique ID to 1LC or modify Name:
M122 B# P1
Thanks for your reply => M122 B# P1 working like a charm in my case
-
@marcossf it's M409 K"boards" (plural) to get the complete board info. However I have checked and the unique ID is not included. I have added a work item to add the unique ID to the object model.
-
@dc42 Ok, undestood. Thanks David.
-
@marcossf this is now implemented and will be in the next 3.4 beta release.