Line 1:
Line 1:
−
This library handles communication with controllers other than the Gamepad. It includes functions for the Wii Remote (WPAD), the Wii Balance Board (WBC), and a higher-level abstraction (KPAD). Unlike [[vpad.rpl]] for the Gamepad, this library appears to be optional, being loaded much closer to the application binary.
+
This library handles communication with controllers other than the Gamepad. It includes functions for the Wii Remote (WPAD), the Wii Balance Board (WBC -or- WUD), and a higher-level abstraction (KPAD). Unlike [[vpad.rpl]] for the Gamepad, this library appears to be optional, being loaded much closer to the application binary.
==Functions==
==Functions==
Line 5:
Line 5:
{| class="wikitable"
{| class="wikitable"
!Name
!Name
−
!Prototype
+
! scope="col" style="width: 360px;" | Prototype
!Description
!Description
|-
|-
Line 34:
Line 34:
|WPADSetAcceptConnection
|WPADSetAcceptConnection
|bool WPADSetAcceptConnection(bool acceptConnections);
|bool WPADSetAcceptConnection(bool acceptConnections);
−
|Set's whenever or not we allow new connectins
+
|Set's whenever or not we allow new connections
+
|-
+
|WPADStartSyncDevice
+
|bool WPADStartSyncDevice( void );
+
|Begins the pairing process required to use the Wii remote
+
|-
+
|WPADStartSyncDeviceEx
+
|bool WPADStartSyncDeviceEx( void );
+
|Begins the pairing process required to use the Wii remote (Ex version)
+
|-
+
|WPADCancelSyncDevice
+
|bool WPADCancelSyncDevice( void );
+
|Cancels the current device sync function
+
|-
+
|WPADStartClearDevice
+
|void WPADStartClearDevice( void );
+
|Removes all traces of wii remote from wii-U
+
|-
+
|WPADClearDeviceCallback
+
|void WPADClearDeviceCallback ( s32 );
+
|Sets the callback to call if the device information is completely deleted.
+
|-
+
|WPADSyncDeviceCallback
+
|void WPADSyncDeviceCallback( s32 result, s32 num );
+
|Set the callback if the sync button is pressed
|}
|}
Line 135:
Line 159:
</syntaxhighlight>
</syntaxhighlight>
|}
|}
+
+
==Tables==
+
=== List of Functions (Ioctl/Ioctlv/IoctlAsync/IoctlvAsync) ===
+
{| class="wikitable sortable"
+
! Command
+
! Function
+
! Ioctl
+
! Ioctlv
+
! IoctlAsync
+
! IoctlvAsync
+
! Notes
+
|-
+
| 0x00
+
| Unknown
+
|
+
|
+
|
+
| X
+
|
+
|-
+
| 0x01
+
| Unknown
+
| X
+
|
+
|
+
|
+
|
+
|-
+
| 0x02
+
| Unknown
+
| X
+
|
+
|
+
| X
+
|
+
|-
+
| 0x03
+
| Unknown
+
| X
+
|
+
|
+
|
+
|
+
|-
+
| 0x04
+
| WPADStartSyncDevice
+
|
+
|
+
|
+
| X
+
|
+
|-
+
| 0x06
+
| WPADPurgeBtDb
+
|
+
|
+
|
+
| X
+
|
+
|-
+
| 0x07
+
| Unknown
+
| X
+
|
+
|
+
|
+
|
+
|-
+
| 0x08
+
| WPADCancelSyncDevice
+
| X
+
|
+
|
+
| X
+
|
+
|-
+
| 0x09
+
| WPADSetDisableChannelImm
+
| X
+
|
+
|
+
| X
+
|
+
|-
+
| 0x0A
+
| WPADStartClearDevice
+
| X
+
|
+
|
+
| X
+
|
+
|-
+
| 0x0B
+
| WUDSetVisibility
+
|
+
|
+
|
+
| X
+
| WUD is Balance Board (aka WBC)
+
|-
+
| 0x0C
+
| WUDSetSniffMode
+
|
+
|
+
|
+
| X
+
|
+
|-
+
| 0x0E
+
| WPADSetClearDeviceCallback
+
|
+
|
+
|
+
| X
+
|
+
|-
+
| 0x11
+
| WUDSerialFlashUpdate
+
|
+
|
+
|
+
| X
+
|
+
|-
+
| 0x12
+
| WUDSerialFlashTestMode
+
|
+
|
+
|
+
| X
+
|
+
|-
+
| 0x13
+
| WUDSerialFlashTestWrite
+
|
+
|
+
|
+
| X
+
|
+
|-
+
| 0x14
+
| WUDSerialFlashTestRead
+
|
+
|
+
|
+
| X
+
|
+
|-
+
| 0x17
+
| WPADStartSyncDeviceEx
+
|
+
|
+
|
+
| X
+
|
+
|-
+
| 0x1A
+
| WPADDeleteControllerOrder
+
|
+
|
+
|
+
| X
+
|
+
|-
+
| 0x1B
+
| WPADSetSyncDeviceCallback
+
|
+
|
+
|
+
| X
+
|
+
|-
+
| 0x1C
+
| Unknown
+
|
+
|
+
|
+
| X
+
|