Commit Graph

24 Commits

Author SHA1 Message Date
Adam Honse
db7bd56d18 Rework adding segments with ConfigureZone 2026-04-03 16:23:06 -05:00
Adam Honse
02b9f3b299 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-04-03 16:22:50 -05:00
Adam Honse
729d97f8be Move RGBController base destructor functionality into RGBController::Shutdown() so that update thread can be stopped before deleting the controller. Shutdown() must be called in every RGBController implementation before deleting the controller. Also some fixes to the NetworkServer to avoid deadlocking and disconnect issues 2026-04-03 13:46:34 -05:00
Adam Honse
03f0977205 Move HID detector calls to RunHIDDetector/RunHIDWrappedDetector functions and return controller list from detector functions 2026-04-03 13:46:34 -05:00
Adam Honse
b19fac380b Split out detection system from ResourceManager into DetectionManager
* Split detection system out into its own class, DetectionManager
    * Clean up ResourceManger's many callbacks into just two, one for detection and one general purpose
2026-04-03 13:46:34 -05:00
Adam Honse
dfd8656d9f RGBController API Overhaul
* Reorganize and clean up RGBController API functions
    * Add functions to get protected RGBController member values
    * Make NetworkClient, ProfileManager, and ResourceManager friend classes so they can access protected members
    * Protected previously-public RGBController members
        * Information strings (name, vendor, description, version, serial location)
        * Device type
        * Active mode
        * Flags
        * LEDs vector
        * LED alternate names vector
        * Modes vector
        * Colors vector
        * Zones vector
    * Add CONTROLLER_FLAG_HIDDEN to allow plugins to hide controllers from control GUI
    * Add update reason codes to RGBController update callback and signal updates on more RGBController events
    * Add loop zone types and segmented zone type
    * Add matrix map field to segments
    * Rework matrix_map_type from using pointers to vector to prevent memory leaks
    * Rework KeyboardLayoutManager to return new matrix_map_type
    * Add access mutex to RGBController API
    * Add per-zone modes ot RGBController API
    * Add JSON description functions to RGBController API
2026-04-03 13:46:34 -05:00
Adam Honse
c71cc4f18a Change SPDX license identifier from GPL 2.0 only to GPL 2.0 or later, as the original LICENSE file includes an or later clause at the end so the file headers were incorrect 2025-09-28 00:47:08 -05:00
Adam Honse
1bd9215a72 Store name in SRGBmodsControllers to avoid setting it in detectors 2025-08-14 20:11:54 -05:00
Dmitry Kychanov
300abac9a8 Removed unused includes 2024-10-15 00:24:32 +00:00
Adam Honse
c35fd68c99 Fix possible loss of data warnings in SRGBmods controllers 2024-08-08 21:13:21 -05:00
James Buren
66109be668 Properly fix how how hidapi and libusb dependencies are handled 2024-08-05 01:14:17 +00:00
Adam Honse
b4d15b9545 Move wstring to string conversion to StringUtils.cpp and update most HID get serial number functions to use it 2024-07-28 17:42:01 -05:00
Adam Honse
ff404bfd99 Update SRGBmods common controller files to new standardized header comment 2024-06-17 22:48:12 -05:00
Adam Honse
0934020873 Update SRGBmods Pico controller files to new standardized header comment 2024-06-17 22:42:12 -05:00
Adam Honse
a3ded7574c Update SRGBmods LED Controller V1 controller files to new standardized header comment 2024-06-17 22:33:55 -05:00
Adam Honse
d52ad02c5c Organize most controller files into subfolders 2024-04-30 17:18:39 -05:00
Cooper Hall
1cfd60261e Fixed all the warnings I could 2023-07-06 23:39:19 +00:00
Adam Honse
ddef980db4 Initial commit for SRGBmods LED Controller V1 2023-06-30 22:04:43 -05:00
Adam Honse
ff8ac680ad Replace most instances of sprintf() with snprintf() 2023-03-02 00:15:03 -06:00
Adam Honse
755ce20794 Fix 180 LED issue with SRGBMods Pi Pico controller 2022-11-27 02:03:45 -06:00
Adam Honse
530d667328 Add second SRGBMods Pi Pico string for updated code 2022-11-26 21:26:08 -06:00
Adam Honse
126e5f4341 Remove SetCustomMode from all controllers beginning with the letter S 2022-08-21 19:31:01 -05:00
Adam Honse
c6c9bd9f24 Fix race condition crash in SRGBmodsPicoController 2022-07-24 16:10:43 -05:00
Adam Honse
16effbe35b Initial support for SRGBmods Raspberry Pi Pico LED Controller 2022-07-22 03:23:31 +00:00