From 6b97d94a2f4112950c679c5a7468fc66b9218a79 Mon Sep 17 00:00:00 2001 From: staticssleever668 <64694940+staticssleever668@users.noreply.github.com> Date: Wed, 28 Apr 2021 16:07:47 +0300 Subject: [PATCH] sinowealth: print out firmware version when probing --- src/driver-sinowealth.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/driver-sinowealth.c b/src/driver-sinowealth.c index 828ee118..90958ec4 100644 --- a/src/driver-sinowealth.c +++ b/src/driver-sinowealth.c @@ -245,6 +245,20 @@ sinowealth_read_profile(struct ratbag_profile *profile) unsigned int hz = 1000; /* TODO */ int rc; + /* Print firmware version */ + uint8_t version[6] = {SINOWEALTH_REPORT_ID_CMD, SINOWEALTH_CMD_FIRMWARE_VERSION}; + rc = ratbag_hidraw_set_feature_report(device, SINOWEALTH_REPORT_ID_CMD, version, sizeof(version)); + if (rc != sizeof(version)) { + log_error(device->ratbag, "Error while sending read firmware version command: %d\n", rc); + return -1; + } + rc = ratbag_hidraw_get_feature_report(device, SINOWEALTH_REPORT_ID_CMD, version, sizeof(version)); + if (rc != sizeof(version)) { + log_error(device->ratbag, "Could not read firmware version: %d\n", rc); + return -1; + } + log_debug(device->ratbag, "firmware version: %.4s\n", version + 2); + uint8_t cmd[6] = {SINOWEALTH_REPORT_ID_CMD, SINOWEALTH_CMD_GET_CONFIG}; rc = ratbag_hidraw_set_feature_report(device, SINOWEALTH_REPORT_ID_CMD, cmd, sizeof(cmd)); if (rc != sizeof(cmd)) {