This is the first rev of HW3 for IDD
Dependencies: MMA8451Q USBDevice mbed nRF24L01P
Diff: main.cpp
- Revision:
- 1:b58cf7dd20d7
- Parent:
- 0:d89cdf3d29f8
- Child:
- 2:c3b748d86642
--- a/main.cpp Mon Sep 29 08:45:58 2014 +0000
+++ b/main.cpp Mon Sep 29 09:15:37 2014 +0000
@@ -4,9 +4,8 @@
#include "mbed.h"
#include "nRF24L01P.h" // nordic library
-
#define DEBUG 0
-#define BASE 0
+#define BASE 1
#include "USBMouseKeyboard.h" // for the sword - mouse/keyboard combo
@@ -58,8 +57,8 @@
float x_b, y_b; // acc bias
// Debug
-DigitalOut greenLED(LED_GREEN);
-DigitalOut redLED(LED_RED);
+//DigitalOut greenLED(LED_GREEN);
+//DigitalOut redLED(LED_RED);
AnalogIn ATTACK(A0);
@@ -160,7 +159,7 @@
int8_t dx = rxData[0];
int8_t dy = rxData[1];
-
+
bool mode_stat = (rxData[2] >> 7) & 1;
bool joy_but = (rxData[2] >> 6) & 1;
bool sel_stat = (rxData[2] >> 5) & 1;
@@ -169,7 +168,9 @@
bool key_s = (rxData[2] >> 2) & 1;
bool key_d = (rxData[2] >> 1) & 1;
bool key_a = (rxData[2] >> 0) & 1;
-
+
+ bool roll = (rxData[3] >> 0) & 1;
+
#if(BASE == 1)
MK.move(-dx, dy);
@@ -206,8 +207,10 @@
MK.putc('1'+mode_count);
mode_count = (mode_count+1)%3;
}
-
-
+ if(roll)
+ {
+ //MK.putc('r');
+ }
#endif
@@ -221,9 +224,8 @@
// Toggle LED2 (to help debug nRF24L01+ -> Host communication)
if (rxData[0] == 65 && rxData[1] == 66 && rxData[2] == 67){
- redLED = !redLED;
+// redLED = !redLED;
}
-
}
}
@@ -236,6 +238,9 @@
int YJOYVAL = YJOY.read_u16();
int JOYSELVAL = (int) JOYSEL;
+
+ bool roll = ((XJOYVAL > 65000) || (XJOYVAL < 500) || (YJOYVAL > 65000) || (YJOYVAL < 500)) ? true: 0;
+
bool mode_stat = (SELECTVAL > 45000) ? true: 0;
bool joy_but = JOYSEL == 0? true: 0;
bool sel_stat = (SELECTVAL > 10000 && SELECTVAL < 45000) ? true: 0;
@@ -250,7 +255,7 @@
pc.printf("F1: %d \t F2: %d \t X: %d \t Y: %d \t SEL: %d \r\n", ATTACKVAL, SELECTVAL, XJOYVAL, YJOYVAL, JOYSELVAL);
- greenLED = JOYSEL;
+// greenLED = JOYSEL;
// Let serial read catch up on base station/PC side
wait_us(150);
@@ -282,7 +287,7 @@
swordData[0] = lowX;
swordData[1] = lowY;
swordData[2] = char(key_stat);
- swordData[3] = char((sensor1ON << 7)|key_stat);
+ swordData[3] = char(roll);
// Send the transmitbuffer via the nRF24L01+
nordic.write( NRF24L01P_PIPE_P0, swordData, TRANSFER_SIZE );
@@ -299,7 +304,7 @@
#if DEBUG == 1
// Toggle LED1 (to help debug Host -> nRF24L01+ communication)
pc.printf("x: %f \t y: %f \r\n", mouse_x,mouse_y);
- greenLED = !greenLED;
+// greenLED = !greenLED;
// Display the receive buffer contents via the host serial link
for ( int i = 0; i < TRANSFER_SIZE; i++ ) {
@@ -309,7 +314,7 @@
// Toggle LED2 (to help debug nRF24L01+ -> Host communication)
if (rxData[0] == 65 && rxData[1] == 100 && rxData[2] == 100){
- redLED = !redLED;
+// redLED = !redLED;
}
#endif
@@ -319,8 +324,8 @@
isBladeSymphony = (rxData[0] >> 0) & 1;
motorON = (rxData[0] >> 1) & 1; // Motor ON when sword contact made
- greenLED = !isBladeSymphony; // LEDs active low
- redLED = !motorON;
+// greenLED = !isBladeSymphony; // LEDs active low
+// redLED = !motorON;
}
}