1 From f9676c3b4416be8eb7658d3e003dcb12ee7121d9 Mon Sep 17 00:00:00 2001
2 From: Rostislav Lisovy <lisovy@gmail.com>
3 Date: Wed, 7 Dec 2011 15:44:59 +0100
4 Subject: [PATCH] cangen: Added sending of RTR frames.
7 can-utils/cangen.c | 13 +++++++++++--
8 1 files changed, 11 insertions(+), 2 deletions(-)
10 diff --git a/can-utils/cangen.c b/can-utils/cangen.c
11 index bd48e79..ee3403f 100644
12 --- a/can-utils/cangen.c
13 +++ b/can-utils/cangen.c
14 @@ -105,7 +105,8 @@ void print_usage(char *prg)
15 "printing sent CAN frames)\n");
16 fprintf(stderr, " -b (set SO_SNDBUF value of a buffer "
17 "-- the kernel doubles this value)\n");
18 - fprintf(stderr, " -P (set SO_PRIORITY of a socket)\n\n");
19 + fprintf(stderr, " -P (set SO_PRIORITY of a socket)\n");
20 + fprintf(stderr, " -r (send RTR frame)\n\n");
21 fprintf(stderr, "Generation modes:\n");
22 fprintf(stderr, "'r' => random values (default)\n");
23 fprintf(stderr, "'i' => increment values\n");
24 @@ -144,6 +145,7 @@ int main(int argc, char **argv)
25 unsigned char dlc_mode = MODE_RANDOM;
26 unsigned char loopback_disable = 0;
27 unsigned char verbose = 0;
28 + unsigned char rtr_frame = 0;
32 @@ -170,7 +172,7 @@ int main(int argc, char **argv)
33 signal(SIGHUP, sigterm);
34 signal(SIGINT, sigterm);
36 - while ((opt = getopt(argc, argv, "ig:eI:L:D:xp:n:vb:P:h?")) != -1) {
37 + while ((opt = getopt(argc, argv, "ig:eI:L:D:xp:n:vb:P:rh?")) != -1) {
41 @@ -237,6 +239,10 @@ int main(int argc, char **argv)
42 sk_prio = atoi(optarg);
50 polltimeout = strtoul(optarg, NULL, 10);
52 @@ -281,6 +287,9 @@ int main(int argc, char **argv)
53 frame.can_id &= CAN_SFF_MASK;
57 + frame.can_id |= CAN_RTR_FLAG;
60 frame.can_id |= CAN_EFF_FLAG;