Drone firmware: Difference between revisions
No edit summary |
|||
Line 5: | Line 5: | ||
[[File:block-functions.png | 500px]] | [[File:block-functions.png | 500px]] | ||
The main software functions. Orange blocks are sensor and communication io. Green if the primary measurement and reference (set-point) data (Roll, Pitch, Yaw, Height and possibly lateral velocity. Ping is other software functions. Gray is for configuration and calibration. | The main software functions. Orange blocks are sensor and communication io. Green if the primary measurement and reference (set-point) data (Roll, Pitch, Yaw, Height and possibly lateral velocity. Ping is other software functions. Gray is for configuration and calibration. Yellow blocks are PID control. | ||
[[File:block-control.png | 500px]] | |||
The PID control blocks all have these functionalities. The yellow circles indicate logging interfaces. | |||
==Drone control firmware== | ==Drone control firmware== |
Revision as of 10:23, 22 October 2020
Back to Drone control
Functional overview
The main software functions. Orange blocks are sensor and communication io. Green if the primary measurement and reference (set-point) data (Roll, Pitch, Yaw, Height and possibly lateral velocity. Ping is other software functions. Gray is for configuration and calibration. Yellow blocks are PID control.
The PID control blocks all have these functionalities. The yellow circles indicate logging interfaces.
Drone control firmware
There are two versions of the drone firmware, one for the motor test (mostly performance of a single motor) without the need of the prop-sheld and a full version to be used on the flying drone.
To get the source code - see section "software and files" below.
Motor test firmware
The motor test firmware is in the "motortest" directory.
To compile the source for a Teensy 3.5 or 3.6 the Teensiduino needs to be installed first.
Install Teensiduino, see https://www.pjrc.com/teensy/td_download.html . Start with installing the most recent supported version of Arduino, then overlay this by installing the Teensiduino.
Once installed the directory needs to be prepared for compilation.
Linux
make shortcut links to libraries and compiler. The shourtcut described below assumes you have installed arduino version 1.8.9 (and Teensiduino) in your home directory, change as appropriate:
cd drone_ctrl/motortest ln -s ~/arduino-1.8.9/hardware/teensy/avr/libraries ln -s ~/arduino-1.8.9/hardware/teensy/avr/cores/teensy3 ln -s ~/arduino-1.8.9/hardware/tools/ make make upload
Drone firmware
The drone flight controller (base) firmware is in the "drone_ctrl" directory.
To compile the source for a Teensy 3.5 or 3.6 the Teensiduino needs to be installed first.
Install Teensiduino, see https://www.pjrc.com/teensy/td_download.html . Start with installing the most recent supported version of Arduino, then overlay this by installing the Teensiduino.
Once installed the directory needs to be prepared for compilation.
Linux
make shortcut links to libraries and compiler. The shourtcut described below assumes you have installed arduino version 1.8.9 (and Teensiduino) in your home directory, change as appropriate:
cd drone_ctrl/drone_ctrl ln -s ~/arduino-1.8.9/hardware/teensy/avr/libraries ln -s ~/arduino-1.8.9/hardware/teensy/avr/cores/teensy3 ln -s ~/arduino-1.8.9/hardware/tools/ make make upload