6 sharps, 2 ads hooked up
Dependencies: ADS1115 BME280 CronoDot SDFileSystem mbed
Fork of Outdoor_UPAS_v1_2_Tboard by
Diff: main.cpp
- Revision:
- 5:c3252e5d45ca
- Parent:
- 4:5d004fd997d5
- Child:
- 6:a738dcd53bf8
diff -r 5d004fd997d5 -r c3252e5d45ca main.cpp --- a/main.cpp Fri Feb 26 22:40:31 2016 +0000 +++ b/main.cpp Mon Feb 29 20:43:07 2016 +0000 @@ -11,7 +11,9 @@ #include "EEPROM.h" #include "Calibration.h" //Serial pc(USBTX, USBRX); -//Serial microChannel(D0, D1); // tx, rx +//Serial microChannel(D0, D1); // tx, rx Appears there is a conflict in the mbed code (possibly already assigned to SERIAL_TX, SERIAL_RX, USBTX, USBRX need to reassign these values) +// However still an issue with the BLE not reading the EEPROM with the old pin assignments Jake had. +Serial microChannel(D8, D2); // tx, rx Timer t; struct tm tt; @@ -20,7 +22,7 @@ MCP40D17 DigPot(&i2c); BME280 bmesensor(D14, D15); STC3100 gasG(D14, D15); -DigitalOut blower(D8, 0); +//DigitalOut blower(D8, 0); DigitalOut pbKill(PC_12, 1); DigitalOut bleRTS(PB_14, 0); DigitalOut bleCTS(PB_13, 0); @@ -119,7 +121,7 @@ static uint8_t dataLength = 0; static int runReady = 0; static uint8_t startAndEndTime[12] = {0,}; -/* + void uartMicro(void){ if(runReady!=1){ haltBLE = 2; @@ -226,7 +228,7 @@ } -*/ + void check_stop() // this checks if it's time to stop and shutdown { @@ -238,35 +240,13 @@ stop.attach(&check_stop, 9); } - int r = 1; - int g = 0; - int b = 1; + void log_data() { - RGB_LED.set_led(r,g,b); - logg.detach(); - logg.attach(&log_data, logInerval); // reading and logging data must take significintly less than 0.5s. This can be increased. - - RTC_UPAS.get_time(); - - secondsD = RTC_UPAS.seconds; - lastsecondD = secondsD; - omronVolt = (omronReading*4.096)/(32768*2); -/* - FILE *fp = fopen(filename, "a"); - fprintf(fp, "%02d,%02d,%02d,%02d,%02d,%02d,",RTC_UPAS.year, RTC_UPAS.month,RTC_UPAS.date,RTC_UPAS.hour,RTC_UPAS.minutes,RTC_UPAS.seconds); - fprintf(fp, "%1.3f,%1.3f,%2.2f,%4.2f,%2.1f,%1.3f,", omronVolt,massflow,temp,press,rh,atmoRho); - fprintf(fp, "%1.3f,%5.1f,%1.1f,%1.1f,%1.1f,%1.1f,", volflow, sampledVol, accel_x, accel_y, accel_z, accel_comp); - fprintf(fp, "%.1f,%.1f,%.1f,%.3f,%.3f,%.3f,%.1f,", angle_x,angle_y,angle_z,mag_x, mag_y, mag_z,compass); - fprintf(fp, "%d,%d,%d,%d,%d,%d," ,uv,omronReading, vInReading, vBlowerReading, omronDiff,gasG.getAmps()); - fprintf(fp, "%d,%d,%d,%1.3f,%1.3f\r\n", gasG.getVolts(), gasG.getCharge(),digital_pot_set, deltaMflow, deltaVflow); - fclose(fp); - //wait_ms(5); - */ } int main(){ @@ -286,7 +266,7 @@ //pc.printf("\f\n\r-------------Startup-------------\n\r"); wait(0.5); //timeout=2; - /* + uint8_t serialNumberAndType[6] = {0x50,0x53}; E2PROM.read(0x00034,serialNumberAndType+2,2); @@ -301,11 +281,11 @@ serialNumberAndType[3] = serialNumDigits[1]+48; serialNumberAndType[4] = serialNumDigits[2]+48; serialNumberAndType[5] = serialNumDigits[3]+48; - + RGB_LED.set_led(0,1,0); //pc.attach(pc_recv); microChannel.attach(uartMicro,microChannel.RxIrq); microChannel.baud(115200); - + RGB_LED.set_led(1,0,0); microChannel.printf("$$$"); wait(0.5); microChannel.printf("SN,"); @@ -379,12 +359,12 @@ DigPot.writeRegister(digital_pot_setpoint); wait(1); - blower = 1; + //blower = 1; uint8_t subjectLabelOriginal[8] = {0,}; E2PROM.read(0x00001, subjectLabelOriginal,8); - sprintf(filename, "/sd/UPAS%04dLOG_%02d-%02d-%02d_%02d=%02d=%02d_%c%c%c%c%c%c%c%c.txt",serial_num,RTC_UPAS.year,RTC_UPAS.month,RTC_UPAS.date,RTC_UPAS.hour,RTC_UPAS.minutes,RTC_UPAS.seconds,subjectLabelOriginal[0],subjectLabelOriginal[1],subjectLabelOriginal[2],subjectLabelOriginal[3],subjectLabelOriginal[4],subjectLabelOriginal[5],subjectLabelOriginal[6],subjectLabelOriginal[7]); - */ + //sprintf(filename, "/sd/UPAS%04dLOG_%02d-%02d-%02d_%02d=%02d=%02d_%c%c%c%c%c%c%c%c.txt",serial_num,RTC_UPAS.year,RTC_UPAS.month,RTC_UPAS.date,RTC_UPAS.hour,RTC_UPAS.minutes,RTC_UPAS.seconds,subjectLabelOriginal[0],subjectLabelOriginal[1],subjectLabelOriginal[2],subjectLabelOriginal[3],subjectLabelOriginal[4],subjectLabelOriginal[5],subjectLabelOriginal[6],subjectLabelOriginal[7]); + time_t seconds = time(NULL); strftime(timestr, 32, "%y-%m-%d-%H=%M=%S", localtime(&seconds)); sprintf(filename, "/sd/UPASboardtest_%s.txt", timestr);