diff --git a/drivers/g-wolves/g-wolves.h b/drivers/g-wolves/g-wolves.h index 9f3d9ca..4ea2f27 100644 --- a/drivers/g-wolves/g-wolves.h +++ b/drivers/g-wolves/g-wolves.h @@ -26,6 +26,7 @@ #define REPORT_UNKNOWN_6_SIZE 0x5 #define REPORT_BATTERY_SIZE 0x2 #define REPORT_WIRELESS_MOUSE_SIZE 0x1 +#define REPORT_WIRELESS_FIRMWARE_VERSION_SIZE 0x4 // -> 0x7 #define COMMAND_UNKNOWN_0 0x82 #define COMMAND_DPI_SETTINGS 0x83 @@ -38,6 +39,7 @@ #define COMMAND_UNKNOWN_6 0x98 #define COMMAND_BATTERY 0x8F #define COMMAND_WIRELESS_MOUSE 0x90 // -> send the next report to mouse, checking if mouse is connected +#define COMMAND_WIRELESS_FIRMWARE_VERSION 0x81 typedef struct DPI_LEVEL { @@ -176,3 +178,17 @@ struct REPORT_WIRELESS uint8_t zeros[REPORT_MAX_SIZE - sizeof(report_header_t) - 1]; } __attribute__((packed)); static_assert(sizeof(struct REPORT_WIRELESS) == REPORT_MAX_SIZE, "Report WIRELESS not of right size"); + +struct REPORT_WIRELESS_FIRMWARE_VERSION +{ + report_header_t header; + + uint8_t version_major; + uint8_t version_med; + uint8_t version_minor; + + uint8_t values[4]; + + uint8_t zeros[REPORT_MAX_SIZE - sizeof(report_header_t) - 7]; +} __attribute__((packed)); +static_assert(sizeof(struct REPORT_WIRELESS_FIRMWARE_VERSION) == REPORT_MAX_SIZE, "Report WIRELESS_FIRMWARE_VERSION not of right size");