Store name in LegoDimensionsToypadBaseController to avoid setting it in detector
This commit is contained in:
parent
0eb34eec25
commit
41eec46fa7
4 changed files with 15 additions and 13 deletions
|
|
@ -13,11 +13,11 @@
|
||||||
#include "LegoDimensionsToypadBaseController.h"
|
#include "LegoDimensionsToypadBaseController.h"
|
||||||
#include "StringUtils.h"
|
#include "StringUtils.h"
|
||||||
|
|
||||||
LegoDimensionsToypadBaseController::LegoDimensionsToypadBaseController(hid_device* dev_handle, const hid_device_info& info)
|
LegoDimensionsToypadBaseController::LegoDimensionsToypadBaseController(hid_device* dev_handle, const hid_device_info& info, std::string dev_name)
|
||||||
{
|
{
|
||||||
dev = dev_handle;
|
dev = dev_handle;
|
||||||
location = info.path;
|
location = info.path;
|
||||||
version = "";
|
name = dev_name;
|
||||||
|
|
||||||
Activate();
|
Activate();
|
||||||
}
|
}
|
||||||
|
|
@ -32,6 +32,11 @@ std::string LegoDimensionsToypadBaseController::GetDeviceLocation()
|
||||||
return("HID: " + location);
|
return("HID: " + location);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string LegoDimensionsToypadBaseController::GetNameString()
|
||||||
|
{
|
||||||
|
return(name);
|
||||||
|
}
|
||||||
|
|
||||||
std::string LegoDimensionsToypadBaseController::GetSerialString()
|
std::string LegoDimensionsToypadBaseController::GetSerialString()
|
||||||
{
|
{
|
||||||
wchar_t serial_string[128];
|
wchar_t serial_string[128];
|
||||||
|
|
@ -45,11 +50,6 @@ std::string LegoDimensionsToypadBaseController::GetSerialString()
|
||||||
return(StringUtils::wstring_to_string(serial_string));
|
return(StringUtils::wstring_to_string(serial_string));
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string LegoDimensionsToypadBaseController::GetFirmwareVersion()
|
|
||||||
{
|
|
||||||
return(version);
|
|
||||||
}
|
|
||||||
|
|
||||||
void LegoDimensionsToypadBaseController::Activate()
|
void LegoDimensionsToypadBaseController::Activate()
|
||||||
{
|
{
|
||||||
unsigned char usb_buf[LEGO_DIMENSIONS_TOYPAD_BASE_PACKET_LENGTH];
|
unsigned char usb_buf[LEGO_DIMENSIONS_TOYPAD_BASE_PACKET_LENGTH];
|
||||||
|
|
|
||||||
|
|
@ -35,12 +35,12 @@ enum
|
||||||
class LegoDimensionsToypadBaseController
|
class LegoDimensionsToypadBaseController
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
LegoDimensionsToypadBaseController(hid_device* dev_handle, const hid_device_info& info);
|
LegoDimensionsToypadBaseController(hid_device* dev_handle, const hid_device_info& info, std::string dev_name);
|
||||||
~LegoDimensionsToypadBaseController();
|
~LegoDimensionsToypadBaseController();
|
||||||
|
|
||||||
std::string GetSerialString();
|
|
||||||
std::string GetDeviceLocation();
|
std::string GetDeviceLocation();
|
||||||
std::string GetFirmwareVersion();
|
std::string GetNameString();
|
||||||
|
std::string GetSerialString();
|
||||||
|
|
||||||
void SetDirect(unsigned char zone, RGBColor color);
|
void SetDirect(unsigned char zone, RGBColor color);
|
||||||
void SetMode(unsigned char zone, unsigned char mode_value, uint8_t speed, RGBColor color);
|
void SetMode(unsigned char zone, unsigned char mode_value, uint8_t speed, RGBColor color);
|
||||||
|
|
@ -50,6 +50,7 @@ protected:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::string location;
|
std::string location;
|
||||||
|
std::string name;
|
||||||
std::string version;
|
std::string version;
|
||||||
|
|
||||||
void Activate();
|
void Activate();
|
||||||
|
|
|
||||||
|
|
@ -29,9 +29,9 @@ void DetectLegoDimensionsToypadBaseControllers(hid_device_info* info, const std:
|
||||||
|
|
||||||
if(dev)
|
if(dev)
|
||||||
{
|
{
|
||||||
LegoDimensionsToypadBaseController* controller = new LegoDimensionsToypadBaseController(dev, *info);
|
LegoDimensionsToypadBaseController* controller = new LegoDimensionsToypadBaseController(dev, *info, name);
|
||||||
RGBController_LegoDimensionsToypadBase* rgb_controller = new RGBController_LegoDimensionsToypadBase(controller);
|
RGBController_LegoDimensionsToypadBase* rgb_controller = new RGBController_LegoDimensionsToypadBase(controller);
|
||||||
rgb_controller->name = name;
|
|
||||||
ResourceManager::get()->RegisterRGBController(rgb_controller);
|
ResourceManager::get()->RegisterRGBController(rgb_controller);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,12 +27,13 @@
|
||||||
RGBController_LegoDimensionsToypadBase::RGBController_LegoDimensionsToypadBase(LegoDimensionsToypadBaseController* controller_ptr)
|
RGBController_LegoDimensionsToypadBase::RGBController_LegoDimensionsToypadBase(LegoDimensionsToypadBaseController* controller_ptr)
|
||||||
{
|
{
|
||||||
controller = controller_ptr;
|
controller = controller_ptr;
|
||||||
|
|
||||||
|
name = controller->GetNameString();
|
||||||
vendor = "Logic3";
|
vendor = "Logic3";
|
||||||
type = DEVICE_TYPE_LEDSTRIP;
|
type = DEVICE_TYPE_LEDSTRIP;
|
||||||
description = "Lego Dimensions Toypad Base";
|
description = "Lego Dimensions Toypad Base";
|
||||||
location = controller->GetDeviceLocation();
|
location = controller->GetDeviceLocation();
|
||||||
serial = controller->GetSerialString();
|
serial = controller->GetSerialString();
|
||||||
version = controller->GetFirmwareVersion();
|
|
||||||
|
|
||||||
mode Direct;
|
mode Direct;
|
||||||
Direct.name = "Direct";
|
Direct.name = "Direct";
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue