Code supports writing to the SD card as well as working with the Volckens group smartphone apps for the mbed HRM1017

Dependencies:   ADS1115 BLE_API BME280 Calibration CronoDot EEPROM LSM303 MCP40D17 NCP5623BMUTBG SDFileSystem SI1145 STC3100 mbed nRF51822

Fork of UPAS_BLE_and_USB by Volckens Group Sensors

Revision:
26:9cf8e76d8274
Parent:
24:ff113c02d680
Child:
27:6830122ebc00
--- a/main.cpp	Sat May 30 17:14:54 2015 +0000
+++ b/main.cpp	Sat May 30 19:49:56 2015 +0000
@@ -54,7 +54,7 @@
 float deltaflow;
 
 int digital_pot_setpoint; //min = 0x7F, max = 0x00
-char filename[] = "/sd/UPAS0001LOG000000000000.txt";
+char filename[] = "/sd/UPAS0002LOG000000000000.txt";
 
 TwoWire Wire = TwoWire(NRF_TWI0);    
 SDFileSystem sd(SPIS_PSELMOSI, SPIS_PSELMISO, SPIS_PSELSCK, SPIS_PSELSS, "sd"); // I believe this matches Todd's pinout, let me know if this doesn't work. (p12, p13, p15, p14)
@@ -106,8 +106,8 @@
     
     atmoRho = ((press-((6.1078*pow((float)10,(float)((7.5*temp)/(237.3+temp))))*(rh/100)))*100)/(287.0531*(temp+273.15))+((6.1078*pow((float)10,(float)((7.5*temp)/(237.3+temp))))*(rh/100)*100)/(461.4964*(temp+273.15));
     massflowSet = volflowSet*atmoRho;
-    //Digtal pot tf from file: UPAS v2 OSU-PrimaryFlowData FullSet 2015-05-29.xlsx
-    digital_pot_setpoint = (int)floor(10.627*pow(massflowSet,4)-102.89*pow(massflowSet,3)+375.8*pow(massflowSet,2)-635.59*massflowSet+446.61); //min = 0x7F, max = 0x00
+    //Digtal pot tf from file: UPAS v2 OSU-PrimaryFlowData FullSet 2015-05-29 CQ mods.xlsx
+    digital_pot_setpoint = (int)floor(6.8682*pow(massflowSet,4)-70.574*pow(massflowSet,3)+271.95*pow(massflowSet,2)-483.03*massflowSet+356.69); //min = 0x7F, max = 0x00
    
    DigPot.writeRegister(digital_pot_setpoint);
    Wire.begin(SCL, SDA, TWI_FREQUENCY_100K);// 
@@ -115,7 +115,7 @@
    blower = 1;
     
     get_time(); 
-    sprintf(filename, "/sd/UPAS0001LOG_%02d%02d%02d%02d%02d%02d.txt",Year,Month,Date,Hour,Minutes,Seconds);
+    sprintf(filename, "/sd/UPAS0002LOG_%02d%02d%02d%02d%02d%02d.txt",Year,Month,Date,Hour,Minutes,Seconds);
     FILE *fp = fopen(filename, "w");
     fclose(fp);
 
@@ -128,8 +128,8 @@
     if(fmod(secondsD,10)==0){
     
     omronVolt = (omronReading*4.096)/(32768*2);
-    //Mass Flow tf from file: UPAS v2 OSU-PrimaryFlowData FullSet 2015-05-29.xlsx
-    massflow = 2.7143*pow(omronVolt,(float)4)-12.323*pow(omronVolt,(float)3)+22.121*pow(omronVolt,(float)2)-16.71*omronVolt+5.162;
+    //Mass Flow tf from file: UPAS v2 OSU-PrimaryFlowData FullSet 2015-05-29 CQ mods.xlsx
+    massflow = -2.2954*pow(omronVolt,(float)4)+14.443*pow(omronVolt,(float)3)-31.573*pow(omronVolt,(float)2)+30.476*omronVolt-10.291;
     atmoRho = ((press-((6.1078*pow((float)10,(float)((7.5*temp)/(237.3+temp))))*(rh/100)))*100)/(287.0531*(temp+273.15))+((6.1078*pow((float)10,(float)((7.5*temp)/(237.3+temp))))*(rh/100)*100)/(461.4964*(temp+273.15));
     volflow = massflow/atmoRho;
     deltaflow = volflow-volflowSet;