paparazzi-devel
[Top][All Lists]
Advanced

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

Re: [Paparazzi-devel] ChibiOS port


From: Hector Garcia de Marina
Subject: Re: [Paparazzi-devel] ChibiOS port
Date: Thu, 25 Jul 2013 16:57:34 +0200

Hi Alex and Felix,

planned development schedule :

* test that pprz code built with chibios build systems runs reliably.
* let pprz run in one big chibios task and test how it behaves.
* log data to sd within another task, with api which permit to log data from pprz task

I would say that this was my first approach and I completely agree with it.

but to be honest, when I started to integrate ChibiOS to ppz, I realized that probably the time spent for this task would be about the same whether
I had to write the low-level stuff from scratch. So my approach is currently the next, which could be considered a new project:

- Rewrite the drivers and fit the low level tasks to the scheduler (just reading sensors, radio communication, etc) employing only ChibiOS stuff (HAL and Kernel services) in C++ (I like classes for reading out
and maintain the code). 
- To abstract the former such that I can still using the control loops, logging, etc from ppz.
- Later on to abstract the control loops and other high level stuff as well.
- Port algorithms involving matrices to Eigen (matrix lib in C++), so they would be easier to read and modify, and also the end user can take advantage of that for new stuff.
- Maintaining the same xml files as in ppz, so for the end user (if this finally ends up) nothing has been changed.

The main drawback is obvious, this is a "critical" system and the current ppz code is reliable, therefore this "port" likes more a different system (probably the last point about xml files does not make sense either),
so it is not reliable anymore before testing it.

The main advantage to me is to have a more scalable (in the sense of having everything in abstract blocks) and easier code to maintain, taking as starting point blocks that they are already nicely working in ppz.

My current status is that I have almost finished the first task, and now I have to figure out how to integrate/glue the high level stuff from ppz.





On Wed, Jul 24, 2013 at 6:41 PM, Prof. Dr.-Ing. Heinrich Warmers <address@hidden> wrote:
Hi,
i have read that there is a port and lib for the maple development system (STM32) http://leaflabs.com/docs/ide.html.
Also  there is a port for Freertos. To look for it install the the system.

Cheers Heinrich

Felix Ruess schrieb:
Hi Hector,
 
good to know because I have started my own port, but I was not aware that other people were also porting ChibiOS to ppz.

Why do you want to use opencm3 and not the HAL provided by ChibiOS? (I guess it covers all the common micros in ppz, AT91SAM, STM32 and LPC)

Because we essentially already have our own HAL (mcu_periph) and it would mean rewriting all of our drivers (as well as having different drivers for use with ChibiOS than without).
What we (mostly) want/need is the scheduler... Ideally we would be able to keep nearly everything as it is, only replacing the tasks in main with real tasks (and dealing with shared access to some global vars via semaphores/mutexes).

We will have to see if/how it works out...
This also doesn't necessarily preclude from using the ChibiOS HAL as another option (e.g. making a new ChibiOS arch and writing glue code to our mcu_periph).

How far are you along, what have you done so far? Which approach did you take, what were the problems?
Would make sense to work on this together :-)
Is it somewhere on github?

Cheers, Felix

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

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




--
Héctor
Webpage: http://mathtronics.wordpress.com/


reply via email to

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