attempt to fix posible power issues with the sharp
Dependencies: ADS1115 BME280 CronoDot SDFileSystem mbed
Fork of Outdoor_UPAS_v1_2_Tboard by
Diff: main.cpp
- Revision:
- 21:bb10efc5bf57
- Parent:
- 20:30a00cd18e21
- Child:
- 22:baa5a077d908
--- a/main.cpp Thu Mar 24 23:03:34 2016 +0000 +++ b/main.cpp Sat Mar 26 02:36:43 2016 +0000 @@ -71,7 +71,7 @@ //GPS ///////////////////////////////////////////// DigitalOut gpsEN(PB_15, 0); -Max_M8 gps(PB_9, PB_8,(66<<1)); // this must be defnined in the int main (? Not sure if this is true) +Max_M8 gps(PB_9, PB_8,(66<<1)); ///////////////////////////////////////////// //Hbridge Valve Control @@ -227,7 +227,7 @@ if((transmissionValue == 1 || transmissionValue == 2 || transmissionValue == 3 || transmissionValue == 4 || transmissionValue == 5 || transmissionValue == 6 || transmissionValue == 7) && rx_buf[rx_len-1] != 0xff) {}else{ - //if(transmissionValue == 4 ) sendData(); + if(transmissionValue == 4 ) sendData(); if(transmissionValue == 8){ runReady = 1; microChannel.attach(NULL,microChannel.RxIrq); @@ -296,15 +296,16 @@ void sendData(){ - uint8_t sampleTimePassValues[13] = {0x01,}; - uint8_t subjectLabelOriginal[9] = {0x02,}; - uint8_t dataLogOriginal[2] = {0x03,}; - uint8_t flowRateOriginal[5] = {0x04,}; + uint8_t sampleTimePassValues[13] = {0x01,0x00,0x00,0x0A,0x01,0x01,0x10,0x00,0x00,0x0A,0x01,0x01,0x10}; + uint8_t subjectLabelOriginal[9] = {0x02,0x52,0x45,0x53,0x45,0x54,0x5F,0x5F,0x5f}; + uint8_t dataLogOriginal[2] = {0x03,0x0A,}; + uint8_t flowRateOriginal[5] = {0x04,0x00,0x00,0x80,0x3F}; //uint8_t presetRunModeCheck[1] = {0,}; Commented and currently unused to prevent mem issues E2PROM.read(0x00015, sampleTimePassValues+1, 12); E2PROM.read(0x00001, subjectLabelOriginal+1,8); E2PROM.read(0x00014,dataLogOriginal+1,1); E2PROM.read(0x00010,flowRateOriginal+1,4); + for(int i=0; i<13; i++){ microChannel.putc(sampleTimePassValues[i]); @@ -445,10 +446,10 @@ vInReading = ads.readADC_SingleEnded(1, 0xD583); // read channel 0 vBlowerReading = ads.readADC_SingleEnded(2, 0xE783); // read channel 0 omronDiff = ads.readADC_Differential(0x8583); // differential channel 2-3 - + if(gpsEN ==1){ gps.read(1); - RGB_LED.set_led(1,1,0); + //RGB_LED.set_led(1,1,0); gpsspeed = gps.speed; gpssatellites = gps.satellites; gpslatitude = gps.lat; @@ -457,7 +458,7 @@ // gpslon = 'W'; //gps.lon; need to fix this (if statement?) gpsaltitude = gps.altitude; - /* + /* if (abs(gpslatitude) > 0 && abs(gpslongitude) > 0) { if(gpslat == 'S') @@ -509,12 +510,13 @@ // digitalWrite (travel_red_led, HIGH); location = 3; } -*/ - + +*/ } - + + 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, "%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, "%s,", timestr); 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); @@ -591,16 +593,17 @@ ////////////////////////////////////////////////////////////// int main(){ - //gpsEN = 1; - //wait(1); + gpsEN = 1; + wait(1); BT_SW = 1; wait(1); BT_IRST = 1; wait(1); + /* //CODE ADDED TO TEST EEPROM ////////////////////////////////////////// - uint8_t serialNumWriter [2] = {0x00,0x11}; + uint8_t serialNumWriter [2] = {0x00,0x12}; uint8_t putDataInMe[2] = {0x02,0x00}; E2PROM.write(0x00034,serialNumWriter,2); wait(.5); @@ -608,6 +611,7 @@ if(putDataInMe[0] == 0x02)pumps=1; ////////////////////////////////////////// //END CODE ADDED TO TEST EEPROM + RGB_LED.set_led(0,0,1); STtime.tm_sec = 10; // 0-59 @@ -620,18 +624,20 @@ set_time(seconds); // Set RTC time to 16 December 2013 10:05:23 UTC wait(5); -/* + motor1.getFault(); - wait(5); + //wait(5); RGB_LED.set_led(0,0,0); motor2.getFault(); - wait(5); + //wait(5); RGB_LED.set_led(1,0,0); + motor3.getFault(); wait(5); RGB_LED.set_led(0,0,0); + motor4.getFault(); - wait(5); + //wait(5); RGB_LED.set_led(1,0,0); RGB_LED.set_led(1,0,0); @@ -712,6 +718,11 @@ //UPDATE THIS TO WORK WITH ST RTC INSTEAD //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + BT_SW = 0; + wait(1); + BT_IRST = 0; + wait(1); + while(!RTC_UPAS.compare(startAndEndTime[0], startAndEndTime[1], startAndEndTime[2], startAndEndTime[3], startAndEndTime[4], startAndEndTime[5])) { // this while waits for the start time by looping until the start time wait(0.5); @@ -761,12 +772,12 @@ - seconds = time(NULL); + time_t seconds = time(NULL); strftime(timestr, 32, "%y-%m-%d-%H=%M=%S", localtime(&seconds)); //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_TboardtestLog_%s_%c%c%c%c%c%c%c%c.txt", timestr,subjectLabelOriginal[0],subjectLabelOriginal[1],subjectLabelOriginal[2],subjectLabelOriginal[3],subjectLabelOriginal[4],subjectLabelOriginal[5],subjectLabelOriginal[6],subjectLabelOriginal[7]); - sprintf(filename, "/sd/UPAS_TboardtestLog_%s.txt", timestr); + sprintf(filename, "/sd/UPAS_TboardtestLog_%s_%c%c%c%c%c%c%c%c.txt", timestr,subjectLabelOriginal[0],subjectLabelOriginal[1],subjectLabelOriginal[2],subjectLabelOriginal[3],subjectLabelOriginal[4],subjectLabelOriginal[5],subjectLabelOriginal[6],subjectLabelOriginal[7]); + //sprintf(filename, "/sd/UPAS_TboardtestLog_%s.txt", timestr); FILE *fp = fopen(filename, "w"); fclose(fp);