e70d56d957f7f2b53e2109b35c5632495ba8f9b4
- ScanSession: scan-mode context manager with bright-pixel auto-exposure and sensor colour gains; tools/scan.py scans on the scan button with live stitching - Read-only EEPROM access and calib.py parser (laser geometry, intrinsics, colour gains, black/white flat-field samples); flat-field correction in Stitcher - OV7740 sensor access via the MCU proxy; colour gains from EEPROM fix green cast - Stitcher: colour support, high-passed registration (robust on blank paper) - RE notes on the Mac app's colour, exposure, stitching and button handling Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
myscan
Linux driver tools for the Hama myScan (00052343) scanner mouse, a Dacuda design (USB 274f:c001: UVC MJPEG camera + HID mouse).
myscan/xu.py— UVC extension-unit access: switch between mouse and scan mode, LEDs, exposuremyscan/frame.py— fix the lying JPEG header and decode the per-frame sensor record (laser dx/dy)myscan/stitch.py— assemble frames into a page image (laser dead reckoning + image registration)tools/record.py— record a scan session:python tools/record.py -d 25 -o scan_texttools/stitch.py— stitch a recording:python tools/stitch.py scan_text->scan_text/page.pngtools/probe.py— log raw frames and HID reports side by sidetools/scantest.py— minimal scan-mode test: grab frames, decode records, restore mouse mode
See FINDINGS.md for the protocol and calibration notes.
Setup: python -m venv .venv && .venv/bin/pip install -r requirements.txt
Description
Vibecoded driver and picture stitched for the Dacuda Scanner Mose (HAMA myScan)
1 MiB
Languages
Python
100%