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
Diff: main.cpp
- Revision:
- 26:9cf8e76d8274
- Parent:
- 24:ff113c02d680
- Child:
- 27:6830122ebc00
diff -r ff113c02d680 -r 9cf8e76d8274 main.cpp --- 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;