GPS Module - NO Fix - Response Behavior?
ALIBE
Posts: 299
If the Parallax GPS Module has no fix on satellites (I'm testing this in my room), does it send any response back to the commands such as ::GetInfo (0x00). Or, a FIX is required even for it to respond to commands?
thanks
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
"any small object, accidentally dropped, goes and hides behind a larger object."
ALIBE - Artificial LIfe BEing. In search of building autonoumous land robot
http://ALIBE.crosscity.com/
·
thanks
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
"any small object, accidentally dropped, goes and hides behind a larger object."
ALIBE - Artificial LIfe BEing. In search of building autonoumous land robot
http://ALIBE.crosscity.com/
·
Comments
The RAW data will be sent if you are switched in that mode and have at least 1 satellite.· This is done by making the /RAW pin LOW.· However, keep in mind that the readings are not guaranteed to be accurate without a fix on at least 3 satellites.· Try moving the unit near a window, and/or away from any computers that might be causing interference.·
"The Module must be used outdoors or with a clear view of the sky in order for it to fix on satellites - this is the nature of GPS and not a limitation of our product."
For test purposes, I have a long (30ft 4-conductor) telephone wire connected between my GPS unit (near window) and my test board.· The first time I powered up the unit, it did take awhile to obtain a fix.· I was just about to give up, when I noticed the LED had stopped flashing.
"Upon power up of the GPS Receiver Module in a new location, the Module may take up to five minutes or more to acquire a fix on the necessary minimum number of four satellites."
·
·
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Beau Schwabe
IC Layout Engineer
Parallax, Inc.
Post Edited (Beau Schwabe (Parallax)) : 10/30/2006 4:40:32 PM GMT
sorry I chould have been clearer in my posting.
In the "Smart Mode", if in case I do not have a fix, will I get response from any of the Smart mode commands. I am able to Tx commands, but, am not able to get any Serialn (or Rx) to work.
So, my question is more toward the "Smart mode" and in situations where my robot loses signal.
If none of the Smart Mode commands work in "loss of signal" situations, what is the best way to determine if there is a FIX.
thanks
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
"any small object, accidentally dropped, goes and hides behind a larger object."
ALIBE - Artificial LIfe BEing. In search of building autonoumous land robot
http://ALIBE.crosscity.com/
·
"If none of the Smart Mode commands work in "loss of signal" situations, what is the best way to determine if there is a FIX."
You can use a wait modifier on the serial line so that it times out after a certain interval and branches to a 'No Signal' or 'No FIX'
condition.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Beau Schwabe
IC Layout Engineer
Parallax, Inc.
·
·· I believe you can still query the GPS for data even in Smart Mode, regardless of whether or not the data is valid.· The current demo program for the BASIC Stamp checks the Data Valid and if False doesn’t bother to ask for any other data.· But you could anyway.· That data would not be valid, but I believe it would respond, nonetheless.· So you need to always check the Data Valid before relying on any of the other information.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chris Savage
Parallax Tech Support
I have made some progress on the GPS module code and testing. Please see attached code.
To start out, I have implemented 3 GPS methods (GetValid, GetSats, GetInfo). I am able to Tx and Rx using FullDuplex. However, I am not able to tell if Rx is really getting the reply data back. For example, I have a Sat Fix on the GPS device (solid red LED). However, when I call ::GetValid, I show 0 on LCD. A call to ::GetSats getting me "".
Here's another twist.
If you look in the code, I have commented out the ::SerialIn and ::SerialOut calls. These two allow me to send and receive data sync. Tx'ng "GPS!" and "$0" ·works great. When·calling Rx - it waits indefinitely. Technically, this is the way Rx is supposed to behave - wait for the data. Since there's no data in the pike, the loop runs thru forever. But, I would expect to see some data come thru the queue after the call to Tx
What am I doing wrong. I can't tell from my end.
Any help and feedback is greatly appreciated
Thanks in advance
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
"any small object, accidentally dropped, goes and hides behind a larger object."
ALIBE - Artificial LIfe BEing. In search of building autonoumous land robot
http://ALIBE.crosscity.com/
I'm not positive, but you might try something like this.· Instead of...
...try this....
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Beau Schwabe
IC Layout Engineer
Parallax, Inc.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
"any small object, accidentally dropped, goes and hides behind a larger object."
ALIBE - Artificial LIfe BEing. In search of building autonoumous land robot
http://ALIBE.crosscity.com/
·
GPS_Command_Header + x would be G for the first byte ( GPS_Command_Header + 0 )
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Beau Schwabe
IC Layout Engineer
Parallax, Inc.
good catch - thanks. I will give that a shot.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
"any small object, accidentally dropped, goes and hides behind a larger object."
ALIBE - Artificial LIfe BEing. In search of building autonoumous land robot
http://ALIBE.crosscity.com/
·
I think with the statement FD.Tx(GPS_Command_Header[noparse][[/noparse]x]), the long value is actually returned which could
be clobbering the TX.· Incrementing the value of X reads the NEXT long.· Even though in your DAT section you are
specifying BYTE... GPS_Command_Header Byte "!GPS", 0 ...This just specifies how the data is stored in that section.
There is no association to GPS_Command_Header that tells the rest of your program that it should be a Byte.
GPS_Command_Header is simply an address pointer.· Using this form FD.Tx(byte[noparse][[/noparse]GPS_Command_Header + x]),
your program knows to look at the data as a byte.
·
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Beau Schwabe
IC Layout Engineer
Parallax, Inc.
I will try this later tonight.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
"any small object, accidentally dropped, goes and hides behind a larger object."
ALIBE - Artificial LIfe BEing. In search of building autonoumous land robot
http://ALIBE.crosscity.com/
·
I modified my code to reflect the Tx changes suggested here. Still don't see expected value to come back in Rx.· I have added BS2_Functions based Tx and Rx to the already existing FD and custom SerIn and SerOut based. I tried all three routes and no change in the behavior.
Please see attached.
If I took out the R2 from circuit and directly hooked to Pin0 (leaving R1 in there), I see a repetitive "6" "2" and a "1" come thru the Rx. With R2 in the circuit, I get "0"s. I'm not sure what is going on. R1·is placed on SIG to safely connect GPS mod sig to Pin0.
thanks in advance
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
"any small object, accidentally dropped, goes and hides behind a larger object."
ALIBE - Artificial LIfe BEing. In search of building autonoumous land robot
http://ALIBE.crosscity.com/
Post Edited (ALIBE) : 11/2/2006 9:23:04 PM GMT
last night I tried tweaking my code a few times, but at no change in the behavior. I am out of all avenues that I could think of (in my limited experience). Can someone recommend any additional ideas you want me to try. Per Beau's earlier reply, it does not appear to be level shifter issue.
any ideas, help is appreciated.
Thanks
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
"any small object, accidentally dropped, goes and hides behind a larger object."
ALIBE - Artificial LIfe BEing. In search of building autonoumous land robot
http://ALIBE.crosscity.com/
·
·
·· Do you have a BASIC Stamp you could connect it to so you can test it using our Demo Code?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chris Savage
Parallax Tech Support
I am having the same problem with my propeller and the GPS module.
Has anyone actually gotten the prop to talk to the gps in smart mode?
If so, did you have to do anything special? I tried everything in this topic and what I could find in the forum.
It works just fine in RAW mode, but it acts like it never hears the prop when in smart mode.
I would rather use the smart mode than re-invent the wheel on my prop to do the parsing.
Please if you have figured it out, please post how and some code examples please.
Thanks much!
·