USB HID Joystick Example (modified USBMouse)

Dependencies:   mbed

Committer:
bricklife
Date:
Wed Jan 19 11:27:13 2011 +0000
Revision:
1:ec6deffecbd3
Parent:
0:d450e82033a1

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bricklife 0:d450e82033a1 1 #include "mbed.h"
bricklife 0:d450e82033a1 2 #include "usbhid.h"
bricklife 0:d450e82033a1 3
bricklife 0:d450e82033a1 4 DigitalOut led(LED1);
bricklife 0:d450e82033a1 5
bricklife 0:d450e82033a1 6 BusIn buttons(
bricklife 0:d450e82033a1 7 p5, p6, p7, p8, // PS3: Square, x, o, Triangle
bricklife 0:d450e82033a1 8 p9, p10, p11, p12, // PS3: L1, R1, L2, R2
bricklife 0:d450e82033a1 9 p13, p14, p15, p16 // PS3: SELECT, START, L3, R3
bricklife 0:d450e82033a1 10 );
bricklife 0:d450e82033a1 11
bricklife 0:d450e82033a1 12 AnalogIn analog_x(p17); // PS3: Left Analog Stick X-axis
bricklife 0:d450e82033a1 13 AnalogIn analog_y(p18); // PS3: Left Analog Stick Y-axis
bricklife 0:d450e82033a1 14 AnalogIn analog_z(p19); // PS3: Right Analog Stick X-axis
bricklife 0:d450e82033a1 15 AnalogIn analog_rz(p20); // PS3: Right Analog Stick Y-axis
bricklife 0:d450e82033a1 16
bricklife 0:d450e82033a1 17 BusIn stick(
bricklife 0:d450e82033a1 18 p21, p22, p23, p24 // PS3: Up, Down, Left, Right
bricklife 0:d450e82033a1 19 );
bricklife 0:d450e82033a1 20
bricklife 0:d450e82033a1 21 USBJoystick joystick;
bricklife 0:d450e82033a1 22
bricklife 0:d450e82033a1 23 int main() {
bricklife 0:d450e82033a1 24 while(1) {
bricklife 0:d450e82033a1 25 signed char x = (analog_x.read_u16() >> 8) - 0x80;
bricklife 0:d450e82033a1 26 signed char y = (analog_y.read_u16() >> 8) - 0x80;
bricklife 0:d450e82033a1 27 signed char z = (analog_z.read_u16() >> 8) - 0x80;
bricklife 0:d450e82033a1 28 signed char rz = (analog_rz.read_u16() >> 8) - 0x80;
bricklife 0:d450e82033a1 29
bricklife 0:d450e82033a1 30 joystick.joystick(stick.read(), buttons.read(), x, y, z, rz);
bricklife 0:d450e82033a1 31
bricklife 0:d450e82033a1 32 led = (buttons > 0 || stick > 0) ? 1 : 0;
bricklife 0:d450e82033a1 33
bricklife 0:d450e82033a1 34 wait(0.01);
bricklife 0:d450e82033a1 35 }
bricklife 0:d450e82033a1 36 }