Skip to content

Commit 038f03b

Browse files
committed
docs(razer): mark Viper Mini verified on hardware
1 parent a92a3ea commit 038f03b

1 file changed

Lines changed: 18 additions & 22 deletions

File tree

src/devices/razer/TESTING.md

Lines changed: 18 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -119,38 +119,34 @@ needs a richer type before it can be exposed even once the command is found.
119119
- The DPI stage table (`0x04`/`0x06`) is decoded and tested but never written.
120120
A wrong length there is the one realistic way to corrupt stored settings.
121121

122-
## Viper Mini (not yet verified on hardware)
122+
## Viper Mini (verified on hardware)
123123

124124
The Viper Mini shares the 90-byte report and command ids above, but belongs to
125-
openrazer's legacy transaction group: every command is sent with transaction id
126-
`0xff` rather than `0x1f`, and the DPI read uses the no-store byte (`0x00`)
127-
where the V3 Pro reads with the storage byte. Commands and the transaction id
128-
below come from openrazer's kernel driver and daemon, not from this app's own
129-
hardware captures. Confirm each on the device before trusting it:
130-
131-
1. Connect the mouse over USB and confirm the model and wired state appear, with
132-
no battery column (the Viper Mini is wired-only and answers no battery query).
133-
2. Confirm DPI reads correctly and that the control offers 100–8500 DPI.
134-
3. Change the DPI and confirm the pointer speed changes, then reload and confirm
135-
persistence. This also confirms the write-then-read-back pairing of storage
136-
(`0x01`) and no-store (`0x00`) works on this model.
137-
4. Confirm the polling rate reads 125/500/1000 Hz and tracks a Synapse change,
138-
then change it and confirm it persists.
139-
5. Confirm no lift-off distance buttons and no sensor processing card appear.
140-
6. Record the device identifier, firmware version, and any failing setting in
141-
the issue or pull request.
125+
openrazer's legacy transaction group: every command is answered with transaction
126+
id `0xff` rather than `0x1f`, and the DPI read uses the no-store byte (`0x00`)
127+
where the V3 Pro reads with the storage byte. The transaction id and the command
128+
table below were confirmed on hardware (`1532:008a`):
129+
130+
1. The model and wired state appear, with no battery column (wired-only; the
131+
mouse answers no battery query).
132+
2. DPI reads back correctly and the control offers 100–8500 DPI.
133+
3. A DPI change alters pointer speed and persists after reload, confirming the
134+
write-with-storage (`0x01`) / read-with-no-store (`0x00`) pairing.
135+
4. Polling rate reads 125/500/1000 Hz, a 1000 Hz write round-trips with status
136+
`0x02`, and the rate persists.
137+
5. No lift-off distance buttons and no sensor processing card appear.
142138

143139
| Read | Class / ID | Notes |
144140
| --- | --- | --- |
145141
| Firmware | `0x00` / `0x81` | transaction id `0xff` |
146142
| Serial | `0x00` / `0x82` | ASCII, null terminated; transaction id `0xff` |
147-
| DPI | `0x04` / `0x85` | no-store byte, then big-endian X and Y |
143+
| DPI | `0x04` / `0x85` | no-store byte `0x00`, then big-endian X and Y |
148144
| Polling | `0x00` / `0x85` | divisor of 1000; wired only |
149145

150146
| Write | Class / ID | Notes |
151147
| --- | --- | --- |
152-
| DPI | `0x04` / `0x05` | storage byte, then big-endian X and Y |
148+
| DPI | `0x04` / `0x05` | storage byte `0x01`, then big-endian X and Y |
153149
| Polling | `0x00` / `0x05` | divisor of 1000 |
154150

155-
The Viper Mini's 8500 DPI ceiling comes from the openrazer daemon class. The
156-
DPI step granularity is assumed to be whole values, matching the V3 Pro driver.
151+
The 8500 DPI ceiling comes from the openrazer daemon class. The DPI step
152+
granularity is assumed to be whole values, matching the V3 Pro driver.

0 commit comments

Comments
 (0)