Any way to get binary communication with the GNSS on Pytrack v2 ?
As TTFF with the integrated antenna is quite long when get out of a full cold start on the PyTrack V2, I managed to implement NMEA upload of EPO data in host mode. This is useful as in same conditions I get a first fix in around 2,5 minutes instead of about 17,5 minutes without assistance, but it could be greatly improved if we could have binary communication with the L76. Effectively, it takes around 3,5 minutes to upload the EPO for 32 GPS satellites via NMEA (due to the time needed to get ACK before sending new EPO frame), so this means that we get a fix thanks to partial satellites info uploaded in L76.
But if we would be able to use binary communication, this would mean :
- Fast transfert of EPO data to the L76 (in seconds, not minutes).
- Possibility to put data in Flash, remaining accessible after a power down
- Possibility to put 3 to 7 days of almanach and ephemeris data, instead of 6 hours only with NMEA EPO.
So I would be very happy to have a way to get binary communication with the L76 module. I think this would mean a modification of the PIC firmware.
Thanks for your reply. Effectively it seems the GNSS is connected via I2C directly to the ESP32.
I was fooled by the fact that the L76 library needs a pycoproc/pycoproc2 object as argument for the initialization. So I thought it was connected via the PIC, which doesn't seems to be the case.
I will try to implement binary communication and let you know if it improves the GNSS usage.
@Louis-CONVERT I must be missing something... AFAIK, the ESP32 talks to the L76 directly, this doesn't go through the PIC (which only performs serial/USB conversion, power management, upgrade management...).
You should be able to send and receive any kind of data you want to/from the L76. It's more a matter of switching the L76 to the correct mode and writing the relevant code on the ESP32 than anything else. Unless switching to binary mode requires external pins to be set (rather than just commands sent over serial), that shouldn't be an issue.
Or did I miss something?