UMBRA-9: Add DeviceSpecs for the Abyssus line (6 PIDs) #20
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/abyssus-line-devicespecs-UMBRA-9"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
UMBRA-9: Add DeviceSpecs for the Abyssus line (6 PIDs)
Registers all six Abyssus PIDs from OpenRazer's
razermouse_driver.hasDeviceSpecs, each in its owncrates/umbra-hid/src/models/<model>.rsfile and wired into theSUPPORTEDtable, soumbra inforecognizes the device and exposes whatever DPI / poll-rate / lighting features the OpenRazer driver actually wires up for it. All VID0x1532.Per-command transaction IDs, poll rates, DPI command path, lighting zones and effect kinds were read branch-by-branch off the live
razermouse_driver.c(downloaded from OpenRazer master), not assumed. Features with no umbra command builder are declaredNonewith a doc comment per the existing precedents.-EINVAL); on/off logo LED onlyAll six run firmware / serial / poll on
0xFF(standard misc path) and are wired-only (no battery, no idle). The Elite and Essential expose the full extended-matrix effect set (None / Static / Spectrum / Reactive / Breathing single, dual, random).DPI maxima, where modelled, are sensor-derived assumptions (the driver does not clamp DPI) and documented as such in each file's doc comment.
Notes / deviations from the issue spec
0x005E(Abyssus 2000) would have DPINoneunder the legacy-builder gap did not hold against the driver:0x005Euses the modernrazer_chroma_misc_set_dpi_xypath (not the byte path), which umbra builds. Per the acceptance criteria ("taken from the matching branch, not assumed") it is modelled with DPI max 2000. The byte-path / no-DPI assumption does hold for0x0020and0x0042.set_led_state/set_led_rgb/set_led_effectpath, which umbra has no builder for, so lighting is declaredNone(same treatment as DeathAdder Chroma0x0043).Verification
cargo test --package umbra-hid --no-default-features(protocol tests) passes, including the newevery_abyssus_line_pid_is_registeredtest (25 passed).cargo fmt --checkclean.cargo clippyis clean for this change. Note: three pre-existingdoc_lazy_continuationclippy errors in untouchedbasilisk_*files surface under the newer local toolchain (rustc 1.94.0) but not under CI's pinnedrust-builder-glibcimage; verified they also fire on cleanmainand are unrelated to this PR.#UMBRA-9