Shop OBEX P1 Docs P2 Docs Learn Events
GPS Module - NO Fix - Response Behavior? — Parallax Forums

GPS Module - NO Fix - Response Behavior?

ALIBEALIBE Posts: 299
edited 2007-02-13 23:38 in Propeller 1
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/
·

Comments

  • Beau SchwabeBeau Schwabe Posts: 6,547
    edited 2006-10-30 16:27
    ALIBE,
    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
  • ALIBEALIBE Posts: 299
    edited 2006-10-30 16:50
    Beau,

    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/
    ·
  • Beau SchwabeBeau Schwabe Posts: 6,547
    edited 2006-10-30 18:55
    You just answered your own question..

    "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.
  • Chris SavageChris Savage Parallax Engineering Posts: 14,406
    edited 2006-11-02 16:41
    ALIBE,
    ·
    ·· 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
  • ALIBEALIBE Posts: 299
    edited 2006-11-02 17:34
    Chris, thanks.

    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/
  • Beau SchwabeBeau Schwabe Posts: 6,547
    edited 2006-11-02 18:20
    ALIBE,

    I'm not positive, but you might try something like this.· Instead of...
      repeat x from 0 to 3
        FD.Tx(GPS_Command_Header[noparse][[/noparse]x])
    

    ...try this....

      repeat x from 0 to 3
        FD.Tx(byte[noparse][[/noparse]GPS_Command_Header + x])
    

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Beau Schwabe

    IC Layout Engineer
    Parallax, Inc.
  • ALIBEALIBE Posts: 299
    edited 2006-11-02 18:26
    the "+ x" - would that not start off w/ the "P" (from the "GPS!" string)? and when x==3, the reference to "byte[noparse][[/noparse]GPS_Command_Header + x]" would be invalid?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    "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/
    ·
  • Beau SchwabeBeau Schwabe Posts: 6,547
    edited 2006-11-02 18:29
    X goes from 0 to 3

    GPS_Command_Header + x would be G for the first byte ( GPS_Command_Header + 0 )

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Beau Schwabe

    IC Layout Engineer
    Parallax, Inc.
  • ALIBEALIBE Posts: 299
    edited 2006-11-02 18:40
    my eyes are totally burned out man!!!

    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/
    ·
  • Beau SchwabeBeau Schwabe Posts: 6,547
    edited 2006-11-02 19:23
    I might also add...· it's "!GPS"· not "GPS!" for the header string.... you do have it correct in your code.

    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.
  • ALIBEALIBE Posts: 299
    edited 2006-11-02 19:30
    thanks Beau! that makes sense.

    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/
    ·
  • ALIBEALIBE Posts: 299
    edited 2006-11-02 20:54
    Beau,

    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
    471 x 223 - 31K
  • ALIBEALIBE Posts: 299
    edited 2006-11-04 13:38
    Hello Parallax folks,
    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/
    ·
  • Chris SavageChris Savage Parallax Engineering Posts: 14,406
    edited 2006-11-06 23:25
    ALIBE,
    ·
    ·· 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
  • Joe McClureJoe McClure Posts: 21
    edited 2007-02-13 23:38
    Hi all,
    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!

    ·
Sign In or Register to comment.