chore: add implementation planning for G635L/G835L support

This commit is contained in:
Yaseen
2026-01-21 00:06:56 +05:00
parent 7edb77b41f
commit d006837198
8 changed files with 738 additions and 7 deletions
+9 -3
View File
@@ -1,9 +1,13 @@
use rog_anime::AnimeType;
use self::map_g635l::G635L;
use self::map_g835l::G835L;
use self::map_ga401::GA401;
use self::map_ga402::GA402;
use self::map_gu604::GU604;
mod map_g635l;
mod map_g835l;
mod map_ga401;
mod map_ga402;
mod map_gu604;
@@ -39,6 +43,8 @@ pub struct AniMatrix {
impl AniMatrix {
pub fn new(model: AnimeType) -> Self {
let led_shape = match model {
// TODO: Verify how this reacts on G635L and G835L
// These are all doing the same thing. Can be simplified
AnimeType::GA401 => LedShape {
vertical: 2,
horizontal: 5,
@@ -58,10 +64,10 @@ impl AniMatrix {
// Do a hard mapping of each (derived from wireshardk captures)
let rows = match model {
AnimeType::GA401 => GA401.to_vec(),
AnimeType::GA402 | AnimeType::G635L | AnimeType::G835L | AnimeType::Unsupported => {
GA402.to_vec()
}
AnimeType::GA402 | AnimeType::Unsupported => GA402.to_vec(),
AnimeType::GU604 => GU604.to_vec(),
AnimeType::G635L => G635L.to_vec(),
AnimeType::G835L => G835L.to_vec(),
};
Self { rows, led_shape }