NOT FINISHED YET!!! My first try to get a self built fully working Quadrocopter based on an mbed, a self built frame and some other more or less cheap parts.

Dependencies:   mbed MODI2C

Committer:
maetugr
Date:
Wed Nov 28 12:29:02 2012 +0000
Revision:
27:9e546fa47c33
Parent:
15:753c5d6a63b3
Child:
34:3aa1cbcde59d
after inserting RC-calibration (not tested yet)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
maetugr 7:9d4313510646 1 #ifndef RC_CHANNEL_H
maetugr 7:9d4313510646 2 #define RC_CHANNEL_H
maetugr 7:9d4313510646 3
maetugr 7:9d4313510646 4 #include "mbed.h"
maetugr 7:9d4313510646 5
maetugr 7:9d4313510646 6 class RC_Channel
maetugr 7:9d4313510646 7 {
maetugr 7:9d4313510646 8 public:
maetugr 27:9e546fa47c33 9 RC_Channel(PinName mypin, int index); // NO p19/p20!!!!, they don't support InterruptIn
maetugr 10:953afcbcebfc 10 int read(); // read the last measured data
maetugr 7:9d4313510646 11
maetugr 7:9d4313510646 12 private:
maetugr 27:9e546fa47c33 13 int index; // to know which channel of the RC an instance has
maetugr 27:9e546fa47c33 14 int time; // last measurement data
maetugr 27:9e546fa47c33 15 float scale; // calibration values
maetugr 27:9e546fa47c33 16 float offset;
maetugr 27:9e546fa47c33 17
maetugr 10:953afcbcebfc 18 InterruptIn myinterrupt; // interrupt on the pin to react when signal falls or rises
maetugr 10:953afcbcebfc 19 void rise(); // start the time measurement when signal rises
maetugr 10:953afcbcebfc 20 void fall(); // stop the time mesurement and save the value when signal falls
maetugr 10:953afcbcebfc 21 Timer timer; // timer to measure the up time of the signal and if the signal timed out
maetugr 10:953afcbcebfc 22
maetugr 10:953afcbcebfc 23 Ticker timeoutchecker; // Ticker to see if signal broke down
maetugr 10:953afcbcebfc 24 void timeoutcheck(); // to check for timeout, checked every second
maetugr 27:9e546fa47c33 25
maetugr 27:9e546fa47c33 26 // Calibration value saving
maetugr 27:9e546fa47c33 27 void saveCalibrationValue(float * value, char * fileextension);
maetugr 27:9e546fa47c33 28 void loadCalibrationValue(float * value, char * fileextension);
maetugr 7:9d4313510646 29 };
maetugr 7:9d4313510646 30
maetugr 7:9d4313510646 31 #endif