mirror of
https://github.com/CalcProgrammer1/OpenRGB.git
synced 2026-05-18 11:35:21 -04:00
Send resize command to Razer ARGB controller when resizing zones
This commit is contained in:
@@ -192,6 +192,13 @@ void RGBController_RazerAddressable::ResizeZone(int zone, int new_size)
|
||||
{
|
||||
zones[zone].leds_count = new_size;
|
||||
|
||||
controller->SetAddressableZoneSizes(zones[0].leds_count,
|
||||
zones[1].leds_count,
|
||||
zones[2].leds_count,
|
||||
zones[3].leds_count,
|
||||
zones[4].leds_count,
|
||||
zones[5].leds_count);
|
||||
|
||||
SetupZones();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -276,6 +276,13 @@ std::string RazerController::GetSerialString()
|
||||
return(razer_get_serial());
|
||||
}
|
||||
|
||||
void RazerController::SetAddressableZoneSizes(unsigned char zone_1_size, unsigned char zone_2_size, unsigned char zone_3_size, unsigned char zone_4_size, unsigned char zone_5_size, unsigned char zone_6_size)
|
||||
{
|
||||
razer_report report = razer_create_addressable_size_report(zone_1_size, zone_2_size, zone_3_size, zone_4_size, zone_5_size, zone_6_size);
|
||||
|
||||
razer_usb_send(&report);
|
||||
}
|
||||
|
||||
void RazerController::SetLEDs(RGBColor* colors)
|
||||
{
|
||||
/*---------------------------------------------------------*\
|
||||
@@ -447,6 +454,44 @@ razer_report RazerController::razer_create_response()
|
||||
| Command report creation functions |
|
||||
\*---------------------------------------------------------------------------------*/
|
||||
|
||||
razer_report RazerController::razer_create_addressable_size_report
|
||||
(
|
||||
unsigned char zone_1_size,
|
||||
unsigned char zone_2_size,
|
||||
unsigned char zone_3_size,
|
||||
unsigned char zone_4_size,
|
||||
unsigned char zone_5_size,
|
||||
unsigned char zone_6_size
|
||||
)
|
||||
{
|
||||
razer_report report = razer_create_report(0x0F, 0x08, 0x0D);
|
||||
|
||||
report.arguments[0] = 0x06;
|
||||
report.arguments[1] = (zone_1_size == 0) ? 0x01 : 0x19;
|
||||
report.arguments[2] = zone_1_size;
|
||||
report.arguments[3] = (zone_2_size == 0) ? 0x02 : 0x19;
|
||||
report.arguments[4] = zone_2_size;
|
||||
report.arguments[5] = (zone_3_size == 0) ? 0x03 : 0x19;
|
||||
report.arguments[6] = zone_3_size;
|
||||
report.arguments[7] = (zone_4_size == 0) ? 0x04 : 0x19;
|
||||
report.arguments[8] = zone_4_size;
|
||||
report.arguments[9] = (zone_5_size == 0) ? 0x05 : 0x19;
|
||||
report.arguments[10] = zone_5_size;
|
||||
report.arguments[11] = (zone_6_size == 0) ? 0x06 : 0x19;
|
||||
report.arguments[12] = zone_6_size;
|
||||
|
||||
return report;
|
||||
}
|
||||
|
||||
razer_report RazerController::razer_create_addressable_startup_detect_report(bool enable)
|
||||
{
|
||||
razer_report report = razer_create_report(0x00, 0x44, 0x01);
|
||||
|
||||
report.arguments[0] = enable;
|
||||
|
||||
return report;
|
||||
}
|
||||
|
||||
razer_report RazerController::razer_create_brightness_extended_matrix_report(unsigned char variable_storage, unsigned char led_id, unsigned char brightness)
|
||||
{
|
||||
razer_report report = razer_create_report(0x0F, 0x04, 0x03);
|
||||
|
||||
@@ -170,6 +170,7 @@ public:
|
||||
std::string GetSerialString();
|
||||
|
||||
void SetLEDs(RGBColor* colors);
|
||||
void SetAddressableZoneSizes(unsigned char zone_1_size, unsigned char zone_2_size, unsigned char zone_3_size, unsigned char zone_4_size, unsigned char zone_5_size, unsigned char zone_6_size);
|
||||
|
||||
void SetModeBreathingRandom();
|
||||
void SetModeBreathingOneColor(unsigned char red, unsigned char grn, unsigned char blu);
|
||||
@@ -221,6 +222,8 @@ private:
|
||||
razer_report razer_create_report(unsigned char command_class, unsigned char command_id, unsigned char data_size);
|
||||
razer_report razer_create_response();
|
||||
|
||||
razer_report razer_create_addressable_size_report(unsigned char zone_1_size, unsigned char zone_2_size, unsigned char zone_3_size, unsigned char zone_4_size, unsigned char zone_5_size, unsigned char zone_6_size);
|
||||
razer_report razer_create_addressable_startup_detect_report(bool enable);
|
||||
razer_report razer_create_brightness_extended_matrix_report(unsigned char variable_storage, unsigned char led_id, unsigned char brightness);
|
||||
razer_report razer_create_brightness_standard_report(unsigned char variable_storage, unsigned char led_id, unsigned char brightness);
|
||||
razer_argb_report razer_create_custom_frame_argb_report(unsigned char row_index, unsigned char stop_col, unsigned char* rgb_data);
|
||||
|
||||
Reference in New Issue
Block a user