made set_effect functions use rgb struct
This commit is contained in:
4 files changed
+46
-129
No files matched your search
@@ -1,4 +1,3 @@
|
|||||||
extern crate hidapi;
|
|
||||||
mod constants;
|
mod constants;
|
||||||
pub mod error;
|
pub mod error;
|
||||||
pub mod wrapper;
|
pub mod wrapper;
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
#[derive(Default)]
|
||||||
pub struct Rgb {
|
pub struct Rgb {
|
||||||
pub red: u8,
|
pub red: u8,
|
||||||
pub green: u8,
|
pub green: u8,
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
use crate::Effects;
|
use crate::Effects;
|
||||||
use crate::HidWrapperError;
|
use crate::HidWrapperError;
|
||||||
use crate::Keymap;
|
use crate::Keymap;
|
||||||
|
use crate::Rgb;
|
||||||
use crate::hid_wrapper::HidWrapper;
|
use crate::hid_wrapper::HidWrapper;
|
||||||
|
|
||||||
pub struct RGBController {
|
pub struct RGBController {
|
||||||
@@ -8,8 +9,6 @@ pub struct RGBController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl Default for RGBController {
|
impl Default for RGBController {
|
||||||
/// Makes a new instance of HidWrapper (No shit Sherlock)
|
|
||||||
///
|
|
||||||
/// # Panics
|
/// # Panics
|
||||||
/// if ```HidWrapperError::HidApiError``` is returned from new()
|
/// if ```HidWrapperError::HidApiError``` is returned from new()
|
||||||
fn default() -> Self {
|
fn default() -> Self {
|
||||||
@@ -21,8 +20,6 @@ impl Default for RGBController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl RGBController {
|
impl RGBController {
|
||||||
/// Makes a new instance of HidWrapper (No shit Sherlock)
|
|
||||||
///
|
|
||||||
/// # Errors
|
/// # Errors
|
||||||
/// ```HidWrapperError::HidApiError```
|
/// ```HidWrapperError::HidApiError```
|
||||||
pub fn new() -> Result<RGBController, HidWrapperError> {
|
pub fn new() -> Result<RGBController, HidWrapperError> {
|
||||||
@@ -210,9 +207,7 @@ impl RGBController {
|
|||||||
pub fn set_effect(
|
pub fn set_effect(
|
||||||
&mut self,
|
&mut self,
|
||||||
effect: Effects,
|
effect: Effects,
|
||||||
red: u8,
|
rgb: Rgb,
|
||||||
green: u8,
|
|
||||||
blue: u8,
|
|
||||||
full_color: bool,
|
full_color: bool,
|
||||||
brightness: u8,
|
brightness: u8,
|
||||||
speed: u8,
|
speed: u8,
|
||||||
@@ -236,9 +231,9 @@ impl RGBController {
|
|||||||
|
|
||||||
self.hid_wrapper.send_report(&[
|
self.hid_wrapper.send_report(&[
|
||||||
effect.to_u8(),
|
effect.to_u8(),
|
||||||
red,
|
rgb.red,
|
||||||
green,
|
rgb.green,
|
||||||
blue,
|
rgb.blue,
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
@@ -262,17 +257,13 @@ impl RGBController {
|
|||||||
|
|
||||||
pub fn set_static_effect(
|
pub fn set_static_effect(
|
||||||
&mut self,
|
&mut self,
|
||||||
red: u8,
|
rgb: Rgb,
|
||||||
green: u8,
|
|
||||||
blue: u8,
|
|
||||||
brightness: u8,
|
brightness: u8,
|
||||||
full_color: Option<bool>,
|
full_color: Option<bool>,
|
||||||
) -> Result<(), HidWrapperError> {
|
) -> Result<(), HidWrapperError> {
|
||||||
self.set_effect(
|
self.set_effect(
|
||||||
Effects::Static,
|
Effects::Static,
|
||||||
red,
|
rgb,
|
||||||
green,
|
|
||||||
blue,
|
|
||||||
full_color.unwrap_or(false),
|
full_color.unwrap_or(false),
|
||||||
brightness,
|
brightness,
|
||||||
1,
|
1,
|
||||||
@@ -283,18 +274,14 @@ impl RGBController {
|
|||||||
|
|
||||||
pub fn set_single_off_effect(
|
pub fn set_single_off_effect(
|
||||||
&mut self,
|
&mut self,
|
||||||
red: u8,
|
rgb: Rgb,
|
||||||
green: u8,
|
|
||||||
blue: u8,
|
|
||||||
brightness: u8,
|
brightness: u8,
|
||||||
speed: u8,
|
speed: u8,
|
||||||
full_color: Option<bool>,
|
full_color: Option<bool>,
|
||||||
) -> Result<(), HidWrapperError> {
|
) -> Result<(), HidWrapperError> {
|
||||||
self.set_effect(
|
self.set_effect(
|
||||||
Effects::SingleOff,
|
Effects::SingleOff,
|
||||||
red,
|
rgb,
|
||||||
green,
|
|
||||||
blue,
|
|
||||||
full_color.unwrap_or(false),
|
full_color.unwrap_or(false),
|
||||||
brightness,
|
brightness,
|
||||||
speed,
|
speed,
|
||||||
@@ -305,18 +292,14 @@ impl RGBController {
|
|||||||
|
|
||||||
pub fn set_single_on_effect(
|
pub fn set_single_on_effect(
|
||||||
&mut self,
|
&mut self,
|
||||||
red: u8,
|
rgb: Rgb,
|
||||||
green: u8,
|
|
||||||
blue: u8,
|
|
||||||
brightness: u8,
|
brightness: u8,
|
||||||
speed: u8,
|
speed: u8,
|
||||||
full_color: Option<bool>,
|
full_color: Option<bool>,
|
||||||
) -> Result<(), HidWrapperError> {
|
) -> Result<(), HidWrapperError> {
|
||||||
self.set_effect(
|
self.set_effect(
|
||||||
Effects::SingleOn,
|
Effects::SingleOn,
|
||||||
red,
|
rgb,
|
||||||
green,
|
|
||||||
blue,
|
|
||||||
full_color.unwrap_or(false),
|
full_color.unwrap_or(false),
|
||||||
brightness,
|
brightness,
|
||||||
speed,
|
speed,
|
||||||
@@ -327,18 +310,14 @@ impl RGBController {
|
|||||||
|
|
||||||
pub fn set_glittering_effect(
|
pub fn set_glittering_effect(
|
||||||
&mut self,
|
&mut self,
|
||||||
red: u8,
|
rgb: Rgb,
|
||||||
green: u8,
|
|
||||||
blue: u8,
|
|
||||||
brightness: u8,
|
brightness: u8,
|
||||||
speed: u8,
|
speed: u8,
|
||||||
full_color: Option<bool>,
|
full_color: Option<bool>,
|
||||||
) -> Result<(), HidWrapperError> {
|
) -> Result<(), HidWrapperError> {
|
||||||
self.set_effect(
|
self.set_effect(
|
||||||
Effects::Glittering,
|
Effects::Glittering,
|
||||||
red,
|
rgb,
|
||||||
green,
|
|
||||||
blue,
|
|
||||||
full_color.unwrap_or(false),
|
full_color.unwrap_or(false),
|
||||||
brightness,
|
brightness,
|
||||||
speed,
|
speed,
|
||||||
@@ -349,18 +328,14 @@ impl RGBController {
|
|||||||
|
|
||||||
pub fn set_rain_effect(
|
pub fn set_rain_effect(
|
||||||
&mut self,
|
&mut self,
|
||||||
red: u8,
|
rgb: Rgb,
|
||||||
green: u8,
|
|
||||||
blue: u8,
|
|
||||||
brightness: u8,
|
brightness: u8,
|
||||||
speed: u8,
|
speed: u8,
|
||||||
full_color: Option<bool>,
|
full_color: Option<bool>,
|
||||||
) -> Result<(), HidWrapperError> {
|
) -> Result<(), HidWrapperError> {
|
||||||
self.set_effect(
|
self.set_effect(
|
||||||
Effects::Rain,
|
Effects::Rain,
|
||||||
red,
|
rgb,
|
||||||
green,
|
|
||||||
blue,
|
|
||||||
full_color.unwrap_or(false),
|
full_color.unwrap_or(false),
|
||||||
brightness,
|
brightness,
|
||||||
speed,
|
speed,
|
||||||
@@ -371,18 +346,14 @@ impl RGBController {
|
|||||||
|
|
||||||
pub fn set_colorful_effect(
|
pub fn set_colorful_effect(
|
||||||
&mut self,
|
&mut self,
|
||||||
red: u8,
|
rgb: Rgb,
|
||||||
green: u8,
|
|
||||||
blue: u8,
|
|
||||||
brightness: u8,
|
brightness: u8,
|
||||||
speed: u8,
|
speed: u8,
|
||||||
full_color: Option<bool>,
|
full_color: Option<bool>,
|
||||||
) -> Result<(), HidWrapperError> {
|
) -> Result<(), HidWrapperError> {
|
||||||
self.set_effect(
|
self.set_effect(
|
||||||
Effects::Colorful,
|
Effects::Colorful,
|
||||||
red,
|
rgb,
|
||||||
green,
|
|
||||||
blue,
|
|
||||||
full_color.unwrap_or(false),
|
full_color.unwrap_or(false),
|
||||||
brightness,
|
brightness,
|
||||||
speed,
|
speed,
|
||||||
@@ -393,18 +364,14 @@ impl RGBController {
|
|||||||
|
|
||||||
pub fn set_breath_effect(
|
pub fn set_breath_effect(
|
||||||
&mut self,
|
&mut self,
|
||||||
red: u8,
|
rgb: Rgb,
|
||||||
green: u8,
|
|
||||||
blue: u8,
|
|
||||||
brightness: u8,
|
brightness: u8,
|
||||||
speed: u8,
|
speed: u8,
|
||||||
full_color: Option<bool>,
|
full_color: Option<bool>,
|
||||||
) -> Result<(), HidWrapperError> {
|
) -> Result<(), HidWrapperError> {
|
||||||
self.set_effect(
|
self.set_effect(
|
||||||
Effects::Breath,
|
Effects::Breath,
|
||||||
red,
|
rgb,
|
||||||
green,
|
|
||||||
blue,
|
|
||||||
full_color.unwrap_or(false),
|
full_color.unwrap_or(false),
|
||||||
brightness,
|
brightness,
|
||||||
speed,
|
speed,
|
||||||
@@ -420,9 +387,7 @@ impl RGBController {
|
|||||||
) -> Result<(), HidWrapperError> {
|
) -> Result<(), HidWrapperError> {
|
||||||
self.set_effect(
|
self.set_effect(
|
||||||
Effects::Spectrum,
|
Effects::Spectrum,
|
||||||
0,
|
Rgb::default(),
|
||||||
0,
|
|
||||||
0,
|
|
||||||
false,
|
false,
|
||||||
brightness,
|
brightness,
|
||||||
speed,
|
speed,
|
||||||
@@ -433,18 +398,14 @@ impl RGBController {
|
|||||||
|
|
||||||
pub fn set_centrifugal_wave_effect(
|
pub fn set_centrifugal_wave_effect(
|
||||||
&mut self,
|
&mut self,
|
||||||
red: u8,
|
rgb: Rgb,
|
||||||
green: u8,
|
|
||||||
blue: u8,
|
|
||||||
brightness: u8,
|
brightness: u8,
|
||||||
speed: u8,
|
speed: u8,
|
||||||
full_color: Option<bool>,
|
full_color: Option<bool>,
|
||||||
) -> Result<(), HidWrapperError> {
|
) -> Result<(), HidWrapperError> {
|
||||||
self.set_effect(
|
self.set_effect(
|
||||||
Effects::CentrifugalWave,
|
Effects::CentrifugalWave,
|
||||||
red,
|
rgb,
|
||||||
green,
|
|
||||||
blue,
|
|
||||||
full_color.unwrap_or(false),
|
full_color.unwrap_or(false),
|
||||||
brightness,
|
brightness,
|
||||||
speed,
|
speed,
|
||||||
@@ -453,12 +414,9 @@ impl RGBController {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
#[allow(clippy::too_many_arguments)]
|
|
||||||
pub fn set_vertical_wave_effect(
|
pub fn set_vertical_wave_effect(
|
||||||
&mut self,
|
&mut self,
|
||||||
red: u8,
|
rgb: Rgb,
|
||||||
green: u8,
|
|
||||||
blue: u8,
|
|
||||||
brightness: u8,
|
brightness: u8,
|
||||||
speed: u8,
|
speed: u8,
|
||||||
direction: u8,
|
direction: u8,
|
||||||
@@ -466,9 +424,7 @@ impl RGBController {
|
|||||||
) -> Result<(), HidWrapperError> {
|
) -> Result<(), HidWrapperError> {
|
||||||
self.set_effect(
|
self.set_effect(
|
||||||
Effects::VerticalWave,
|
Effects::VerticalWave,
|
||||||
red,
|
rgb,
|
||||||
green,
|
|
||||||
blue,
|
|
||||||
full_color.unwrap_or(false),
|
full_color.unwrap_or(false),
|
||||||
brightness,
|
brightness,
|
||||||
speed,
|
speed,
|
||||||
@@ -477,12 +433,9 @@ impl RGBController {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
#[allow(clippy::too_many_arguments)]
|
|
||||||
pub fn set_horizontal_wave_effect(
|
pub fn set_horizontal_wave_effect(
|
||||||
&mut self,
|
&mut self,
|
||||||
red: u8,
|
rgb: Rgb,
|
||||||
green: u8,
|
|
||||||
blue: u8,
|
|
||||||
brightness: u8,
|
brightness: u8,
|
||||||
speed: u8,
|
speed: u8,
|
||||||
direction: u8,
|
direction: u8,
|
||||||
@@ -490,9 +443,7 @@ impl RGBController {
|
|||||||
) -> Result<(), HidWrapperError> {
|
) -> Result<(), HidWrapperError> {
|
||||||
self.set_effect(
|
self.set_effect(
|
||||||
Effects::HorizontalWave,
|
Effects::HorizontalWave,
|
||||||
red,
|
rgb,
|
||||||
green,
|
|
||||||
blue,
|
|
||||||
full_color.unwrap_or(false),
|
full_color.unwrap_or(false),
|
||||||
brightness,
|
brightness,
|
||||||
speed,
|
speed,
|
||||||
@@ -503,18 +454,14 @@ impl RGBController {
|
|||||||
|
|
||||||
pub fn set_rotating_effect(
|
pub fn set_rotating_effect(
|
||||||
&mut self,
|
&mut self,
|
||||||
red: u8,
|
rgb: Rgb,
|
||||||
green: u8,
|
|
||||||
blue: u8,
|
|
||||||
brightness: u8,
|
brightness: u8,
|
||||||
speed: u8,
|
speed: u8,
|
||||||
full_color: Option<bool>,
|
full_color: Option<bool>,
|
||||||
) -> Result<(), HidWrapperError> {
|
) -> Result<(), HidWrapperError> {
|
||||||
self.set_effect(
|
self.set_effect(
|
||||||
Effects::Rotating,
|
Effects::Rotating,
|
||||||
red,
|
rgb,
|
||||||
green,
|
|
||||||
blue,
|
|
||||||
full_color.unwrap_or(false),
|
full_color.unwrap_or(false),
|
||||||
brightness,
|
brightness,
|
||||||
speed,
|
speed,
|
||||||
@@ -525,18 +472,14 @@ impl RGBController {
|
|||||||
|
|
||||||
pub fn set_explosion_effect(
|
pub fn set_explosion_effect(
|
||||||
&mut self,
|
&mut self,
|
||||||
red: u8,
|
rgb: Rgb,
|
||||||
green: u8,
|
|
||||||
blue: u8,
|
|
||||||
brightness: u8,
|
brightness: u8,
|
||||||
speed: u8,
|
speed: u8,
|
||||||
full_color: Option<bool>,
|
full_color: Option<bool>,
|
||||||
) -> Result<(), HidWrapperError> {
|
) -> Result<(), HidWrapperError> {
|
||||||
self.set_effect(
|
self.set_effect(
|
||||||
Effects::Explosion,
|
Effects::Explosion,
|
||||||
red,
|
rgb,
|
||||||
green,
|
|
||||||
blue,
|
|
||||||
full_color.unwrap_or(false),
|
full_color.unwrap_or(false),
|
||||||
brightness,
|
brightness,
|
||||||
speed,
|
speed,
|
||||||
@@ -547,18 +490,14 @@ impl RGBController {
|
|||||||
|
|
||||||
pub fn set_launch_effect(
|
pub fn set_launch_effect(
|
||||||
&mut self,
|
&mut self,
|
||||||
red: u8,
|
rgb: Rgb,
|
||||||
green: u8,
|
|
||||||
blue: u8,
|
|
||||||
brightness: u8,
|
brightness: u8,
|
||||||
speed: u8,
|
speed: u8,
|
||||||
full_color: Option<bool>,
|
full_color: Option<bool>,
|
||||||
) -> Result<(), HidWrapperError> {
|
) -> Result<(), HidWrapperError> {
|
||||||
self.set_effect(
|
self.set_effect(
|
||||||
Effects::Launch,
|
Effects::Launch,
|
||||||
red,
|
rgb,
|
||||||
green,
|
|
||||||
blue,
|
|
||||||
full_color.unwrap_or(false),
|
full_color.unwrap_or(false),
|
||||||
brightness,
|
brightness,
|
||||||
speed,
|
speed,
|
||||||
@@ -569,18 +508,14 @@ impl RGBController {
|
|||||||
|
|
||||||
pub fn set_ripples_effect(
|
pub fn set_ripples_effect(
|
||||||
&mut self,
|
&mut self,
|
||||||
red: u8,
|
rgb: Rgb,
|
||||||
green: u8,
|
|
||||||
blue: u8,
|
|
||||||
brightness: u8,
|
brightness: u8,
|
||||||
speed: u8,
|
speed: u8,
|
||||||
full_color: Option<bool>,
|
full_color: Option<bool>,
|
||||||
) -> Result<(), HidWrapperError> {
|
) -> Result<(), HidWrapperError> {
|
||||||
self.set_effect(
|
self.set_effect(
|
||||||
Effects::Ripples,
|
Effects::Ripples,
|
||||||
red,
|
rgb,
|
||||||
green,
|
|
||||||
blue,
|
|
||||||
full_color.unwrap_or(false),
|
full_color.unwrap_or(false),
|
||||||
brightness,
|
brightness,
|
||||||
speed,
|
speed,
|
||||||
@@ -591,18 +526,14 @@ impl RGBController {
|
|||||||
|
|
||||||
pub fn set_snake_effect(
|
pub fn set_snake_effect(
|
||||||
&mut self,
|
&mut self,
|
||||||
red: u8,
|
rgb: Rgb,
|
||||||
green: u8,
|
|
||||||
blue: u8,
|
|
||||||
brightness: u8,
|
brightness: u8,
|
||||||
speed: u8,
|
speed: u8,
|
||||||
full_color: Option<bool>,
|
full_color: Option<bool>,
|
||||||
) -> Result<(), HidWrapperError> {
|
) -> Result<(), HidWrapperError> {
|
||||||
self.set_effect(
|
self.set_effect(
|
||||||
Effects::Snake,
|
Effects::Snake,
|
||||||
red,
|
rgb,
|
||||||
green,
|
|
||||||
blue,
|
|
||||||
full_color.unwrap_or(false),
|
full_color.unwrap_or(false),
|
||||||
brightness,
|
brightness,
|
||||||
speed,
|
speed,
|
||||||
@@ -613,18 +544,14 @@ impl RGBController {
|
|||||||
|
|
||||||
pub fn set_pulse_effect(
|
pub fn set_pulse_effect(
|
||||||
&mut self,
|
&mut self,
|
||||||
red: u8,
|
rgb: Rgb,
|
||||||
green: u8,
|
|
||||||
blue: u8,
|
|
||||||
brightness: u8,
|
brightness: u8,
|
||||||
speed: u8,
|
speed: u8,
|
||||||
full_color: Option<bool>,
|
full_color: Option<bool>,
|
||||||
) -> Result<(), HidWrapperError> {
|
) -> Result<(), HidWrapperError> {
|
||||||
self.set_effect(
|
self.set_effect(
|
||||||
Effects::Pulse,
|
Effects::Pulse,
|
||||||
red,
|
rgb,
|
||||||
green,
|
|
||||||
blue,
|
|
||||||
full_color.unwrap_or(false),
|
full_color.unwrap_or(false),
|
||||||
brightness,
|
brightness,
|
||||||
speed,
|
speed,
|
||||||
@@ -635,18 +562,14 @@ impl RGBController {
|
|||||||
|
|
||||||
pub fn set_tilt_effect(
|
pub fn set_tilt_effect(
|
||||||
&mut self,
|
&mut self,
|
||||||
red: u8,
|
rgb: Rgb,
|
||||||
green: u8,
|
|
||||||
blue: u8,
|
|
||||||
brightness: u8,
|
brightness: u8,
|
||||||
speed: u8,
|
speed: u8,
|
||||||
full_color: Option<bool>,
|
full_color: Option<bool>,
|
||||||
) -> Result<(), HidWrapperError> {
|
) -> Result<(), HidWrapperError> {
|
||||||
self.set_effect(
|
self.set_effect(
|
||||||
Effects::Tilt,
|
Effects::Tilt,
|
||||||
red,
|
rgb,
|
||||||
green,
|
|
||||||
blue,
|
|
||||||
full_color.unwrap_or(false),
|
full_color.unwrap_or(false),
|
||||||
brightness,
|
brightness,
|
||||||
speed,
|
speed,
|
||||||
@@ -657,18 +580,14 @@ impl RGBController {
|
|||||||
|
|
||||||
pub fn set_shuttle_effect(
|
pub fn set_shuttle_effect(
|
||||||
&mut self,
|
&mut self,
|
||||||
red: u8,
|
rgb: Rgb,
|
||||||
green: u8,
|
|
||||||
blue: u8,
|
|
||||||
brightness: u8,
|
brightness: u8,
|
||||||
speed: u8,
|
speed: u8,
|
||||||
full_color: Option<bool>,
|
full_color: Option<bool>,
|
||||||
) -> Result<(), HidWrapperError> {
|
) -> Result<(), HidWrapperError> {
|
||||||
self.set_effect(
|
self.set_effect(
|
||||||
Effects::Shuttle,
|
Effects::Shuttle,
|
||||||
red,
|
rgb,
|
||||||
green,
|
|
||||||
blue,
|
|
||||||
full_color.unwrap_or(false),
|
full_color.unwrap_or(false),
|
||||||
brightness,
|
brightness,
|
||||||
speed,
|
speed,
|
||||||
@@ -684,9 +603,7 @@ impl RGBController {
|
|||||||
) -> Result<(), HidWrapperError> {
|
) -> Result<(), HidWrapperError> {
|
||||||
self.set_effect(
|
self.set_effect(
|
||||||
Effects::StaticPerKey,
|
Effects::StaticPerKey,
|
||||||
0,
|
Rgb::default(),
|
||||||
0,
|
|
||||||
0,
|
|
||||||
false,
|
false,
|
||||||
brightness,
|
brightness,
|
||||||
1,
|
1,
|
||||||
|
|||||||
@@ -248,6 +248,6 @@ impl Keymap {
|
|||||||
|
|
||||||
impl Keymap {
|
impl Keymap {
|
||||||
pub fn map(&self) -> [[u8; 3]; 144] {
|
pub fn map(&self) -> [[u8; 3]; 144] {
|
||||||
self.map.clone()
|
self.map
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in new issue
Block a user