Squashed 'tmk_core/' changes from caca2c0..dc0e46e
dc0e46e Rename LUFA to LUFA-git
3bfa7fa Remove LUFA-120730
215b764 Merge commit 'afa0f22a9299686fd88f58ce09c5b521ac917e8f' as 'protocol/lufa/LUFA'
afa0f22 Squashed 'protocol/lufa/LUFA/' content from commit def7fca
c0c42fa Remove submodule of LUFA
30f897d Merge commit '87ced33feb74e79c3281dda36eb6d6d153399b41' as 'protocol/usb_hid/USB_Host_Shield_2.0'
87ced33 Squashed 'protocol/usb_hid/USB_Host_Shield_2.0/' content from commit aab4a69
14f6d49 Remove submodule of USB_Host_Shield_2.0
git-subtree-dir: tmk_core
git-subtree-split: dc0e46eaa4367d4e218f8816e3c117895820f07c
This commit is contained in:
parent
4d116a04e9
commit
f6d56675f9
1575 changed files with 421901 additions and 63190 deletions
141
protocol/usb_hid/USB_Host_Shield_2.0/PS3Enums.h
Normal file
141
protocol/usb_hid/USB_Host_Shield_2.0/PS3Enums.h
Normal file
|
@ -0,0 +1,141 @@
|
|||
/* Copyright (C) 2012 Kristian Lauszus, TKJ Electronics. All rights reserved.
|
||||
|
||||
This software may be distributed and modified under the terms of the GNU
|
||||
General Public License version 2 (GPL2) as published by the Free Software
|
||||
Foundation and appearing in the file GPL2.TXT included in the packaging of
|
||||
this file. Please note that GPL2 Section 2[b] requires that all works based
|
||||
on this software must also be made publicly available under the terms of
|
||||
the GPL2 ("Copyleft").
|
||||
|
||||
Contact information
|
||||
-------------------
|
||||
|
||||
Kristian Lauszus, TKJ Electronics
|
||||
Web : http://www.tkjelectronics.com
|
||||
e-mail : kristianl@tkjelectronics.com
|
||||
*/
|
||||
|
||||
#ifndef _ps3enums_h
|
||||
#define _ps3enums_h
|
||||
|
||||
#include "controllerEnums.h"
|
||||
|
||||
/** Size of the output report buffer for the Dualshock and Navigation controllers */
|
||||
#define PS3_REPORT_BUFFER_SIZE 48
|
||||
|
||||
/** Report buffer for all PS3 commands */
|
||||
const uint8_t PS3_REPORT_BUFFER[PS3_REPORT_BUFFER_SIZE] PROGMEM = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xff, 0x27, 0x10, 0x00, 0x32,
|
||||
0xff, 0x27, 0x10, 0x00, 0x32,
|
||||
0xff, 0x27, 0x10, 0x00, 0x32,
|
||||
0xff, 0x27, 0x10, 0x00, 0x32,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
};
|
||||
|
||||
/** Size of the output report buffer for the Move Controller */
|
||||
#define MOVE_REPORT_BUFFER_SIZE 7
|
||||
|
||||
/** Used to set the LEDs on the controllers */
|
||||
const uint8_t PS3_LEDS[] PROGMEM = {
|
||||
0x00, // OFF
|
||||
0x01, // LED1
|
||||
0x02, // LED2
|
||||
0x04, // LED3
|
||||
0x08, // LED4
|
||||
|
||||
0x09, // LED5
|
||||
0x0A, // LED6
|
||||
0x0C, // LED7
|
||||
0x0D, // LED8
|
||||
0x0E, // LED9
|
||||
0x0F, // LED10
|
||||
};
|
||||
|
||||
/**
|
||||
* Buttons on the controllers.
|
||||
* <B>Note:</B> that the location is shifted 9 when it's connected via USB.
|
||||
*/
|
||||
const uint32_t PS3_BUTTONS[] PROGMEM = {
|
||||
0x10, // UP
|
||||
0x20, // RIGHT
|
||||
0x40, // DOWN
|
||||
0x80, // LEFT
|
||||
|
||||
0x01, // SELECT
|
||||
0x08, // START
|
||||
0x02, // L3
|
||||
0x04, // R3
|
||||
|
||||
0x0100, // L2
|
||||
0x0200, // R2
|
||||
0x0400, // L1
|
||||
0x0800, // R1
|
||||
|
||||
0x1000, // TRIANGLE
|
||||
0x2000, // CIRCLE
|
||||
0x4000, // CROSS
|
||||
0x8000, // SQUARE
|
||||
|
||||
0x010000, // PS
|
||||
0x080000, // MOVE - covers 12 bits - we only need to read the top 8
|
||||
0x100000, // T - covers 12 bits - we only need to read the top 8
|
||||
};
|
||||
|
||||
/**
|
||||
* Analog buttons on the controllers.
|
||||
* <B>Note:</B> that the location is shifted 9 when it's connected via USB.
|
||||
*/
|
||||
const uint8_t PS3_ANALOG_BUTTONS[] PROGMEM = {
|
||||
23, // UP_ANALOG
|
||||
24, // RIGHT_ANALOG
|
||||
25, // DOWN_ANALOG
|
||||
26, // LEFT_ANALOG
|
||||
0, 0, 0, 0, // Skip SELECT, L3, R3 and START
|
||||
|
||||
27, // L2_ANALOG
|
||||
28, // R2_ANALOG
|
||||
29, // L1_ANALOG
|
||||
30, // R1_ANALOG
|
||||
31, // TRIANGLE_ANALOG
|
||||
32, // CIRCLE_ANALOG
|
||||
33, // CROSS_ANALOG
|
||||
34, // SQUARE_ANALOG
|
||||
0, 0, // Skip PS and MOVE
|
||||
|
||||
// Playstation Move Controller
|
||||
15, // T_ANALOG - Both at byte 14 (last reading) and byte 15 (current reading)
|
||||
};
|
||||
|
||||
enum StatusEnum {
|
||||
// Note that the location is shifted 9 when it's connected via USB
|
||||
// Byte location | bit location
|
||||
Plugged = (38 << 8) | 0x02,
|
||||
Unplugged = (38 << 8) | 0x03,
|
||||
|
||||
Charging = (39 << 8) | 0xEE,
|
||||
NotCharging = (39 << 8) | 0xF1,
|
||||
Shutdown = (39 << 8) | 0x01,
|
||||
Dying = (39 << 8) | 0x02,
|
||||
Low = (39 << 8) | 0x03,
|
||||
High = (39 << 8) | 0x04,
|
||||
Full = (39 << 8) | 0x05,
|
||||
|
||||
MoveCharging = (21 << 8) | 0xEE,
|
||||
MoveNotCharging = (21 << 8) | 0xF1,
|
||||
MoveShutdown = (21 << 8) | 0x01,
|
||||
MoveDying = (21 << 8) | 0x02,
|
||||
MoveLow = (21 << 8) | 0x03,
|
||||
MoveHigh = (21 << 8) | 0x04,
|
||||
MoveFull = (21 << 8) | 0x05,
|
||||
|
||||
CableRumble = (40 << 8) | 0x10, // Operating by USB and rumble is turned on
|
||||
Cable = (40 << 8) | 0x12, // Operating by USB and rumble is turned off
|
||||
BluetoothRumble = (40 << 8) | 0x14, // Operating by Bluetooth and rumble is turned on
|
||||
Bluetooth = (40 << 8) | 0x16, // Operating by Bluetooth and rumble is turned off
|
||||
};
|
||||
|
||||
#endif
|
Loading…
Add table
Add a link
Reference in a new issue