@canboat/canboatjs
Version:
Native javascript version of canboat
26 lines • 1.04 kB
TypeScript
/**
* Stream Maretron IPG100 binary frames as canboat plain CSV.
*
* Connects, completes the CONNECT handshake, sends SET_MODE\tBINARY\0 on
* receipt of CONNECTED, and writes one CSV line per inbound 0xA5 frame to
* stdout in the format canboat's `analyzer` accepts:
*
* YYYY-MM-DD-HH:MM:SS.mmm,<prio>,<pgn>,<src>,<dst>,<len>,<hex>,<hex>,...
*
* Control text frames (handshake replies, license-pool announces) go to
* stderr, so stdout can be piped directly into `analyzerjs`:
*
* maretron-ipgjs ipg100-ip | analyzerjs -json -nv
*
* Outbound traffic: each line on stdin is sent to the bus. canboat plain
* CSV is interpreted as a string; a line that starts with `{` is parsed
* as a JSON PGN object (matching cansendjs's convention).
*
* cat commands.txt | maretron-ipgjs ipg100-ip
*
* stdin is not consumed until the CONNECT handshake completes; the kernel
* pipe buffer applies backpressure to the producer so nothing is dropped.
*/
export {};
//# sourceMappingURL=maretron-ipgjs.d.ts.map