4 * Simple test for the SPI bus on the Gertboard
7 * D/A port 0 jumpered to A/D port 0.
9 * We output a sine wave on D/A port 0 and sample A/D port 0. We then
10 * copy this value to D/A port 1 and use a 'scope on both D/A ports
11 * to check all's well.
23 #include <gertboard.h>
33 unsigned int now, then ;
36 printf ("Raspberry Pi Gertboard SPI test program\n") ;
38 if (wiringPiSetupSys () < 0)
41 if (gertboardSPISetup () < 0)
44 // Generate a Sine Wave
46 for (i = 0 ; i < B_SIZE ; ++i)
48 angle = ((double)i / (double)B_SIZE) * M_PI * 2.0 ;
49 buffer [i] = (int)rint ((sin (angle)) * 127.0 + 128.0) ;
59 for (i = 0 ; i < B_SIZE ; ++i)
61 gertboardAnalogWrite (0, buffer [i]) ;
64 x1 = gertboardAnalogRead (0) ;
65 gertboardAnalogWrite (1, x1 >> 2) ; // 10-bit A/D, 8-bit D/A
71 printf ("%4d mS, %9.7f S/sample", now - then, ((double)(now - then) / 1000.0) / (double)B_SIZE) ;
72 printf (" -> %9.4f samples/sec \n", 1 / (((double)(now - then) / 1000.0) / (double)B_SIZE)) ;