|
wiiuse
|
API header file. More...
#include <stdint.h>#include <stdio.h>

Go to the source code of this file.
Classes | |
| struct | read_req_t |
| Data read request structure. More... | |
| struct | ang3s_t |
| Roll/Pitch/Yaw short angles. More... | |
| struct | ang3f_t |
| Roll/Pitch/Yaw float angles. More... | |
| struct | vec2b_t |
| Unsigned x,y byte vector. More... | |
| struct | vec3b_t |
| Unsigned x,y,z byte vector. More... | |
| struct | vec3f_t |
| Signed x,y,z float struct. More... | |
| struct | orient_t |
| Orientation struct. More... | |
| struct | gforce_t |
| Gravity force struct. More... | |
| struct | accel_t |
| Accelerometer struct. More... | |
| struct | ir_dot_t |
| A single IR source. More... | |
| struct | ir_t |
| IR struct. More... | |
| struct | joystick_t |
| Joystick calibration structure. More... | |
| struct | nunchuk_t |
| Nunchuk expansion device. More... | |
| struct | classic_ctrl_t |
| Classic controller expansion device. More... | |
| struct | guitar_hero_3_t |
| Guitar Hero 3 expansion device. More... | |
| struct | motion_plus_t |
| Motion Plus expansion device. More... | |
| struct | tatacon_t |
| Tatacon expansion device. More... | |
| struct | wii_board_t |
| Wii Balance Board "expansion" device. More... | |
| struct | expansion_t |
| Generic expansion device plugged into wiimote. More... | |
| struct | wiimote_state_t |
| Significant data from the previous event. More... | |
| struct | wiimote_t |
| Main Wiimote device structure. More... | |
| struct | wiimote_callback_data_t |
| Data passed to a callback during wiiuse_update() More... | |
| struct | data_req_t |
| Data write request structure. More... | |
Macros | |
| #define | WIIUSE_MAJOR 0 |
| #define | WIIUSE_MINOR 15 |
| #define | WIIUSE_MICRO 7 |
| #define | WIIUSE_VERSION_TRANSFORM(MAJ, MIN, MICRO) (MAJ * 1000000 + MIN * 1000 + MICRO) |
| #define | WIIUSE_HAS_VERSION(MAJ, MIN, MICRO) |
| #define | WIIUSE_SYNC_HANDSHAKE |
| #define | WIIUSE_EXPORT_DECL |
| #define | WIIUSE_IMPORT_DECL |
| #define | WIIUSE_EXPORT WIIUSE_IMPORT_DECL |
| #define | WIIUSE_HAS_OUTPUT_REDIRECTION |
| Define indicating the presence of the feature allowing you to redirect output for one or more logging levels within the library. | |
Wiimote state flags and macros | |
| #define | WIIMOTE_STATE_DEV_FOUND 0x0001 |
| #define | WIIMOTE_STATE_HANDSHAKE 0x0002 /* actual connection exists but no handshake yet */ |
| #define | WIIMOTE_STATE_HANDSHAKE_COMPLETE 0x0004 /* actual connection exists but no handshake yet */ |
| #define | WIIMOTE_STATE_CONNECTED 0x0008 |
| #define | WIIMOTE_STATE_RUMBLE 0x0010 |
| #define | WIIMOTE_STATE_ACC 0x0020 |
| #define | WIIMOTE_STATE_EXP 0x0040 |
| #define | WIIMOTE_STATE_IR 0x0080 |
| #define | WIIMOTE_STATE_SPEAKER 0x0100 |
| #define | WIIMOTE_STATE_IR_SENS_LVL1 0x0200 |
| #define | WIIMOTE_STATE_IR_SENS_LVL2 0x0400 |
| #define | WIIMOTE_STATE_IR_SENS_LVL3 0x0800 |
| #define | WIIMOTE_STATE_IR_SENS_LVL4 0x1000 |
| #define | WIIMOTE_STATE_IR_SENS_LVL5 0x2000 |
| #define | WIIMOTE_STATE_EXP_HANDSHAKE 0x10000 /* actual M+ connection exists but no handshake yet */ |
| #define | WIIMOTE_STATE_EXP_EXTERN 0x20000 /* actual M+ connection exists but handshake failed */ |
| #define | WIIMOTE_STATE_EXP_FAILED 0x40000 /* actual M+ connection exists but handshake failed */ |
| #define | WIIMOTE_STATE_MPLUS_PRESENT 0x80000 /* Motion+ is connected */ |
| #define | WIIMOTE_ID(wm) (wm->unid) |
| #define | WIIMOTE_IS_SET(wm, s) ((wm->state & (s)) == (s)) |
| #define | WIIMOTE_IS_CONNECTED(wm) (WIIMOTE_IS_SET(wm, WIIMOTE_STATE_CONNECTED)) |
LED bit masks | |
| #define | WIIMOTE_LED_NONE 0x00 |
| #define | WIIMOTE_LED_1 0x10 |
| #define | WIIMOTE_LED_2 0x20 |
| #define | WIIMOTE_LED_3 0x40 |
| #define | WIIMOTE_LED_4 0x80 |
Button codes | |
| #define | WIIMOTE_BUTTON_TWO 0x0001 |
| #define | WIIMOTE_BUTTON_ONE 0x0002 |
| #define | WIIMOTE_BUTTON_B 0x0004 |
| #define | WIIMOTE_BUTTON_A 0x0008 |
| #define | WIIMOTE_BUTTON_MINUS 0x0010 |
| #define | WIIMOTE_BUTTON_ZACCEL_BIT6 0x0020 |
| #define | WIIMOTE_BUTTON_ZACCEL_BIT7 0x0040 |
| #define | WIIMOTE_BUTTON_HOME 0x0080 |
| #define | WIIMOTE_BUTTON_LEFT 0x0100 |
| #define | WIIMOTE_BUTTON_RIGHT 0x0200 |
| #define | WIIMOTE_BUTTON_DOWN 0x0400 |
| #define | WIIMOTE_BUTTON_UP 0x0800 |
| #define | WIIMOTE_BUTTON_PLUS 0x1000 |
| #define | WIIMOTE_BUTTON_ZACCEL_BIT4 0x2000 |
| #define | WIIMOTE_BUTTON_ZACCEL_BIT5 0x4000 |
| #define | WIIMOTE_BUTTON_UNKNOWN 0x8000 |
| #define | WIIMOTE_BUTTON_ALL 0x1F9F |
Nunchuk button codes | |
| #define | NUNCHUK_BUTTON_Z 0x01 |
| #define | NUNCHUK_BUTTON_C 0x02 |
| #define | NUNCHUK_BUTTON_ALL 0x03 |
Classic controller button codes | |
| #define | CLASSIC_CTRL_BUTTON_UP 0x0001 |
| #define | CLASSIC_CTRL_BUTTON_LEFT 0x0002 |
| #define | CLASSIC_CTRL_BUTTON_ZR 0x0004 |
| #define | CLASSIC_CTRL_BUTTON_X 0x0008 |
| #define | CLASSIC_CTRL_BUTTON_A 0x0010 |
| #define | CLASSIC_CTRL_BUTTON_Y 0x0020 |
| #define | CLASSIC_CTRL_BUTTON_B 0x0040 |
| #define | CLASSIC_CTRL_BUTTON_ZL 0x0080 |
| #define | CLASSIC_CTRL_BUTTON_FULL_R 0x0200 |
| #define | CLASSIC_CTRL_BUTTON_PLUS 0x0400 |
| #define | CLASSIC_CTRL_BUTTON_HOME 0x0800 |
| #define | CLASSIC_CTRL_BUTTON_MINUS 0x1000 |
| #define | CLASSIC_CTRL_BUTTON_FULL_L 0x2000 |
| #define | CLASSIC_CTRL_BUTTON_DOWN 0x4000 |
| #define | CLASSIC_CTRL_BUTTON_RIGHT 0x8000 |
| #define | CLASSIC_CTRL_BUTTON_ALL 0xFEFF |
Guitar Hero 3 button codes | |
| #define | GUITAR_HERO_3_BUTTON_STRUM_UP 0x0001 |
| #define | GUITAR_HERO_3_BUTTON_YELLOW 0x0008 |
| #define | GUITAR_HERO_3_BUTTON_GREEN 0x0010 |
| #define | GUITAR_HERO_3_BUTTON_BLUE 0x0020 |
| #define | GUITAR_HERO_3_BUTTON_RED 0x0040 |
| #define | GUITAR_HERO_3_BUTTON_ORANGE 0x0080 |
| #define | GUITAR_HERO_3_BUTTON_PLUS 0x0400 |
| #define | GUITAR_HERO_3_BUTTON_MINUS 0x1000 |
| #define | GUITAR_HERO_3_BUTTON_STRUM_DOWN 0x4000 |
| #define | GUITAR_HERO_3_BUTTON_ALL 0xFEFF |
Tatacon button codes | |
| #define | TATACON_BUTTON_CENTER_LEFT 0x40 |
| #define | TATACON_BUTTON_CENTER_RIGHT 0x10 |
| #define | TATACON_BUTTON_RIM_LEFT 0x20 |
| #define | TATACON_BUTTON_RIM_RIGHT 0x08 |
| #define | TATACON_BUTTON_ALL 0x78 |
Wiimote option flags | |
| #define | WIIUSE_SMOOTHING 0x01 |
| #define | WIIUSE_CONTINUOUS 0x02 |
| #define | WIIUSE_ORIENT_THRESH 0x04 |
| #define | WIIUSE_INIT_FLAGS (WIIUSE_SMOOTHING | WIIUSE_ORIENT_THRESH) |
| #define | WIIUSE_ORIENT_PRECISION 100.0f |
Expansion codes | |
| #define | EXP_NONE 0 |
| #define | EXP_NUNCHUK 1 |
| #define | EXP_CLASSIC 2 |
| #define | EXP_GUITAR_HERO_3 3 |
| #define | EXP_WII_BOARD 4 |
| #define | EXP_MOTION_PLUS 5 |
| #define | EXP_MOTION_PLUS_NUNCHUK 6 /* Motion+ in nunchuk pass-through mode */ |
| #define | EXP_MOTION_PLUS_CLASSIC 7 /* Motion+ in classic ctr. pass-through mode */ |
| #define | EXP_TATACON 8 |
Device Inquiry Macros | |
| #define | IS_PRESSED(dev, button) ((dev->btns & button) == button) |
| Check if a button is pressed. More... | |
| #define | IS_HELD(dev, button) ((dev->btns_held & button) == button) |
| Check if a button is being held. More... | |
| #define | IS_RELEASED(dev, button) ((dev->btns_released & button) == button) |
| Check if a button is released on this event. More... | |
| #define | IS_JUST_PRESSED(dev, button) (IS_PRESSED(dev, button) && !IS_HELD(dev, button)) |
| Check if a button has just been pressed this event. More... | |
| #define | WIIUSE_GET_IR_SENSITIVITY(wm, lvl) |
| Return the IR sensitivity level. More... | |
| #define | WIIUSE_USING_ACC(wm) ((wm->state & 0x020) == 0x020) |
| #define | WIIUSE_USING_EXP(wm) ((wm->state & 0x040) == 0x040) |
| #define | WIIUSE_USING_IR(wm) ((wm->state & 0x080) == 0x080) |
| #define | WIIUSE_USING_SPEAKER(wm) ((wm->state & 0x100) == 0x100) |
| #define | WIIUSE_IS_LED_SET(wm, num) ((wm->leds & WIIMOTE_LED_##num) == WIIMOTE_LED_##num) |
Typedefs | |
| typedef enum ir_position_t | ir_position_t |
| IR correction types. | |
| typedef unsigned char | byte |
| typedef char | sbyte |
| typedef void(* | wiiuse_read_cb) (struct wiimote_t *wm, byte *data, uint16_t len) |
| Callback that handles a read event. More... | |
| typedef struct ang3s_t | ang3s_t |
| typedef struct ang3f_t | ang3f_t |
| typedef struct vec2b_t | vec2b_t |
| Unsigned x,y byte vector. | |
| typedef struct vec3b_t | vec3b_t |
| Unsigned x,y,z byte vector. | |
| typedef struct vec3f_t | vec3f_t |
| Signed x,y,z float struct. | |
| typedef struct orient_t | orient_t |
| Orientation struct. More... | |
| typedef struct gforce_t | gforce_t |
| Gravity force struct. | |
| typedef struct accel_t | accel_t |
| Accelerometer struct. More... | |
| typedef struct ir_dot_t | ir_dot_t |
| A single IR source. | |
| typedef enum aspect_t | aspect_t |
| Screen aspect ratio. | |
| typedef struct ir_t | ir_t |
| IR struct. More... | |
| typedef struct joystick_t | joystick_t |
| Joystick calibration structure. More... | |
| typedef struct nunchuk_t | nunchuk_t |
| Nunchuk expansion device. | |
| typedef struct classic_ctrl_t | classic_ctrl_t |
| Classic controller expansion device. | |
| typedef struct guitar_hero_3_t | guitar_hero_3_t |
| Guitar Hero 3 expansion device. | |
| typedef struct motion_plus_t | motion_plus_t |
| Motion Plus expansion device. | |
| typedef struct tatacon_t | tatacon_t |
| Tatacon expansion device. | |
| typedef struct wii_board_t | wii_board_t |
| Wii Balance Board "expansion" device. More... | |
| typedef struct expansion_t | expansion_t |
| Generic expansion device plugged into wiimote. | |
| typedef enum win_bt_stack_t | win_bt_stack_t |
| Available bluetooth stacks for Windows. | |
| typedef struct wiimote_state_t | wiimote_state_t |
| Significant data from the previous event. | |
| typedef enum WIIUSE_EVENT_TYPE | WIIUSE_EVENT_TYPE |
| Events that wiiuse can generate from a poll. | |
| typedef enum WIIUSE_WIIMOTE_TYPE | WIIUSE_WIIMOTE_TYPE |
| Type of wiimote peripheral. | |
| typedef struct wiimote_t | wiimote |
| Main Wiimote device structure. More... | |
| typedef struct wiimote_callback_data_t | wiimote_callback_data_t |
| Data passed to a callback during wiiuse_update() | |
| typedef void(* | wiiuse_update_cb) (struct wiimote_callback_data_t *wm) |
| Callback type. | |
| typedef void(* | wiiuse_write_cb) (struct wiimote_t *wm, unsigned char *data, unsigned short len) |
| Callback that handles a write event. More... | |
| typedef enum data_req_s | data_req_s |
| typedef enum wiiuse_loglevel | wiiuse_loglevel |
| Loglevels supported by wiiuse. | |
Enumerations | |
| enum | ir_position_t { WIIUSE_IR_ABOVE, WIIUSE_IR_BELOW } |
| IR correction types. | |
| enum | aspect_t { WIIUSE_ASPECT_4_3, WIIUSE_ASPECT_16_9 } |
| Screen aspect ratio. | |
| enum | win_bt_stack_t { WIIUSE_STACK_UNKNOWN, WIIUSE_STACK_MS, WIIUSE_STACK_BLUESOLEIL } |
| Available bluetooth stacks for Windows. | |
| enum | WIIUSE_EVENT_TYPE { WIIUSE_NONE = 0, WIIUSE_EVENT, WIIUSE_STATUS, WIIUSE_CONNECT, WIIUSE_DISCONNECT, WIIUSE_UNEXPECTED_DISCONNECT, WIIUSE_READ_DATA, WIIUSE_WRITE_DATA, WIIUSE_NUNCHUK_INSERTED, WIIUSE_NUNCHUK_REMOVED, WIIUSE_CLASSIC_CTRL_INSERTED, WIIUSE_CLASSIC_CTRL_REMOVED, WIIUSE_GUITAR_HERO_3_CTRL_INSERTED, WIIUSE_GUITAR_HERO_3_CTRL_REMOVED, WIIUSE_WII_BOARD_CTRL_INSERTED, WIIUSE_WII_BOARD_CTRL_REMOVED, WIIUSE_MOTION_PLUS_ACTIVATED, WIIUSE_MOTION_PLUS_REMOVED, WIIUSE_TATACON_CTRL_INSERTED, WIIUSE_TATACON_CTRL_REMOVED } |
| Events that wiiuse can generate from a poll. | |
| enum | WIIUSE_WIIMOTE_TYPE { WIIUSE_WIIMOTE_REGULAR = 0, WIIUSE_WIIMOTE_MOTION_PLUS_INSIDE } |
| Type of wiimote peripheral. | |
| enum | data_req_s { REQ_READY = 0, REQ_SENT, REQ_DONE } |
| enum | wiiuse_loglevel { LOGLEVEL_ERROR = 0, LOGLEVEL_WARNING = 1, LOGLEVEL_INFO = 2, LOGLEVEL_DEBUG = 3 } |
| Loglevels supported by wiiuse. | |
Functions | |
| WIIUSE_EXPORT const char * | wiiuse_version () |
| Returns the version of the library. | |
| WIIUSE_EXPORT void | wiiuse_set_output (enum wiiuse_loglevel loglevel, FILE *logtarget) |
| Specify an alternate FILE stream for a log level. More... | |
| WIIUSE_EXPORT struct wiimote_t ** | wiiuse_init (int wiimotes) |
| Initialize an array of wiimote structures. More... | |
| WIIUSE_EXPORT void | wiiuse_disconnected (struct wiimote_t *wm) |
| The wiimote disconnected. More... | |
| WIIUSE_EXPORT void | wiiuse_cleanup (struct wiimote_t **wm, int wiimotes) |
| Clean up wiimote_t array created by wiiuse_init() | |
| WIIUSE_EXPORT void | wiiuse_rumble (struct wiimote_t *wm, int status) |
| Enable or disable the rumble. More... | |
| WIIUSE_EXPORT void | wiiuse_toggle_rumble (struct wiimote_t *wm) |
| Toggle the state of the rumble. More... | |
| WIIUSE_EXPORT void | wiiuse_set_leds (struct wiimote_t *wm, int leds) |
| Set the enabled LEDs. More... | |
| WIIUSE_EXPORT void | wiiuse_motion_sensing (struct wiimote_t *wm, int status) |
| Set if the wiimote should report motion sensing. More... | |
| WIIUSE_EXPORT int | wiiuse_read_data (struct wiimote_t *wm, byte *buffer, unsigned int offset, uint16_t len) |
| Read data from the wiimote (event version). More... | |
| WIIUSE_EXPORT int | wiiuse_write_data (struct wiimote_t *wm, unsigned int addr, const byte *data, byte len) |
| Write data to the wiimote. More... | |
| WIIUSE_EXPORT void | wiiuse_status (struct wiimote_t *wm) |
| Request the wiimote controller status. More... | |
| WIIUSE_EXPORT struct wiimote_t * | wiiuse_get_by_id (struct wiimote_t **wm, int wiimotes, int unid) |
| Find a wiimote_t structure by its unique identifier. More... | |
| WIIUSE_EXPORT int | wiiuse_set_flags (struct wiimote_t *wm, int enable, int disable) |
| Set flags for the specified wiimote. More... | |
| WIIUSE_EXPORT float | wiiuse_set_smooth_alpha (struct wiimote_t *wm, float alpha) |
| Set the wiimote smoothing alpha value. More... | |
| WIIUSE_EXPORT void | wiiuse_set_bluetooth_stack (struct wiimote_t **wm, int wiimotes, enum win_bt_stack_t type) |
| Set the bluetooth stack type to use. More... | |
| WIIUSE_EXPORT void | wiiuse_set_orient_threshold (struct wiimote_t *wm, float threshold) |
| Set the orientation event threshold. More... | |
| WIIUSE_EXPORT void | wiiuse_resync (struct wiimote_t *wm) |
| Try to resync with the wiimote by starting a new handshake. More... | |
| WIIUSE_EXPORT void | wiiuse_set_timeout (struct wiimote_t **wm, int wiimotes, byte normal_timeout, byte exp_timeout) |
| Set the normal and expansion handshake timeouts. More... | |
| WIIUSE_EXPORT void | wiiuse_set_accel_threshold (struct wiimote_t *wm, int threshold) |
| Set the accelerometer event threshold. More... | |
| WIIUSE_EXPORT void | wiiuse_wiiboard_use_alternate_report (struct wiimote_t *wm, int enabled) |
| Switch the Balance Board to use report 0x34 instead of 0x32. More... | |
| WIIUSE_EXPORT int | wiiuse_find (struct wiimote_t **wm, int max_wiimotes, int timeout) |
| Find a wiimote or wiimotes. More... | |
| WIIUSE_EXPORT int | wiiuse_connect (struct wiimote_t **wm, int wiimotes) |
| Connect to a wiimote or wiimotes once an address is known. More... | |
| WIIUSE_EXPORT void | wiiuse_disconnect (struct wiimote_t *wm) |
| Disconnect a wiimote. More... | |
| WIIUSE_EXPORT int | wiiuse_poll (struct wiimote_t **wm, int wiimotes) |
| Poll the wiimotes for any events. More... | |
| WIIUSE_EXPORT int | wiiuse_update (struct wiimote_t **wm, int wiimotes, wiiuse_update_cb callback) |
| Poll Wiimotes, and call the provided callback with information on each Wiimote that had an event. More... | |
| WIIUSE_EXPORT void | wiiuse_set_ir (struct wiimote_t *wm, int status) |
| Set if the wiimote should track IR targets. More... | |
| WIIUSE_EXPORT void | wiiuse_set_ir_vres (struct wiimote_t *wm, unsigned int x, unsigned int y) |
| Set the virtual screen resolution for IR tracking. More... | |
| WIIUSE_EXPORT void | wiiuse_set_ir_position (struct wiimote_t *wm, enum ir_position_t pos) |
| Set the XY position for the IR cursor. More... | |
| WIIUSE_EXPORT void | wiiuse_set_aspect_ratio (struct wiimote_t *wm, enum aspect_t aspect) |
| Set the aspect ratio of the TV/monitor. More... | |
| WIIUSE_EXPORT void | wiiuse_set_ir_sensitivity (struct wiimote_t *wm, int level) |
| Set the IR sensitivity. More... | |
| WIIUSE_EXPORT void | wiiuse_set_nunchuk_orient_threshold (struct wiimote_t *wm, float threshold) |
| Set the orientation event threshold for the nunchuk. More... | |
| WIIUSE_EXPORT void | wiiuse_set_nunchuk_accel_threshold (struct wiimote_t *wm, int threshold) |
| Set the accelerometer event threshold for the nunchuk. More... | |
| WIIUSE_EXPORT void | wiiuse_set_wii_board_calib (struct wiimote_t *wm) |
| Calib wii board. More... | |
| WIIUSE_EXPORT void | wiiuse_set_motion_plus (struct wiimote_t *wm, int status) |
| Enable/disable Motion+ expansion. More... | |
API header file.
If this file is included from inside the wiiuse source and not from a third party program, then wiimote_internal.h is also included which extends this file.
| #define WIIUSE_HAS_VERSION | ( | MAJ, | |
| MIN, | |||
| MICRO | |||
| ) |
1.8.13