Make set funcs return effect information
This commit is contained in:
2 files changed
+44
-23
No files matched your search
@@ -3,6 +3,7 @@ use crate::Effects;
|
|||||||
use crate::HidWrapperError;
|
use crate::HidWrapperError;
|
||||||
use crate::Keymap;
|
use crate::Keymap;
|
||||||
use crate::hid_wrapper::HidWrapper;
|
use crate::hid_wrapper::HidWrapper;
|
||||||
|
use crate::rgb_controller::effects::Effect;
|
||||||
|
|
||||||
pub struct RGBController {
|
pub struct RGBController {
|
||||||
hid_wrapper: HidWrapper,
|
hid_wrapper: HidWrapper,
|
||||||
@@ -224,7 +225,7 @@ impl RGBController {
|
|||||||
speed: u8,
|
speed: u8,
|
||||||
direction: u8,
|
direction: u8,
|
||||||
keymap: Option<[[u8; 3]; 144]>,
|
keymap: Option<[[u8; 3]; 144]>,
|
||||||
) -> Result<(), HidWrapperError> {
|
) -> Result<Effect, HidWrapperError> {
|
||||||
self.hid_wrapper.open_device()?;
|
self.hid_wrapper.open_device()?;
|
||||||
|
|
||||||
self.prepare_device()?;
|
self.prepare_device()?;
|
||||||
@@ -263,7 +264,15 @@ impl RGBController {
|
|||||||
|
|
||||||
self.hid_wrapper.close_device();
|
self.hid_wrapper.close_device();
|
||||||
|
|
||||||
Ok(())
|
Ok(Effect {
|
||||||
|
effect,
|
||||||
|
color,
|
||||||
|
full_color,
|
||||||
|
brightness,
|
||||||
|
speed,
|
||||||
|
direction,
|
||||||
|
keymap,
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn set_static_effect(
|
pub fn set_static_effect(
|
||||||
@@ -271,7 +280,7 @@ impl RGBController {
|
|||||||
color: Color,
|
color: Color,
|
||||||
brightness: u8,
|
brightness: u8,
|
||||||
full_color: Option<bool>,
|
full_color: Option<bool>,
|
||||||
) -> Result<(), HidWrapperError> {
|
) -> Result<Effect, HidWrapperError> {
|
||||||
self.set_effect(
|
self.set_effect(
|
||||||
Effects::Static,
|
Effects::Static,
|
||||||
color,
|
color,
|
||||||
@@ -289,7 +298,7 @@ impl RGBController {
|
|||||||
brightness: u8,
|
brightness: u8,
|
||||||
speed: u8,
|
speed: u8,
|
||||||
full_color: Option<bool>,
|
full_color: Option<bool>,
|
||||||
) -> Result<(), HidWrapperError> {
|
) -> Result<Effect, HidWrapperError> {
|
||||||
self.set_effect(
|
self.set_effect(
|
||||||
Effects::SingleOff,
|
Effects::SingleOff,
|
||||||
color,
|
color,
|
||||||
@@ -307,7 +316,7 @@ impl RGBController {
|
|||||||
brightness: u8,
|
brightness: u8,
|
||||||
speed: u8,
|
speed: u8,
|
||||||
full_color: Option<bool>,
|
full_color: Option<bool>,
|
||||||
) -> Result<(), HidWrapperError> {
|
) -> Result<Effect, HidWrapperError> {
|
||||||
self.set_effect(
|
self.set_effect(
|
||||||
Effects::SingleOn,
|
Effects::SingleOn,
|
||||||
color,
|
color,
|
||||||
@@ -325,7 +334,7 @@ impl RGBController {
|
|||||||
brightness: u8,
|
brightness: u8,
|
||||||
speed: u8,
|
speed: u8,
|
||||||
full_color: Option<bool>,
|
full_color: Option<bool>,
|
||||||
) -> Result<(), HidWrapperError> {
|
) -> Result<Effect, HidWrapperError> {
|
||||||
self.set_effect(
|
self.set_effect(
|
||||||
Effects::Glittering,
|
Effects::Glittering,
|
||||||
color,
|
color,
|
||||||
@@ -343,7 +352,7 @@ impl RGBController {
|
|||||||
brightness: u8,
|
brightness: u8,
|
||||||
speed: u8,
|
speed: u8,
|
||||||
full_color: Option<bool>,
|
full_color: Option<bool>,
|
||||||
) -> Result<(), HidWrapperError> {
|
) -> Result<Effect, HidWrapperError> {
|
||||||
self.set_effect(
|
self.set_effect(
|
||||||
Effects::Rain,
|
Effects::Rain,
|
||||||
color,
|
color,
|
||||||
@@ -359,7 +368,7 @@ impl RGBController {
|
|||||||
&mut self,
|
&mut self,
|
||||||
brightness: u8,
|
brightness: u8,
|
||||||
speed: u8,
|
speed: u8,
|
||||||
) -> Result<(), HidWrapperError> {
|
) -> Result<Effect, HidWrapperError> {
|
||||||
self.set_effect(
|
self.set_effect(
|
||||||
Effects::Colorful,
|
Effects::Colorful,
|
||||||
Color::default(),
|
Color::default(),
|
||||||
@@ -377,7 +386,7 @@ impl RGBController {
|
|||||||
brightness: u8,
|
brightness: u8,
|
||||||
speed: u8,
|
speed: u8,
|
||||||
full_color: Option<bool>,
|
full_color: Option<bool>,
|
||||||
) -> Result<(), HidWrapperError> {
|
) -> Result<Effect, HidWrapperError> {
|
||||||
self.set_effect(
|
self.set_effect(
|
||||||
Effects::Breath,
|
Effects::Breath,
|
||||||
color,
|
color,
|
||||||
@@ -393,7 +402,7 @@ impl RGBController {
|
|||||||
&mut self,
|
&mut self,
|
||||||
brightness: u8,
|
brightness: u8,
|
||||||
speed: u8,
|
speed: u8,
|
||||||
) -> Result<(), HidWrapperError> {
|
) -> Result<Effect, HidWrapperError> {
|
||||||
self.set_effect(
|
self.set_effect(
|
||||||
Effects::Spectrum,
|
Effects::Spectrum,
|
||||||
Color::default(),
|
Color::default(),
|
||||||
@@ -411,7 +420,7 @@ impl RGBController {
|
|||||||
brightness: u8,
|
brightness: u8,
|
||||||
speed: u8,
|
speed: u8,
|
||||||
full_color: Option<bool>,
|
full_color: Option<bool>,
|
||||||
) -> Result<(), HidWrapperError> {
|
) -> Result<Effect, HidWrapperError> {
|
||||||
self.set_effect(
|
self.set_effect(
|
||||||
Effects::CentrifugalWave,
|
Effects::CentrifugalWave,
|
||||||
color,
|
color,
|
||||||
@@ -430,7 +439,7 @@ impl RGBController {
|
|||||||
speed: u8,
|
speed: u8,
|
||||||
direction: u8,
|
direction: u8,
|
||||||
full_color: Option<bool>,
|
full_color: Option<bool>,
|
||||||
) -> Result<(), HidWrapperError> {
|
) -> Result<Effect, HidWrapperError> {
|
||||||
self.set_effect(
|
self.set_effect(
|
||||||
Effects::VerticalWave,
|
Effects::VerticalWave,
|
||||||
color,
|
color,
|
||||||
@@ -449,7 +458,7 @@ impl RGBController {
|
|||||||
speed: u8,
|
speed: u8,
|
||||||
direction: u8,
|
direction: u8,
|
||||||
full_color: Option<bool>,
|
full_color: Option<bool>,
|
||||||
) -> Result<(), HidWrapperError> {
|
) -> Result<Effect, HidWrapperError> {
|
||||||
self.set_effect(
|
self.set_effect(
|
||||||
Effects::HorizontalWave,
|
Effects::HorizontalWave,
|
||||||
color,
|
color,
|
||||||
@@ -467,7 +476,7 @@ impl RGBController {
|
|||||||
brightness: u8,
|
brightness: u8,
|
||||||
speed: u8,
|
speed: u8,
|
||||||
full_color: Option<bool>,
|
full_color: Option<bool>,
|
||||||
) -> Result<(), HidWrapperError> {
|
) -> Result<Effect, HidWrapperError> {
|
||||||
self.set_effect(
|
self.set_effect(
|
||||||
Effects::Rotating,
|
Effects::Rotating,
|
||||||
color,
|
color,
|
||||||
@@ -485,7 +494,7 @@ impl RGBController {
|
|||||||
brightness: u8,
|
brightness: u8,
|
||||||
speed: u8,
|
speed: u8,
|
||||||
full_color: Option<bool>,
|
full_color: Option<bool>,
|
||||||
) -> Result<(), HidWrapperError> {
|
) -> Result<Effect, HidWrapperError> {
|
||||||
self.set_effect(
|
self.set_effect(
|
||||||
Effects::Explosion,
|
Effects::Explosion,
|
||||||
color,
|
color,
|
||||||
@@ -503,7 +512,7 @@ impl RGBController {
|
|||||||
brightness: u8,
|
brightness: u8,
|
||||||
speed: u8,
|
speed: u8,
|
||||||
full_color: Option<bool>,
|
full_color: Option<bool>,
|
||||||
) -> Result<(), HidWrapperError> {
|
) -> Result<Effect, HidWrapperError> {
|
||||||
self.set_effect(
|
self.set_effect(
|
||||||
Effects::Launch,
|
Effects::Launch,
|
||||||
color,
|
color,
|
||||||
@@ -521,7 +530,7 @@ impl RGBController {
|
|||||||
brightness: u8,
|
brightness: u8,
|
||||||
speed: u8,
|
speed: u8,
|
||||||
full_color: Option<bool>,
|
full_color: Option<bool>,
|
||||||
) -> Result<(), HidWrapperError> {
|
) -> Result<Effect, HidWrapperError> {
|
||||||
self.set_effect(
|
self.set_effect(
|
||||||
Effects::Ripples,
|
Effects::Ripples,
|
||||||
color,
|
color,
|
||||||
@@ -539,7 +548,7 @@ impl RGBController {
|
|||||||
brightness: u8,
|
brightness: u8,
|
||||||
speed: u8,
|
speed: u8,
|
||||||
full_color: Option<bool>,
|
full_color: Option<bool>,
|
||||||
) -> Result<(), HidWrapperError> {
|
) -> Result<Effect, HidWrapperError> {
|
||||||
self.set_effect(
|
self.set_effect(
|
||||||
Effects::Snake,
|
Effects::Snake,
|
||||||
color,
|
color,
|
||||||
@@ -557,7 +566,7 @@ impl RGBController {
|
|||||||
brightness: u8,
|
brightness: u8,
|
||||||
speed: u8,
|
speed: u8,
|
||||||
full_color: Option<bool>,
|
full_color: Option<bool>,
|
||||||
) -> Result<(), HidWrapperError> {
|
) -> Result<Effect, HidWrapperError> {
|
||||||
self.set_effect(
|
self.set_effect(
|
||||||
Effects::Pulse,
|
Effects::Pulse,
|
||||||
color,
|
color,
|
||||||
@@ -575,7 +584,7 @@ impl RGBController {
|
|||||||
brightness: u8,
|
brightness: u8,
|
||||||
speed: u8,
|
speed: u8,
|
||||||
full_color: Option<bool>,
|
full_color: Option<bool>,
|
||||||
) -> Result<(), HidWrapperError> {
|
) -> Result<Effect, HidWrapperError> {
|
||||||
self.set_effect(
|
self.set_effect(
|
||||||
Effects::Tilt,
|
Effects::Tilt,
|
||||||
color,
|
color,
|
||||||
@@ -593,7 +602,7 @@ impl RGBController {
|
|||||||
brightness: u8,
|
brightness: u8,
|
||||||
speed: u8,
|
speed: u8,
|
||||||
full_color: Option<bool>,
|
full_color: Option<bool>,
|
||||||
) -> Result<(), HidWrapperError> {
|
) -> Result<Effect, HidWrapperError> {
|
||||||
self.set_effect(
|
self.set_effect(
|
||||||
Effects::Shuttle,
|
Effects::Shuttle,
|
||||||
color,
|
color,
|
||||||
@@ -609,7 +618,7 @@ impl RGBController {
|
|||||||
&mut self,
|
&mut self,
|
||||||
brightness: u8,
|
brightness: u8,
|
||||||
keymap: Keymap,
|
keymap: Keymap,
|
||||||
) -> Result<(), HidWrapperError> {
|
) -> Result<Effect, HidWrapperError> {
|
||||||
self.set_effect(
|
self.set_effect(
|
||||||
Effects::StaticPerKey,
|
Effects::StaticPerKey,
|
||||||
Color::default(),
|
Color::default(),
|
||||||
|
|||||||
@@ -4,6 +4,8 @@ use Effects::{
|
|||||||
VerticalWave,
|
VerticalWave,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
use crate::Color;
|
||||||
|
|
||||||
/// Effects of the keyboard
|
/// Effects of the keyboard
|
||||||
pub enum Effects {
|
pub enum Effects {
|
||||||
Static,
|
Static,
|
||||||
@@ -77,7 +79,17 @@ impl Effects {
|
|||||||
18 => Some(Tilt),
|
18 => Some(Tilt),
|
||||||
19 => Some(Shuttle),
|
19 => Some(Shuttle),
|
||||||
20 => Some(StaticPerKey),
|
20 => Some(StaticPerKey),
|
||||||
_ => None
|
_ => None,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub struct Effect {
|
||||||
|
pub effect: Effects,
|
||||||
|
pub color: Color,
|
||||||
|
pub full_color: bool,
|
||||||
|
pub brightness: u8,
|
||||||
|
pub speed: u8,
|
||||||
|
pub direction: u8,
|
||||||
|
pub keymap: Option<[[u8; 3]; 144]>,
|
||||||
|
}
|
||||||
Reference in new issue
Block a user