Files
OpenRGB/Controllers/NollieController/NollieDevices.cpp
2026-04-03 16:23:06 -05:00

194 lines
4.1 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
};
static const nollie_device nollie32_os2_1 =
{
NOLLIERGBOS_2_VID,
NOLLIE32_OS2_1_PID,
32,
NOLLIE_HS_CH_LED_NUM,
ch32
};
static const nollie_device nollie16_os2_1 =
{
NOLLIERGBOS_2_VID,
NOLLIE16_OS2_1_PID,
16,
NOLLIE_HS_CH_LED_NUM,
n16
};
static const nollie_device nollie8_os2_1 =
{
NOLLIERGBOS_2_VID,
NOLLIE8_OS2_1_PID,
8,
126,
dflt
};
static const nollie_device prism8_os2_1 =
{
NOLLIERGBOS_2_VID,
PRISM8_OS2_1_PID,
8,
126,
dflt
};
static const nollie_device nollie1_os2_1 =
{
NOLLIERGBOS_2_VID,
NOLLIE1_OS2_1_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,
&nollie32_os2_1,
&nollie16_os2_1,
&nollie8_os2_1,
&prism8_os2_1,
&nollie1_os2_1,
};
const unsigned int NOLLIE_NUM_DEVICES = (sizeof(device_list) / sizeof(device_list[ 0 ]));
const nollie_device** nollie_device_list = device_list;