FreeRTOS port of ArduPilot idea

Hi,

I saw this project and it was interesting to me as i have experience in robotics and FreeRTOS.
can you provide more information about the project?

it was written in the idea

A number of people have done ports of ArduPilot to FreeRTOS, and while those ports have worked they need some more work to get them to the point of merging into master for general use

can you provide links for these projects?

Thanks.

Where is that written? As far as I know the "number of people " is 1. Or if not some people have kept very quiet about it :slight_smile:

I it is written in Gsoc17 ideas list
http://ardupilot.org/dev/docs/gsoc-ideas-list.html#freertos-port-of-ardupilot

Hmm.
Well my FreeRTOS Port of ArduPilot is here, but bear in mind it is a fork and am not planning to merge it in

But if anyone else wants to do it that is fine with me, but the above has already moved away from the main repo quite a bit, but you could look at previous commits

If anyone else has a FreeRTOS fork of ArduPilot please let me know or post it here. I would certainly love to look at it. I have tried to found out about these other ports by googling but with no success so far. If anyone has info about them please let me know. Someone seems to else presumably that wouldnt have been written?

@skyscraper, your port is by far the most advanced (it flies!), but there have been two other people that tried. The problem is that now I search my email archives I can’t find them. So maybe I just imagined it, or maybe my inbox is a disaster zone :slight_smile:
I put this in the GSoC projects list as I would actually like FreeRTOS to be one of our supported ports. I’d suggest the student start with your port, and then work to get it running on a couple of widely available boards.
For example, it would be interesting to port FreeRTOS to a Pixhawk, and compare the results of ArduPilot on FreeRTOS with the same hardware that we use NuttX on.

I thought about developing for Pixhawk but I need to be able to read the schematics which is not being made easy:

http://discuss.ardupilot.org/t/pixhawk-2-transition-from-altium-to-kicad/12410/23

So since I dont have time to waste, I decided not to bother with it.

Hi @skyscraper
The schematics for Pixhawk 1 are in eagle, and they are code compatible.
The schematics are also published as PDF’s as well…

So if it works on a ph1, it will work on a PH2

If you were willing to commit to porting to freertos, I’m sure I could be
convinced to port to any e-cad package you want!

Philip

I have somewhat hijacked the thread but there is a big difference between “a number of working ports” to FreeRTOS and admitting that there is only one around that flies. I hope that can be corrected in the Wiki, since I seem to spend my life being not attributed for anything good , but always blamed for everything bad :wink:

I would hope that @Mostafa_Saleh is still interested? I wil be happy to tell him what I did right and wrong on my version or just let him get on with it

done! Sorry for not linking to your work before.
If we do get a student for this project, would you be willing to help mentor?

@tridge

Great Thanks.

I put back up a flight video of the port working . ( I took it down before because there are some issues with the video, which is caused by the tracker. I recently tested again with different tracker hardware which solves the problem and allows perfect video to a good distance). Anyway this shows that it flies at least. OK !

I will be happy to say what I did right and wrong. The port is based on old version of ArduPilot and I am also currently hacking away at the port which is already diverged with a machete to try to get my mixing scheme flying on something not a wing


but that is not a development model I would advise anyone to follow in general so do as I say not as I do which is a tricky position for a mentor

1 Like

Old thread, but FYI Pat Hickey was involved in a FreeRTOS based port of the AVR code a while back.

FWIW I found a free version of the paper here to save anyone forking out for it.
https://www.cs.indiana.edu/~lepike/pubs/trackos-rv16.pdf
Unfortunately I dont see it is that useful, since it is implementing a secure RTOS. It says it runs ArduPilot on AVR and I think if it ever flew it would be quite an achievement!

I cant find any publically available source code for it, except snippets in the paper. The ref in the paper just points to the standard ardupilot repository?