1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
-
-
- #include <USBJoystick.h>
-
- unsigned short a2dValue;
- unsigned char high;
- unsigned char low;
- unsigned char temp;
- unsigned char report[8];
-
-
- void setup() {
-
- pinMode (9,INPUT);
- pinMode (10,INPUT);
- pinMode (11,INPUT);
- pinMode (12,INPUT);
-
- }
-
- void loop () {
- UsbJoystick.refresh();
- calculateReport();
- UsbJoystick.sendJoystick(report[0],report[1],reportBuffer[2],report[3],report[4],report[5],report[6],report[7]);
- }
-
- void calculateReport() {
-
- a2dValue = analogRead(0);
- high = a2dValue >> 8;
- low = a2dValue & 255;
- report[0] = low;
- temp = high;
-
- a2dValue = analogRead(1);
- high = a2dValue >> 6;
- low = a2dValue & 63;
- report[1] = (low << 2) + temp;
- temp = high;
-
- a2dValue =analogRead(2);
- high = a2dValue >> 4;
- low = a2dValue & 15;
- report[2] = (low << 4) + temp;
- temp = high;
-
- a2dValue = analogRead(3);
- high = a2dValue >> 2;
- low = a2dValue & 3;
- report[3] = (low << 6) + temp;
- temp = high;
-
- high = 0;
- low = 0;
- report[4] = temp;
- temp = high;
-
- a2dValue = analogRead(4);
- high = a2dValue >> 8;
- low = a2dValue & 255;
- report[5] = low + temp;
- temp = high;
-
- a2dValue = analogRead(5);
- high = a2dValue >> 6;
- low = a2dValue & 63;
- report[6] = (low << 2) + temp;
- temp = high;
-
-
-
- report[7] = (temp & 15) + (digitalRead(9) << 4) + (digitalRead(10) << 5) + (digitalRead(11) << 6) + (digitalRead(12) << 7);
-
- }
|