Code to receive input from foot and hand module and sends data to computer as a key press
Dependencies: USBDevice XBee mbed
main.cpp
- Committer:
- jgensel3
- Date:
- 2017-04-24
- Revision:
- 0:bd28c60507b2
File content as of revision 0:bd28c60507b2:
#include "mbed.h" #include "XBee.h" #include "Wireless.h" #include "USBKeyboard.h" Serial pc(USBTX, USBRX); WirelessHost host(p28, p27); USBKeyboard keyboard; DigitalOut led1(LED1); WMessage_t message; int main() { int res; pc.printf("Xbee should be ready\r\n"); led1 = 1; while(1) { res = host.waitForMessage(&message); if (res >= 0) { switch (message.type) { case FOOT_STEP: printf("Foot: "); break; case HAND_GESTURE: printf("Hand: "); break; default: printf("[Unknown Type: %d]: ", message.type); } switch (message.direction) { case DIR_UP: //printf("UP"); keyboard.pressKey(UP_ARROW); break; case DIR_DOWN: //printf("DOWN"); keyboard.pressKey(DOWN_ARROW); break; case DIR_LEFT: //printf("LEFT"); keyboard.pressKey(LEFT_ARROW); break; case DIR_RIGHT: //printf("RIGHT"); keyboard.pressKey(RIGHT_ARROW); break; case DIR_NONE: //printf("NONE"); keyboard.releaseAllKeys(); break; case A_BUTTON: keyboard.pressKey('a'); wait(0.2); keyboard.releaseAllKeys(); break; case B_BUTTON: keyboard.pressKey('b'); wait(0.2); keyboard.releaseAllKeys(); break; default: printf("[Unknown Direction: %d]", message.direction); } printf("\r\n"); } else if (res == -99) { printf("Error: Error response from XBee\r\n"); } else if (res == -5) { printf("Received unexpected packet type from XBee, ignoring\r\n"); } else if (res == -10) { printf("Error: Received unknown packet format\r\n"); } else if (res != -1) { printf("Unknown error receiving message\r\n"); } } }