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