Effort to reverse-engineer an unknown EgisTech/LighTuning fingerprint sensor
E G I S CMD A B
0x00
: Read registerA
: RegisterB
: 0x80 (unknown)- Response:
A
: RegisterB
: ValueC
: 0x01
0x01
: Write registerA
: Register to write toB
: Value to write- Response:
A
: RegisterB
: ValueC
: 0x01
0x02
: Unknown, writes huge amount of data and then crashes0x03
: Unknown, seems to have no effectA
: UnknownB
: Doesn't matter- Response:
A
: A from beforeB
: 0x10C
: 0x01
0x06
: Capture(0x00, 0xFE)A
: NothingB
: Seems to influence frame size and delay until response
0x00
: Finger detection, in the range0xBE - 0xFE
, 64 steps0x01
: Unknown, resets to 170x02
: Seems to determine internal state, default 460x03
: Works with 0, 4, 128, 132, otherwise varying shades of gray, default 1280x04
: Can be 0 - 3, default 00x05
: Can be 0 - 16, default 80x06
: Seems to determine gain in 37 repeating steps (antiproportional), default 00x07
: Stronger gain in 4 repeating steps, default 00x08
: Can be 0 - 64, default 00x09
: Another gain, 0 - 16, default 110x0A
: Switches between 9 weird sensor modes, 0 - 16, default 00x0B
: Seems to do nothing, default 00x0C
: Seems to do nothing, default 255- `0x0D - 0x0F": Seems to do nothing, default 0
0x10
: "Border" per frame (subtracted from 57), default 00x11
: Capture height per frame, default 560x12
: Capture "border" (subtracted from 114), default 00x13
: Capture width, default 1130x14
: Looks like brightness, 0 - 63, default 10x15
: Switches between normal and black, 0 - 3, default 00x16
: From complete white to complete dark, 0 - 255, default 620x17 - 0x1B
: Nothing, default 2550x1C - 0x1F
: Fixed to 00x20 - 0x58
: Row brightness calibration, 0 - 2550x59 - 0xD1
: Column brightness calibration, 0 - 255, default 00xD1 - 0xFF
: Fixed to 0