Slight Mod

Dependencies:   mbed-dsp mbed

Fork of Hat_Board_v5 by John Scharf

Committer:
drnow
Date:
Thu Mar 20 09:49:36 2014 +0000
Revision:
2:3a8cd127b72a
Parent:
1:2efeed26d93a
Child:
3:8334f137c151
Cleaned up, sends 2 light and 3 accel, with timing data.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
drnow 0:34bad5aca893 1 //Hat Board Test by James Cooke 3/18/2014
drnow 0:34bad5aca893 2 //Goal of program: read and output data from LIS3DH accelerometer
drnow 0:34bad5aca893 3 //Started with Si_4088_PC working program: able to get data from Si1142 on new hat board
drnow 0:34bad5aca893 4
drnow 0:34bad5aca893 5 // Check PS_ADC_COUNTER. It's probably wrong.
drnow 0:34bad5aca893 6
drnow 0:34bad5aca893 7 #include "mbed.h"
drnow 0:34bad5aca893 8 #include "SI_LIS.h"
drnow 0:34bad5aca893 9 #include <time.h>
drnow 0:34bad5aca893 10
drnow 0:34bad5aca893 11 DigitalOut myled3(LED3);
drnow 0:34bad5aca893 12 DigitalOut myled4(LED4);
drnow 0:34bad5aca893 13 Serial pc(USBTX,USBRX);
drnow 0:34bad5aca893 14 DigitalIn int_pin(p8);
drnow 0:34bad5aca893 15 Timer t;
drnow 0:34bad5aca893 16
drnow 0:34bad5aca893 17 int reading_IR,reading_660,LSB,MSB;
drnow 0:34bad5aca893 18 char rx_data[4];
drnow 1:2efeed26d93a 19 char accel_data[6];
drnow 0:34bad5aca893 20 char temp_val;
drnow 0:34bad5aca893 21 short int temp_dataX; // short int: 16 bits. This allows easy negative results
drnow 0:34bad5aca893 22 short int temp_dataY; // short int: 16 bits. This allows easy negative results
drnow 0:34bad5aca893 23 short int temp_dataZ; // short int: 16 bits. This allows easy negative results
drnow 2:3a8cd127b72a 24 float t_msec;
drnow 0:34bad5aca893 25
drnow 0:34bad5aca893 26 int main()
drnow 0:34bad5aca893 27 {
drnow 0:34bad5aca893 28 unsigned char LowB_IR,HighB_IR,LowB_660,HighB_660;
drnow 0:34bad5aca893 29
drnow 0:34bad5aca893 30 myled4 = 0; // ODD: if this line not included, there is a compiler "internal error"
drnow 0:34bad5aca893 31 pc.baud(230400);
drnow 2:3a8cd127b72a 32 Init_Accel(); // starts LIS3DH
drnow 2:3a8cd127b72a 33 restart(); // starts Si1142
drnow 0:34bad5aca893 34
drnow 2:3a8cd127b72a 35 wait_ms(30);
drnow 2:3a8cd127b72a 36 command (PS_AUTO); //start measuring
drnow 2:3a8cd127b72a 37 wait (0.5);
drnow 0:34bad5aca893 38
drnow 2:3a8cd127b72a 39 while(1) {
drnow 2:3a8cd127b72a 40 if(!int_pin) {
drnow 0:34bad5aca893 41
drnow 2:3a8cd127b72a 42 myled3 = !myled3; // LED on mbed, to follow along
drnow 0:34bad5aca893 43
drnow 2:3a8cd127b72a 44 t.reset();
drnow 2:3a8cd127b72a 45 t.start();
drnow 1:2efeed26d93a 46
drnow 2:3a8cd127b72a 47 write_reg(IRQ_STATUS,0x04); // clear the interrupt.
drnow 1:2efeed26d93a 48
drnow 2:3a8cd127b72a 49 read_reg2(PS1_DATA0);
drnow 2:3a8cd127b72a 50 LowB_IR = rx_data[0];
drnow 2:3a8cd127b72a 51 HighB_IR = rx_data[1];
drnow 0:34bad5aca893 52
drnow 2:3a8cd127b72a 53 LowB_660 = rx_data[2];
drnow 2:3a8cd127b72a 54 HighB_660 = rx_data[3];
drnow 1:2efeed26d93a 55
drnow 2:3a8cd127b72a 56 reading_IR = (HighB_IR * 256) + LowB_IR;
drnow 2:3a8cd127b72a 57 reading_660 = (HighB_660 * 256) + LowB_660;
drnow 1:2efeed26d93a 58
drnow 2:3a8cd127b72a 59 pc.printf ("%d, %d, ", reading_IR,reading_660);
drnow 0:34bad5aca893 60
drnow 2:3a8cd127b72a 61 Get_Accel_Reg_6 (0x28);
drnow 0:34bad5aca893 62
drnow 2:3a8cd127b72a 63 temp_dataX = (accel_data[1] * 256) + accel_data[0];
drnow 2:3a8cd127b72a 64 pc.printf ("%d, ",temp_dataX);
drnow 0:34bad5aca893 65
drnow 2:3a8cd127b72a 66 temp_dataY = (accel_data[3] * 256) + accel_data[2];
drnow 2:3a8cd127b72a 67 pc.printf ("%d, ",temp_dataY);
drnow 0:34bad5aca893 68
drnow 2:3a8cd127b72a 69 temp_dataZ = (accel_data[5] * 256) + accel_data[4];
drnow 2:3a8cd127b72a 70 pc.printf ("%d, ",temp_dataZ);
drnow 0:34bad5aca893 71
drnow 2:3a8cd127b72a 72 t.stop();
drnow 2:3a8cd127b72a 73 t_msec = t.read() * 1000;
drnow 2:3a8cd127b72a 74 printf("%4.1f msec\n", t_msec);
drnow 2:3a8cd127b72a 75 }
drnow 2:3a8cd127b72a 76 }
drnow 0:34bad5aca893 77
drnow 0:34bad5aca893 78
drnow 0:34bad5aca893 79 }
drnow 0:34bad5aca893 80 /*
drnow 0:34bad5aca893 81 Notes on RJ-45: Pin 1: Vcc Pin 2: GND Pin 3: SDA > 9 on 4088
drnow 0:34bad5aca893 82 Pin 4: SCL >> 10 on 4088 Pin 6: INT > 8 on 4088
drnow 0:34bad5aca893 83
drnow 0:34bad5aca893 84 Bluetooth: Tx on 4088: Pin 37 >> RX Rx on 4088: Pin 31 >> TX
drnow 0:34bad5aca893 85 PC COMM port on Square board: 12
drnow 0:34bad5aca893 86
drnow 0:34bad5aca893 87 */