CAN Triple Device Manager 1.1.13 — the transmit Offset is in channel units (device firmware 1.0.4)
Two releases' worth since 1.1.11. Ships device firmware 1.0.4, up from 1.0.3.
⚠ Check your transmit rows before flashing
Any transmit row with a non-zero Offset now puts a different number on the wire — unless its Bit Resolution is exactly
1, where the old and new rules give the same answer.A row tuned against the old behaviour wants its Offset divided by the Bit Resolution to keep sending what it sent. An Offset of 12 at resolution 0.001 was moving the value by 0.012; it now moves it by 12.
The config store is unchanged (v18), so a device keeps its configuration across this update — it's the arithmetic applied to it that moved.
The transmit Offset is in channel units
Reported: a transmit row at resolution 0.001 with Offset 12 moved the value by 0.012, not by 12. That was correct for the rule in place — the offset was a bias applied after the resolution divided, so it counted in raw counts — and it wasn't what the field means anywhere else in the application.
| Receive | physical = raw × Bit Resolution + Offset (unchanged) |
| Transmit | raw = (physical + Offset) ÷ Bit Resolution |
So at resolution 0.1: transmitting 0 with Offset 12 sends 120, and transmitting 5 with Offset −1 sends 40.
The Offset keeps its sign in both directions, which is the point of it — but that also means the two are still deliberately not inverses. Transmitting to another CAN Triple that receives with the same Offset applies it twice; negate it on one of the two rows. The same goes for an ECU decoding the DBC way.
The preview was contradicting itself
Which is why the rule was hard to see. The line above the range printed Physical = raw × factor + offset on both kinds of row — that's the receive mapping — while the range two lines below was computed from the transmit one. The line that matched the expectation was the wrong one.
A transmit row now states its own mapping: raw = (Physical + 12) ÷ 0.001, with a range that agrees with it.
The multiplexor is not a channel (1.1.12)
A multiplexed DBC message imports as a compound section, and each multiplexor value becomes an identifier whose selector is the multiplexor signal's own bits. Importing that signal as a channel row as well put a channel on top of its own selector — and the device writes the selector into the frame after the channels, so the section editor refused to save it, complaining about a row nobody chose to add.
The row is still shown — it's how you see which signal picks the variant — but with no tick box, and the Details column says it becomes the identifier.
Install: download CANTripleDeviceManager-1.1.13-Setup_Windows_x64.exe below and run it. Windows x64; the installer carries the Qt runtime, device firmware 1.0.4 and the ST-Link drivers.