Skip to content

CAN Triple Device Manager 1.1.10 — section names survive a Get (device firmware 1.0.3, store v18)

Choose a tag to compare

@mitchdetailed mitchdetailed released this 30 Aug 00:40
· 14 commits to main since this release

⚠ 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 .ct3 first. 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.