Albert-Jan Knevels / Mbed 2 deprecated CherryStone

Dependencies:   mbed

Revision:
5:92add1a06191
Parent:
4:dd534b0b54dd
Child:
6:c09f0df4123c
--- a/main.cpp	Fri Jul 25 11:34:28 2014 +0000
+++ b/main.cpp	Fri Jul 25 13:35:41 2014 +0000
@@ -1,96 +1,75 @@
 #include "mbed.h"
 #include "MLX90393.h"
-DigitalOut myled(LED1);
-Serial pc(USBTX, USBRX);
-SPI spi(p5, p6, p7);
-I2C i2c(p28, p27);
 
-MLX90393 mlx_spi(p8,&spi);
-MLX90393 mlx_i2c(0x19,&i2c);
-
-char read_buffer_main[10];
 
 int main()
 {
+    //mBed indicators
+    DigitalOut myled(LED1);
+
+    //PC-communication
+    Serial pc (USBTX, USBRX);
+    pc.baud(9600);
+    char hostCommand;
+    int hostData1;
+    int hostData2;
+    int hostData3;
+    //Chip communication
+    SPI spi(p5, p6, p7);
+    spi.format(MLX90393::spi_bits,MLX90393::spi_mode);
+    spi.frequency(1000000);
+    MLX90393 sensor(p26,&spi);
 
 
-    pi.format(8,3);
-    //OR
-    //spi.format(MLX90393::spi_bits,MLX90393::spi_mode);
+    //variables
+    char read_buffer[10];
 
-    spi.frequency(1000000);
-    i2c.frequency(75000);
-    /*
-     __   ___     ______         _______. _______   ______      __    __   _______ .__   __.   ______  _______
-    |  | |__ \   /      |       /       ||   ____| /  __  \    |  |  |  | |   ____||  \ |  |  /      ||   ____|
-    |  |    ) | |  ,----'      |   (----`|  |__   |  |  |  |   |  |  |  | |  |__   |   \|  | |  ,----'|  |__
-    |  |   / /  |  |            \   \    |   __|  |  |  |  |   |  |  |  | |   __|  |  . `  | |  |     |   __|
-    |  |  / /_  |  `----.   .----)   |   |  |____ |  `--'  '--.|  `--'  | |  |____ |  |\   | |  `----.|  |____
-    |__| |____|  \______|   |_______/    |_______| \_____\_____\\______/  |_______||__| \__|  \______||_______|
+    while(1) {
+        printf("**voor*** \n\r");
+        pc.scanf(" %i, %i, %i, %i", &hostCommand, &hostData1, &hostData2, &hostData3);
+        printf("**NA*** \n\r");
+        //hostCommand = 5;
+        switch(hostCommand) {
+            case 0: {
 
-    */
-    while (0) {
-        mlx_i2c.WR(read_buffer_main,0,0x7C,0);
-        pc.printf("[WR] - Status: %i\n",read_buffer_main[0]);
-        wait(1);
-        mlx_i2c.RR(read_buffer_main,0,0);
-        pc.printf("[RR] - Status: %i MSB: %i LSB: %i\n",read_buffer_main[0],read_buffer_main[1],read_buffer_main[2]);
-        wait(1);
-        mlx_i2c.SB(read_buffer_main,0xF,0);
-        pc.printf("[SB] - Status: %i\n",read_buffer_main[0]);
-        wait(1);
-        for(int i=0 ; i<10; ++i) {
-            mlx_i2c.RM(read_buffer_main,0xF,0);
-            pc.printf("[RM] - Status: %i T= %i X= %i Y= %i Z= %i\n",read_buffer_main[0],256*read_buffer_main[1]+read_buffer_main[2],256*read_buffer_main[3]+read_buffer_main[4],256*read_buffer_main[5]+read_buffer_main[6],256*read_buffer_main[7]+read_buffer_main[8]);
-            wait(0.2);
+                break;
+            }
+            case 1: {
+                break;
+            }
+            case 2: {
+                break;
+            }
+            case 3: {
+                break;
+            }
+            case 4: {
+                break;
+            }
+            case 5: {
+                //exit
+                //printf("**case5** \n\r");
+                sensor.EX(read_buffer,1);
+                break;
+            }
+            case 6: {
+                //single measurement
+                sensor.SM(read_buffer,hostData1,1);
+                break;
+            }
+            case 7: {
+                break;
+            }
+            case 8: {
+                //burst
+                sensor.SB(read_buffer,hostData1,1);
+                break;
+            }
+            case 9: {
+                //wake up on change
+                sensor.SWOC(read_buffer,hostData1,1);
+                break;
+            }
         }
-        wait(1);
-        mlx_i2c.EX(read_buffer_main,0);
-        pc.printf("[EX] - Status: %i\n",read_buffer_main[0]);
-        wait(1);
-        mlx_i2c.SM(read_buffer_main,0xF,0);
-        pc.printf("[SM] - Status: %i\n",read_buffer_main[0]);
-        wait(1);
-        mlx_i2c.RM(read_buffer_main,0xF,0);
-        pc.printf("[RM] - Status: %i T= %i X= %i Y= %i Z= %i\n",read_buffer_main[0],256*read_buffer_main[1]+read_buffer_main[2],256*read_buffer_main[3]+read_buffer_main[4],256*read_buffer_main[5]+read_buffer_main[6],256*read_buffer_main[7]+read_buffer_main[8]);
-        wait(1);
-        pc.printf("\n");
-    }
-
-    /*
-         _______..______    __          _______. _______   ______      __    __   _______ .__   __.   ______  _______
-        /       ||   _  \  |  |        /       ||   ____| /  __  \    |  |  |  | |   ____||  \ |  |  /      ||   ____|
-       |   (----`|  |_)  | |  |       |   (----`|  |__   |  |  |  |   |  |  |  | |  |__   |   \|  | |  ,----'|  |__
-        \   \    |   ___/  |  |        \   \    |   __|  |  |  |  |   |  |  |  | |   __|  |  . `  | |  |     |   __|
-    .----)   |   |  |      |  |    .----)   |   |  |____ |  `--'  '--.|  `--'  | |  |____ |  |\   | |  `----.|  |____
-    |_______/    | _|      |__|    |_______/    |_______| \_____\_____\\______/  |_______||__| \__|  \______||_______|
-
-    */
-    while (1) {
-        mlx_spi.WR(read_buffer_main,0,0x7C,1);
-        pc.printf("[WR] - Status: %i\n",read_buffer_main[0]);
-        wait(1);
-        mlx_spi.RR(read_buffer_main,0,1);
-        pc.printf("[RR] - Status: %i MSB: %i LSB: %i\n",read_buffer_main[0],read_buffer_main[1],read_buffer_main[2]);
-        wait(1);
-        mlx_spi.SB(read_buffer_main,0xF,1);
-        pc.printf("[SB] - Status: %i\n",read_buffer_main[0]);
-        wait(1);
-        for(int i=0 ; i<10; ++i) {
-            mlx_spi.RM(read_buffer_main,0xF,1);
-            pc.printf("[RM] - Status: %i T= %i X= %i Y= %i Z= %i\n",read_buffer_main[0],256*read_buffer_main[1]+read_buffer_main[2],256*read_buffer_main[3]+read_buffer_main[4],256*read_buffer_main[5]+read_buffer_main[6],256*read_buffer_main[7]+read_buffer_main[8]);
-            wait(0.2);
-        }
-        wait(1);
-        mlx_spi.EX(read_buffer_main,1);
-        pc.printf("[EX] - Status: %i\n",read_buffer_main[0]);
-        wait(1);
-        mlx_spi.SM(read_buffer_main,0xF,1);
-        pc.printf("[SM] - Status: %i\n",read_buffer_main[0]);
-        wait(1);
-        mlx_spi.RM(read_buffer_main,0xF,1);
-        pc.printf("[RM] - Status: %i T= %i X= %i Y= %i Z= %i\n",read_buffer_main[0],256*read_buffer_main[1]+read_buffer_main[2],256*read_buffer_main[3]+read_buffer_main[4],256*read_buffer_main[5]+read_buffer_main[6],256*read_buffer_main[7]+read_buffer_main[8]);
-        wait(1);
-        pc.printf("\n");
     }
 }
\ No newline at end of file