.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3. .TH CANGEN "1" "March 2023" "cangen 2023.03-1" "User Commands" .SH NAME cangen \- manual page for cangen 2023.03-1 .SH SYNOPSIS .B cangen [\fI\,options\/\fR] \fI\,\/\fR .SH DESCRIPTION cangen \- CAN frames generator. .SH OPTIONS .TP \fB\-g\fR (gap in milli seconds \- default: 200 ms) .TP \fB\-a\fR (use absolute time for gap) .TP \fB\-t\fR (use SO_TXTIME) .TP \fB\-\-start\fR (start time (UTC nanoseconds)) .TP \fB\-\-mark\fR (set SO_MARK to , default 1) .TP \fB\-e\fR (generate extended frame mode (EFF) CAN frames) .TP \fB\-f\fR (generate CAN FD CAN frames) .TP \fB\-b\fR (generate CAN FD CAN frames with bitrate switch (BRS)) .TP \fB\-E\fR (generate CAN FD CAN frames with error state (ESI)) .TP \fB\-R\fR (generate RTR frames) .TP \fB\-8\fR (allow DLC values greater then 8 for Classic CAN frames) .TP \fB\-m\fR (mix \fB\-e\fR \fB\-f\fR \fB\-b\fR \fB\-E\fR \fB\-R\fR frames) .TP \fB\-I\fR (CAN ID generation mode \- see below) .TP \fB\-L\fR (CAN data length code (dlc) generation mode \- see below) .TP \fB\-D\fR (CAN data (payload) generation mode \- see below) .TP \fB\-p\fR (poll on \fB\-ENOBUFS\fR to write frames with ms) .TP \fB\-n\fR (terminate after CAN frames \- default infinite) .TP \fB\-i\fR (ignore \fB\-ENOBUFS\fR return values on write() syscalls) .TP \fB\-x\fR (disable local loopback of generated CAN frames) .TP \fB\-c\fR (number of messages to send in burst, default 1) .TP \fB\-v\fR (increment verbose level for printing sent CAN frames) .SS "Generation modes:" .TP \&'r' => random values (default) .TP \&'e' => random values, even ID .TP \&'o' => random values, odd ID .TP \&'i' => increment values .IP => fixed value (in hexadecimal for \fB\-I\fR and \fB\-D\fR) .IP => nibbles written as 'x' are randomized (only \fB\-D\fR) .PP The gap value (in milliseconds) may have decimal places, e.g. '\-g 4.73' When incrementing the CAN data the data length code minimum is set to 1. CAN IDs and data content are given and expected in hexadecimal values. .SH EXAMPLES cangen vcan0 \-g 4 \-I 42A \-L 1 \-D i \-v \-v .IP (fixed CAN ID and length, inc. data) .PP cangen vcan0 \-e \-L i \-v \-v \-v .IP (generate EFF frames, incr. length) .PP cangen vcan0 \-D 11223344DEADBEEF \-L 8 .IP (fixed CAN data payload and length) .PP cangen vcan0 \-D 11xx3344DEADBEEF \-L 8 .IP (fixed CAN data payload where 2. byte is randomized, fixed length) .PP cangen vcan0 \-I 555 \-D CCCCCCCCCCCCCCCC \-L 8 \-g 3.75 .IP (generate a fix busload without bit\-stuffing effects) .PP cangen vcan0 \-g 0 \-i \-x .IP (full load test ignoring \-ENOBUFS) .PP cangen vcan0 \-g 0 \-p 10 \-x .IP (full load test with polling, 10ms timeout) .PP cangen vcan0 .IP (my favourite default :)