From d6f3184699f5ca2f80cdff2d19e64973cd498de7 Mon Sep 17 00:00:00 2001 From: ian Date: Sun, 9 Jan 2005 01:59:24 +0000 Subject: [PATCH] can do repeat; slightly saner internal handling of arg parsing --- hostside/main.c | 40 ++++++++++++++++++++++++++-------------- 1 file changed, 26 insertions(+), 14 deletions(-) diff --git a/hostside/main.c b/hostside/main.c index d0e184a..5a34e3f 100644 --- a/hostside/main.c +++ b/hostside/main.c @@ -11,6 +11,7 @@ #include #include #include +#include #include "hostside.h" @@ -18,32 +19,43 @@ int main(int argc, const char **argv) { int l, i; char hbuf[3], *ep; Byte buf[NMRA_PACKET_MAX + COMMAND_ENCODED_MAX]; + + int repeat_delay= -1; + const char *serial_port, *data_string, *instruction; - assert(argc==4 || argc==5); - assert(argv[3]); - serial_open(argv[1]); + assert(argc>=4 && argc<=6); + serial_port= argv[1]; + data_string= argv[2]; + instruction= argv[3]; + if (argc>4) serial_fudge_delay= atoi(argv[4]); + if (argc>5) repeat_delay= atoi(argv[5]); + + serial_open(serial_port); - l= strlen(argv[2]); + l= strlen(data_string); assert(!(l&1)); l >>= 1; assert(l<=sizeof(buf)); for (i=0; i 0) usleep(repeat_delay); } return 0; -- 2.30.2