paparazzi-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Paparazzi-devel] Suggestions


From: Ben Laurie
Subject: Re: [Paparazzi-devel] Suggestions
Date: Fri, 13 Dec 2013 13:28:25 +0000

On 12 December 2013 11:03, Tilman Baumann <address@hidden> wrote:
> On 12/12/13 10:53, Ben Laurie wrote:
>> On 12 December 2013 08:59, Michal Podhradsky
>> <address@hidden> wrote:
>>> Hi Poine,
>>>
>>> we are working on RT Paparazzi (you can check out the current branch
>>> (https://github.com/paparazzi/paparazzi/tree/rt_paparazzi) and we currently
>>> have real time rotorcraft firmware. Partially because the code and control
>>> loops was designed in quite a neat way.
>> Curious: why is existing Paparazzi not RT?
> It kind of is. It is designed similarly to the moon lander software. It
> runs a list of functions at a fixed interval. The important ones first
> the less important ones later.
> If it can not finish execution of that list in time it will just start
> over at the beginning of the list. This way the important functions can
> not starve.
>
> What the paparazzi_rt guys seemed to have done is to port the system to
> a 'real' real-time operating system (ChibiOS).
> To be honest, this was lacking in the paparazzi design for a long time.
> The 'old' way of doing realtime was ok, bit with increasingly more
> powerful CPU and the demand to run all sorts of other functions on the
> same chip a proper realtime OS would help a lot.
> I haven't looked into how much they achieved and how ambitious they do
> it. You could just run ppz in one or two tasks (ap and fbw) and keep the
> internal interval scheduler. Or you could split all internal ppz tasks
> into Chibi tasks...
>
>
> PS: Sorry this was a very high level view. Hope that it what you where
> after.

No, that was exactly what I was after. Interesting.

Back when I worked in embedded systems (quite a while ago now), we
didn't like real-time operating systems and preferred the approach
taken by Paparazzi. This is because the cost of context switches in RT
OSes is very high compared to the cost of function calls and
occasional timer checks...

>
> _______________________________________________
> Paparazzi-devel mailing list
> address@hidden
> https://lists.nongnu.org/mailman/listinfo/paparazzi-devel



reply via email to

[Prev in Thread] Current Thread [Next in Thread]