chiark / gitweb /
use -i0 by default but allow TRAIN_PPWDATA_SEL_BIT to override; allow comb-* to try...
authorian <ian>
Sat, 30 Apr 2005 20:22:57 +0000 (20:22 +0000)
committerian <ian>
Sat, 30 Apr 2005 20:22:57 +0000 (20:22 +0000)
parport/odyssey-train
parport/train-pic-prog-select.c

index a945b6fdf7045833deafa9d74a1df6d464363126..3b74aa0f3bb5c577eb6e404813c9aab15ac178a9 100755 (executable)
@@ -10,7 +10,7 @@ badusage () {
 
 which=$1
 
-tpps='train-pic-prog-select -i1'
+tpps="train-pic-prog-select -i${TRAIN_PPWDATA_SEL_BIT-0}"
 
 case "$which" in
 all)
@@ -23,6 +23,11 @@ all)
        whichconfig=single
        echo "Selected #$which"
        ;;
+comb-*)
+       $tpps ${which#comb-}
+       whichconfig=all
+       echo "Trying $which"
+       ;;
 *)
        badusage
        ;;
index 7dc12b521a5da06a1ee09b2d537be647d97eb354..5b58a6a1e855b6b3f91dbd52206379dba1db3740 100644 (file)
@@ -47,7 +47,7 @@ static void wpause(int ioctlnum, unsigned char value) {
         ioctlnum == PPWDATA ? "" : 0,
         value);
   doioctl(ioctlnum, &value, value);
-  usleep(1);
+  usleep(5000);
 }
 
 int main(int argc, const char *const *argv) {
@@ -108,7 +108,7 @@ int main(int argc, const char *const *argv) {
   }
 
   printf("Selecting %d/%d; bytes:", nselected, ROWS*COLUMNS);
-  wpause(PPWCONTROL, 0x02 /* !ENGAGE_VPP, !PC, !PDW */);
+  wpause(PPWCONTROL, ((void)0x02 /* !ENGAGE_VPP, !PC, !PDW */, 0x00));
 
   for (row=0; row<ROWS; row++) {
     v= 0;
@@ -117,7 +117,7 @@ int main(int argc, const char *const *argv) {
     wpause(PPWDATA, v | 0x80);
     wpause(PPWDATA, v); /* SEL_CLK  ~|_  shifts */
   }
-  wpause(PPWDATA, 0xff); /* SEL_CLK  _|~  deploys */
+  wpause(PPWDATA, yesfor1bit ? 0xff : 0x80); /* SEL_CLK  _|~  deploys */
   putchar('\n');
   return 0;
 }