16#include "powerblocks/input/wiimote/wiimote.h"
22#define WIIMOTE_REPORT_LEDS 0x11
23#define WIIMOTE_REPORT_REPORT_MODE 0x12
24#define WIIMOTE_REPORT_ENABLE_CAMERA_CLOCK 0x13
25#define WIIMOTE_REPORT_STATUS 0x15
26#define WIIMOTE_REPORT_WRITE_MEMORY 0x16
27#define WIIMOTE_REPORT_READ_MEMORY 0x17
28#define WIIMOTE_REPORT_ENABLE_CAMERA 0x1A
29#define WIIMOTE_REPORT_STATUS_INFO 0x20
30#define WIIMOTE_REPORT_READ_MEMORY_DATA 0x21
31#define WIIMOTE_REPORT_ACKNOWLEDGE_OUTPUT 0x22
32#define WIIMOTE_REPORT_BUTTONS 0x30
33#define WIIMOTE_REPORT_BUTTONS_ACCL 0x31
34#define WIIMOTE_REPORT_BUTTONS_EXT8 0x32
35#define WIIMOTE_REPORT_BUTTONS_ACCL_IR12 0X33
36#define WIIMOTE_REPORT_BUTTONS_EXT19 0X34
37#define WIIMOTE_REPORT_BUTTONS_ACCL_EXT16 0x35
38#define WIIMOTE_REPORT_BUTTONS_IR10_EXT9 0x36
39#define WIIMOTE_REPORT_BUTTONS_ACCEL_IR10_EXT6 0x37
40#define WIIMOTE_REPORT_EXT21 0x3D
41#define WIIMOTE_REPORT_INTERLEAVED_A 0x3E
42#define WIIMOTE_REPORT_INTERLEAVED_B 0x3F
45 WIIMOTE_FLAGS_BATTERY_NEAR_EMPTY = 0X01,
46 WIIMOTE_FLAGS_EXTENSION_CONNECTED = 0X02,
47 WIIMOTE_FLAGS_SPEAKER_ENABLED = 0X04,
48 WIIMOTE_FLAGS_IR_CAMERA_ENABLED = 0X08,
49 WIIMOTE_FLAGS_LED1 = 0X10,
50 WIIMOTE_FLAGS_LED2 = 0X20,
51 WIIMOTE_FLAGS_LED3 = 0X40,
52 WIIMOTE_FLAGS_LEF4 = 0X80
59 uint16_t core_buttons;
60 wiimote_flags_t flags;
61 uint8_t battery_level;
65 uint16_t accel_zero[3];
66 uint16_t accel_one[3];
72 uint8_t data_report[42];
83 uint8_t wiimote_control_channel_buffer[16];
84 uint8_t wiimote_interrupt_channel_buffer[256];
86 uint8_t set_report_mode;
90 SemaphoreHandle_t internal_state_lock;
93 StaticSemaphore_t semaphore_data[1];
105extern int wiimote_hid_set_report(
wiimote_hid_t* wiimote, uint8_t report_type,
bool update_ir_mode);
115extern void wiimote_hid_driver_free_device(
void* instance);
Definition wiimote_extension.h:81
Definition wiimote_hid.h:75
Definition wiimote_hid.h:57
Handles wiimote extensions.