GPS on Prop usage question

Does anyone that's utilized GPS with the Propeller know roughly how much of the Prop's processing power it takes to retrieve and store / update the data?

The latest Elev-8 flight controller firmware states there is about 20% of the processing power and 6KB free to work with. Would that be enough to try adding GPS, or would I need to add in another small Prop system, such as Cluso's blade2, or a FLiP to run anything GPS related?

I have the Build Your Own Quadcopter book by Donald Norris, and reading through his GPS projects in there now. Of course he uses a Prop BOE, which I have plenty of to use for experimenting/programming on the bench, but that would be large for actual flight. I would like to see if the flight controller has the processing oomph to run the GPS portion itself to keep the size / weight down, and if not, I'll have to figure out a small system to add.


  • About 20% available processing power is likely 2 cogs unused. If this is the case then that's probably fine. One cog for serial (presuming you are using a serial GPS, and one cog for parsing the data stream. If you are using a parallel GPS module then the serial cog would become the interface.

    I don't know anything about elev-8 code though. I did some quadcopter code many years ago on the prop, but I never completed it properly. The feedback was scary so I didn't venture more than a foot or two from the ground. Jason Doris did a good job with code for the prop.
    My Prop boards: P8XBlade2, RamBlade, CpuBlade, TriBlade
    Prop OS (also see Sphinx, PropDos, PropCmd, Spinix)
    Prop Tools (Index) , Emulators (Index) , ZiCog (Z80)
  • Tracy AllenTracy Allen Posts: 6,310
    edited 2018-02-13 - 21:37:14
    There is an OBEX object, GPS NMEA Parser that combines the necessary serial receive methods with a parser in pasm in one cog, and it returns a pointer to an array that contains the essential values from the GGA and RMC sentences. The object weighs in a 1324 bytes. Of course, you need to add code to make use of the results.

    Other ways might require two cogs, one for a serial object and another to carry out parsing in the background, surely more bytes.
  • Thanks guys, it said 2 cogs free, but then 20% of cpu time free, and (0.2*8 cogs) is only 1.6, so I didn't know what to think there. If that GPS code is only 1.3K, that should be enough space left to make something work, then.

    I only have the Waveshare NEO-7M-C (B) GPS Module which I bought from Parallax, so I'll have to see if it works with that OBEX object Tracy linked.
Sign In or Register to comment.