From: Oliver Hartkopp Date: Sat, 21 May 2016 08:31:23 +0000 (+0200) Subject: slcand: added listen-only option X-Git-Url: http://rtime.felk.cvut.cz/gitweb/can-utils.git/commitdiff_plain/d82ccd76ac71ed2cd8e567495780994f766d1b9b slcand: added listen-only option listen-only option (-l) has been added to slcan-attach in oct 2015. It is now replicated in slcand Signed-off-by: interlocuteur Signed-off-by: Oliver Hartkopp --- diff --git a/slcand.c b/slcand.c index e8c70e0..a8b62f2 100644 --- a/slcand.c +++ b/slcand.c @@ -60,6 +60,7 @@ void print_usage(char *prg) fprintf(stderr, "Options: -o (send open command 'O\\r')\n"); fprintf(stderr, " -c (send close command 'C\\r')\n"); fprintf(stderr, " -f (read status flags with 'F\\r' to reset error states)\n"); + fprintf(stderr, " -l (send listen only command 'L\\r', overrides -o)\n"); fprintf(stderr, " -s (set CAN speed 0..8)\n"); fprintf(stderr, " -S (set UART speed in baud)\n"); fprintf(stderr, " -t (set UART flow control type 'hw' or 'sw')\n"); @@ -171,6 +172,7 @@ int main(int argc, char *argv[]) int opt; int send_open = 0; int send_close = 0; + int send_listen = 0; int send_read_status_flags = 0; char *speed = NULL; char *uart_speed_str = NULL; @@ -184,7 +186,7 @@ int main(int argc, char *argv[]) ttypath[0] = '\0'; - while ((opt = getopt(argc, argv, "ocfs:S:t:b:?hF")) != -1) { + while ((opt = getopt(argc, argv, "ocfls:S:t:b:?hF")) != -1) { switch (opt) { case 'o': send_open = 1; @@ -195,6 +197,9 @@ int main(int argc, char *argv[]) case 'f': send_read_status_flags = 1; break; + case 'l': + send_listen = 1; + break; case 's': speed = optarg; if (strlen(speed) > 1) @@ -325,7 +330,10 @@ int main(int argc, char *argv[]) write(fd, buf, strlen(buf)); } - if (send_open) { + if (send_listen) { + sprintf(buf, "L\r"); + write(fd, buf, strlen(buf)); + } else if (send_open) { sprintf(buf, "O\r"); write(fd, buf, strlen(buf)); }