forgectrl: implement the camera MJPEG service

Persistent imx-media capture engine (lid/head via the shared video-mux, 409 arbitration, 10 s idle teardown), 1296x972 MJPEG stream via 2x2 Bayer superpixel, full-resolution bilinear snapshots, mjpg-streamer-compatible aliases, sysvinit script; installed in both images. Bench-verified: 3.2 fps stream, clamped 0 during simultaneous motion.
This commit is contained in:
ScottW514
2026-08-03 12:26:23 -04:00
parent f396dbde34
commit b3a8924c91
11 changed files with 1435 additions and 26 deletions
@@ -6,14 +6,26 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda
SRC_URI = "\
file://CMakeLists.txt \
file://hello.c \
file://main.c \
file://cam.c \
file://cam.h \
file://debayer.c \
file://debayer.h \
file://forgectrl.init \
"
S = "${WORKDIR}"
inherit cmake
inherit cmake update-rc.d
DEPENDS += "libconfig ulfius"
RDEPENDS:${PN} = "libconfig ulfius"
DEPENDS += "ulfius jpeg"
# media-ctl / v4l2-ctl configure the imx-media pipeline at runtime
RDEPENDS:${PN} = "v4l-utils"
EXTRA_OECMAKE = ""
INITSCRIPT_NAME = "forgectrl"
INITSCRIPT_PARAMS = "defaults 90"
do_install:append() {
install -d ${D}${sysconfdir}/init.d
install -m 0755 ${WORKDIR}/forgectrl.init ${D}${sysconfdir}/init.d/forgectrl
}