Ian Hua / Quadcopter-mbedRTOS
Committer:
pHysiX
Date:
Wed Apr 30 06:37:42 2014 +0000
Revision:
4:01921a136f58
Parent:
3:605fbcb54e75
Child:
5:4879ef0e6d41
Included RX Module read

Who changed what in which revision?

UserRevisionLine numberNew contents of line
pHysiX 2:ab967d7b4346 1 /* RC Command (50Hz) */
pHysiX 2:ab967d7b4346 2
pHysiX 1:43f8ac7ca6d7 3 #include "tasks.h"
pHysiX 1:43f8ac7ca6d7 4 #include "setup.h"
pHysiX 4:01921a136f58 5 #include "PwmIn.h"
pHysiX 1:43f8ac7ca6d7 6
pHysiX 1:43f8ac7ca6d7 7 float ypr_offset[3];
pHysiX 3:605fbcb54e75 8 bool box_demo = false;
pHysiX 3:605fbcb54e75 9
pHysiX 4:01921a136f58 10 PwmIn rxModule[] = {p14, p15, p16, p17, p18};
pHysiX 3:605fbcb54e75 11
pHysiX 3:605fbcb54e75 12 /* [YAW PITCH ROLL THROTTLE AUX] */
pHysiX 3:605fbcb54e75 13 int RCCommand[5] = {0, 0, 0, 0, 0};
pHysiX 1:43f8ac7ca6d7 14
pHysiX 1:43f8ac7ca6d7 15 void Task3(void const *argument)
pHysiX 1:43f8ac7ca6d7 16 {
pHysiX 1:43f8ac7ca6d7 17 if (BT.readable()) {
pHysiX 1:43f8ac7ca6d7 18 char data = BT.getc();
pHysiX 3:605fbcb54e75 19 if (data == 'B') {
pHysiX 4:01921a136f58 20 box_demo = true;
pHysiX 3:605fbcb54e75 21 } else if (data == 'Z') {
pHysiX 1:43f8ac7ca6d7 22 ypr_offset[0] = ypr[0];
pHysiX 1:43f8ac7ca6d7 23 ypr_offset[1] = ypr[1];
pHysiX 1:43f8ac7ca6d7 24 ypr_offset[2] = ypr[2];
pHysiX 3:605fbcb54e75 25 } else if (data == 'O') {
pHysiX 3:605fbcb54e75 26 box_demo = false;
pHysiX 1:43f8ac7ca6d7 27 }
pHysiX 1:43f8ac7ca6d7 28 }
pHysiX 4:01921a136f58 29 RCCommand[0] = rxModule[0].pulsewidth();
pHysiX 4:01921a136f58 30 RCCommand[1] = rxModule[1].pulsewidth();
pHysiX 4:01921a136f58 31 RCCommand[2] = rxModule[2].pulsewidth();
pHysiX 4:01921a136f58 32 RCCommand[3] = rxModule[3].pulsewidth();
pHysiX 3:605fbcb54e75 33
pHysiX 4:01921a136f58 34 if (rxModule[1].stallTimer.read_us() > 18900) {
pHysiX 4:01921a136f58 35 for (int i = 0; i < 4; i++)
pHysiX 4:01921a136f58 36 RCCommand[i] = 0;
pHysiX 3:605fbcb54e75 37 }
pHysiX 4:01921a136f58 38
pHysiX 4:01921a136f58 39 //BT.printf("%5d %5d %5d %5d\n", RCCommand[0], RCCommand[1], RCCommand[2], RCCommand[3]);
pHysiX 3:605fbcb54e75 40
pHysiX 2:ab967d7b4346 41 //LED[3] = !LED[3];
pHysiX 1:43f8ac7ca6d7 42 }