mirror of
https://github.com/ArduPilot/ardupilot.git
synced 2026-10-08 02:57:16 +08:00
New SITL AP_Periph board modelled on the ChibiOS PPPGW boards (eg Pixhawk6X-PPPGW), with the PPP networking backend, scripting, and a ROMFS-embedded copy of the pppgw_webui.lua web interface from Tools/AP_Periph/Web. Intended for end-to-end PPP testing between two ArduPilot SITL processes and for exercising the PPPGW web server in SITL. The hwdef: - enables AP_PERIPH_NETWORKING_ENABLED, AP_NETWORKING_BACKEND_PPP and AP_NETWORKING_CAN_MCAST_ENABLED; - points NET_PPP_PORT at serial 1 so the periph can be wired to the plane SITL via --serial1=tcpclient:127.0.0.1:<port>; - enables AP_SCRIPTING + AP_FILESYSTEM_ROMFS + AP_PARAM_DYNAMIC, and embeds Tools/AP_Periph/Web/ via ROMFS_DIRECTORY; - disables Lua bindings whose backing libraries AP_Periph does not link (AP_Vehicle/AC_Fence/AP_Button/AP_Camera/AP_Mount/AP_OpticalFlow/ AP_VisualOdom/AP_Frsky_Telem/AP_Arming/RC_Channel). ChibiOS periph builds handle this via defaults_periph.h; SITL periph has no equivalent so we list the gates inline. ROMFS support for SITL hwdefs (the ROMFS / ROMFS_WILDCARD / ROMFS_DIRECTORY keywords) is added to sitl_hwdef.py, modelled on the ChibiOS hwdef parser. Files are published via env_vars['ROMFS_FILES'] and picked up by the existing waf embed_ROMFS_files step in boards.py. A new sitl_periph_PPP-specific defaults file (Tools/autotest/default_params/periph-ppp.parm) holds runtime overrides that should always apply to this build: NET_PPP_BAUD=921600 (saner than the 12.5Mbaud real-hardware default for the loopback-TCP transport), and SCR_ENABLE=1 so the web interface script comes up at boot. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>