chiark / gitweb /
can transmit bare commands too
authorian <ian>
Sun, 2 Jan 2005 17:39:30 +0000 (17:39 +0000)
committerian <ian>
Sun, 2 Jan 2005 17:39:30 +0000 (17:39 +0000)
hostside/main.c

index 820197aaea1a942437972254e42972b5f4174505..a45403e9e60416e32314797a0ba05e2ae78304c1 100644 (file)
 int main(int argc, const char **argv) {
   int l, i;
   char hbuf[3], *ep;
-  Byte nmra[NMRA_PACKET_MAX];
+  Byte buf[NMRA_PACKET_MAX + COMMAND_ENCODED_MAX];
   
-  assert(argc==3);
+  assert(argc==3 || (argc==4 && !strcmp(argv[3],"command")));
   serial_open(argv[1]);
 
   l= strlen(argv[2]);
   assert(!(l&1));
   l >>= 1;
-  assert(l<=NMRA_PACKET_MAX);
+  assert(l<=sizeof(buf));
 
   for (i=0; i<l; i++) {
     hbuf[0]= argv[2][i*2];
     hbuf[1]= argv[2][i*2+1];
     hbuf[2]= 0;
-    nmra[l]= strtoul(hbuf,&ep,16);
+    buf[i]= strtoul(hbuf,&ep,16);
     assert(ep==&hbuf[2]);
   }
 
-  nmra_transmit(nmra,l);
+  if (argc==4)
+    command_transmit(buf,l);
+  else
+    nmra_transmit(buf,l);
 
   return 0;
 }