Work in progress...

Dependencies:   ESC FreeIMU mbed-rtos mbed

Experiment - work in progress...

Committer:
MatteoT
Date:
Fri Jul 19 03:29:42 2013 +0000
Revision:
0:22b18227d29e
Child:
1:acb2e0f9d1bc
experiment

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MatteoT 0:22b18227d29e 1 #include <stdint.h>
MatteoT 0:22b18227d29e 2 #include "mbed.h"
MatteoT 0:22b18227d29e 3 #include "SharedObject.h"
MatteoT 0:22b18227d29e 4 #include "RefRX.h"
MatteoT 0:22b18227d29e 5 #include "esc.h"
MatteoT 0:22b18227d29e 6
MatteoT 0:22b18227d29e 7 namespace SharedResources
MatteoT 0:22b18227d29e 8 {
MatteoT 0:22b18227d29e 9 SharedObject <uint32_t> ref1 (0);
MatteoT 0:22b18227d29e 10 SharedObject <uint32_t> ref2 (0);
MatteoT 0:22b18227d29e 11 SharedObject <uint32_t> ref3 (0);
MatteoT 0:22b18227d29e 12 SharedObject <uint32_t> ref4 (0);
MatteoT 0:22b18227d29e 13 SharedObject <float> integration_time (0);
MatteoT 0:22b18227d29e 14 };
MatteoT 0:22b18227d29e 15
MatteoT 0:22b18227d29e 16
MatteoT 0:22b18227d29e 17 int main()
MatteoT 0:22b18227d29e 18 {
MatteoT 0:22b18227d29e 19 //Setup ESCs
MatteoT 0:22b18227d29e 20 ESC esc1(p26);
MatteoT 0:22b18227d29e 21 ESC esc2(p27);
MatteoT 0:22b18227d29e 22 ESC esc3(p28);
MatteoT 0:22b18227d29e 23 ESC esc4(p29);
MatteoT 0:22b18227d29e 24
MatteoT 0:22b18227d29e 25 //Setup RefRX static class for remote control
MatteoT 0:22b18227d29e 26 RefRX::init(2222, 2223, &SharedResources::ref1, &SharedResources::ref2, &SharedResources::ref3, &SharedResources::ref4);
MatteoT 0:22b18227d29e 27
MatteoT 0:22b18227d29e 28
MatteoT 0:22b18227d29e 29 //Begins main control loop
MatteoT 0:22b18227d29e 30 while(1) {
MatteoT 0:22b18227d29e 31
MatteoT 0:22b18227d29e 32
MatteoT 0:22b18227d29e 33 //compute new ESC values..
MatteoT 0:22b18227d29e 34
MatteoT 0:22b18227d29e 35 //set it
MatteoT 0:22b18227d29e 36 esc1.setThrottle(0.5);
MatteoT 0:22b18227d29e 37
MatteoT 0:22b18227d29e 38 //finally output to ESCs
MatteoT 0:22b18227d29e 39 esc1.pulse();
MatteoT 0:22b18227d29e 40 esc2.pulse();
MatteoT 0:22b18227d29e 41 esc3.pulse();
MatteoT 0:22b18227d29e 42 esc4.pulse();
MatteoT 0:22b18227d29e 43
MatteoT 0:22b18227d29e 44 Thread::wait(15);
MatteoT 0:22b18227d29e 45 }
MatteoT 0:22b18227d29e 46 }