Add autonomous mode as a selectable mode

This commit is contained in:
Adam Honse
2026-02-02 20:03:43 -06:00
parent 7c21363830
commit 24c39e4dc8
3 changed files with 16 additions and 4 deletions

View File

@@ -160,8 +160,6 @@ HIDLampArrayController::HIDLampArrayController(hid_device *dev_handle, const cha
{
GetLampAttributesResponseReport();
}
SetLampArrayControlReport(false);
}
HIDLampArrayController::~HIDLampArrayController()

View File

@@ -121,6 +121,7 @@ public:
unsigned int GetLampCount();
std::vector<LampAttributes> GetLamps();
void SetLampArrayControlReport(unsigned char AutonomousMode);
void SetLampMultiUpdateReport(unsigned char LampCount, unsigned char LampUpdateFlags, unsigned short * LampIds, LampArrayColor * UpdateColors);
private:
@@ -140,6 +141,5 @@ private:
void GetLampArrayAttributesReport();
void GetLampAttributesResponseReport();
void SetLampArrayControlReport(unsigned char AutonomousMode);
void SetLampAttributesRequestReport(unsigned short LampId);
};

View File

@@ -71,6 +71,13 @@ RGBController_HIDLampArray::RGBController_HIDLampArray(HIDLampArrayController* c
Direct.color_mode = MODE_COLORS_PER_LED;
modes.push_back(Direct);
mode Autonomous;
Autonomous.name = "Autonomous";
Autonomous.value = 1;
Autonomous.flags = 0;
Autonomous.color_mode = MODE_COLORS_NONE;
modes.push_back(Autonomous);
SetupZones();
}
@@ -411,5 +418,12 @@ void RGBController_HIDLampArray::DeviceUpdateSingleLED(int /*led*/)
void RGBController_HIDLampArray::DeviceUpdateMode()
{
if(modes[active_mode].value == 0)
{
controller->SetLampArrayControlReport(false);
}
else
{
controller->SetLampArrayControlReport(true);
}
}