L76 GPS High altitude balloon mode
-
I am browsing a the documentaion for L76 GPS. This is what's on the pytrack board if I am correct.
The sensor working fine and micropyGPS saves a ton of work.
What I recently found out that L-76 has some kind of ballonmode, which needs to be turn on, if the device travels above a certain altitude. How can I enable this?What I found out so far that i should edit this message some how: PMTK_FR_MODE
I am not sure how to do that because I don't have the knowledge (yet) about this low level stuff.
Thank you,
-
Thank you for the information provided, this is very helpful to me.
-
Have a look into the example. The Pycom sends some kind of init to the GPS with i2c.writeto. They use the bytearray reg.
You have to build your own sequence and send it to the L76. Somewhere in the L76 manual they tell you how to build the checksum, which is important. It is a simple XOR of each byte between $ and *.
For some command you may have to read the result and send an ACK message to the L76
Here is my method to build the sentence. Please note that the checksum extraction is not optimized ;)
# build a MTK sentence to configure the GPS chip. payload is content between $ and * def _buildMtkSentence(self, payload): _c = 0 # checksum _s = self._reg # buffer of sentence _p = 0 # index of actual sentence char _s[_p] = ord(b'$') _p += 1 _i = 0 # index of payload _l = len(payload) while _i<_l: _c ^= ord(payload[_i]) _s[_p] = ord(payload[_i]) _p += 1 _i += 1 _s[_p] = ord(b'*'); _p += 1 _s[_p] = ord("{0:02X}".format(_c)[0]); _p += 1 _s[_p] = ord("{0:02X}".format(_c)[1]); _p += 1 _s[_p] = ord(b'\r'); _p += 1 _s[_p] = ord(b'\n')
Example call
self._reg = bytearray(64) self._buildMtkSentence("PMTK001,353,3,1,1,0,3"); # use GPS and GLONASS self.i2c.writeto(GPS_I2CADDR, self._reg)
Have fun and tell me how to wake up the GPS, after you send the MTK messages for sleep modes ;)