Add hi3516ev300_lite_xm-85h50ai device profile (XiongMai, motorized zoom+focus) - #141
Conversation
…oom+focus) XiongMai's 85H50AI: hi3516ev300 + imx335 with a motorized zoom/focus module whose MCU shares /dev/ttyAMA0 with the serial console at 115200, speaking the XM near-Pelco protocol (majestic-webui's btzoom-xm). Everything below was proven on a lab unit driven end to end through the WebUI (majestic-webui#227). The defconfig is a byte-copy of firmware's hi3516ev300_lite_defconfig — no symbol changes, so no drift entries; the lite image already ships btzoom-xm via majestic-webui's bin/. No excludes list: firmware has none for hi3516ev300_lite and rootfs_script.sh treats it as optional. customizer.sh (first boot) sets sensor, the upgrade URL, and the PTZ trio — ptz_control pelco-xm, ptz_port /dev/ttyAMA0, and ptz_caps 'zoom focus' so the WebUI renders only the axes that exist (the module accepts pan/tilt frames and silently ignores them). It also deletes the getty line from /etc/inittab: the MCU owns the console UART. The edit lands in the overlay, and an upgrade that wipes the overlay also wipes /etc/custom.ok, so the script re-runs and the camera heals itself. Ends with the usual reboot so it all takes effect. S01printk quiets runtime kernel messages, which would otherwise drip onto the PTZ wire; bootargs stay untouched (the MCU's 0xC5 framing tolerates early-boot spray).
PR Summary by QodoAdd XiongMai 85H50AI zoom and focus device profile
AI Description
Diagram
High-Level Assessment
Files changed (4)
|
Code Review by Qodo
1. Exclude list is missing
|
| @@ -0,0 +1,64 @@ | |||
| # Architecture | |||
There was a problem hiding this comment.
1. Exclude list is missing 📘 Rule violation ≡ Correctness
1
The new registered device omits general/scripts/excludes/hi3516ev300_lite.list, although the required device layout mandates that artifact. Without the device-specific pruning list, the NOR 8M image also lacks the repository's standard mechanism for controlling root filesystem size.
Agent Prompt
## Issue description
The new device is registered by its defconfig but does not include the required `general/scripts/excludes/hi3516ev300_lite.list` artifact.
## Issue Context
Create the SoC/flavor exclude list in the device directory. Ensure it prunes only unused rootfs content and retains the IMX335 sensor library/configuration and every driver needed by this no-WiFi board.
## Fix Focus Areas
- devices/hi3516ev300_lite_xm-85h50ai/br-ext-chip-hisilicon/configs/hi3516ev300_lite_xm-85h50ai_defconfig[1-1]
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
…ive image The registration rules name general/scripts/excludes/<processor>_<flavor>.list as a required profile file, and on an 8M NOR board it earns its keep: this board is imx335 only, so every other sensor's .so and ini goes. The entries were generated from the file inventory of the lite image running on the lab 85H50AI rather than copied from another profile's list, so none of them is stale on arrival (rootfs_script.sh warns when an entry matches nothing). imx335 keeps both lane variants, iq/default.ini and its WDR configs.
New device profile for XiongMai's 85H50AI — hi3516ev300 + imx335 with a motorized zoom/focus module whose MCU shares
/dev/ttyAMA0with the serial console at 115200, speaking the XM near-Pelco protocol (majestic-webui#227, driverbtzoom-xm). Everything here was proven on a lab unit driven end to end through the WebUI.hi3516ev300_lite_defconfig— no symbol changes (nobuilder_only_symbolsentries), NOR 8M squashfs. The lite image already shipsbtzoom-xmvia majestic-webui'sbin/. No excludes list: firmware has none forhi3516ev300_liteandrootfs_script.shtreats it as optional.customizer.sh(first boot):sensor imx335, the upgrade URL, and the PTZ trio —ptz_control pelco-xm,ptz_port /dev/ttyAMA0,ptz_caps 'zoom focus'so the WebUI renders only the axes that exist out of the box (the module accepts pan/tilt frames and silently ignores them). It alsoseds the getty line out of/etc/inittab— the MCU owns the console UART. Deliberately not an overlay override of inittab (that would shadow a firmware file and need afirmware-drift.jsonentry); the sed lands in the overlay and is self-healing: an upgrade that wipes the overlay also wipes/etc/custom.ok, so the customizer re-runs. Ends with the usual(sleep 3; reboot -f) &.S01printk(additive overlay): quiets runtime kernel messages, which would otherwise drip onto the PTZ wire. Bootargs untouched — the MCU's 0xC5 framing demonstrably tolerates early-boot spray.ci-matrix.py --self-testandcheck-firmware-drift.py --self-testboth green locally (no new trait —hi3516ev300_liteis covered by existing smoke targets).Ordering note: the out-of-the-box zoom/focus-only UI depends on
ptz_capssupport — majestic-webui#261 — being merged before this device's image is built for release. Without it the pad simply shows all axes (pan/tilt presses are refused by the module), so nothing breaks, it's just not the intended out-of-box state.