CAN Triple Device Manager 1.1.10 — section names survive a Get (device firmware 1.0.3, store v18)
⚠ Read this before updating a device
This release ships device firmware 1.0.3, which moves the configuration store from v17 to v18. Every table behind the message table shifts, so a v17 image is refused rather than misread.
A unit updated to 1.0.3 comes up with no configuration and must be sent one again. Save your
.ct3first. This is the designed behaviour, not corruption — the store fails closed rather than reading old records at new offsets — but it is a step to plan for rather than discover.
Section names now survive a Get Configuration
They never used to. CanMessageConfig had no name field, so the host recovered names by matching the device's messages against the document already open — which works only when there is a document to match against. A Get from a unit this copy had never configured came back with every section named Receive 0x640, invented from the id.
Messages and relays each carry an 18-byte label now — 17 characters and a NUL. So a Get onto a blank document returns ECU Broadcast, not Receive 0x640.
On a Get the device wins over the open document, because a Get reads what is on the unit. Anything the device stored no name for — an older store, or a message nobody named — falls through to the previous behaviour untouched. A name longer than 17 characters is clipped when sent, and the app says so rather than letting a name come back silently different from the one on screen.
What paid for it
The configuration region is fixed at 131,072 bytes and stood 1,504 bytes from full, so this was never a question of room but of which table pays:
| before | after | |
|---|---|---|
| messages | 500 × 16 B = 8,000 | 500 × 32 B = 16,000 |
| relays | 32 × 16 B = 512 | 32 × 32 B = 1,024 |
| device script | 512 × 64 B = 32,768 | 384 × 64 B = 24,576 |
| region margin | 1,504 | 1,184 |
The device script ceiling is now 24 KB of bytecode rather than 32 KB. That is far more than any of the shipped examples compiles to, and the example suite is held to the new limit — but if you have a very large script, check it still fits before updating.
Why 18 bytes and not 32: it lands the message record on exactly 32 bytes, which the store's 8-byte padding leaves alone. Nineteen would pad the slot to 40 and cost another 4,000 bytes for one more character.
Also
The configuration transfer chunk sizes are computed from the record widths and moved with them (WRITE_CHUNK_MESSAGES 35 → 15, relays 44 → 16, READ_CHUNK_MESSAGES 125 → 50). No change you can see, but it is why a Send still fits the wire.
Install: download CANTripleDeviceManager-1.1.10-Setup_Windows_x64.exe below and run it. Windows x64; the installer carries the Qt runtime, device firmware 1.0.3 and the ST-Link drivers.