#include <revolution/wpad.h>
#define WPAD_CHAN0 0
#define WPAD_CHAN1 1
#define WPAD_CHAN2 2
#define WPAD_CHAN3 3
#define WPAD_BATTERY_LEVEL_CRITICAL 0
#define WPAD_BATTERY_LEVEL_LOW 1
#define WPAD_BATTERY_LEVEL_MEDIUM 2
#define WPAD_BATTERY_LEVEL_HIGH 3
#define WPAD_BATTERY_LEVEL_MAX 4
#define WPAD_LED_CHAN_1 0x1
#define WPAD_LED_CHAN_2 0x2
#define WPAD_LED_CHAN_3 0x4
#define WPAD_LED_CHAN_4 0x8
typedef struct WPADInfo
{
BOOL dpd;
BOOL speaker;
BOOL attach;
BOOL lowBat;
BOOL nearempty;
u8 battery;
u8 led;
u8 protocol;
u8 firmware;
}
s32 WPADGetInfo( s32 chan, WPADInfo *info );
| chan | One of the WPAD_CHANn values. |
|---|---|
| info | A pointer to WPADInfo that copies the obtained information. |
Returns one of the following codes:
WPAD_ERR_NONE
WPAD_ERR_NO_CONTROLLER
WPAD_ERR_BUSY
WPAD_ERR_TRANSFER
Gets the status of the Wii Remote for the specified channel. This function registers a status-requesting command to the WPAD library and waits for the WPAD library to complete its processes.
Problems may arise if this function is called too frequently. For example, sound may not play from the Wii remote speaker. This function is also used by the HOME Menu library, so be particularly careful about calling this function when the HOME Menu is displayed.
Can get the following status types.
| dpd | The Pointer's operational status. |
|---|---|
| speaker | The speaker's operational status. |
| attach | External extension controller connection status. |
| lowBat | Whether the indicator brightness is dropping. Voltages that change the indicator brightness exhibit hysteresis. Note that the brightness will drop when the battery level reaches WPAD_BATTERY_LEVEL_LOW, but the brightness will not be restored immediately even if the battery level changes to WPAD_BATTERY_LEVEL_MEDIUM afterwards. |
| nearempty | Whether there is a small amount of audio data left in the sound buffer. |
| battery | The battery level, indicated on a scale of five (WPAD_BATTERY_LEVEL_*). Indicates how much battery charge currently remains. |
| led | The illumination status (WPAD_LED_CHAN_*) of the four Player Indicators. |
| protocol | Not used. |
| firmware | Not used. |
The return values have the following meanings:
| WPAD_ERR_NONE | Status was retrieved normally. |
|---|---|
| WPAD_ERR_BUSY | The WPAD library was unable to receive a command. |
| WPAD_ERR_NO_CONTROLLER | The connection was broken. |
| WPAD_ERR_TRANSFER | A communications error prevented normal processing of the command. |
Note:
This function sometimes puts the current thread to sleep, so it cannot be called from callback functions. Refer to Interrupts and Callback Functions.
WPADGetInfoAsync
WPADInfoInterrupts and Callback Functions
2009/11/27 Added a caution regarding use while HOME menu is displaying.
2008/07/08 Added explanations related to lowBat and battery.
2007/09/18 Added nearempty to WPADInfo.
2007/09/11 Added a note related to Interrupts and Callback Functions.
2006/09/06 Added WPAD_BATTERY_LEVEL_CRITICAL.
2006/08/15 Added WPADInfo to See Also.
2006/06/19 Initial version.
CONFIDENTIAL