Work in progress...
Dependencies: ESC FreeIMU mbed-rtos mbed
Experiment - work in progress...
main.cpp@0:22b18227d29e, 2013-07-19 (annotated)
- Committer:
- MatteoT
- Date:
- Fri Jul 19 03:29:42 2013 +0000
- Revision:
- 0:22b18227d29e
- Child:
- 1:acb2e0f9d1bc
experiment
Who changed what in which revision?
User | Revision | Line number | New 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 | } |