T1LC reset not working as expected
-
Short story; below doesn't seem to work for resetting 1LC CAN address;
The board will do a factory reset if you power it up with both buttons held down. The CAN address will be reset to the default (121), the CAN bus timing will also be reset to default (1Mbps), and the bootloader will request a firmware update.Long story;
I'm running x3 XDs, x2 LCs, x1 SammyC with a 6HC mobo. The Duet/CAN system has been working really well, but I noticed the LC reset fxn wasn't working. When adding a new LC, I isolated the CAN from the 6HC to new 1LC to update the LC FW from 3.5.1 to 3.5.3. FW update went fine, but I found the new LC wouldn't respond to the new address B21 I assigned it (40s for the XDs, 50s for the HCs and 20s for the LCs). Despite that, CAN between the 6HC and LC was still active, with red LED syncd between the two. I assumed I screwed up the re assignment and attempted to HW reset via holding the 1LCs btns while powering on. I tried this several times and the 1LC Id never reverted back to the default B121. It kept whatever Id I miss programmed and contd to sync w the 6HC.I started iterating thru IDs to try and find it when I remembered I may have accidently ID'd it as one of the 1HCLs I removed. Sure enough it was ID'd as 51. I fixed the issue and everything is running fine. After that I attempted to test the reset the either of the LC IDs via the btn press at power up and it doesnt seem to reset the address...
-
@wayneosdias if you temporarily disconnect the other board with ID 51, does reprogramming the 1LC with M952 fail as well?
-
@wayneosdias it's quite hard to hold both buttons down with one hand while using the other hand to turn on the power switch.
To see for certain whether the CAN reset is working, disconnect the board from CAN before you execute the reset procedure. When power is applied, if it has reset then you will see a sequence of flashes on the Status LED with pauses in between. If it hasn't reset then it will blink rapidly and continuously.
If you are ever uncertain of what address a board is set to, open DWC, start the Object Model Browser if you haven't already, open it and expand the Boards key. Alternatively, create a macro file containing the following and run it:
while iterations < #boards echo "Board type",boards[iterations].shortName,"found at CAN address",boards[iterations].canAddress,"firmware version", boards[iterations].firmwareVersion
-
@oliof M952 has always worked perfectly, but you need the correct 'B'.
@dc42 Ive tried the sequence many more times and I still cannot force a HW reset of the LC ID, CAN disconnected or connected. I can indeed perform HW ID resets on the XDs and HCs, but not the LC as outlined. Im running 3.5.3 system wide.
I never thought to look at the Obj Model for boards, perfect!
Thanks for the input guys.
-
@wayneosdias Is it the same for both 1LCs? Can you send M122 B[1LC CAN address] to see what bootloader version they are on?
Ian
-
@droftarts I'm not in a position to to check HW versions, but the bootloaders are indeed different, 2.8 vs 2.3. The first LC I got the beginning of the year and the 2nd this past week. Both LC are the same layout, but different versions as I recall the new LC mounting thru holes are enig plated and the older LC mounting thru holes are silk screen. Heres the M122 for both;
M122 B20 Diagnostics for board 20: Duet TOOL1LC rev 1.1 or later firmware version 3.5.3 (2024-09-17 14:35:31) Bootloader ID: SAMC21 bootloader version 2.3 (2021-01-26b1
M122 B21 Diagnostics for board 21: Duet TOOL1LC rev 1.1 or later firmware version 3.5.3 (2024-09-17 14:35:31) Bootloader ID: SAMC21 bootloader version 2.8 (2023-07-25)