AD7606 Library demo

Dependencies:   AD7606 mbed

Revision:
2:7a0e156f2cc8
Parent:
1:ca30c6307824
Child:
3:0f818374b9b5
--- a/main.cpp	Tue Jan 20 10:59:21 2015 +0000
+++ b/main.cpp	Tue Jan 20 15:08:36 2015 +0000
@@ -20,16 +20,31 @@
 
 Serial pc(USBTX, USBRX);
 AD7606 ad7606(MISO, SCLK, CS, CONVST, BUSY, RESET, 100000);
-//double analogValues[8] = {0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F};
-uint16_t rawValues[8] = {0, 0, 0, 0, 0, 0, 0, 0};
-char buffer[100];
+double aValues[8] = {0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F};
+//uint16_t rawValues[8] = {0, 0, 0, 0, 0, 0, 0, 0};
+Ticker tick1;
+DigitalOut greenLED(LED_GREEN);
+volatile bool timerInterrupt = false;
+
+void timInterrupt_ISR() {
+    timerInterrupt = true;
+    greenLED = !greenLED;    
+}
 
 int main() {
+    greenLED = 1;
     pc.baud(115200);
     pc.printf("Hello, World!\r\n");
+    ad7606.setDR(10.0f);
+    tick1.attach(timInterrupt_ISR, 0.1F);
+    
     while(1) {
-        ad7606.readRawValues(rawValues);
-        //pc.printf("%d, %d, %d, %d, %d, %d, %d, %d\r\n", rawValues[0], rawValues[1],rawValues[2],rawValues[3],rawValues[4],rawValues[5],rawValues[6],rawValues[7]);
-        wait_ms(100);
+        if (timerInterrupt) { 
+            //ad7606.readRAW(rawValues);
+            //pc.printf("%d, %d, %d, %d, %d, %d, %d, %d\r\n", rawValues[0], rawValues[1], rawValues[2], rawValues[3], rawValues[4], rawValues[5], rawValues[6], rawValues[7]);
+            ad7606.readAnalog(aValues);
+            pc.printf(".3f, .3f, .3f, .3f, .3f, .3f, .3f, .3f\r\n", aValues[0], aValues[1], aValues[2], aValues[3], aValues[4], aValues[5], aValues[6], aValues[7]);
+            timerInterrupt = false;
+        } 
     }    
 }