Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: ADS1115 BME280 CronoDot SDFileSystem mbed
Fork of Outdoor_UPAS_v1_2_Tboard by
Revision 21:bb10efc5bf57, committed 2016-03-26
- Comitter:
- caseyquinn
- Date:
- Sat Mar 26 02:36:43 2016 +0000
- Parent:
- 20:30a00cd18e21
- Child:
- 22:baa5a077d908
- Commit message:
- BLE iOS programmable with GPS working. Hbridges only H4 is working? UPASv1_Tboard_NUCLEO_L152RE_BLERN4677_GPS_noHbridges_pumpson_20160325
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- 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);
