libdragon
|
Controller Subsystem. More...
Go to the source code of this file.
Data Structures | |
struct | _SI_condat |
SI Nintendo 64 controller data. More... | |
struct | _SI_condat_gc |
SI GameCube controller data. More... | |
struct | SI_origdat_gc |
SI GameCube controller origin data. More... | |
struct | SI_controllers_state_t |
SI controller data for all controller ports. More... | |
struct | SI_controllers_origin_t |
SI GameCube controller origin data for all controller ports. More... | |
union | _SI_condat.__unnamed20__ |
struct | _SI_condat.__unnamed20__.__unnamed22__ |
struct | _SI_condat.__unnamed20__.__unnamed24__ |
union | _SI_condat_gc.__unnamed26__ |
struct | _SI_condat_gc.__unnamed26__.__unnamed28__ |
struct | _SI_condat_gc.__unnamed26__.__unnamed30__ |
Macros | |
Bitmasks for controller status | |
#define | CONTROLLER_1_INSERTED 0xF000 |
Controller 1 Inserted. | |
#define | CONTROLLER_2_INSERTED 0x0F00 |
Controller 2 Inserted. | |
#define | CONTROLLER_3_INSERTED 0x00F0 |
Controller 3 Inserted. | |
#define | CONTROLLER_4_INSERTED 0x000F |
Controller 4 Inserted. | |
Accessory ID Values | |
| |
#define | ACCESSORY_NONE 0 |
No accessory present. | |
#define | ACCESSORY_MEMPAK 1 |
Mempak present. | |
#define | ACCESSORY_RUMBLEPAK 2 |
Rumblepak present. | |
#define | ACCESSORY_VRU 3 |
VRU present. | |
#define | ACCESSORY_TRANSFERPAK 4 |
Transferpak present. | |
SI Error Values | |
#define | ERROR_NONE 0x0 |
No error occured. | |
#define | ERROR_BAD_COMMAND 0x1 |
Command not recognized or malformed. | |
#define | ERROR_NOT_PRESENT 0x2 |
Controller not present. | |
Functions | |
void | controller_init (void) |
Initialize the controller subsystem. | |
void | controller_read (struct controller_data *output) |
Read the controller button status for all controllers. | |
void | controller_read_gc (struct controller_data *outdata, const uint8_t rumble[4]) |
Read the controller button status for all controllers, GC version. | |
void | controller_read_gc_origin (struct controller_origin_data *outdata) |
Read the controller origin status for all controllers, GC version. | |
int | get_controllers_present (void) |
Return a bitmask representing which controllers are present. | |
int | get_accessories_present (struct controller_data *out) |
Return a bitmask specifying which controllers have recognized accessories. | |
void | controller_scan (void) |
Fetch the current controller state. | |
struct controller_data | get_keys_down (void) |
Get keys that were pressed since the last inspection. | |
struct controller_data | get_keys_up (void) |
Get keys that were released since the last inspection. | |
struct controller_data | get_keys_held (void) |
Get keys that were held since the last inspection. | |
struct controller_data | get_keys_pressed (void) |
Get keys that are currently pressed, regardless of previous state. | |
int | get_dpad_direction (int controller) |
Return the DPAD calculated direction. | |
int | read_mempak_address (int controller, uint16_t address, uint8_t *data) |
Read a chunk of data from a mempak. | |
int | write_mempak_address (int controller, uint16_t address, uint8_t *data) |
Write a chunk of data to a mempak. | |
int | identify_accessory (int controller) |
Identify the accessory connected to a controller. | |
void | rumble_start (int controller) |
Turn rumble on for a particular controller. | |
void | rumble_stop (int controller) |
Turn rumble off for a particular controller. | |
void | execute_raw_command (int controller, int command, int bytesout, int bytesin, unsigned char *out, unsigned char *in) |
Execute a raw PIF command. | |
Controller Subsystem.