Existují situace, kdy je třeba ověřit například reakční čas zařízení, které komunikuje po CAN sběrnici na povel. V tomto případě je však třeba znát nejen čas příchodu dat po CAN sběrnici ale i čas odeslání příkazu. Pro jednoduché situace lze použít osciloskop a změřit čas mezi dvěma zprávami. Jakmile se ale jedná o běžný provoz na CAN sběrnici, kdy je sběrnice zatížena, situace se komplikuje. S obyčejným osciloskopem, který nepodporuje dekódování CAN bus dat je toto téměř nerealizovatelné - je velmi obtížné rozeznat zprávy od sebe a identifikovat jak povel tak odezvu, nehledě problém s nastavením triggeru osciloskopu na konkrétní zprávu a také na nutnost dekódovat data. Při použití osciloskopu, který dekódování podporuje je to již lepší, nicméně velmi nepraktické z hlediska rychlé orientace v datech.
Za normálních okolností zobrazuje program PP2CAN čas odeslání z PC, jeho rozlišení je pro některé případy, jako případ zmíněné odezvy, nedostatečné. Pokud tedy potřebujeme data s velmi přesnými časovými značkami / timestamp značky, je možné použít firmware řady 3.xx pro převodník USB2CAN Triple, který předává zpět do PC informaci o tom, kdy přesně byla data na CAN bus odeslána.
Tato informace nese přesnou časovou značku s rozlišením v mikrosekundách o tom, kdy byla zpráva skutečně odeslána. Jedná se o stejný zdroj časové značky jako u přijatých zpráv z CAN sběrnice a tak je možné odezvu měřit s přesností v desítkách mikrosekund.
Zmíněná funkce je součástí alternativního firmware, tak jako v případě firmware s funkcí HW gateway. Tyto funkce jsou používány zřídka a tak není důvod zatěžovat MCU a USB těmito funkcemi, pokud je uživatel nepoužívá. Základní firmware proto tyto funkce neobsahuje a jeho kód je optimalizován na rychlost odezvy a průchodnost dat.
Tato funkce programu PP2CAN a firmware pro USB2CAN triple jsou součástí verze PP2CAN 3.041 a X2CAN API 3.010.
Odeslané zprávy s časovou značkou lze v X2CAN API zachytit například pomocí registrace callback funkce:
typedef void (*tX2CAN_SendCallback)(CAN_MESSAGE *message);
X2CAN_DLLMAPPING void X2CAN_RegisterSendCallback(tX2CAN_SendCallback callback);
A nebo vybírat pomocí volání:
X2CAN_DLLMAPPING bool USB2CAN_TRIPLE_GetCANTXMessage(CAN_MESSAGE *message);
X2CAN_DLLMAPPING bool USB2CAN_TRIPLE_WaitForTxMessage(const unsigned int timeout);
Platí, podmínka že je li registrován callback , funkce GetCANTXMessage nefunguje, data se neukládají do fronty.
V případě, že je použit firmware 3.xx, je nutné v aplikaci která používá X2CAN API data vybírat z fronty nebo alespoň registrovat prázdný callback, aby nedocházelo k hromadění dat ve frontě.