Repository navigation
Add hi3518ev200_lite_baolian-11r6w25-hx20y (parallel JX-H65, zoom/focus lens) - #218
Conversation
…us lens) The OpenIPC/firmware#2675 camera: hi3518ev200, 8 MB NOR, MT7601U Wi-Fi, a parallel JX-H65 wired to the low VI pins and a two-motor zoom/focus lens. Cloned from hi3518ev200_lite_vstarcam-c8892wip (same SoC, flash and Wi-Fi): - customizer.sh points majestic at dvp_jxh65_960p.ini, the profile measured on this camera (the shared jxh65_i2c_960p.ini gives a pink picture), and sets the lens pins in coil order with ptz_coil_active 0: both motors are active-low, decoded from the factory motor.ko. - muxes.sh muxes GPIO0_6 (a focus coil, FLASH_TRIG at boot) and on every boot homes zoom to its tele stop and focus to its near stop, then parks at wide (370) and the focus peak the reporter measured there (170), in the background. Only with a gpio-motors that knows ptz_coil_active: an older one drives these coils inverted and leaves them energised. - The excludes keep libsns_jxh65.so, the board's profile under both of its names, and the ov9732 IQ file the reporter is comparing; they drop the AR0237 files the vstarcam keeps.
PR Summary by QodoAdd Baolian 11R6W25-HX20Y firmware profile with zoom/focus support
AI Description
Diagram
High-Level Assessment
Files changed (6)
|
Code Review by Qodo
1.
|
muxes.sh sent gpio-motors' output to /dev/null, so a home or park that failed left the lens out of position with nothing recorded. Its output and the outcome now go to syslog under "lens": "homed, parked at zoom 370 focus 170", or "homing failed: lens position unknown" with gpio-motors' own error before it. A gpio-motors too old to know ptz_coil_active is logged too, rather than skipped silently. Still in the background.
Device
Baolian (宝利安) 11R6W25-HX20Y, the camera of OpenIPC/firmware#2675. It's a white-label board (openipc.org entry):
Cloned from
hi3518ev200_lite_vstarcam-c8892wip: same SoC, flash size, Wi-Fi and kernel config.What's specific to it
customizer.sh(first boot):fw_setenv sensor jxh65, andisp.sensorConfigset to/etc/sensors/dvp_jxh65_960p.ini, the profile measured on this camera (hisi cv200: add dvp_jxh65_960p.ini, for JX-H65 boards wired to the low VI pins firmware#2700). The sharedjxh65_i2c_960p.inigives a pink picture on this board.ptz_gpio '31 33 3 32 49 7 34 6': zoom then focus, each in coil order, decoded from the factorymotor.ko. Plusptz_coil_active 0, because both motors are active-low (gpio-motors: drive active-low coils without leaving them energised firmware#2731).wlandev mt7601u-generic.ptz_control/ptz_caps: the two axes are zoom and focus, not pan and tilt, so the web UI's pan/tilt controls would mislead.muxes.sh(every boot):FLASH_TRIG.gpio-motors -400 -530 3), then out to wide and the focus peak the reporter measured there (gpio-motors 370 170 3). A stepper doesn't know its position after a power cut, so this has to run every boot./usr/bin/gpio-motorsknowsptz_coil_active. An oldergpio-motorswould drive these coils inverted and leave both motors energised, so until gpio-motors: drive active-low coils without leaving them energised firmware#2731 is in the firmware it skips the lens entirely.Excludes: the vstarcam list, with these changes:
libsns_jxh65.so, the board's profile under both its names (dvp_jxh65_960p.iniandjxh65_i2c_dvp_960p.ini, see hisi cv200: rename the second JX-H65 profile so majestic picks it on its own firmware#2706), andiq/ov9732.ini, which the reporter is comparing for image tuning;README: a row for the device, marked "testing".
Order
Do not merge before OpenIPC/firmware#2731. The
muxes.shguard makes an earlier merge safe (the lens is simply left alone), but the lens only works once #2731 is in. The sensor part works with today's firmware.Tested
gpio-motorswithptz_coil_active 0, ranges zoom 0–370 and focus 0–510, the focus peak at 168–171 at wide, and the sensor profile.ash -n).python3 .github/scripts/ci-matrix.py --self-test→self-test ok (130 devices, 16 smoke, 39 cases). The selector narrows this PR to the new device.