How can I learn how to program for LibrePilot?
« on: April 04, 2016, 09:46:26 pm »
I'm not sure if this is the right place to ask this question.

Basically, I already have a good understanding of C. I've learned flow control, loops, variables, structs, pointers, etc, I just need to learn about data structures right now. I really want to start a real life project so I can learn even more, but I could not find anything that I either found interesting or would be a real world problem that could be solved with programming. But since I built my first quad about a week ago using the Revolution board, and looking at the git hub page and seeing that a lot of it is written in C, I finally found something that I would love to work on!

I have always loved the idea of navigation and GPS so I would love to program that kind of stuff for RC vehicles, but I have no idea where to start.

So can someone give me an idea of what I should do so I can write firmware for FCs, program navigation for quads/planes(like fusion algorithms), and maybe learn how to write my own code to stabilize a quad?

I would love for this to be my first big project, and I would love to contribute to the project too!

I'm not necessarily looking for someone to tell me how to do something(although it would be nice learning from someone on here) I just want to be pointed in the right direction of what I should learn and how I can read and make sense of the source code and even contribute.

f5soh

  • *****
  • 4572
    • LibrePilot
Re: How can I learn how to program for LibrePilot?
« Reply #1 on: April 04, 2016, 10:15:56 pm »
Hi,

I think you must start contributing to project before starting your own firmware ;)
All LP system is based on UAVObjects and modules.

Issue tracker is here: https://librepilot.atlassian.net/


Laurent

Re: How can I learn how to program for LibrePilot?
« Reply #2 on: April 06, 2016, 11:37:31 am »
I would love to contribute, but first I need to learn how to do that kind of programming. Like what kind of math goes into it, basics of GPS(maybe even advanced GPS stuff), the fusion algorithms, that kind of stuff. At least I think so? I've never done a big project before, so I have no clue where to begin! Like when you say just start contributing, well how could I contribute?

Mateusz

  • *
  • 808
Re: How can I learn how to program for LibrePilot?
« Reply #3 on: April 06, 2016, 11:47:15 am »
You fly the software, and if you think something is missing or could be better, you find a way to implement it by reading the code. Procedure is like this: fork git repository, commit your code to your forked repository as a branch, and click on bit-bucket page for Pull-up request. Your code will be reviewed and hopefuly incorporated into main repository so everyone can use your enhancement/fix/feature.

There is short developers manual which contains some useful information, you can also ask on forum
https://librepilot.atlassian.net/wiki/display/LPDOC/Developer+Manual

Issue tracker posted earlier by Laurent shows issues, which have to be resolved by someone, coded, pick something small not assigned to anyone yet ;)
« Last Edit: April 06, 2016, 11:51:35 am by Mateusz »

Re: How can I learn how to program for LibrePilot?
« Reply #4 on: April 06, 2016, 12:46:48 pm »
Oh that actually sounds do able! I'll look at the small stuff and see if I can do anything, and if I can't figure it out, I'll do some research. Thanks!