From: ian Date: Sun, 9 Jan 2005 01:59:24 +0000 (+0000) Subject: can do repeat; slightly saner internal handling of arg parsing X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ijackson/git?a=commitdiff_plain;h=d6f3184699f5ca2f80cdff2d19e64973cd498de7;p=trains.git can do repeat; slightly saner internal handling of arg parsing --- 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;