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 5:c3252e5d45ca, committed 2016-02-29
- Comitter:
- caseyquinn
- Date:
- Mon Feb 29 20:43:07 2016 +0000
- Parent:
- 4:5d004fd997d5
- Child:
- 6:a738dcd53bf8
- Commit message:
- Changed RN4677 pins to D8 and D2 to match what Jake had previously and try to troubleshoot app issues first, then will need to address the potential pin conflict from nucleo pinout and the tboard pinout assignments.
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- 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);
