Dependencies:   mbed

Files at this revision

API Documentation at this revision

Comitter:
gbeardall
Date:
Mon Aug 22 14:02:57 2011 +0000
Commit message:

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
diff -r 000000000000 -r 928e10388a1b main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Mon Aug 22 14:02:57 2011 +0000
@@ -0,0 +1,96 @@
+/*
+ * gps1 
+ *
+ *      http://www.sparkfun.com/products/9133
+ *      http://www.sparkfun.com/datasheets/GPS/Modules/Skytraq-Venus634FLPx_DS_v051.pdf
+ *      http://www.sparkfun.com/datasheets/GPS/Modules/AN0003_v1.4.14_FlashOnly.pdf
+ *
+ */
+ 
+#include "mbed.h"
+
+DigitalOut myled(LED1);
+
+Serial pc(USBTX,USBRX);
+Serial gps(p9,p10); // tx, rx
+
+
+volatile unsigned char buff[128];
+volatile int bx = 0;
+volatile int rdy = 0;
+
+unsigned char chk = 0;
+
+void rxgps(void) {
+    //while(gps.readable()) {
+        int c = gps.getc();
+        pc.putc(c);
+        if(c == '$') {
+            bx = 0;
+            chk = 0;
+        }
+        else {
+            if(c == '*') {
+                pc.printf("%02X=", chk);
+            }
+            else {
+                chk ^= (unsigned char)c;
+            }
+        }
+        buff[bx++] = c;
+        if(c == '\n') rdy = 1;
+        //if(c == '\n') pc.putc('\r');
+        //if(c == '\r') pc.putc('\n');
+    //} // while
+} // rxgps
+
+int main() {
+
+    // pc.baud must be >= gps.baud
+    pc.baud(115200);
+
+    pc.printf("gps1\n\r");
+
+    gps.baud(38400); // 9600, 19200, 38400, 57600, 115200
+    gps.format(8,Serial::None,1);
+    
+    gps.attach(&rxgps, Serial::RxIrq);
+
+// GGA - Global Positioning System Fix Data
+//  GPGGA,hhmmss.sss,ddmm.mmmm,a,dddmm.mmmm,a,x,xx,x.x, x.x,M,,,,     xxxx*hh<CR><LF>
+// $GPGGA,184538.245,5105.0363,N,00109.9405,W,1,09,1.1,90.4,M,48.7,M,,0000*76
+
+// GLL – Latitude/Longitude
+//  GPGLL,ddmm.mmmm,a,dddmm.mmmm,a,hhmmss.sss,A,a*hh<CR><LF>
+// $GPGLL,5105.0363,N,00109.9405,W,184538.245,A,A*4C
+
+// GSA – GNSS DOP and Active Satellites
+//  GPGSA,A,x,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,x.x,x.x,x.x*hh<CR><LF>
+// $GPGSA,A,3,19,08,06,18,16,22,24,07,11,  ,  ,  ,2.0,1.1,1.7*3F
+
+// GSV – GNSS Satellites in View
+//  GPGSV,x,x,xx,xx,xx,xxx,xx,…,xx,xx,xxx,xx                        *hh<CR><LF>
+// $GPGSV,3,1,12,19,77,295,20,03,66,137,14,22,55,098,32,06,53,125,33*79
+// $GPGSV,3,2,12,18,31,053,19,11,30,261,32,16,27,183,24,24,19,246,24*7F
+// $GPGSV,3,3,12,08,15,301,36,07,10,275,27,21,06,069,09,15,05,019,*78
+
+// RMC – Recommended Minimum Specific GNSS Data
+//        time                                               date  
+//  GPRMC,hhmmss.sss,A,dddmm.mmmm,a,dddmm.mmmm,a,x.x,x. x,   ddmmyy,,,a*hh<CR><LF>
+// $GPRMC,184538.245,A,5105.0363, N,00109.9405,W,000.0,243.1,210811,,,A*74
+
+// VTG – Course Over Ground and Ground Speed
+//  GPVTG,x.x,  T,,M,x.x,  N,x.x,  K,a*hh<CR><LF>
+// $GPVTG,243.1,T,,M,000.0,N,000.0,K,A*09
+
+
+    for(;;) {
+        //int c = gps.
+        //wait_us(10);
+        
+        int px = 0;
+        while(!rdy); // wait for gps buffer
+        
+    } // for - ever
+    
+} // main
diff -r 000000000000 -r 928e10388a1b mbed.bld
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Mon Aug 22 14:02:57 2011 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/63bcd7ba4912