daniestevez / galileo-osnma

Galileo OSNMA (Open Service Navigation Message Authentication)
Apache License 2.0
54 stars 9 forks source link

Features to consider #11

Open N6RFM opened 2 years ago

N6RFM commented 2 years ago

Dani, Great project. Thanks! Lot's of learning opportunities! Thanks also K4KDR for helping to guide me and get this running.

A few suggestions to consider 1) allow users to send data back to a central repository? Perhaps only validated data including coordinates where received. This might be useful in detecting location related differences in reception and/or frame validation? 2) make some use of the LCD e.g., display local coordinates, or a flash screen upon startup, or some other data of interest. (maybe the flash memory already is already limiting?) 3) Perhaps provide a means to determine the pass/fail ratio information for the various AUTH types? Wondering if/how these may vary over time and place.

Best, Bob N6RFM

daniestevez commented 2 years ago

Hi Bob,

Thanks for the feedback! I'll keep these in mind, though I'm not sure if I'll implement them.

Regarding 1, there is already Galmon, which works more or less in that way, though currently it doesn't do any OSNMA processing besides detecting which satellites are transmitting OSNMA data. I think it would be good to integrate my OSNMA library with Galmon so that Galmon can do more OSNMA processing. However, I don't know yet of a good way to do this or if I or someone else will have the time for this.

About 2, the idea of the Longan nano demo was to put something together quickly to show that the library fitted in a small microcontroller. In terms of IO I still want to add some more features. At least, it would be interesting to use the RGB LED to show what the code is doing at each moment, so we can see how much time is spent doing cryptographic processing, etc. (an oscilloscope would be needed to measure the times, since things happen quite fast). Using the LCD can be a great idea to display something like the last successful authentication. I'm not sure if it will fit, since the flash is already quite full, but perhaps not much code is needed to drive the LCD.

Something more interesting for a microcontroller would be to interface it directly with a GNSS receiver (a uBlox chip, for instance) using the UART, thus leaving the PC out of the way. This is perhaps too much for the Longan nano, so perhaps a larger microcontroller would be needed.

Finally, regarding 3, I think it's better to do that on the log output of the PC tool galmon-osnma. The microcontroller is somewhat limited in the amount of information it can output on the serial port.