small things

This commit is contained in:
vextrixes committed 2026-09-17 14:42:20 +02:00
1 parent 85e5bed320
commit 771c95b215
6 files changed
+12 -5

No files matched your search

+1 -1
View File
@@ -1,4 +1,4 @@
#[derive(Default, PartialEq, Debug)] #[derive(Default, PartialEq, Debug, Clone)]
pub struct Color { pub struct Color {
pub red: u8, pub red: u8,
pub green: u8, pub green: u8,
File renamed without changes.
File renamed without changes.
+7
View File
@@ -2,6 +2,7 @@ use crate::Color;
use crate::EFFECTS; use crate::EFFECTS;
use crate::EffectInfo; use crate::EffectInfo;
use crate::Effects; use crate::Effects;
use crate::RGBController;
#[derive(PartialEq, Debug)] #[derive(PartialEq, Debug)]
pub struct Preset { pub struct Preset {
@@ -71,3 +72,9 @@ impl Default for Preset {
) )
} }
} }
impl Preset {
pub fn apply_to_device(&self, mut controller: RGBController) -> Result<Preset, crate::HidWrapperError>{
controller.set_effect(self.effect.clone(), self.color.clone(), self.full_color, self.brightness, self.speed, self.direction, self.keymap)
}
}
+3 -3
View File
@@ -60,11 +60,11 @@ impl Preset {
/// # Errors /// # Errors
/// If this function fails a `SavePresetError` will be returned /// If this function fails a `SavePresetError` will be returned
pub fn _encode_to_buffer(&self) -> Result<Vec<u8>, SavePresetError> { pub fn _encode_to_buffer(&self) -> Result<Vec<u8>, SavePresetError> {
let effect_info: EffectInfo = EFFECTS[usize::from(self.effect.to_u8() - 1)].clone(); let effect_info: EffectInfo = EFFECTS[self.effect.to_u8() as usize - 1].clone();
let mut buffer: Vec<u8> = vec![MAGIC_NUMBER_1, MAGIC_NUMBER_2, VERSION]; let mut buffer: Vec<u8> = vec![MAGIC_NUMBER_1, MAGIC_NUMBER_2, VERSION];
buffer buffer
.push(self.effect.to_u8() + (u8::from(self.full_color) * 128) + (self.direction * 32)); //Effect id, full_color, and direction in a single byte .push(self.effect.to_u8() + self.full_color as u8 * 128 + self.direction * 32); //Effect id, full_color, and direction in a single byte
if !self.full_color && effect_info.can_set_color { if !self.full_color && effect_info.can_set_color {
buffer.extend(&self.color.to_array()); buffer.extend(&self.color.to_array());
@@ -145,7 +145,7 @@ impl Preset {
let effect_id: u8 = effect_byte & 0b0001_1111; let effect_id: u8 = effect_byte & 0b0001_1111;
save.effect = Effects::from_u8(effect_id).ok_or(LoadPresetError::InvalidOrCorruptedFile)?; save.effect = Effects::from_u8(effect_id).ok_or(LoadPresetError::InvalidOrCorruptedFile)?;
let effect_info: EffectInfo = EFFECTS[usize::from(save.effect.to_u8() - 1)].clone(); let effect_info: EffectInfo = EFFECTS[save.effect.to_u8() as usize - 1].clone();
if !save.full_color && effect_info.can_set_color { if !save.full_color && effect_info.can_set_color {
save.color.red = buffer save.color.red = buffer
+1 -1
View File
@@ -1,4 +1,4 @@
#[cfg(feature = "preset_file_saving")] #[cfg(feature = "preset_file_saving")]
mod preset_saving; mod preset_saving;
mod keymap; mod keymap;