I have tried it with the C code and it works fine, (it's a prototype about two months old), so I know I have a working GPS.
I'm involved with a teenage driver course today, http://streetsurvival.org/, and going to be racing tomorrow, so I can't get back to this until Monday-Tuesday.
I will say, looking at all the code, the only thing that should change is the baud rate. Older GPS's talked at 4800 baud,, this one talks at 9600 baud.
Thanks for identifying more code examples we can apply to this project. Daniel is taking a look and will make certain that the product page has links to all relevant code.
It is not our intent, desire, or plan to favor C over Spin/ASM or PBASIC. They're all equally important at Parallax!
The GPS module simply outputs standard NMEA sentences. To get GPS fix information, your application needs some mechanism by which it can parse the sentences.
Publison has it right - AN002 Real-time GPS Data Reception and Parsing demonstrates this in Spin. The only thing you need to do get the demo working with the PAM-7Q GPS module is uncomment the first "gps.startx(GPS_RX, PST, 9600, 1250)" and comment out the other one (just below) in the gps_basic_demo.spin file. Something like this:
If you need to, also change the "GPS_RX" constant that tells the driver which IO pin the module is connected to. When you run the program, you should see serial output on the terminal that looks like this:
The BASIC Stamp series of microcontrollers can interface with the PAM-7Q module, but receiving a full NMEA sentence and parsing it can be difficult with the STAMP's minimal RAM space. There is demo code for the BS2p24/40 that was written for the PMB-688, however it has some problems. Namely that the code scans static positions in a received sentence to begin parsing data. This is a problem because the PAM-7Q can output variable width sentences, which means the data the program expects to find may not be in the correct position. Here is that program if you want to take a look:
The PAM-7Q module is also completely compatible with the Arduino. This page has some really good information about how to interface with the module an Arduino. It was written for the PMB-648/688, but it will work fine with the PAM-7Q.
I know people would be asking for this code sooner or later. If Parallax is going to use existing code or someone else's code then verify it works and provide a link to it.
I can just imagine Parallax getting bombarded with calls or the forums being bombarded by code requests. From what I see Parallax currently supports PBASIC, Spin, Arduino (BOE-Bot), and Propeller C.
Comments
I noticed there was only Propeller C code for this device. How about Spin, BS2, and Arduino code?
Any of the old Spin or BS2 code for the PMB-648 will work to read the NMEA sentences.
http://learn.parallax.com/KickStart/28500
http://www.parallax.com/downloads/pmb-648-gps-basic-stamp-2p-demo-code
http://www.parallax.com/downloads/an002-real-time-gps-data-reception-and-parsing
Do any of these work?
http://www.parallax.com/downloads/vpn1513-gps-receiver-w-antenna-arduino-example-code
http://www.parallax.com/downloads/vpn1513-gps-receiver-antenna-propeller-spin-example-code
http://www.parallax.com/downloads/vpn1513-gps-module-example-code
http://www.parallax.com/downloads/rxm-sg-gps-basic-stamp-demo-code
I'm involved with a teenage driver course today, http://streetsurvival.org/, and going to be racing tomorrow, so I can't get back to this until Monday-Tuesday.
I will say, looking at all the code, the only thing that should change is the baud rate. Older GPS's talked at 4800 baud,, this one talks at 9600 baud.
Thanks for identifying more code examples we can apply to this project. Daniel is taking a look and will make certain that the product page has links to all relevant code.
It is not our intent, desire, or plan to favor C over Spin/ASM or PBASIC. They're all equally important at Parallax!
Ken Gracey
The GPS module simply outputs standard NMEA sentences. To get GPS fix information, your application needs some mechanism by which it can parse the sentences.
Publison has it right - AN002 Real-time GPS Data Reception and Parsing demonstrates this in Spin. The only thing you need to do get the demo working with the PAM-7Q GPS module is uncomment the first "gps.startx(GPS_RX, PST, 9600, 1250)" and comment out the other one (just below) in the gps_basic_demo.spin file. Something like this:
If you need to, also change the "GPS_RX" constant that tells the driver which IO pin the module is connected to. When you run the program, you should see serial output on the terminal that looks like this:
Here's that GPS AppNote, with code:
http://www.parallax.com/downloads/an002-real-time-gps-data-reception-and-parsing
================
The BASIC Stamp series of microcontrollers can interface with the PAM-7Q module, but receiving a full NMEA sentence and parsing it can be difficult with the STAMP's minimal RAM space. There is demo code for the BS2p24/40 that was written for the PMB-688, however it has some problems. Namely that the code scans static positions in a received sentence to begin parsing data. This is a problem because the PAM-7Q can output variable width sentences, which means the data the program expects to find may not be in the correct position. Here is that program if you want to take a look:
http://www.parallax.com/sites/default/files/downloads/28500-Easy-GPS-V1.0.bsp
================
The PAM-7Q module is also completely compatible with the Arduino. This page has some really good information about how to interface with the module an Arduino. It was written for the PMB-648/688, but it will work fine with the PAM-7Q.
http://quaxio.com/arduino_gps/
The code section starts the GPS's serial port at 4800 baud. You will need to change this to 9600 baud to comply with the PAM-7Q's default baud rate.
================
I hope this helps!
Daniel
I can just imagine Parallax getting bombarded with calls or the forums being bombarded by code requests. From what I see Parallax currently supports PBASIC, Spin, Arduino (BOE-Bot), and Propeller C.