CR-Formula / Telem

Cyclone Racing's Real Time Telemetry System
GNU General Public License v3.0
1 stars 0 forks source link

NEO-M9N Driver Implementation #3

Closed APBashara closed 1 month ago

APBashara commented 4 months ago

Use the I2C driver to create functions for the NEO-M9N GPS Module

APBashara commented 2 months ago

Issue with I2C Driver on the Telem board For some reason the start bit is getting sent but the bus reads as busy I tried removing the pull up resistors as the GPS data sheet says the internal ones should be enough but that did not solve it

APBashara commented 2 months ago

Need to step through and see where the BUSY flag gets set

APBashara commented 2 months ago

Fixed I2C Driver issue; solution was to redo the GPIO configuration to better support I2C Functionality

APBashara commented 2 months ago

Need to look into how to configure and read messages from M9N -- Use the ublox interface manual https://content.u-blox.com/sites/default/files/u-blox-M9-SPG-4.04_InterfaceDescription_UBX-21022436.pdf

APBashara commented 1 month ago

Able to send a CFG message and get an UBX-ACK back. Need to find a better way to read messages other than just parse a giant buffer

APBashara commented 1 month ago

See Sparkfun library waitForResponse function

APBashara commented 1 month ago

I think there is an issue with the I2C driver not sending start and stop conditions correctly in combination with some issues for ACK and NACK responses

APBashara commented 1 month ago

Fixed the I2C driver and got the GPS to work Need to improve the way that we are reading message responses still UBX-NAV-PVT is the message that will be used for reading Lat, Long, and Speed

APBashara commented 1 month ago

Need to also Delay the config message slightly in order to allow the GPS to boot fully Will look at adding the config in the GPS Task, this also would prevent I2C comms from locking the whole system. Will ultimately need to add timeout functions for the I2C while loops to reset comms

APBashara commented 1 month ago

Got the GPS module configured and communication works more consistently now Still has a weird hang and I am struggling to figure out whether it is the I2C Driver or the GPS Driver I think it may be a combination of those two. Next step is to reach out on the ublox forum about polling for the NAV-PVT Message and the issue that I am seeing with the 0xF7 value