CANPLAYER(1)
β¨ CANPLAYER β¨
okay bestie, grab your iced coffee because we're talking about the canplayer manual page π
β that's the User Commands one, CANPLAYER(1), iykyk.
π NAME π
canplayer β the manual page for canplayer 2023.03-1build1, periodt π
πΈ SYNOPSIS πΈ
canplayer <options> [interface assignment]*
π¦ DESCRIPTION π¦
so canplayer replays a compact CAN frame logfile to your CAN devices. that's it, that's the whole vibe β it takes your little logfile and goes boom, frames, everywhere π«Ά
π OPTIONS π
okay here's the full menu, no skipping, I would NEVER gatekeep β¨
-I<infile> β read from this input file, obvs. (default:stdin, so if you don't say anything it's just sitting there listening π§)-l<num> β process the input file<num>times. use'i'if you want an infinite loop, bestie, go off queen π (default:1)-tβ ignore timestamps and just send frames immediately. no waiting, main character energy π-iβ interactive mode: it waits for you to press the ENTER key before it processes the next frame. so dramatic, I love it π-n<count> β terminate after processing<count>CAN frames. a little limit, as a treat.-g<ms> β the gap, in milli seconds. (default:1 ms) that's the pause between frames, the breathe moment π-s<s> β skip gaps in timestamps that are>'s'seconds. bye bye dead air π-xβ disable local loopback of sent CAN frames. no echo, we said what we said π-vβ verbose: print out the CAN frames it sends, so you can literally watch it work. she's transparent β¨
π₯ Interface assignment π₯
this is the part where you tell her who goes where β you can have 0..n assignments that look like <write-if>=<log-if>:
- e.g.
vcan2=can0β this sends the frames it received fromcan0onvcan2. socan0was the source,vcan2is where it's headed π« - extra hook:
stdout=can0β this prints the logfile line marked withcan0on stdout. cute little extra π - No assignments at all? totally fine, it will just send frames to the interface(s) they had originally been received from. home is where the interface is π
- Lines in the logfile that don't begin with
'('(that's the start of a timestamp, for the uninitiated) are ignored. not it, not happening, moving on π
π friendly reminder bestie β getting your interface assignments wrong means your frames are going on a little trip to nowhere. double check those <write-if>=<log-if> pairs, okay? mwah π
and that's the whole thing, you ate that π½οΈ this was canplayer 2023.03-1build1, from December 2025 β love her, stan her, go replay some frames ππ
π¦ where this page comes from
- ubuntu resolute: can-utils 2023.03-1build1 Β· GPL-2.0-only
- ubuntu stonking: can-utils 2023.03-1build1 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms