Add firmware version request to NZXT Hue 2 controller

This commit is contained in:
Adam Honse 2020-06-22 23:23:36 -05:00
parent 0464fbcbe2
commit 7a3de1edbb
3 changed files with 28 additions and 0 deletions

View file

@ -15,6 +15,7 @@ NZXTHue2Controller::NZXTHue2Controller(hid_device* dev_handle)
{
dev = dev_handle;
SendFirmwareRequest();
GetStripsOnChannel(HUE_2_CHANNEL_1);
}
@ -23,6 +24,11 @@ NZXTHue2Controller::~NZXTHue2Controller()
}
std::string NZXTHue2Controller::GetFirmwareVersion()
{
return(firmware_version);
}
unsigned int NZXTHue2Controller::GetStripsOnChannel(unsigned int /*channel*/)
{
unsigned int ret_val = 0;
@ -280,3 +286,18 @@ void NZXTHue2Controller::SendEffect
hid_write(dev, usb_buf, 64);
hid_read(dev, usb_buf, 64);
}
void NZXTHue2Controller::SendFirmwareRequest()
{
unsigned char usb_buf[64];
memset(usb_buf, 0x00, sizeof(usb_buf));
usb_buf[0x00] = 0x10;
usb_buf[0x01] = 0x01;
hid_write(dev, usb_buf, 64);
hid_read(dev, usb_buf, 64);
snprintf(firmware_version, 16, "%u.%u.%u", usb_buf[0x11], usb_buf[0x12], usb_buf[0x13]);
}

View file

@ -5,6 +5,7 @@
\*---------------------------------------------------------*/
#include "RGBController.h"
#include <string>
#include <vector>
#include <hidapi/hidapi.h>
@ -56,6 +57,8 @@ public:
NZXTHue2Controller(hid_device* dev_handle);
~NZXTHue2Controller();
std::string GetFirmwareVersion();
unsigned int GetStripsOnChannel
(
unsigned int channel
@ -82,6 +85,7 @@ public:
private:
hid_device* dev;
char firmware_version[16];
void SendApply
(
@ -105,4 +109,6 @@ private:
unsigned char color_count,
unsigned char* color_data
);
void SendFirmwareRequest();
};

View file

@ -16,6 +16,7 @@ RGBController_NZXTHue2::RGBController_NZXTHue2(NZXTHue2Controller* hue2_ptr)
name = "NZXT Hue 2";
type = DEVICE_TYPE_LEDSTRIP;
description = "NZXT Hue 2 Device";
version = hue2->GetFirmwareVersion();
mode Direct;
Direct.name = "Direct";