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: MODSERIAL SDFileSystem mbed SDShell CRC CommHandler FP LinkedList LogUtil
Revision 7:1bec23c68a3c, committed 2013-05-06
- Comitter:
- sam_grove
- Date:
- Mon May 06 01:37:38 2013 +0000
- Parent:
- 6:71da5b99de97
- Child:
- 8:11ce2bdd3bbd
- Commit message:
- made changes to PCMessage and main for the log tx'fer
Changed in this revision
--- a/PCMessaging.h Sun May 05 14:35:25 2013 +0000
+++ b/PCMessaging.h Mon May 06 01:37:38 2013 +0000
@@ -9,6 +9,7 @@
const unsigned char STOPSTREAM_MSG =6;
const unsigned char STARTLOGINFO_MSG =7;
const unsigned char STOPLOGINFO_MSG =8;
+const unsigned char GETFILE_MSG =9;
const double DEGREES_TO_RADIANS = acos(-1.0)/180.0;
const double eccen = 0.0818191908426; //WGS84 earth eccentricity
@@ -28,9 +29,10 @@
bool sendLogMsgInfo =false;
bool recordData =false;
bool fireTrigger =false;
+bool get_file_msg =false;
-const unsigned char numMessages = 9; //number of potential messages
+const unsigned char numMessages = 10; //number of potential messages
char msgList[numMessages][32]; //text array storing the command messages from the PC
char minMessageSize = 11; //minimum size of a text message
unsigned char CR = 0x0d; //ASCII Carriage Return
@@ -51,6 +53,7 @@
sprintf(msgList[STARTLOGINFO_MSG], "WMsg LOGINFO Y");
sprintf(msgList[STOPLOGINFO_MSG], "WMsg LOGINFO N");
sprintf(msgList[FIRE_TRIGGER_MSG], "WMsg TRIGGER");
+ sprintf(msgList[GETFILE_MSG], "WMsg GETFILE");
//message length is from 10 to 16 chars
// toPC.printf(" finished setting up messages \n");
@@ -126,33 +129,44 @@
{
case STATUS_MSG:
sendStatus = true; //send a status message back to PC
- break;
+ break;
+
case POSVEL_MSG:
sendPosVel = true; //send a posvel message back to PC
timeFromPosVelMessageReceipt.reset(); //start time and close SD card file if too long
- break;
+ break;
+
case STARTDATA_MSG: //start the data recording to the SD card
recordData = true;
sendRecData = true;
break;
+
case STOPDATA_MSG: //stop the data recording to the SD card
recordData = false;
sendRecData = true;
break;
+
case STARTSTREAM_MSG:
case STOPSTREAM_MSG:
streamPos = (m == STARTSTREAM_MSG);
sendStreamPos = true;
- break;
+ break;
+
case STARTLOGINFO_MSG:
case STOPLOGINFO_MSG:
logMsgInfo = (m == STARTLOGINFO_MSG);
sendLogMsgInfo = true;
- break;
+ break;
+
case FIRE_TRIGGER_MSG:
fireTrigger = true;
toPC.printf("MBED received trigger command \n");
- break;
+ break;
+
+ case GETFILE_MSG:
+ get_file_msg = true;
+ break;
+
} //end Switch statement
break;
} //end test for a valid message
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SDShell.lib Mon May 06 01:37:38 2013 +0000 @@ -0,0 +1,1 @@ +https://mbed.org/users/sam_grove/code/SDShell/#6ff0a3d92778
--- a/main.cpp Sun May 05 14:35:25 2013 +0000
+++ b/main.cpp Mon May 06 01:37:38 2013 +0000
@@ -43,6 +43,15 @@
volatile int PPSTimeOffset = 0;
+// get files from the SD Card
+#include "SDShell.h"
+void transferFile(void)
+{
+ SDShell emulate;
+ emulate.init();
+ emulate.shell(toPC, sd, "/sd");
+}
+
//////////////////////////////////////////////////////////////////////
// the below should become classes
//////////////////////////////////////////////////////////////////////
@@ -378,6 +387,16 @@
IMURecordCounter = 0;
detectedGPS1PPS = false;
}
+
+ if(get_file_msg)
+ {
+ get_file_msg = false;
+ ADIS_RST = 0;
+ GPS_Reset = 0;
+ fclose(fpNav);
+ transferFile();
+
+ }
}
fclose(fpNav);
