|
enum | WPADError {
WPAD_ERROR_NONE = 0
,
WPAD_ERROR_NO_CONTROLLER = -1
,
WPAD_ERROR_NOT_READY = -2
,
WPAD_ERROR_TRANSFER = -3
,
WPAD_ERROR_INVALID = -4
,
WPAD_ERROR_PERMISSION = -5
,
WPAD_ERROR_BROKEN = -6
,
WPAD_ERROR_QUEUE_EMPTY = -7
,
WPAD_ERROR_BAD_VALUE = -8
,
WPAD_ERROR_BAD_CONF = -9
} |
|
enum | WPADChan {
WPAD_CHAN_0 = 0
,
WPAD_CHAN_1 = 1
,
WPAD_CHAN_2 = 2
,
WPAD_CHAN_3 = 3
,
WPAD_CHAN_4 = 4
,
WPAD_CHAN_5 = 5
,
WPAD_CHAN_6 = 6
} |
| Wii Remote channel. More...
|
|
enum | WPADDataFormat {
WPAD_FMT_CORE = 0x00
,
WPAD_FMT_CORE_ACC = 0x01
,
WPAD_FMT_CORE_ACC_DPD = 0x02
,
WPAD_FMT_NUNCHUK = 0x03
,
WPAD_FMT_NUNCHUK_ACC = 0x04
,
WPAD_FMT_NUNCHUK_ACC_DPD = 0x05
,
WPAD_FMT_CLASSIC = 0x06
,
WPAD_FMT_CLASSIC_ACC = 0x07
,
WPAD_FMT_CLASSIC_ACC_DPD = 0x08
,
WPAD_FMT_CORE_ACC_DPD_FULL = 0x09
,
WPAD_FMT_TRAIN = 0x0A
,
WPAD_FMT_GUITAR = 0x0B
,
WPAD_FMT_BALANCE_BOARD = 0x0C
,
WPAD_FMT_DRUM = 0x0F
,
WPAD_FMT_MPLUS = 0x10
,
WPAD_FMT_TAIKO = 0x11
,
WPAD_FMT_PRO_CONTROLLER = 0x16
} |
| Data format. More...
|
|
enum | WPADExtensionType {
WPAD_EXT_CORE = 0x00
,
WPAD_EXT_NUNCHUK = 0x01
,
WPAD_EXT_CLASSIC = 0x02
,
WPAD_EXT_BALANCE_BOARD = 0x03
,
WPAD_EXT_MPLUS = 0x05
,
WPAD_EXT_MPLUS_NUNCHUK = 0x06
,
WPAD_EXT_MPLUS_CLASSIC = 0x07
,
WPAD_EXT_TRAIN = 0x10
,
WPAD_EXT_GUITAR = 0x11
,
WPAD_EXT_DRUM = 0x12
,
WPAD_EXT_TAIKO = 0x13
,
WPAD_EXT_PRO_CONTROLLER = 0x1f
,
WPAD_EXT_DEV_NOT_FOUND = 0xfd
,
WPAD_EXT_UNKNOWN = 0xff
} |
| Extension type. More...
|
|
enum | WPADButton {
WPAD_BUTTON_LEFT = 0x0001
,
WPAD_BUTTON_RIGHT = 0x0002
,
WPAD_BUTTON_DOWN = 0x0004
,
WPAD_BUTTON_UP = 0x0008
,
WPAD_BUTTON_PLUS = 0x0010
,
WPAD_BUTTON_2 = 0x0100
,
WPAD_BUTTON_1 = 0x0200
,
WPAD_BUTTON_B = 0x0400
,
WPAD_BUTTON_A = 0x0800
,
WPAD_BUTTON_MINUS = 0x1000
,
WPAD_BUTTON_Z = 0x2000
,
WPAD_BUTTON_C = 0x4000
,
WPAD_BUTTON_HOME = 0x8000
} |
| Wii Remote buttons. More...
|
|
enum | WPADNunchukButton {
WPAD_NUNCHUK_STICK_EMULATION_LEFT = 0x0001
,
WPAD_NUNCHUK_STICK_EMULATION_RIGHT = 0x0002
,
WPAD_NUNCHUK_STICK_EMULATION_DOWN = 0x0004
,
WPAD_NUNCHUK_STICK_EMULATION_UP = 0x0008
,
WPAD_NUNCHUK_BUTTON_Z = 0x2000
,
WPAD_NUNCHUK_BUTTON_C = 0x4000
} |
| Nunchuk buttons. More...
|
|
enum | WPADClassicButton {
WPAD_CLASSIC_BUTTON_UP = 0x00000001
,
WPAD_CLASSIC_BUTTON_LEFT = 0x00000002
,
WPAD_CLASSIC_BUTTON_ZR = 0x00000004
,
WPAD_CLASSIC_BUTTON_X = 0x00000008
,
WPAD_CLASSIC_BUTTON_A = 0x00000010
,
WPAD_CLASSIC_BUTTON_Y = 0x00000020
,
WPAD_CLASSIC_BUTTON_B = 0x00000040
,
WPAD_CLASSIC_BUTTON_ZL = 0x00000080
,
WPAD_CLASSIC_BUTTON_R = 0x00000200
,
WPAD_CLASSIC_BUTTON_PLUS = 0x00000400
,
WPAD_CLASSIC_BUTTON_HOME = 0x00000800
,
WPAD_CLASSIC_BUTTON_MINUS = 0x00001000
,
WPAD_CLASSIC_BUTTON_L = 0x00002000
,
WPAD_CLASSIC_BUTTON_DOWN = 0x00004000
,
WPAD_CLASSIC_BUTTON_RIGHT = 0x00008000
,
WPAD_CLASSIC_STICK_L_EMULATION_LEFT = 0x00010000
,
WPAD_CLASSIC_STICK_L_EMULATION_RIGHT = 0x00020000
,
WPAD_CLASSIC_STICK_L_EMULATION_DOWN = 0x00040000
,
WPAD_CLASSIC_STICK_L_EMULATION_UP = 0x00080000
,
WPAD_CLASSIC_STICK_R_EMULATION_LEFT = 0x00100000
,
WPAD_CLASSIC_STICK_R_EMULATION_RIGHT = 0x00200000
,
WPAD_CLASSIC_STICK_R_EMULATION_DOWN = 0x00400000
,
WPAD_CLASSIC_STICK_R_EMULATION_UP = 0x00800000
} |
| Classic Controller buttons. More...
|
|
enum | WPADProButton {
WPAD_PRO_BUTTON_UP = 0x00000001
,
WPAD_PRO_BUTTON_LEFT = 0x00000002
,
WPAD_PRO_BUTTON_ZR = 0x00000004
,
WPAD_PRO_TRIGGER_ZR = WPAD_PRO_BUTTON_ZR
,
WPAD_PRO_BUTTON_X = 0x00000008
,
WPAD_PRO_BUTTON_A = 0x00000010
,
WPAD_PRO_BUTTON_Y = 0x00000020
,
WPAD_PRO_BUTTON_B = 0x00000040
,
WPAD_PRO_BUTTON_ZL = 0x00000080
,
WPAD_PRO_TRIGGER_ZL = WPAD_PRO_BUTTON_ZL
,
WPAD_PRO_RESERVED = 0x00000100
,
WPAD_PRO_BUTTON_R = 0x00000200
,
WPAD_PRO_TRIGGER_R = WPAD_PRO_BUTTON_R
,
WPAD_PRO_BUTTON_PLUS = 0x00000400
,
WPAD_PRO_BUTTON_HOME = 0x00000800
,
WPAD_PRO_BUTTON_MINUS = 0x00001000
,
WPAD_PRO_BUTTON_L = 0x00002000
,
WPAD_PRO_TRIGGER_L = WPAD_PRO_BUTTON_L
,
WPAD_PRO_BUTTON_DOWN = 0x00004000
,
WPAD_PRO_BUTTON_RIGHT = 0x00008000
,
WPAD_PRO_BUTTON_STICK_R = 0x00010000
,
WPAD_PRO_BUTTON_STICK_L = 0x00020000
,
WPAD_PRO_STICK_L_EMULATION_UP = 0x00200000
,
WPAD_PRO_STICK_L_EMULATION_DOWN = 0x00100000
,
WPAD_PRO_STICK_L_EMULATION_LEFT = 0x00040000
,
WPAD_PRO_STICK_L_EMULATION_RIGHT = 0x00080000
,
WPAD_PRO_STICK_R_EMULATION_UP = 0x02000000
,
WPAD_PRO_STICK_R_EMULATION_DOWN = 0x01000000
,
WPAD_PRO_STICK_R_EMULATION_LEFT = 0x00400000
,
WPAD_PRO_STICK_R_EMULATION_RIGHT = 0x00800000
} |
| Pro Controller buttons. More...
|
|
enum | WPADLed {
WPAD_LED_ONE = 0x01
,
WPAD_LED_TWO = 0x02
,
WPAD_LED_THREE = 0x04
,
WPAD_LED_FOUR = 0x08
} |
| WPAD Led flags. More...
|
|
enum | WPADDpdFormat {
WPAD_DPD_FMT_NONE = 0
,
WPAD_DPD_FMT_BASIC = 1
,
WPAD_DPD_FMT_EXTENDED = 3
,
WPAD_DPD_FMT_FULL = 5
} |
| WPAD Infrared Format. For more information see IR Data Formats More...
|
|
enum | WPADSpeakerCmd {
WPAD_SPEAKER_CMD_OFF = 0
,
WPAD_SPEAKER_CMD_ON = 1
,
WPAD_SPEAKER_CMD_MUTE = 2
,
WPAD_SPEAKER_CMD_UNMUTE = 3
,
WPAD_SPEAKER_CMD_PLAY = 4
,
WPAD_SPEAKER_CMD_ON_ALT = 5
} |
| WPAD Speaker Command. More...
|
|
enum | WPADMplsMode {
WPAD_MPLS_MODE_DISABLE = 0
,
WPAD_MPLS_MODE_MPLS_ONLY = 4
,
WPAD_MPLS_MODE_MPLS_NUNCHUK = 5
,
WPAD_MPLS_MODE_MPLS_CLASSIC = 7
} |
| MotionPlus Mode. More...
|
|
enum | WPADMplsStatus {
WPAD_MPLS_STATUS_ATTACHED = 0x01
,
WPAD_MPLS_STATUS_ROLL_CONV = 0x02
,
WPAD_MPLS_STATUS_PITCH_CONV = 0x04
,
WPAD_MPLS_STATUS_YAW_CONV = 0x08
,
WPAD_MPLS_STATUS_EXT_VALID = 0x40
,
WPAD_MPLS_STATUS_VALID = 0x80
} |
| MotionPlus status flags. More...
|
|
enum | WPADPeripheralSpace {
WPAD_PERIPHERAL_SPACE_SPEAKER = 0xA2
,
WPAD_PERIPHERAL_SPACE_EXTENSION = 0xA4
,
WPAD_PERIPHERAL_SPACE_MOTIONPLUS = 0xA6
,
WPAD_PERIPHERAL_SPACE_DPD = 0xB0
} |
| WPAD Peripheral Memory Space Prefixes. More...
|
|
enum | WPADBalanceBoardCmd {
WPAD_BALANCE_BOARD_CMD_UPDATE_TEMP = 0x00
,
WPAD_BALANCE_BOARD_CMD_OFF = 0x55
,
WPAD_BALANCE_BOARD_CMD_ON = 0xAA
} |
| Balance Board commands. More...
|
|
|
| WUT_ENUM_BITMASK_TYPE (WPADLed) |
|
void | WPADInit (void) |
| Initialises the WPAD library for use.
|
|
void | WPADShutdown (void) |
| Cleans up and frees the WPAD library.
|
|
BOOL | WPADGetStatus (void) |
| Get the status of the WPAD library.
|
|
void | WPADDisconnect (WPADChan channel) |
| Immediately disconnects the associated controller.
|
|
WPADError | WPADProbe (WPADChan channel, WPADExtensionType *outExtensionType) |
| Identifies the extension connected to the associated controller.
|
|
WPADError | WPADSetDataFormat (WPADChan channel, WPADDataFormat format) |
| Sets the data format of the controller, can be used to reduce or increase the amount of data received.
|
|
WPADDataFormat | WPADGetDataFormat (WPADChan channel) |
| Gets the data format in use by the controller.
|
|
void | WPADRead (WPADChan channel, WPADStatus *status) |
| Reads data for a given Wii Remote.
|
|
WPADError | WPADControlLed (WPADChan channel, WPADLed led, WPADCallback callback) |
| Controls the associated Wii Remote's LEDs.
|
|
WPADError | WPADControlDpd (WPADChan channel, WPADDpdFormat mode, WPADCallback callback) |
| Controls the Wii Remote's IR sensor.
|
|
WPADDpdFormat | WPADGetDpdFormat (WPADChan channel) |
| Returns the associated Wii Remote's IR mode.
|
|
void | WPADControlMotor (WPADChan channel, BOOL motorEnabled) |
| Controls the associated WPADChan's rumble motor.
|
|
int32_t | WPADControlSpeaker (WPADChan channel, WPADSpeakerCmd mode, WPADCallback callback) |
| Sets the Wii Remote speaker mode.
|
|
BOOL | WPADIsSpeakerEnabled (WPADChan channel) |
| Returns whether the Wii Remote's speaker is enabled.
|
|
BOOL | WPADCanSendStreamData (WPADChan channel) |
| Returns whether it is possible to send data to the Wii Remote's speaker at this moment May return false if device type is unknown, or the device is too busy.
|
|
WPADError | WPADSendStreamData (WPADChan channel, const void *data, uint32_t size) |
| Sends data to be played by Wii Remote speaker make sure the data is in the format the speaker was initialized for, (4-bit Yamaha ADPCM by default)
|
|
uint32_t | WENCGetEncodeData (WENCParams *params, BOOL continuing, const int16_t *samples, uint32_t sampleCount, uint8_t *outEncodedData) |
| Encode 16-bit LPCM as 4-bit Yamaha ADPCM.
|
|
uint8_t | WPADGetSpeakerVolume (void) |
| Returns the global Wii Remote speaker volume.
|
|
void | WPADSetSpeakerVolume (uint8_t volume) |
| Sets the global Wii Remote speaker volume.
|
|
int32_t | WPADIsMplsAttached (WPADChan channel, BOOL *outEnabled, WPADCallback callback) |
| Gets whether MotionPlus is enabled for the WPAD.
|
|
int32_t | WPADIsMplsIntegrated (WPADChan channel) |
| Returns whether the WPADChan has MotionPlus integrated.
|
|
WPADError | WPADGetInfo (WPADChan channel, WPADInfo *outInfo) |
| Retrieves status info from the controller.
|
|
WPADError | WPADGetInfoAsync (WPADChan channel, WPADInfo *outInfo, WPADCallback callback) |
| Retrieves status info from the controller asynchronously.
|
|
WPADError | WPADReadMemoryAsync (WPADChan channel, void *destination, uint16_t size, uint32_t address, WPADCallback callback) |
| Reads from the device's memory.
|
|
WPADError | WPADWriteMemoryAsync (WPADChan channel, void *source, uint32_t size, uint32_t address, WPADCallback callback) |
| Writes to the device's memory.
|
|
WPADError | WPADReadExtReg (WPADChan channel, void *destination, uint16_t size, WPADPeripheralSpace peripheral, uint32_t address, WPADCallback callback) |
| Reads from the registers of the Wii Remote's peripherals.
|
|
WPADError | WPADWriteExtReg (WPADChan channel, const void *source, uint32_t size, WPADPeripheralSpace peripheral, uint32_t address, WPADCallback callback) |
| Writes to the registers of the Wii Remote's peripherals.
|
|
WPADError | WPADGetBLCalibration (WPADChan channel, void *destination, uint32_t address, uint32_t size, WPADCallback callback) |
| Read Balance Board calibration.
|
|
void | WPADSetPowerSaveMode (WPADChan channel, BOOL powerSave) |
| Sets power save mode, this makes the controller only report input data when it changes.
|
|
BOOL | WPADGetPowerSaveMode (WPADChan channel) |
|
void | WPADGetAddress (WPADChan channel, WPADAddress *outAddress) |
| Retrieves the bluetooth address of the controller.
|
|
void | WPADEnableMotor (BOOL enable) |
| Enables/disables motors globally.
|
|
BOOL | WPADIsMotorEnabled (void) |
| Returns whether motors are disabled globally.
|
|
void | WPADEnableURCC (BOOL enable) |
| Enables/disables Wii U Pro Controller support.
|
|
BOOL | WPADIsEnabledURC (void) |
| Returns whether Wii U Pro Controllers are supported.
|
|
void | WPADEnableWBC (void) |
| Enables/disables Wii Balance Board support.
|
|
BOOL | WPADIsEnableWBC (void) |
| Returns whether Wii Balance Boards are supported.
|
|
void | WPADEnableWiiRemote (BOOL enable) |
| Enables/disables Wii Remote support.
|
|
void | WPADSetAutoSleepTime (uint8_t time) |
|
BOOL | WPADStartSyncDevice (void) |
| Starts searching for a WPAD controller in pairing mode and syncs with it.
|
|
BOOL | WPADStartSyncDeviceEx (WPADAddress *deviceAddress, const char *deviceName) |
| Starts attempts to sync with a WPAD with the specified properties.
|
|
WPADConnectCallback | WPADSetConnectCallback (WPADChan channel, WPADCallback callback) |
| Sets function to be run upon controller connect/disconnect.
|
|
WPADExtensionCallback | WPADSetExtensionCallback (WPADChan channel, WPADExtensionCallback callback) |
| Sets the function to be run upon extension connect and motion plus activation.
|
|
void | WPADSetAutoSamplingBuf (WPADChan channel, void *buf, uint32_t count) |
| Sets a custom status ring buffer for a Wii Remote.
|
|
uint32_t | WPADGetLatestIndexInBuf (WPADChan channel) |
| Returns the index of the most recent status sample for a Wii Remote.
|
|
WPADSamplingCallback | WPADSetSamplingCallback (WPADChan channel, WPADSamplingCallback callback) |
| Registers a callback to be invoked whenever new WPADStatus* data is stored in the ring buffer.
|
|
void | WPADiShutdown (void) |
|
void | WPADiClearQueue (WPADiQueue *queue) |
| Clears all elements from queue.
|
|
bool | WPADiIsAvailableCmdQueue (WPADiQueue *queue, uint32_t count) |
| Checks if there is enough space in the queue.
|
|
int32_t | WPADiHIDParser (WPADChan channel, const uint8_t *hidData) |
| Parses incoming HID report data for a controller.
|
|
BOOL | WPADiSendSetVibrator (WPADiQueue *cmdQueue) |
| Queues HID Report for Rumble Update.
|
|
BOOL | WPADiSendSetPort (WPADiQueue *cmdQueue, WPADLed led, WPADCallback callback) |
| Queues HID Report for setting LEDs used internally by WPADControlLed.
|
|
BOOL | WPADiSendSetReportType (WPADiQueue *cmdQueue, WPADDataFormat dataFormat, BOOL powerSave, WPADCallback callback) |
| Queues HID Report for setting data reporting mode used internally by WPADSetPowerSaveMode.
|
|
BOOL | WPADiSendGetContStat (WPADiQueue *cmdQueue, WPADInfo *outInfo, WPADCallback callback) |
| Queues HID report for a controller status request used internally by WPADGetInfoAsync and several other functions.
|
|
BOOL | WPADiSendEnableDPD (WPADiQueue *cmdQueue, BOOL enable, WPADCallback callback) |
| Queues HID Report for enabling the IR Camera clock used internally by WPADControlDpd.
|
|
BOOL | WPADiSendEnableDPDCSB (WPADiQueue *cmdQueue, BOOL enable, WPADCallback callback) |
| Queues HID Report for enabling IR Camera used internally by WPADControlDpd.
|
|
BOOL | WPADiSendEnableSpeaker (WPADiQueue *cmdQueue, BOOL enable, WPADCallback callback) |
| Queues HID Report for enabling speakers.
|
|
BOOL | WPADiSendMuteSpeaker (WPADiQueue *cmdQueue, BOOL mute, WPADCallback callback) |
| Queues HID Report for muting speakers used internally by .
|
|
BOOL | WPADiSendStreamData (WPADiQueue *cmdQueue, void *source, uint32_t size) |
| Queues HID Report for sending speaker stream data used internally by WPADSendStreamData.
|
|
BOOL | WPADiSendWriteDataCmd (WPADiQueue *cmdQueue, uint8_t byte, uint32_t address, WPADCallback callback) |
| Queues HID Report for a single-byte memory write.
|
|
BOOL | WPADiSendWriteData (WPADiQueue *cmdQueue, void *source, uint32_t size, uint32_t address, WPADCallback callback) |
| Queues HID Report for a multi-byte memory write used internally by WPADWriteMemoryAsync.
|
|
BOOL | WPADiSendReadData (WPADiQueue *cmdQueue, void *destination, uint16_t size, uint32_t address, WPADCallback callback) |
| Queues HID Report for a memory read used internally by WPADReadMemoryAsync.
|
|
uint32_t * | WPADiGetGameCode (void) |
| Game code (identifier), which may be saved to the EEPROM of connected controllers.
|
|
uint8_t | WPADiGetGameType (void) |
| Game type, which may be saved to the EEPROM of connected controllers.
|
|
void | WPADSetGameTitleUtf16 (const uint16_t *title) |
| Sets game title for all connected controllers.
|
|
WPADError | WPADGetGameTitleUtf16 (WPADChan channel, uint16_t **outTitle) |
| Gets game title stored on specified controller.
|
|
WPADError | WPADGetGameDataTimestamp (WPADChan channel, OSTime *outTimestamp) |
| Get the time that game data was written.
|
|
WPADError | WPADiWriteGameData (WPADChan channel, const void *source, uint16_t size, uint32_t offset, WPADCallback callback) |
| Write custom game data to the controller's EEPROM.
|
|
WPADError | WPADiReadGameData (WPADChan channel, void *destination, uint16_t size, uint32_t offset, WPADCallback callback) |
| Read custom game data from the controller's EEPROM.
|
|
WPADMplsMode | WPADiGetMplsStatus (void) |
| Get MotionPlus mode.
|
|
uint8_t | WPADGetBatteryLevel (WPADChan channel) |
| Returns the battery level.
|
|
WPADError | WPADControlBLC (WPADChan channel, WPADBalanceBoardCmd command, WPADCallback callback) |
| Sends a command to the balance board.
|
|
WPAD is a low-level library under KPAD.