Files
OpenRGB/Controllers/NollieController/NollieDevices.cpp
Adam Honse 1c449e332f Zone and Segment type updates
* Add zone flags to indicate if fields are manually configurable and if they have been manually configured
  * Add flags field to segment type
  * Add segment flags for group start and group member
  * Add color mode support flags to zone (RGB, RBG, GRB, GBR, BRG, BGR)
  * Add color mode enum to zone
  * Update zone and segment description functions to support new fields
  * Rename the effects-only configurable size flag
  * Remove zone type and matrix map configuration from E1.31 manual configuration, use zone editor instead
  * Rework DeviceResizeZone to DeviceConfigureZone
  * Rework most ARGB controllers to allow zone customizations
  * Rework DRGBController to define devices in DRGBDevices list (similar to RazerDevices)
  * Rework NollieController to define devices in NollieDevices list (similar to RazerDevices)
2026-03-23 01:33:55 -05:00

144 lines
3.4 KiB
C++

/*---------------------------------------------------------*\
| NollieDevices.cpp |
| |
| Device list for Nollie devices |
| |
| Adam Honse (CalcProgrammer1) 20 Mar 2026 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-or-later |
\*---------------------------------------------------------*/
#include "NollieDevices.h"
/*---------------------------------------------------------*\
| Channel Index Maps |
\*---------------------------------------------------------*/
static const int dflt[32] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31};
static const int ch32[32] = {5, 4, 3, 2, 1, 0, 15, 14, 26, 27, 28, 29, 30, 31, 8, 9, 19, 18, 17, 16, 7, 6, 25, 24, 23, 22, 21, 20, 13, 12, 11, 10};
static const int ch16[32] = {19, 18, 17, 16, 24, 25, 26, 27, 20, 21, 22, 23, 31, 30, 29, 28, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15};
static const int n16[16] = {3, 2, 1, 0, 8, 9, 10, 11, 4, 5, 6, 7, 15, 14, 13, 12};
/*---------------------------------------------------------*\
| Nollie Devices |
\*---------------------------------------------------------*/
static const nollie_device nollie32 =
{
NOLLIE32_VID,
NOLLIE32_PID,
32,
NOLLIE_HS_CH_LED_NUM,
ch32
};
static const nollie_device nollie16 =
{
NOLLIE16_VID,
NOLLIE16_PID,
16,
NOLLIE_HS_CH_LED_NUM,
ch16
};
static const nollie_device nollie8 =
{
NOLLIE8_VID,
NOLLIE8_PID,
8,
126,
dflt
};
static const nollie_device nollie1 =
{
NOLLIE1_VID,
NOLLIE1_PID,
1,
630,
dflt
};
static const nollie_device nollie28_12 =
{
NOLLIE28_12_VID,
NOLLIE28_12_PID,
1,
42,
dflt
};
static const nollie_device nollie28_l1 =
{
NOLLIE28_12_VID,
NOLLIE28_L1_PID,
8,
NOLLIE_FS_CH_LED_NUM,
dflt
};
static const nollie_device nollie28_l2 =
{
NOLLIE28_12_VID,
NOLLIE28_L2_PID,
8,
NOLLIE_FS_CH_LED_NUM,
dflt
};
static const nollie_device nollie32_os2 =
{
NOLLIERGBOS_2_VID,
NOLLIE32_PID,
32,
NOLLIE_HS_CH_LED_NUM,
ch32
};
static const nollie_device nollie16_os2 =
{
NOLLIERGBOS_2_VID,
NOLLIE16_PID,
16,
NOLLIE_HS_CH_LED_NUM,
n16
};
static const nollie_device nollie8_os2 =
{
NOLLIERGBOS_2_VID,
NOLLIE8_PID,
8,
126,
dflt
};
static const nollie_device nollie1_os2 =
{
NOLLIERGBOS_2_VID,
NOLLIE1_PID,
1,
630,
dflt
};
/*---------------------------------------------------------*\
| Nollie Device List |
\*---------------------------------------------------------*/
static const nollie_device* device_list[] =
{
&nollie32,
&nollie16,
&nollie8,
&nollie1,
&nollie28_12,
&nollie28_l1,
&nollie28_l2,
&nollie32_os2,
&nollie16_os2,
&nollie8_os2,
&nollie1_os2,
};
const unsigned int NOLLIE_NUM_DEVICES = (sizeof(device_list) / sizeof(device_list[ 0 ]));
const nollie_device** nollie_device_list = device_list;