Malexis 90640 sensor

Dependencies:   mbed

Revision:
3:d2e64ef64905
Parent:
2:44869d695501
--- a/main.cpp	Thu Apr 19 19:16:44 2018 +0000
+++ b/main.cpp	Fri Apr 20 17:24:23 2018 +0000
@@ -5,8 +5,7 @@
 #define FRAMES_NUM 15
 #define TA_SHIFT 8
 
-#define FIRMWARE "eye_r_eye-mlx90640_32x24-v_1_0"
-
+#define FIRMWARE "eye_r_eye-mlx90640_32x24-v_1_5"
 Serial pc(USBTX, USBRX);                                                        // tx, rx, Virtual serial port over USB
 void PrintEEPROM(uint16_t *p);
 void PrintRawData(uint16_t *p);
@@ -19,7 +18,7 @@
 
 int main()
 {
-    uint8_t printme=0;
+    uint8_t printme=1;
     MLX90640_I2CFreqSet(1000);
     pc.baud(230400);
     paramsMLX90640 mlx90640;
@@ -34,15 +33,12 @@
 
     pEE = eeMLX90640;
     pFrame = mlx90640Frame;
-    MLX90640_SetRefreshRate(slaveAddress,2);
-    //status = MLX90640_SetResolution(slaveAddress[i],0x03);
-    //status = MLX90640_SetInterleavedMode(slaveAddress[i]);
-    MLX90640_SetChessMode(slaveAddress);
-    //printf("Reading EEPROM for MLX90640 device %d...\r\n",i+1);
+    MLX90640_SetRefreshRate(slaveAddress,1);
+    //MLX90640_SetResolution(slaveAddress,0x03);
+    MLX90640_SetInterleavedMode(slaveAddress);
     MLX90640_I2CFreqSet(400);
     MLX90640_DumpEE(slaveAddress, pEE);
     MLX90640_I2CFreqSet(1000);
-    //printf("Extracting parameters for MLX90640 device %d...\r\n",i+1);
     MLX90640_ExtractParameters(pEE, &mlx90640 );
 
     while (1) 
@@ -54,10 +50,6 @@
             {
                 switch (c)
                 {
-                    case 'p':
-                        printme=1;
-                        break;
-                    
                     case 'q':
                         printme=0;
                         break;
@@ -78,6 +70,18 @@
                 case '4':
                     MLX90640_SetRefreshRate(slaveAddress,4);
                     break;
+                    
+                case '5':
+                    MLX90640_SetRefreshRate(slaveAddress,5);
+                    break;
+                    
+                case 'c':
+                    MLX90640_SetChessMode(slaveAddress);                
+                    break;
+                    
+                case 'i':
+                    MLX90640_SetInterleavedMode(slaveAddress);
+                    break;
                    
                 case '?':
                     pc.printf(FIRMWARE "\n");
@@ -85,11 +89,12 @@
                     
                 case 'p':
                     printme=1;
-                    break;
+                    break;                    
                     
-                case 'q':
-                    printme=0;
-                    break;
+                default:
+                    pc.printf("?\n");
+                    break;                    
+                        
             } // switch
         }