Added Sensei 310 PID, renamed files/classes to be generic to Sensei

products.
This commit is contained in:
jeffp1
2021-04-16 14:19:49 -04:00
committed by Adam Honse
parent 6c2013a6bf
commit bd3529b1d3
7 changed files with 55 additions and 60 deletions

View File

@@ -1,15 +1,15 @@
/*------------------------------------------*\
| RGBController_SteelSeriesSenseiTen.cpp |
| RGBController_SteelSeriesSensei.cpp |
| |
| Generic RGB Interface SteelSeriesSenseiTen|
| Generic RGB Interface SteelSeriesSensei |
| Class |
| Based on Rival Controller by |
| B Horn (bahorn) 13/05/2020 |
\*------------------------------------------*/
#include "RGBController_SteelSeriesSenseiTen.h"
#include "RGBController_SteelSeriesSensei.h"
RGBController_SteelSeriesSenseiTen::RGBController_SteelSeriesSenseiTen(SteelSeriesSenseiTenController* sensei_ptr)
RGBController_SteelSeriesSensei::RGBController_SteelSeriesSensei(SteelSeriesSenseiController* sensei_ptr)
{
sensei = sensei_ptr;
@@ -50,12 +50,12 @@ RGBController_SteelSeriesSenseiTen::RGBController_SteelSeriesSenseiTen(SteelSeri
SetupZones();
}
RGBController_SteelSeriesSenseiTen::~RGBController_SteelSeriesSenseiTen()
RGBController_SteelSeriesSensei::~RGBController_SteelSeriesSensei()
{
delete sensei;
}
void RGBController_SteelSeriesSenseiTen::SetupZones()
void RGBController_SteelSeriesSensei::SetupZones()
{
zone logo_zone;
logo_zone.name = "Logo";
@@ -86,20 +86,20 @@ void RGBController_SteelSeriesSenseiTen::SetupZones()
SetupColors();
}
void RGBController_SteelSeriesSenseiTen::ResizeZone(int /*zone*/, int /*new_size*/)
void RGBController_SteelSeriesSensei::ResizeZone(int /*zone*/, int /*new_size*/)
{
/*---------------------------------------------------------*\
| This device does not support resizing zones |
\*---------------------------------------------------------*/
}
void RGBController_SteelSeriesSenseiTen::DeviceUpdateLEDs()
void RGBController_SteelSeriesSensei::DeviceUpdateLEDs()
{
UpdateZoneLEDs(0);
UpdateZoneLEDs(1);
}
void RGBController_SteelSeriesSenseiTen::UpdateZoneLEDs(int zone)
void RGBController_SteelSeriesSensei::UpdateZoneLEDs(int zone)
{
RGBColor color = colors[zone];
unsigned char red = RGBGetRValue(color);
@@ -119,7 +119,7 @@ void RGBController_SteelSeriesSenseiTen::UpdateZoneLEDs(int zone)
}
}
void RGBController_SteelSeriesSenseiTen::UpdateSingleLED(int led)
void RGBController_SteelSeriesSensei::UpdateSingleLED(int led)
{
/*---------------------------------------------------------*\
| Each zone only has a single LED, so we can use the LED ID |
@@ -128,12 +128,12 @@ void RGBController_SteelSeriesSenseiTen::UpdateSingleLED(int led)
UpdateZoneLEDs(led);
}
void RGBController_SteelSeriesSenseiTen::SetCustomMode()
void RGBController_SteelSeriesSensei::SetCustomMode()
{
active_mode = 0;
}
void RGBController_SteelSeriesSenseiTen::DeviceUpdateMode()
void RGBController_SteelSeriesSensei::DeviceUpdateMode()
{
/*---------------------------------------------------------*\
| Strictly, the device actually does support different modes|

View File

@@ -1,7 +1,7 @@
/*------------------------------------------*\
| RGBController_SteelSeriesSenseiTen.h |
| RGBController_SteelSeriesSensei.h |
| |
| Generic RGB Interface SteelSeriesSenseiTen|
| Generic RGB Interface SteelSeriesSensei |
| Class |
| Based on Rival controller by |
| B Horn (bahorn) 13/05/2020 |
@@ -10,13 +10,13 @@
#pragma once
#include "RGBController.h"
#include "SteelSeriesSenseiTenController.h"
#include "SteelSeriesSenseiController.h"
class RGBController_SteelSeriesSenseiTen : public RGBController
class RGBController_SteelSeriesSensei : public RGBController
{
public:
RGBController_SteelSeriesSenseiTen(SteelSeriesSenseiTenController* sensei_ptr);
~RGBController_SteelSeriesSenseiTen();
RGBController_SteelSeriesSensei(SteelSeriesSenseiController* sensei_ptr);
~RGBController_SteelSeriesSensei();
void SetupZones();
@@ -30,5 +30,5 @@ public:
void DeviceUpdateMode();
private:
SteelSeriesSenseiTenController* sensei;
SteelSeriesSenseiController* sensei;
};

View File

@@ -4,14 +4,14 @@
#include "SteelSeriesApexController.h"
#include "SteelSeriesOldApexController.h"
#include "SteelSeriesApexMController.h"
#include "SteelSeriesSenseiTenController.h"
#include "SteelSeriesSenseiController.h"
#include "SteelSeriesGeneric.h"
#include "RGBController.h"
#include "RGBController_SteelSeriesRival.h"
#include "RGBController_SteelSeriesSiberia.h"
#include "RGBController_SteelSeriesApex.h"
#include "RGBController_SteelSeriesOldApex.h"
#include "RGBController_SteelSeriesSenseiTen.h"
#include "RGBController_SteelSeriesSensei.h"
#include <hidapi/hidapi.h>
/*-----------------------------------------------------*\
@@ -34,6 +34,7 @@
#define STEELSERIES_RIVAL_300_HP_PID 0x1718
#define STEELSERIES_RIVAL_300_BLACKOPS_PID 0x1710
#define STEELSERIES_SENSEI_TEN_PID 0x1832
#define STEELSERIES_SENSEI_310_PID 0x1722
/*-----------------------------------------------------*\
| Headset product IDs |
\*-----------------------------------------------------*/
@@ -133,13 +134,13 @@ void DetectSteelSeriesRival300(hid_device_info* info, const std::string& name)
}
}
void DetectSteelSeriesSenseiTen(hid_device_info* info, const std::string& name)
void DetectSteelSeriesSensei(hid_device_info* info, const std::string& name)
{
hid_device* dev = hid_open_path(info->path);
if(dev)
{
SteelSeriesSenseiTenController* controller = new SteelSeriesSenseiTenController(dev, SENSEI_TEN, info->path);
RGBController_SteelSeriesSenseiTen* rgb_controller = new RGBController_SteelSeriesSenseiTen(controller);
SteelSeriesSenseiController* controller = new SteelSeriesSenseiController(dev, SENSEI, info->path);
RGBController_SteelSeriesSensei* rgb_controller = new RGBController_SteelSeriesSensei(controller);
rgb_controller->name = name;
ResourceManager::get()->RegisterRGBController(rgb_controller);
}
@@ -160,7 +161,8 @@ REGISTER_HID_DETECTOR_I("SteelSeries Rival 300 CS:GO Hyperbeast Edition", Dete
REGISTER_HID_DETECTOR_I("SteelSeries Rival 300 Dota 2 Edition", DetectSteelSeriesRival300, STEELSERIES_VID, STEELSERIES_RIVAL_300_DOTA_PID, 0 );
REGISTER_HID_DETECTOR_I("SteelSeries Rival 300 HP Omen Edition", DetectSteelSeriesRival300, STEELSERIES_VID, STEELSERIES_RIVAL_300_HP_PID, 0 );
REGISTER_HID_DETECTOR_I("SteelSeries Rival 300 Black Ops Edition", DetectSteelSeriesRival300, STEELSERIES_VID, STEELSERIES_RIVAL_300_BLACKOPS_PID, 0 );
REGISTER_HID_DETECTOR_I("SteelSeries Sensei TEN", DetectSteelSeriesSenseiTen, STEELSERIES_VID, STEELSERIES_SENSEI_TEN_PID, 0 );
REGISTER_HID_DETECTOR_I("SteelSeries Sensei TEN", DetectSteelSeriesSensei, STEELSERIES_VID, STEELSERIES_SENSEI_TEN_PID, 0 );
REGISTER_HID_DETECTOR_I("SteelSeries Sensei 310", DetectSteelSeriesSensei, STEELSERIES_VID, STEELSERIES_SENSEI_310_PID, 0 );
/*---------------------------------------------------------------------------------------------------------------------------------------------------------------------*\
| Headsets |
\*---------------------------------------------------------------------------------------------------------------------------------------------------------------------*/

View File

@@ -24,6 +24,6 @@ typedef enum
APEX_TKL = 0x05,
APEX_M = 0x06,
APEX_OLD = 0x07,
SENSEI_TEN = 0x08,
SENSEI = 0x08,
} steelseries_type;

View File

@@ -1,13 +1,13 @@
/*-----------------------------------------*\
| SteelSeriesSenseiTenController.h |
| SteelSeriesSenseiController.h |
| |
| Definitions and types for SteelSeries |
| Sensei TEN lighting controller |
| Sensei lighting controller |
| Based on Rival controller by |
| B Horn (bahorn) 13/5/2020 |
\*-----------------------------------------*/
#include "SteelSeriesSenseiTenController.h"
#include "SteelSeriesSenseiController.h"
#include <cstring>
#include <stdio.h>
#include <stdlib.h>
@@ -27,7 +27,7 @@ static void send_usb_msg(hid_device* dev, char * data_pkt, unsigned int size)
delete usb_pkt;
}
SteelSeriesSenseiTenController::SteelSeriesSenseiTenController
SteelSeriesSenseiController::SteelSeriesSenseiController
(
hid_device* dev_handle,
steelseries_type proto_type,
@@ -39,22 +39,22 @@ SteelSeriesSenseiTenController::SteelSeriesSenseiTenController
proto = proto_type;
}
SteelSeriesSenseiTenController::~SteelSeriesSenseiTenController()
SteelSeriesSenseiController::~SteelSeriesSenseiController()
{
hid_close(dev);
}
std::string SteelSeriesSenseiTenController::GetDeviceLocation()
std::string SteelSeriesSenseiController::GetDeviceLocation()
{
return("HID: " + location);
}
char* SteelSeriesSenseiTenController::GetDeviceName()
char* SteelSeriesSenseiController::GetDeviceName()
{
return device_name;
}
std::string SteelSeriesSenseiTenController::GetSerialString()
std::string SteelSeriesSenseiController::GetSerialString()
{
wchar_t serial_string[128];
hid_get_serial_number_string(dev, serial_string, 128);
@@ -65,12 +65,13 @@ std::string SteelSeriesSenseiTenController::GetSerialString()
return(return_string);
}
steelseries_type SteelSeriesSenseiTenController::GetMouseType()
steelseries_type SteelSeriesSenseiController::GetMouseType()
{
return proto;
}
void SteelSeriesSenseiTenController::Save()
/* Saves to the internal configuration */
void SteelSeriesSenseiController::Save()
{
/*-----------------------------------------------------*\
| Saves to the internal configuration |
@@ -94,7 +95,7 @@ void SteelSeriesSenseiTenController::Save()
}
void SteelSeriesSenseiTenController::SetLightEffect
void SteelSeriesSenseiController::SetLightEffect
(
unsigned char zone_id,
unsigned char effect,
@@ -221,7 +222,7 @@ void SteelSeriesSenseiTenController::SetLightEffect
}
void SteelSeriesSenseiTenController::SetLightEffectAll
void SteelSeriesSenseiController::SetLightEffectAll
(
unsigned char effect,
unsigned char speed,
@@ -235,7 +236,7 @@ void SteelSeriesSenseiTenController::SetLightEffectAll
}
void SteelSeriesSenseiTenController::SetColor
void SteelSeriesSenseiController::SetColor
(
unsigned char zone_id,
unsigned char red,
@@ -276,22 +277,14 @@ void SteelSeriesSenseiTenController::SetColor
send_usb_msg(dev, usb_buf, sizeof(usb_buf));
}
void SteelSeriesSenseiTenController::SetColorAll
void SteelSeriesSenseiController::SetColorAll
(
unsigned char red,
unsigned char green,
unsigned char blue
)
)
{
switch(proto)
{
case SENSEI_TEN:
SetColor(0, red, green, blue);
SetColor(1, red, green, blue);
break;
default:
break;
}
SetColor(0, red, green, blue);
SetColor(1, red, green, blue);
}

View File

@@ -1,8 +1,8 @@
/*-----------------------------------------*\
| SteelSeriesSenseiTenController.h |
| SteelSeriesSenseiController.h |
| |
| Definitions and types for SteelSeries |
| Sensei Ten lighting controller |
| Sensei lighting controller |
| Based on Rival controller by |
| B Horn (bahorn) 13/5/2020 |
\*-----------------------------------------*/
@@ -38,17 +38,17 @@ enum
STEELSERIES_SENSEI_EFFECT_RAINBOW_MAX = 0x07
};
class SteelSeriesSenseiTenController
class SteelSeriesSenseiController
{
public:
SteelSeriesSenseiTenController
SteelSeriesSenseiController
(
hid_device* dev_handle,
steelseries_type proto_type,
const char* path
);
~SteelSeriesSenseiTenController();
~SteelSeriesSenseiController();
std::string GetDeviceLocation();
char* GetDeviceName();

View File

@@ -321,13 +321,13 @@ HEADERS +=
Controllers/SteelSeriesController/SteelSeriesGeneric.h \
Controllers/SteelSeriesController/SteelSeriesOldApexController.h \
Controllers/SteelSeriesController/SteelSeriesRivalController.h \
Controllers/SteelSeriesController/SteelSeriesSenseiTenController.h \
Controllers/SteelSeriesController/SteelSeriesSenseiController.h \
Controllers/SteelSeriesController/SteelSeriesSiberiaController.h \
Controllers/SteelSeriesController/RGBController_SteelSeriesApex.h \
Controllers/SteelSeriesController/RGBController_SteelSeriesOldApex.h \
Controllers/SteelSeriesController/RGBController_SteelSeriesRival.h \
Controllers/SteelSeriesController/RGBController_SteelSeriesSenseiTen.h \
Controllers/SteelSeriesController/RGBController_SteelSeriesSiberia.h \
Controllers/SteelSeriesController/RGBController_SteelSeriesSensei.h \
Controllers/TecknetController/TecknetController.h \
Controllers/TecknetController/RGBController_Tecknet.h \
Controllers/ThermaltakePoseidonZRGBController/ThermaltakePoseidonZRGBController.h \
@@ -595,13 +595,13 @@ SOURCES +=
Controllers/SteelSeriesController/SteelSeriesApexMController.cpp \
Controllers/SteelSeriesController/SteelSeriesOldApexController.cpp \
Controllers/SteelSeriesController/SteelSeriesRivalController.cpp \
Controllers/SteelSeriesController/SteelSeriesSenseiTenController.cpp \
Controllers/SteelSeriesController/SteelSeriesSenseiController.cpp \
Controllers/SteelSeriesController/SteelSeriesSiberiaController.cpp \
Controllers/SteelSeriesController/SteelSeriesControllerDetect.cpp \
Controllers/SteelSeriesController/RGBController_SteelSeriesApex.cpp \
Controllers/SteelSeriesController/RGBController_SteelSeriesOldApex.cpp \
Controllers/SteelSeriesController/RGBController_SteelSeriesRival.cpp \
Controllers/SteelSeriesController/RGBController_SteelSeriesSenseiTen.cpp \
Controllers/SteelSeriesController/RGBController_SteelSeriesSensei.cpp \
Controllers/SteelSeriesController/RGBController_SteelSeriesSiberia.cpp \
Controllers/TecknetController/TecknetController.cpp \
Controllers/TecknetController/TecknetControllerDetect.cpp \