From 04e4457aa9ac0de15c7515a6d5ec89dd1f7d7260 Mon Sep 17 00:00:00 2001 From: Sven Schmitt Date: Tue, 6 Oct 2015 17:32:42 +0200 Subject: [PATCH 1/5] cangen: added optarg enabling bitrate switch in canfd frames (-f[b]) Signed-off-by: Sven Schmitt --- cangen.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/cangen.c b/cangen.c index db4c803..f730825 100644 --- a/cangen.c +++ b/cangen.c @@ -83,7 +83,7 @@ void print_usage(char *prg) "- default: %d ms)\n", DEFAULT_GAP); fprintf(stderr, " -e (generate extended frame mode " "(EFF) CAN frames)\n"); - fprintf(stderr, " -f (generate CAN FD CAN frames)\n"); + fprintf(stderr, " -f [b] (generate CAN FD CAN frames [with bitrate switch])\n"); fprintf(stderr, " -R (send RTR frame)\n"); fprintf(stderr, " -m (mix -e -f -R frames)\n"); fprintf(stderr, " -I (CAN ID" @@ -136,6 +136,7 @@ int main(int argc, char **argv) unsigned char ignore_enobufs = 0; unsigned char extended = 0; unsigned char canfd = 0; + unsigned char brs = 0; unsigned char mix = 0; unsigned char id_mode = MODE_RANDOM; unsigned char data_mode = MODE_RANDOM; @@ -170,7 +171,7 @@ int main(int argc, char **argv) signal(SIGHUP, sigterm); signal(SIGINT, sigterm); - while ((opt = getopt(argc, argv, "ig:efmI:L:D:xp:n:vRh?")) != -1) { + while ((opt = getopt(argc, argv, "ig:ef:mI:L:D:xp:n:vRh?")) != -1) { switch (opt) { case 'i': @@ -186,6 +187,8 @@ int main(int argc, char **argv) break; case 'f': + if (optarg[0] == 'b') /* bitrate switch */ + brs = 1; canfd = 1; break; @@ -356,6 +359,8 @@ int main(int argc, char **argv) if (canfd){ mtu = CANFD_MTU; maxdlen = CANFD_MAX_DLEN; + if(brs) + frame.flags |= CANFD_BRS; } else { mtu = CAN_MTU; maxdlen = CAN_MAX_DLEN; From 11ea75367b312ea7750dfe555bfa60a22621bf65 Mon Sep 17 00:00:00 2001 From: Sven Schmitt Date: Sun, 11 Oct 2015 21:08:45 +0200 Subject: [PATCH 2/5] cangen: added -b switch enabling bitrate switch in canfd frames. Signed-off-by: Sven Schmitt --- cangen.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/cangen.c b/cangen.c index f730825..1ca7d75 100644 --- a/cangen.c +++ b/cangen.c @@ -83,9 +83,11 @@ void print_usage(char *prg) "- default: %d ms)\n", DEFAULT_GAP); fprintf(stderr, " -e (generate extended frame mode " "(EFF) CAN frames)\n"); - fprintf(stderr, " -f [b] (generate CAN FD CAN frames [with bitrate switch])\n"); + fprintf(stderr, " -b (generate CAN FD CAN frames" + " with bitrate switch (BRS))\n"); + fprintf(stderr, " -f (generate CAN FD CAN frames)\n"); fprintf(stderr, " -R (send RTR frame)\n"); - fprintf(stderr, " -m (mix -e -f -R frames)\n"); + fprintf(stderr, " -m (mix -e -f -b -R frames)\n"); fprintf(stderr, " -I (CAN ID" " generation mode - see below)\n"); fprintf(stderr, " -L (CAN data length code (dlc)" @@ -171,7 +173,7 @@ int main(int argc, char **argv) signal(SIGHUP, sigterm); signal(SIGINT, sigterm); - while ((opt = getopt(argc, argv, "ig:ef:mI:L:D:xp:n:vRh?")) != -1) { + while ((opt = getopt(argc, argv, "ig:ebfmI:L:D:xp:n:vRh?")) != -1) { switch (opt) { case 'i': @@ -185,10 +187,12 @@ int main(int argc, char **argv) case 'e': extended = 1; break; + case 'b': + brs = 1; /* bitrate switch implies CAN FD */ + canfd = 1; + break; case 'f': - if (optarg[0] == 'b') /* bitrate switch */ - brs = 1; canfd = 1; break; @@ -481,7 +485,9 @@ resend: i = random(); extended = i&1; canfd = i&2; - rtr_frame = ((i&12) == 12); /* reduce RTR frames to 1/4 */ + if(canfd) + brs = i&4; + rtr_frame = ((i&24) == 24); /* reduce RTR frames to 1/4 */ } } From eb7a371f27a7ee0c42a6349e83f13a3422916a98 Mon Sep 17 00:00:00 2001 From: Sven Schmitt Date: Tue, 13 Oct 2015 09:33:08 +0200 Subject: [PATCH 3/5] fixed coding style --- cangen.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cangen.c b/cangen.c index 1ca7d75..48c5042 100644 --- a/cangen.c +++ b/cangen.c @@ -363,7 +363,7 @@ int main(int argc, char **argv) if (canfd){ mtu = CANFD_MTU; maxdlen = CANFD_MAX_DLEN; - if(brs) + if (brs) frame.flags |= CANFD_BRS; } else { mtu = CAN_MTU; @@ -456,7 +456,7 @@ resend: if (gap) /* gap == 0 => performance test :-] */ if (nanosleep(&ts, NULL)) return 1; - + if (id_mode == MODE_INCREMENT) frame.can_id++; @@ -485,7 +485,7 @@ resend: i = random(); extended = i&1; canfd = i&2; - if(canfd) + if (canfd) brs = i&4; rtr_frame = ((i&24) == 24); /* reduce RTR frames to 1/4 */ } From b1775eae3e3cf54f7b0b343911a1c54ce0de1533 Mon Sep 17 00:00:00 2001 From: Sven Schmitt Date: Tue, 13 Oct 2015 09:33:08 +0200 Subject: [PATCH 4/5] fixed coding style Signed-off-by: Sven Schmitt --- cangen.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cangen.c b/cangen.c index 1ca7d75..48c5042 100644 --- a/cangen.c +++ b/cangen.c @@ -363,7 +363,7 @@ int main(int argc, char **argv) if (canfd){ mtu = CANFD_MTU; maxdlen = CANFD_MAX_DLEN; - if(brs) + if (brs) frame.flags |= CANFD_BRS; } else { mtu = CAN_MTU; @@ -456,7 +456,7 @@ resend: if (gap) /* gap == 0 => performance test :-] */ if (nanosleep(&ts, NULL)) return 1; - + if (id_mode == MODE_INCREMENT) frame.can_id++; @@ -485,7 +485,7 @@ resend: i = random(); extended = i&1; canfd = i&2; - if(canfd) + if (canfd) brs = i&4; rtr_frame = ((i&24) == 24); /* reduce RTR frames to 1/4 */ } From 505631eb7030256c51a1a000cd8dfe75e0322fcb Mon Sep 17 00:00:00 2001 From: Sven Schmitt Date: Wed, 14 Oct 2015 20:34:51 +0200 Subject: [PATCH 5/5] cangen: introducing -b switch enabling bitrate switch for payload data in canfd frames (CANFD_BRS). Signed-off-by: Sven Schmitt --- cangen.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/cangen.c b/cangen.c index 48c5042..cd2228e 100644 --- a/cangen.c +++ b/cangen.c @@ -83,9 +83,9 @@ void print_usage(char *prg) "- default: %d ms)\n", DEFAULT_GAP); fprintf(stderr, " -e (generate extended frame mode " "(EFF) CAN frames)\n"); + fprintf(stderr, " -f (generate CAN FD CAN frames)\n"); fprintf(stderr, " -b (generate CAN FD CAN frames" " with bitrate switch (BRS))\n"); - fprintf(stderr, " -f (generate CAN FD CAN frames)\n"); fprintf(stderr, " -R (send RTR frame)\n"); fprintf(stderr, " -m (mix -e -f -b -R frames)\n"); fprintf(stderr, " -I (CAN ID" @@ -187,12 +187,13 @@ int main(int argc, char **argv) case 'e': extended = 1; break; - case 'b': - brs = 1; /* bitrate switch implies CAN FD */ + + case 'f': canfd = 1; break; - case 'f': + case 'b': + brs = 1; /* bitrate switch implies CAN FD */ canfd = 1; break;