attempt to fix posible power issues with the sharp

Dependencies:   ADS1115 BME280 CronoDot SDFileSystem mbed

Fork of Outdoor_UPAS_v1_2_Tboard by scott kelleher

Revision:
38:65ae9771f1e3
Parent:
37:6c2dca195871
Child:
39:f1ebecfb32ca
Child:
41:737f967d707c
--- a/main.cpp	Fri Apr 29 03:57:10 2016 +0000
+++ b/main.cpp	Fri Apr 29 20:28:05 2016 +0000
@@ -232,15 +232,19 @@
                 else if(rx_buf[0] == 0x08)transmissionValue = 8; //Run Enable
                 else if(rx_buf[0] == 0x0A)transmissionValue = 10; //GPS Coordinates
                 else if(rx_buf[0] == 0x0B)transmissionValue = 11; //GPS Coordinates (Second Set)
+                else if(rx_buf[0] == 0x0C)transmissionValue = 12; //Cartridge ID
+                else if(rx_buf[0] == 0x0D)transmissionValue = 13; //Duty Cycle
+                //else if (rx_buf[0] == 0x0F)transmissionValue = 15; //BT TRANSFER TEST
                 //else if(rx_buf[0] == 0x30)RGB_LED.set_led(1,0,0);
                 else                      transmissionValue = 100; //Not useful data
             }
             
-            if(rx_buf[rx_len-1]=='\0' || rx_buf[rx_len-1]=='\n' || rx_buf[rx_len-1] == 0xff){
+            if(rx_buf[rx_len-1]=='\0' || rx_buf[rx_len-1]=='\n' || rx_buf[rx_len-1] == 0xff || transmissionValue==15){
                 if((transmissionValue == 1 || transmissionValue == 2 || transmissionValue == 3 || transmissionValue == 4 || transmissionValue == 5 ||
-                    transmissionValue == 6 || transmissionValue == 7 || transmissionValue ==10) &&  rx_buf[rx_len-1] != 0xff)
+                    transmissionValue == 6 || transmissionValue == 7 || transmissionValue ==10 || transmissionValue ==11 || transmissionValue ==12) &&  rx_buf[rx_len-1] != 0xff)
                 {}else{
                     if(transmissionValue == 4 ) sendData();
+                    //if(transmissionValue == 15) sdReader.read_file(fileTest,0);
                     if(transmissionValue == 8){
                          runReady = 1;
                          microChannel.attach(NULL,microChannel.RxIrq);
@@ -303,6 +307,10 @@
                 if(dataLength == 16)E2PROM.write(0x00050,writeData,16);
             }else if (transmissionValue == 11){
                 if(dataLength == 8)E2PROM.write(0x00060,writeData,8);
+            }else if (transmissionValue == 12){
+                if(dataLength == 3)E2PROM.write(0x00070,writeData,3);
+            }else if (transmissionValue == 13){
+                if(dataLength == 3)E2PROM.write(0x00076,writeData,3);
             }
         
             dataLength++;        
@@ -327,6 +335,8 @@
     uint8_t serialBytes[3] = {0x07,0x00,0x00};
     uint8_t latLongSchoolOriginal[17] = {0x0A,0x00,0x00,0x80,0x3F,0x00,0x00,0x80,0x3F,0x00,0x00,0x80,0x3F,0x00,0x00,0x80,0x3F};
     uint8_t latLongHome2[9] = {0x0B,0x00,0x00,0x80,0x3F,0x00,0x00,0x80,0x3F};
+    uint8_t cartridgeIDOriginal[4] = {0x0C,0x48,0x48,0x48};
+    uint8_t dutyCycleOriginal[4] = {0x0D,0x31,0x30,0x30};
     // Latitude School EEPROM = 0x50-0x53
     // Longitude School EEPROM = 0x54-0x57
     // Latitude Home EEPROM = 0x58-0x5B
@@ -337,7 +347,7 @@
     //NEW EEPROM Check bit = 0x75
     E2PROM.read(0x00075,NEW_EEPROM_CHECK,1);
     
-    if(NEW_EEPROM_CHECK[0] == 0x0A){
+    if(NEW_EEPROM_CHECK[0] == 0x0C){
         E2PROM.read(0x00015, sampleTimePassValues+1, 12);
         E2PROM.read(0x00001, subjectLabelOriginal+1,8);
         E2PROM.read(0x00014,dataLogOriginal+1,1);
@@ -345,8 +355,11 @@
         E2PROM.read(0x00034,serialBytes+1,2);
         E2PROM.read(0x00050,latLongSchoolOriginal+1,16);
         E2PROM.read(0x00060,latLongHome2+1,8);
+        E2PROM.read(0x00070,cartridgeIDOriginal+1,3);
+        E2PROM.read(0x00076,dutyCycleOriginal+1,3);
+
     }else{
-        NEW_EEPROM_CHECK[0] = 0x0A;
+        NEW_EEPROM_CHECK[0] = 0x0C;
         E2PROM.write(0x00075,NEW_EEPROM_CHECK,1);
         E2PROM.write(0x00015, sampleTimePassValues+1, 12);
         E2PROM.write(0x00001, subjectLabelOriginal+1,8);
@@ -355,6 +368,8 @@
         E2PROM.write(0x00034,serialBytes+1,2);
         E2PROM.write(0x00050,latLongSchoolOriginal+1,16);
         E2PROM.write(0x00060,latLongHome2+1,8);
+        E2PROM.write(0x00070,cartridgeIDOriginal+1,3);
+        E2PROM.write(0x00076,dutyCycleOriginal+1,3);
     }
 
     
@@ -387,6 +402,14 @@
         microChannel.putc(latLongHome2[i]);
     } 
     wait(.15);
+    for(int i=0;i<4;i++){
+        microChannel.putc(cartridgeIDOriginal[i]);
+    } 
+    wait(.15);
+    for(int i=0;i<4;i++){
+        microChannel.putc(dutyCycleOriginal[i]);
+    } 
+    wait(.15);
     microChannel.putc(TERMINATE_BYTE[0]);