for the SPI code - it's mentioned in spidev.h but not used in the actual
kernel documentation example spi_test.c program )-:
#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 ;
/*
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 ;