@@ -51,11 +51,10 @@
#define PULSE_TIME 100
-static int marks [MAX_PINS] ;
-static int range [MAX_PINS] ;
-static pthread_t threads [MAX_PINS] ;
-
-int newPin = -1 ;
+static volatile int marks [MAX_PINS] ;
+static volatile int range [MAX_PINS] ;
+static volatile pthread_t threads [MAX_PINS] ;
+static volatile int newPin = -1 ;
/*
@@ -75,6 +75,11 @@ int wiringPiSPIDataRW (int channel, unsigned char *data, int len)
channel &= 1 ;
+// Mentioned in spidev.h but not used in the original kernel documentation
+// test program )-:
+
+ memset (&spi, 0, sizeof (spi)) ;
spi.tx_buf = (unsigned long)data ;
spi.rx_buf = (unsigned long)data ;
spi.len = len ;