Skip to content

Reading Settings

SpookyyQ edited this page May 11, 2026 · 1 revision

Reading Settings

The app reads the current IPI FLY PRO configuration by querying several 10-byte memory blocks and decoding known offsets.

Read Frames

Start address Frame Purpose
0x00 08 00 00 00 0a 00 00 00 00 00 00 00 00 00 00 3b Polling rate and active DPI stage
0x0A 08 00 00 0a 0a 00 00 00 00 00 00 00 00 00 00 31 LOD, DPI stage 1, DPI stage 2
0x14 08 00 00 14 0a 00 00 00 00 00 00 00 00 00 00 27 DPI stage 3, DPI stage 4
0xAA 08 00 00 aa 0a 00 00 00 00 00 00 00 00 00 00 91 Motion/sleep/linear/waveform settings
0xB4 08 00 00 b4 0a 00 00 00 00 00 00 00 00 00 00 87 Full-power/rage/work mode settings

The active DPI stage can also be read with:

12 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3b

Decoded Offsets

Each block response stores its 10 data bytes in response bytes 5..14.

Block 0x00

Config address Response byte Meaning
0x00 b00[5] Polling rate raw value
0x04 b00[9] Active DPI stage index, 0..3; matches the web-driver dpiGear concept

Polling rate mapping:

Raw Rate
0x08 125 Hz
0x04 250 Hz
0x02 500 Hz
0x01 1000 Hz
0x10 2000 Hz
0x20 4000 Hz
0x40 8000 Hz

Block 0x0A

Config address Response byte Meaning
0x0A b0a[5] Lift-off distance raw value
0x0C b0a[7] DPI stage 1 raw value
0x10 b0a[11] DPI stage 2 raw value

LOD mapping:

Raw LOD
0x03 0.7 mm
0x01 1 mm
0x02 2 mm

DPI values are decoded as:

dpi = (raw + 1) * 50

Block 0x14

Config address Response byte Meaning
0x14 b14[5] DPI stage 3 raw value
0x18 b14[9] DPI stage 4 raw value

Block 0xAA

Config address Response byte Meaning
0xAB baa[6] Motion Sync
0xAD baa[8] Sleep timer
0xAF baa[10] Linear correction
0xB1 baa[12] Waveform control

Block 0xB4

Config address Response byte Meaning
0xB5 bb4[6] Full-power / rage mode toggle
0xB7 bb4[8] Rage-time duration in seconds
0xB9 bb4[10] Work mode; 0 low power, 1 high performance

Clone this wiki locally