grupacosmo / cansat

Bare-metal software for the sounding rocket payload.
13 stars 3 forks source link

Add GPS #5

Closed wiktorwieclaw closed 1 year ago

wiktorwieclaw commented 1 year ago

Looks like there are no crates that handle GPS communication, so we will need to write our own. We will be using ublox NEO-7M gps.

wiktorwieclaw commented 1 year ago

We will be communicating by UART, so it may be worthwhile to read Discovery Book Chapter 7 before working on this issue

wiktorwieclaw commented 1 year ago

It'd be best if we implement this in a separate crate e.g cansat-gps, or cansat-ublox. Idk if the same code can work for any GPS.

wiktorwieclaw commented 1 year ago

The basic idea is to create a new interrupt task that reads bytes from usart and puts them into a ring buffer. Then another task (possibly idle), will read the messages from the circular buffer into a linear one until it reads a delimiter. Then we can parse the message with nmea-parser.

Useful crates:

Useful examples: