CANPLAYER(1)

πŸ“¦
version 2023.03 Β· 3 versions
, in ubuntu resolute, ubuntu stonking

✨ 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 from can0 on vcan2. so can0 was the source, vcan2 is where it's headed πŸ›«
  • extra hook: stdout=can0 β€” this prints the logfile line marked with can0 on 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