Quadrocopter-software

The Quadrocopter Project

Main Page |   Control Board  |   Sensor board  |   Frame  |   Software  |   Research  |  Old Info

Our Software
We spent some time analyzing some of the existing code that's out there. We paid particular attention to Shrediquette code because it's simpler than most and it works well.

Our intent with the software is to put everything into functions that are triggered by interrupts. The only thing in main would be the setup code followed by a while(1);. For convenience, almost all variables are floating point.

The functions can be categorized as follows:


 * Functions to deal with individual devices, both in the microcontroller and external to it.
 * Setup/configuration
 * Read and write to registers
 * Converting register values to something easier to use (%, volts, degrees, pascals, centimeters, milliseconds)
 * Tests and demos


 * Functions to make it easier to manipulate the registers


 * Timing functions - delays, system clock, dt(used when integrating)


 * Misc utility functions


 * Functions that are specific to controlling the quadrocopter
 * Combining sensor data  (we're using a complimentary filter)
 * PID
 * Mixing/power distribution
 * A console to access the various tests and demos

What we're working on at the moment

 * Trying to get the PID function to work.

Our test platform

What we have working

 * All functions not directly related to the quadrocopter
 * The complimentary filter