Repository navigation
ssc338q_waybeam_generic: wfb-ng with waybeam in place of majestic - #185
Conversation
PR Summary by QodoAdd an SSC338Q Waybeam wfb-ng firmware profile
AI Description
Diagram
High-Level Assessment
Files changed (6)
|
Code Review by Qodo
1. Waybeam profile breaks device naming
|
The first image to ship waybeam (OpenIPC/waybeam), the open-source SigmaStar encoder firmware packages as general/package/waybeam and no defconfig selected: it depends on !MAJESTIC, and every SigmaStar defconfig has majestic. This one is the ssc338q wfb-ng build with majestic, its fonts and the WebUI out (waybeam serves its own page and API on :80) and waybeam in, so /low-latency can offer it (OpenIPC/website#390). - /etc/waybeam.json sends RTP to unix://rtp_local, the abstract socket S98wifibroadcast starts wfb_tx on (-U rtp_local), at 60 fps, 8 Mbps. - S94unixqlen raises net.unix.max_dgram_qlen to 256 before waybeam and wfb_tx start: the default 10 is less than one frame, and the depth is fixed when the receiving socket is created. - adaptive-link is left out until it is shown to drive waybeam's /api/v1/set; the rc.local line wifibroadcast adds for it then finds no alink_drone and does nothing. - NOR only, published as ssc338q_waybeam_generic-nor.tgz, which openipc.org's installer offers as the waybeam edition. - A smoke target, since it is the one variant without majestic.
…r, not a copy of the whole config A full /etc/waybeam.json in the overlay pinned every package default, so a change to them in firmware would never reach this build. The customizer now sets only what the build changes -- the wfb_tx socket, RTP, 60 fps, 8 Mbps -- with waybeam's own json_cli, at first boot and before S95waybeam.
303edc1 to
bedf7f3
Compare
The first image to ship waybeam (OpenIPC/waybeam), the open-source SigmaStar encoder. Firmware packages it as
general/package/waybeam, but no defconfig in firmware or here selects it: itdepends on !BR2_PACKAGE_MAJESTIC, and every SigmaStar defconfig has Majestic. openipc.org's /low-latency describes Waybeam and gives no way to try it. With this, the installer offers it on SSC338Q (OpenIPC/website#390, OpenIPC/website#404).The profile
devices/ssc338q_waybeam_genericis the ssc338q wfb-ng build with these changes:MAJESTIC,MAJESTIC_FONTS,MAJESTIC_WEBUI. Waybeam serves its own page and HTTP API on :80. Also out:ADAPTIVE_LINK(see below) and the UBI rootfs (NOR only for the MVP).BR2_PACKAGE_WAYBEAM=y,BR2_OPENIPC_VARIANT="waybeam"./etc/waybeam.json(overlay over the package default):outgoing.serverisunix://rtp_local. That is the abstract unix datagram socketS98wifibroadcaststartswfb_tx -U rtp_localon, per wfb-ng'sopen_unix_socket_for_rx. RTP, 60 fps, 8000 kbps.S94unixqlenraisesnet.unix.max_dgram_qlento 256 before S95waybeam and S98wifibroadcast. waybeam's README requires this forunix://: the default of 10 datagrams is less than one 60 fps frame, and the depth is fixed when wfb_tx creates its socket. The package's own S95waybeam doesn't do it; I'll send that upstream to firmware separately.ssc338q_waybeam_generic-nor.tgz. The customizer pins that as the upgrade URL.Not verified yet: needs a camera
CI proves it builds and fits. Before calling it usable, on an SSC338Q with IMX335 or IMX415 check:
/tmp/waybeam.logis clean, andwfb_txruns.wifibroadcastaskslocalhost/api/v1/config.jsonfor the frame size, which is Majestic's path; waybeam serves/api/v1/config. msposd gets an empty-zuntil that is reconciled./api/v1/set?video0.bitrate=. Thealink_drone &line wifibroadcast adds to rc.local then finds no binary and does nothing.Independent of #184 (the fpv→wfbng rename); either can land first.