mirror of
https://github.com/CalcProgrammer1/OpenRGB.git
synced 2026-05-10 07:32:56 -04:00
Nollie 2.1 firmware for Master
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
/*---------------------------------------------------------*\
|
||||
/*---------------------------------------------------------*\
|
||||
| NollieController.cpp |
|
||||
| |
|
||||
| Driver for Nollie |
|
||||
@@ -82,7 +82,7 @@ void NollieController::SetMos(bool mos)
|
||||
|
||||
void NollieController::SetChannelLEDs(unsigned char channel, RGBColor* colors, unsigned int num_colors)
|
||||
{
|
||||
if(usb_pid == NOLLIE32_PID || usb_pid == NOLLIE16_PID)
|
||||
if(usb_pid == NOLLIE32_PID || usb_pid == NOLLIE16_PID || usb_pid == NOLLIE32_OS21_PID || usb_pid == NOLLIE16_OS21_PID)
|
||||
{
|
||||
SendPacket(channel,&colors[0], num_colors);
|
||||
}
|
||||
@@ -162,9 +162,12 @@ void NollieController::SendPacketFS(unsigned char channel,unsigned char packet_i
|
||||
packet_interval = 2;
|
||||
break;
|
||||
case NOLLIE8_PID:
|
||||
case NOLLIE8_OS21_PID:
|
||||
case PRISM8_OS21_PID:
|
||||
packet_interval = 6;
|
||||
break;
|
||||
case NOLLIE1_PID:
|
||||
case NOLLIE1_OS21_PID:
|
||||
packet_interval = 30;
|
||||
break;
|
||||
default:
|
||||
@@ -179,7 +182,7 @@ void NollieController::SendPacketFS(unsigned char channel,unsigned char packet_i
|
||||
usb_buf[0x02 + (color_idx * 3)] = RGBGetRValue(colors[color_idx]);
|
||||
usb_buf[0x03 + (color_idx * 3)] = RGBGetGValue(colors[color_idx]);
|
||||
usb_buf[0x04 + (color_idx * 3)] = RGBGetBValue(colors[color_idx]);
|
||||
if(dev_pid == NOLLIE8_PID || dev_pid == NOLLIE1_PID )
|
||||
if(dev_pid == NOLLIE8_PID || dev_pid == NOLLIE1_PID || dev_pid == NOLLIE8_OS21_PID || dev_pid == PRISM8_OS21_PID || dev_pid == NOLLIE1_OS21_PID)
|
||||
{
|
||||
usb_buf[0x02 + (color_idx * 3)] = RGBGetGValue(colors[color_idx]);
|
||||
usb_buf[0x03 + (color_idx * 3)] = RGBGetRValue(colors[color_idx]);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/*---------------------------------------------------------*\
|
||||
/*---------------------------------------------------------*\
|
||||
| NollieController.h |
|
||||
| |
|
||||
| Driver for Nollie |
|
||||
@@ -26,18 +26,23 @@
|
||||
|
||||
#define NOLLIE32_CHANNELS_NUM 32
|
||||
#define NOLLIE32_PID 0x4714
|
||||
#define NOLLIE32_OS21_PID 0x2A32
|
||||
#define NOLLIE32_VID 0x3061
|
||||
|
||||
#define NOLLIE16_CHANNELS_NUM 16
|
||||
#define NOLLIE16_PID 0x4716
|
||||
#define NOLLIE16_OS21_PID 0x2A16
|
||||
#define NOLLIE16_VID 0x3061
|
||||
|
||||
#define NOLLIE8_CHANNELS_NUM 8
|
||||
#define NOLLIE8_PID 0x1F01
|
||||
#define NOLLIE8_OS21_PID 0x2A08
|
||||
#define PRISM8_OS21_PID 0x2C08
|
||||
#define NOLLIE8_VID 0x16D2
|
||||
|
||||
#define NOLLIE1_CHANNELS_NUM 1
|
||||
#define NOLLIE1_PID 0x1F11
|
||||
#define NOLLIE1_OS21_PID 0x2A01
|
||||
#define NOLLIE1_VID 0x16D2
|
||||
|
||||
#define NOLLIE28_12_CHANNELS_NUM 12
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/*---------------------------------------------------------*\
|
||||
/*---------------------------------------------------------*\
|
||||
| NollieControllerDetect.cpp |
|
||||
| |
|
||||
| Detector for Nollie |
|
||||
@@ -16,6 +16,18 @@
|
||||
|
||||
void DetectNollieControllers(hid_device_info* info, const std::string& name)
|
||||
{
|
||||
if((info->product_id == NOLLIE1_OS21_PID || info->product_id == NOLLIE8_OS21_PID || info->product_id == PRISM8_OS21_PID)
|
||||
&& info->interface_number != 2)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if((info->product_id == NOLLIE16_OS21_PID || info->product_id == NOLLIE32_OS21_PID)
|
||||
&& info->interface_number != 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
hid_device* dev = hid_open_path(info->path);
|
||||
|
||||
if(dev)
|
||||
@@ -37,6 +49,11 @@ REGISTER_HID_DETECTOR("Nollie 32CH", DetectNollieControllers, NOLLIE32_VID, NOLL
|
||||
REGISTER_HID_DETECTOR("Nollie 16CH", DetectNollieControllers, NOLLIE16_VID, NOLLIE16_PID);
|
||||
REGISTER_HID_DETECTOR("Nollie 8CH", DetectNollieControllers, NOLLIE8_VID, NOLLIE8_PID);
|
||||
REGISTER_HID_DETECTOR("Nollie 1CH", DetectNollieControllers, NOLLIE1_VID, NOLLIE1_PID);
|
||||
REGISTER_HID_DETECTOR("Nollie 32_OS2.1", DetectNollieControllers, NOLLIERGBOS_2_VID, NOLLIE32_OS21_PID);
|
||||
REGISTER_HID_DETECTOR("Nollie 16_OS2.1", DetectNollieControllers, NOLLIERGBOS_2_VID, NOLLIE16_OS21_PID);
|
||||
REGISTER_HID_DETECTOR("Nollie 8_OS2.1", DetectNollieControllers, NOLLIERGBOS_2_VID, NOLLIE8_OS21_PID);
|
||||
REGISTER_HID_DETECTOR("Prism 8_OS2.1", DetectNollieControllers, NOLLIERGBOS_2_VID, PRISM8_OS21_PID);
|
||||
REGISTER_HID_DETECTOR("Nollie 1_OS2.1", DetectNollieControllers, NOLLIERGBOS_2_VID, NOLLIE1_OS21_PID);
|
||||
REGISTER_HID_DETECTOR("Nollie 28 12", DetectNollieControllers, NOLLIE28_12_VID, NOLLIE28_12_PID);
|
||||
REGISTER_HID_DETECTOR("Nollie 28 L1", DetectNollieControllers, NOLLIE28_12_VID, NOLLIE28_L1_PID);
|
||||
REGISTER_HID_DETECTOR("Nollie 28 L2", DetectNollieControllers, NOLLIE28_12_VID, NOLLIE28_L2_PID);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/*---------------------------------------------------------*\
|
||||
/*---------------------------------------------------------*\
|
||||
| RGBController_Nollie.cpp |
|
||||
| |
|
||||
| RGBController for Nollie |
|
||||
@@ -64,11 +64,13 @@ void RGBController_Nollie::SetupZones()
|
||||
switch(controller->GetUSBPID())
|
||||
{
|
||||
case NOLLIE32_PID:
|
||||
case NOLLIE32_OS21_PID:
|
||||
channels_num = NOLLIE32_CHANNELS_NUM;
|
||||
ch_led_num = NOLLIE_HS_CH_LED_NUM;
|
||||
channel_index = ch32;
|
||||
break;
|
||||
case NOLLIE16_PID:
|
||||
case NOLLIE16_OS21_PID:
|
||||
channels_num = NOLLIE16_CHANNELS_NUM;
|
||||
ch_led_num = NOLLIE_HS_CH_LED_NUM;
|
||||
channel_index = ch16;
|
||||
@@ -80,10 +82,13 @@ void RGBController_Nollie::SetupZones()
|
||||
ch_led_num = NOLLIE_12_CH_LED_NUM;
|
||||
break;
|
||||
case NOLLIE8_PID:
|
||||
case NOLLIE8_OS21_PID:
|
||||
case PRISM8_OS21_PID:
|
||||
channels_num = NOLLIE8_CHANNELS_NUM;
|
||||
ch_led_num = NOLLIE_8_CH_LED_NUM;
|
||||
break;
|
||||
case NOLLIE1_PID:
|
||||
case NOLLIE1_OS21_PID:
|
||||
channels_num = NOLLIE1_CHANNELS_NUM;
|
||||
ch_led_num = NOLLIE_1_CH_LED_NUM;
|
||||
break;
|
||||
@@ -171,7 +176,7 @@ void RGBController_Nollie::ResizeZone(int zone, int new_size)
|
||||
/*-----------------------------------------------------*\
|
||||
| Nollie1 needs to report the number of LEDs |
|
||||
\*-----------------------------------------------------*/
|
||||
if(controller->GetUSBVID() == NOLLIE1_VID && controller->GetUSBPID() == NOLLIE1_PID)
|
||||
if(controller->GetUSBPID() == NOLLIE1_PID)
|
||||
{
|
||||
controller->InitChLEDs(&new_size,NOLLIE1_CHANNELS_NUM);
|
||||
}
|
||||
@@ -192,7 +197,7 @@ void RGBController_Nollie::ResizeZone(int zone, int new_size)
|
||||
void RGBController_Nollie::DeviceUpdateLEDs()
|
||||
{
|
||||
unsigned int DevPid = controller->GetUSBPID();
|
||||
if(DevPid == NOLLIE32_PID || DevPid == NOLLIE16_PID)
|
||||
if(DevPid == NOLLIE32_PID || DevPid == NOLLIE16_PID || DevPid == NOLLIE32_OS21_PID || DevPid == NOLLIE16_OS21_PID)
|
||||
{
|
||||
std::vector<int> ChSort;
|
||||
for(std::size_t zone_idx = 0; zone_idx < zones.size(); zone_idx++)
|
||||
|
||||
Reference in New Issue
Block a user