libjoybus
Joybus implementation for 32-bit MCUs
Loading...
Searching...
No Matches
gamecube.h
1
7
8#pragma once
9
10#include <joybus/bus.h>
11#include <joybus/gamecube.h>
12
25int joybus_gcn_read(struct joybus *bus, enum joybus_gcn_analog_mode analog_mode,
26 enum joybus_gcn_motor_state motor_state, uint8_t *response, joybus_transfer_cb_t callback,
27 void *user_data);
28
39int joybus_gcn_read_origin(struct joybus *bus, uint8_t *response, joybus_transfer_cb_t callback, void *user_data);
40
51int joybus_gcn_calibrate(struct joybus *bus, uint8_t *response, joybus_transfer_cb_t callback, void *user_data);
52
64int joybus_gcn_read_long(struct joybus *bus, enum joybus_gcn_motor_state motor_state, uint8_t *response,
65 joybus_transfer_cb_t callback, void *user_data);
66
77int joybus_gcn_probe_device(struct joybus *bus, uint8_t *response, joybus_transfer_cb_t callback, void *user_data);
78
93int joybus_gcn_fix_device(struct joybus *bus, uint16_t wireless_id, uint8_t *response, joybus_transfer_cb_t callback,
94 void *user_data);
95
113int joybus_gcn_unpack_input(struct joybus_gc_controller_input *dest, const uint8_t *src,
114 enum joybus_gcn_analog_mode analog_mode);
115
joybus_gcn_motor_state
GameCube controller motor states.
Definition gamecube.h:84
joybus_gcn_analog_mode
Analog modes for packing GameCube controller input state.
Definition gamecube.h:64
int joybus_gcn_fix_device(struct joybus *bus, uint16_t wireless_id, uint8_t *response, joybus_transfer_cb_t callback, void *user_data)
Send a "fix device" command to a WaveBird controller.
Definition gamecube.c:57
int joybus_gcn_probe_device(struct joybus *bus, uint8_t *response, joybus_transfer_cb_t callback, void *user_data)
Send a "probe device" command to a WaveBird controller.
Definition gamecube.c:47
int joybus_gcn_read_origin(struct joybus *bus, uint8_t *response, joybus_transfer_cb_t callback, void *user_data)
Read the origin (neutral) state of a GameCube controller.
Definition gamecube.c:18
int joybus_gcn_read_long(struct joybus *bus, enum joybus_gcn_motor_state motor_state, uint8_t *response, joybus_transfer_cb_t callback, void *user_data)
Read the current input state of a GameCube controller, with full precision.
Definition gamecube.c:36
int joybus_gcn_read(struct joybus *bus, enum joybus_gcn_analog_mode analog_mode, enum joybus_gcn_motor_state motor_state, uint8_t *response, joybus_transfer_cb_t callback, void *user_data)
Read the current input state of a GameCube controller.
Definition gamecube.c:6
int joybus_gcn_unpack_input(struct joybus_gc_controller_input *dest, const uint8_t *src, enum joybus_gcn_analog_mode analog_mode)
Unpack raw input data from a GameCube controller.
Definition gamecube.c:68
int joybus_gcn_calibrate(struct joybus *bus, uint8_t *response, joybus_transfer_cb_t callback, void *user_data)
Calibrate a GameCube controller, setting its current input state as the origin.
Definition gamecube.c:26
void(* joybus_transfer_cb_t)(struct joybus *bus, int result, void *user_data)
Function type for transfer completion callbacks.
Definition bus.h:44
GameCube controller input state.
Definition gamecube.h:32
A Joybus instance.
Definition bus.h:59