Prev: Charge Conservation: It's Ready
Next: bluffing fools
From: Winston on 24 Jul 2010 17:55 On 7/24/2010 1:45 PM, Jamie wrote: (...) > $PSRFxxx,x,x,x,x*xx<cr><lf> > > Is that what you're referring too? I wasn't but I have an open mind. :) I understood this to be a valid test string as well: $GPWPL,4807.038,N,01131.000,E,WPTNME*5C I didn't know about the <cr> and <lf> but that sounds very plausible. > P.S. > Make sure you send the CR and LF at the end.. > and of course, calculate the CRC, and there are > no spaces. > > I know the Doc's say Xor with characters between the $ and * how ever, > they don't really give you an example. I can only assume they are Xoring > each char maybe with FF and then summing.. > > Who knows. Not me! I was just practicing a little Google-fu. --Winston
From: Rich Webb on 24 Jul 2010 18:54 On Sat, 24 Jul 2010 14:55:32 -0700, Winston <Winston(a)bigbrother.net> wrote: >On 7/24/2010 1:45 PM, Jamie wrote: > >(...) > >> $PSRFxxx,x,x,x,x*xx<cr><lf> >> >> Is that what you're referring too? > >I wasn't but I have an open mind. :) > >I understood this to be a valid test string as well: >$GPWPL,4807.038,N,01131.000,E,WPTNME*5C > >I didn't know about the <cr> and <lf> but that sounds very plausible. > > >> P.S. >> Make sure you send the CR and LF at the end.. >> and of course, calculate the CRC, and there are >> no spaces. >> >> I know the Doc's say Xor with characters between the $ and * how ever, >> they don't really give you an example. I can only assume they are Xoring >> each char maybe with FF and then summing.. >> >> Who knows. > >Not me! I was just practicing a little Google-fu. From the standard: "The checksum is the 8-bit exclusive OR (no start or stop bits) of all characters in the sentence, including "," and "^" delimiters, between but not including the "$" or "!" and the "*" delimiters." The GPWPL sentence example above has a correct checksum. The OP's question may be answered by the "SSFXXXX series GPS module NMEA protocol reference manual." But the home site for those modules doesn't seem to have such a beast. http://www.modulestek.com/service.php There is, however, a standard query sentence format that may be supported by the module. The format is: $AABBQ,CCC*XX<cr><lf> AA is the talker identifier of the requesting system (the OP's identifier). We don't know if the module in question wants a particular identifier here but a logical one to use would be "II" (integrated instrumentation). BB is the talker identifier of the device from which data is requested. In this case, "GP". Q indicates a query sentence. CCC is the sentence formatter for the requested sentence: ZDA. and then the end-of-sentence stuff. So, try sending "$IIGPQ,ZDA*35" (with the expected carriage return / line feed following) at the device's baud rate and see what happens. -- Rich Webb Norfolk, VA
From: Grant on 24 Jul 2010 19:09 On Sat, 24 Jul 2010 16:45:22 -0400, Jamie <jamie_ka1lpa_not_valid_after_ka1lpa_(a)charter.net> wrote: >Winston wrote: > >> On 7/24/2010 9:18 AM, Jamie wrote: >> >>> Piglit wrote: >>> >>>> I have a SSF2929P gps module which I wish to enable the ZDA string. >>>> If I apply power to the module it happily spits out data, finds >>>> sattelites etc >>>> and displays results on my terminal, but nothing I send to the module >>>> will stop the flow of data and put it into a mode to accept the >>>> commands. >>>> I'm beginning to think comms with this thing is half duplex, not full >>>> duplex. >>>> If this is the case, how do I reverse the flow and make it listen ? >>>> (Yes I do have Rx and Tx connected) >>>> Cheers >>>> M >>> >>> most devices have a protocol you need to follow.... >> >> >> Yup. >> >> http://www.gpsinformation.org/dale/nmea.htm >> >>> most have a CRC system to deduce error, and also, some have a way >>> to get out/in data mode like in the olds of external modems... >>> etc... >>> >>> YOu need to read the data sheet on it.. >> >> >> This one? >> http://www.element-14.com/community/servlet/JiveServlet/downloadBody/13410-102-1-42402/40.Sirf%20nmea%20ref%20manual.pdf >> >> >> :) >> >> --Winston >$PSRFxxx,x,x,x,x*xx<cr><lf> > > Is that what you're referring too? > > P.S. > Make sure you send the CR and LF at the end.. >and of course, calculate the CRC, and there are >no spaces. > > I know the Doc's say Xor with characters between the $ and * how ever, >they don't really give you an example. I can only assume they are Xoring >each char maybe with FF and then summing.. Start with zero in a checksum variable, XOR each char with that variable and store result to the variable, convert checksum to a pair of hex digits (since it may contain non-printable or control characters). Grant.
From: Jamie on 25 Jul 2010 12:10 Grant wrote: > On Sat, 24 Jul 2010 16:45:22 -0400, Jamie <jamie_ka1lpa_not_valid_after_ka1lpa_(a)charter.net> wrote: > > >>Winston wrote: >> >> >>>On 7/24/2010 9:18 AM, Jamie wrote: >>> >>> >>>>Piglit wrote: >>>> >>>> >>>>>I have a SSF2929P gps module which I wish to enable the ZDA string. >>>>>If I apply power to the module it happily spits out data, finds >>>>>sattelites etc >>>>>and displays results on my terminal, but nothing I send to the module >>>>>will stop the flow of data and put it into a mode to accept the >>>>>commands. >>>>>I'm beginning to think comms with this thing is half duplex, not full >>>>>duplex. >>>>>If this is the case, how do I reverse the flow and make it listen ? >>>>>(Yes I do have Rx and Tx connected) >>>>>Cheers >>>>>M >>>> >>>>most devices have a protocol you need to follow.... >>> >>> >>>Yup. >>> >>>http://www.gpsinformation.org/dale/nmea.htm >>> >>> >>>>most have a CRC system to deduce error, and also, some have a way >>>>to get out/in data mode like in the olds of external modems... >>>>etc... >>>> >>>>YOu need to read the data sheet on it.. >>> >>> >>>This one? >>>http://www.element-14.com/community/servlet/JiveServlet/downloadBody/13410-102-1-42402/40.Sirf%20nmea%20ref%20manual.pdf >>> >>> >>>:) >>> >>>--Winston >> >>$PSRFxxx,x,x,x,x*xx<cr><lf> >> >> Is that what you're referring too? >> >> P.S. >> Make sure you send the CR and LF at the end.. >>and of course, calculate the CRC, and there are >>no spaces. >> >> I know the Doc's say Xor with characters between the $ and * how ever, >>they don't really give you an example. I can only assume they are Xoring >>each char maybe with FF and then summing.. > > > Start with zero in a checksum variable, XOR each char with that > variable and store result to the variable, convert checksum to > a pair of hex digits (since it may contain non-printable or > control characters). > > Grant. Well, that makes it easy. I've seen a variety of CRC's done .. One I did recently involved adding a 1 to the results to reverse it. oh well.
From: Winston on 25 Jul 2010 14:25
On 7/24/2010 3:54 PM, Rich Webb wrote: > On Sat, 24 Jul 2010 14:55:32 -0700, Winston<Winston(a)bigbrother.net> > wrote: > >> On 7/24/2010 1:45 PM, Jamie wrote: >> >> (...) >> >>> $PSRFxxx,x,x,x,x*xx<cr><lf> >>> >>> Is that what you're referring too? >> >> I wasn't but I have an open mind. :) >> >> I understood this to be a valid test string as well: >> $GPWPL,4807.038,N,01131.000,E,WPTNME*5C >> >> I didn't know about the<cr> and<lf> but that sounds very plausible. >> >> >>> P.S. >>> Make sure you send the CR and LF at the end.. >>> and of course, calculate the CRC, and there are >>> no spaces. >>> >>> I know the Doc's say Xor with characters between the $ and * how ever, >>> they don't really give you an example. I can only assume they are Xoring >>> each char maybe with FF and then summing.. >>> >>> Who knows. >> >> Not me! I was just practicing a little Google-fu. > > From the standard: "The checksum is the 8-bit exclusive OR (no start or > stop bits) of all characters in the sentence, including "," and "^" > delimiters, between but not including the "$" or "!" and the "*" > delimiters." The GPWPL sentence example above has a correct checksum. > > The OP's question may be answered by the "SSFXXXX series GPS module NMEA > protocol reference manual." But the home site for those modules doesn't > seem to have such a beast. http://www.modulestek.com/service.php > > There is, however, a standard query sentence format that may be > supported by the module. The format is: > > $AABBQ,CCC*XX<cr><lf> > > AA is the talker identifier of the requesting system (the OP's > identifier). We don't know if the module in question wants a particular > identifier here but a logical one to use would be "II" (integrated > instrumentation). > > BB is the talker identifier of the device from which data is requested. > In this case, "GP". > > Q indicates a query sentence. > > CCC is the sentence formatter for the requested sentence: ZDA. > > and then the end-of-sentence stuff. > > So, try sending "$IIGPQ,ZDA*35" (with the expected carriage return / > line feed following) at the device's baud rate and see what happens. It is so much easier after the info is translated into English. Thanks! --Winston |