Forum Update - Announcement about May 10th, 2018 update and your password.

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.


  • 3 Comments sorted by Date Added Votes
  • 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.
  • Tracy AllenTracy Allen Posts: 6,262
    edited February 13 Vote Up0Vote Down
    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.