WPADGetInfoAsync

Syntax

#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;
}

typedef void (*WPADCallback) ( s32 chan, s32 result );

s32 WPADGetInfoAsync( s32 chan, WPADInfo *info, WPADCallback callback );

Arguments

chan One of the WPAD_CHANn values.
info A pointer to WPADInfo that copies the obtained information.
info Callback function to report on the result.

Return Values

Returns one of the following codes:

WPAD_ERR_NONE
WPAD_ERR_NO_CONTROLLER
WPAD_ERR_BUSY

Description

Gets the status of the Wii Remote for the specified channel. This function registers the status-getting command in the WPAD library. The WPAD library processes registered commands when other commands are not running.

Can get the following status types.

dpdThe Pointer's operational status.
speakerThe speaker's operational status.
attachExternal extension controller connection status.
lowBatWhether 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.
nearemptyWhether there is a small amount of audio data left in the sound buffer.
batteryThe battery level, indicated on a scale of five (WPAD_BATTERY_LEVEL_*). Indicates how much battery charge currently remains.
ledThe illumination status (WPAD_LED_CHAN_*) of the four Player Indicators.
protocolNot used.
firmwareNot used.

The return values have the following meanings:

WPAD_ERR_NONEThe WPAD library received a command.
WPAD_ERR_BUSYThe WPAD library was unable to receive a command.
WPAD_ERR_NO_CONTROLLERThe connection was broken.

In addition, if a callback function is set, the callback function returns the following error codes when the processing is complete. Their meanings are as follows:

WPAD_ERR_NONEStatus was retrieved normally.
WPAD_ERR_BUSYThe WPAD library was unable to receive a command. Call it again later.
WPAD_ERR_TRANSFERA communications error prevented normal processing of the command.
WPAD_ERR_NO_CONTROLLERThe connection was broken.

See Also

WPADGetInfo, WPADInfo

Revision History

2008/07/08 Added explanations related to lowBat and battery.
2007/09/18 Added nearempty to WPADInfo.
2006/11/29 Added WPAD_ERR_BUSY, which had been left out of the error codes passed by the callback.
2006/09/06 Added WPAD_BATTERY_LEVEL_CRITICAL.
2006/08/15 Added WPADInfo to See Also.
2006/06/19 Initial version.


CONFIDENTIAL