Latest version of my quadcopter controller with an LPC1768 and MPU9250.
Currently running on a custom PCB with 30.5 x 30.5mm mounts. There are also 2 PC apps that go with the software; one to set up the PID controller and one to balance the motors and props. If anyone is interested, send me a message and I'll upload them.
Filters/MAfilter.cpp@4:fab65ad01ab4, 2018-07-12 (annotated)
- Committer:
- Anaesthetix
- Date:
- Thu Jul 12 13:53:55 2018 +0000
- Revision:
- 4:fab65ad01ab4
- Parent:
- 0:0929d3d566cf
Minor changes and comments
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Anaesthetix | 4:fab65ad01ab4 | 1 | // Coded by Erik van de Coevering |
Anaesthetix | 4:fab65ad01ab4 | 2 | |
Anaesthetix | 0:0929d3d566cf | 3 | #include "MAfilter.h" |
Anaesthetix | 0:0929d3d566cf | 4 | |
Anaesthetix | 0:0929d3d566cf | 5 | float MAfilter::run(float input) |
Anaesthetix | 0:0929d3d566cf | 6 | { |
Anaesthetix | 0:0929d3d566cf | 7 | for(i=1; i<200; i++) |
Anaesthetix | 0:0929d3d566cf | 8 | { |
Anaesthetix | 0:0929d3d566cf | 9 | filterbuff[i] = filterbuff[i-1]; |
Anaesthetix | 0:0929d3d566cf | 10 | } |
Anaesthetix | 0:0929d3d566cf | 11 | filterbuff[0] = input; |
Anaesthetix | 0:0929d3d566cf | 12 | |
Anaesthetix | 0:0929d3d566cf | 13 | for(i=0; i<200; i++) out = out + (filterbuff[i]/200); |
Anaesthetix | 0:0929d3d566cf | 14 | |
Anaesthetix | 0:0929d3d566cf | 15 | return out; |
Anaesthetix | 0:0929d3d566cf | 16 | } |
Anaesthetix | 0:0929d3d566cf | 17 | |
Anaesthetix | 0:0929d3d566cf | 18 | float MAfilter10::run(float input) |
Anaesthetix | 0:0929d3d566cf | 19 | { |
Anaesthetix | 0:0929d3d566cf | 20 | for(i=1; i<10; i++) |
Anaesthetix | 0:0929d3d566cf | 21 | { |
Anaesthetix | 0:0929d3d566cf | 22 | filterbuff[i] = filterbuff[i-1]; |
Anaesthetix | 0:0929d3d566cf | 23 | } |
Anaesthetix | 0:0929d3d566cf | 24 | filterbuff[0] = input; |
Anaesthetix | 0:0929d3d566cf | 25 | |
Anaesthetix | 0:0929d3d566cf | 26 | out = 0; |
Anaesthetix | 0:0929d3d566cf | 27 | for(i=0; i<10; i++) out = out + (filterbuff[i]*0.1); |
Anaesthetix | 0:0929d3d566cf | 28 | |
Anaesthetix | 0:0929d3d566cf | 29 | return out; |
Anaesthetix | 0:0929d3d566cf | 30 | } |
Anaesthetix | 0:0929d3d566cf | 31 |