Compare commits

..

1 Commits

Author SHA1 Message Date
PX4 BuildBot faa8bc210d boards: update all NuttX defconfigs 2026-04-11 12:09:14 +00:00
9 changed files with 86 additions and 260 deletions
+24 -89
View File
@@ -16,51 +16,9 @@ permissions:
contents: read
jobs:
# Push-to-main: unchanged historical behavior. Single clang build dir
# with BUILD_TESTING=OFF. `make clang-tidy` builds and analyzes every
# TU in compile_commands.json. Test files are not in the DB and
# therefore never analyzed.
clang_tidy_push:
clang_tidy:
name: Clang-Tidy
if: github.event_name != 'pull_request'
runs-on: [runs-on, runner=16cpu-linux-x64, "run-id=${{ github.run_id }}", "extras=s3-cache"]
container:
image: ghcr.io/px4/px4-dev:v1.17.0-rc2
permissions:
contents: read
steps:
- uses: runs-on/action@v2
- uses: actions/checkout@v6
with:
fetch-depth: 0
fetch-tags: true
- name: Configure Git Safe Directory
run: git config --system --add safe.directory '*'
- uses: ./.github/actions/setup-ccache
id: ccache
with:
cache-key-prefix: ccache-clang-tidy
max-size: 150M
- name: Build and Analyze - Clang-Tidy
run: make -j$(nproc) clang-tidy
- uses: ./.github/actions/save-ccache
if: always()
with:
cache-primary-key: ${{ steps.ccache.outputs.cache-primary-key }}
# Pull request: diff-based analysis with a second BUILD_TESTING=ON
# build dir so test files in the PR diff can be linted by
# clang-tidy-diff-18.py with resolved gtest/fuzztest includes.
# Results are uploaded as a `pr-review` artifact for the PR Review
# Poster workflow to post as inline comments.
clang_tidy_pr:
name: Clang-Tidy
if: github.event_name == 'pull_request'
runs-on: [runs-on, runner=8cpu-linux-x64, "run-id=${{ github.run_id }}", "extras=s3-cache"]
container:
image: ghcr.io/px4/px4-dev:v1.17.0-rc2
permissions:
@@ -72,7 +30,6 @@ jobs:
with:
fetch-depth: 0
fetch-tags: true
- name: Configure Git Safe Directory
run: git config --system --add safe.directory '*'
@@ -82,57 +39,35 @@ jobs:
cache-key-prefix: ccache-clang-tidy
max-size: 150M
# fuzztest (enabled via BUILD_TESTING in the -test build dir) pulls
# in abseil via FetchContent, and abseil runs a try_compile with
# fuzztest's -fsanitize=address flags. The px4-dev container ships
# clang but not the clang compiler-rt runtime, so that link fails
# and the configure reports a misleading "pthreads not found".
# libclang-rt-18-dev provides libclang_rt.asan and friends.
- name: Install clang compiler-rt
run: |
apt-get update
apt-get install -y --no-install-recommends libclang-rt-18-dev
# `make clang-ci` prepares both clang build directories:
# - build/px4_sitl_default-clang: full build, BUILD_TESTING=OFF
# (used by run-clang-tidy-pr.py for whole-file analysis of
# changed production code)
# - build/px4_sitl_default-clang-test: configure-only, BUILD_TESTING=ON
# (used by clang-tidy-diff-18.py so test files are in the
# compilation database with resolved gtest/fuzztest includes)
- name: Build clang SITL
run: make -j$(nproc) clang-ci
- name: Build - px4_sitl_default (Clang)
run: make -j16 px4_sitl_default-clang
- name: Run Clang-Tidy Analysis
run: python3 Tools/ci/run-clang-tidy-pr.py origin/${{ github.base_ref }}
# Produce a `pr-review` artifact for the PR Review Poster workflow
# to consume. clang-tidy-diff-18 emits a unified fixes.yml that
# the producer script translates into line-anchored review comments.
- name: Export clang-tidy fixes for PR review
if: always()
id: clang_tidy
run: |
mkdir -p pr-review
# Drop changed C/C++ source files that are not in
# compile_commands.json for the test-enabled build. Files not
# in the DB are platform-specific sources, vendored code, or
# submodule code we don't own. Feeding them to clang-tidy-diff
# produces false positives from unresolved headers.
python3 Tools/ci/clang-tidy-diff-filter.py \
--build-dir build/px4_sitl_default-clang-test \
--base-ref origin/${{ github.base_ref }} \
--out pr-review/diff.patch
if [ -s pr-review/diff.patch ]; then
clang-tidy-diff-18.py -p1 \
-path build/px4_sitl_default-clang-test \
-export-fixes pr-review/fixes.yml \
-j0 < pr-review/diff.patch || true
if [ "${{ github.event_name }}" != "pull_request" ]; then
make -j$(nproc) clang-tidy
else
echo "No analyzable files in diff; skipping clang-tidy-diff"
python3 Tools/ci/run-clang-tidy-pr.py origin/${{ github.base_ref }}
fi
# On PRs, also produce a `pr-review` artifact for the PR Review Poster
# workflow to consume. clang-tidy-diff-18 emits a unified fixes.yml that
# the producer script translates into line-anchored review comments.
# Running this inside the same container as the build means there is no
# workspace-path rewriting and no cross-runner artifact handoff.
- name: Export clang-tidy fixes for PR review
if: always() && github.event_name == 'pull_request'
run: |
mkdir -p pr-review
git diff -U0 origin/${{ github.base_ref }}...HEAD -- ':!*/test/*' \
| clang-tidy-diff-18.py -p1 \
-path build/px4_sitl_default-clang \
-export-fixes pr-review/fixes.yml \
-j0 || true
- name: Build pr-review artifact
if: always()
if: always() && github.event_name == 'pull_request'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
@@ -146,7 +81,7 @@ jobs:
--event COMMENT
- name: Upload pr-review artifact
if: always()
if: always() && github.event_name == 'pull_request'
uses: actions/upload-artifact@v7
with:
name: pr-review
+2 -5
View File
@@ -63,11 +63,8 @@ jobs:
cache-key-prefix: ccache-ubuntu-${{ matrix.version }}
max-size: 200M
- name: Build px4_sitl_default
run: make px4_sitl_default
- name: Build px4_fmu-v5_default
run: make px4_fmu-v5_default
- name: Make Quick Check
run: make quick_check
- uses: ./.github/actions/save-ccache
if: always()
+3 -4
View File
@@ -14,18 +14,17 @@ jobs:
Fuzzing:
runs-on: [runs-on,runner=4cpu-linux-x64,image=ubuntu24-full-x64,"run-id=${{ github.run_id }}",spot=false,extras=s3-cache]
container:
image: px4io/px4-dev:v1.16.0-rc2-4-gb67c65bfe6
image: ghcr.io/px4/px4-dev:v1.17.0-rc2
steps:
- uses: runs-on/action@v2
- uses: actions/checkout@v6
with:
fetch-depth: 1
- name: Configure Git Safe Directory
run: git config --system --add safe.directory '*'
- name: Install clang
run: apt-get update && apt-get install -y clang
- uses: ./.github/actions/setup-ccache
id: ccache
with:
+1 -21
View File
@@ -494,7 +494,7 @@ python_coverage:
# static analyzers (scan-build, clang-tidy, cppcheck)
# --------------------------------------------------------------------
.PHONY: scan-build px4_sitl_default-clang px4_sitl_default-clang-test clang-ci clang-tidy clang-tidy-fix
.PHONY: scan-build px4_sitl_default-clang clang-tidy clang-tidy-fix
.PHONY: cppcheck shellcheck_all validate_module_configs
scan-build:
@@ -512,26 +512,6 @@ px4_sitl_default-clang:
@cd "$(SRC_DIR)"/build/px4_sitl_default-clang && cmake "$(SRC_DIR)" $(CMAKE_ARGS) -G"$(PX4_CMAKE_GENERATOR)" -DCONFIG=px4_sitl_default -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
@$(PX4_MAKE) -C "$(SRC_DIR)"/build/px4_sitl_default-clang
# Clang SITL configure with BUILD_TESTING=ON so test files land in
# compile_commands.json with resolved gtest/fuzztest includes. Used by CI
# to produce a compilation database for diff-based clang-tidy that can
# lint test files. Configure only: we don't build the test binaries here,
# just generate the database.
px4_sitl_default-clang-test:
@mkdir -p "$(SRC_DIR)"/build/px4_sitl_default-clang-test
@cd "$(SRC_DIR)"/build/px4_sitl_default-clang-test && cmake "$(SRC_DIR)" $(CMAKE_ARGS) -G"$(PX4_CMAKE_GENERATOR)" -DCONFIG=px4_sitl_default -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_TESTING=ON
# CI-oriented target that prepares both clang build directories used by
# the Static Analysis workflow:
# - px4_sitl_default-clang: full build, BUILD_TESTING=OFF.
# Used by `make clang-tidy` (push-to-main) and run-clang-tidy-pr.py.
# - px4_sitl_default-clang-test: configure-only, BUILD_TESTING=ON.
# Used by clang-tidy-diff-18.py so test files are in the
# compilation database with resolved gtest/fuzztest includes.
# Running one target ensures both dirs exist before any clang-tidy
# variant runs, and keeps the workflow free of raw cmake invocations.
clang-ci: px4_sitl_default-clang px4_sitl_default-clang-test
# Paths to exclude from clang-tidy (auto-generated from .gitmodules + manual additions):
# - All submodules (external code we consume, not edit)
# - Test code (allowed looser style)
-111
View File
@@ -1,111 +0,0 @@
#!/usr/bin/env python3
"""
Filter a git diff for consumption by clang-tidy-diff.
Produces a unified diff containing only files that clang-tidy can
actually analyze against the current compilation database:
- C/C++ source files (.c, .cpp, .cc, .cxx, .m, .mm) must be present
in compile_commands.json. Files absent from the database are test
files, excluded code, or platform-specific sources that were not
compiled. Feeding them to clang-tidy-diff produces spurious
"header not found" errors (gtest/gtest.h in particular).
- Header files (.h, .hpp, .hxx) always pass through. clang-tidy
analyzes header changes via the TUs that include them; there is
no separate TU for a header to match against the database.
- All other files (CMakeLists.txt, .yml, .md, etc.) are dropped.
Output is a unified diff suitable for piping into clang-tidy-diff.py.
If nothing remains, the output file is empty.
Used by .github/workflows/clang-tidy.yml as a pre-filter for the
`pr-review` artifact producer. Python stdlib only.
"""
import argparse
import json
import os
import subprocess
import sys
SOURCE_EXTS = {'.c', '.cpp', '.cc', '.cxx', '.m', '.mm'}
HEADER_EXTS = {'.h', '.hpp', '.hxx'}
def load_db_files(build_dir):
"""Return the set of source paths (repo-relative) in compile_commands.json."""
path = os.path.join(build_dir, 'compile_commands.json')
with open(path) as f:
db = json.load(f)
root = os.path.abspath('.')
prefix = root + os.sep
paths = set()
for entry in db:
p = entry.get('file', '')
if p.startswith(prefix):
paths.add(p[len(prefix):])
else:
# Relative or external path; record as-is
paths.add(p)
return paths
def changed_files(base_ref):
out = subprocess.check_output(
['git', 'diff', '--name-only', '{}...HEAD'.format(base_ref)],
text=True,
)
return [line.strip() for line in out.splitlines() if line.strip()]
def keep_file(path, db_files):
"""Decide whether to keep this path in the filtered diff."""
ext = os.path.splitext(path)[1].lower()
if ext in HEADER_EXTS:
return True
if ext in SOURCE_EXTS:
return path in db_files
return False
def filtered_diff(base_ref, keep_paths):
if not keep_paths:
return ''
cmd = ['git', 'diff', '-U0', '{}...HEAD'.format(base_ref), '--'] + sorted(keep_paths)
return subprocess.check_output(cmd, text=True)
def main():
parser = argparse.ArgumentParser(description=__doc__)
parser.add_argument('--build-dir', required=True,
help='CMake build dir containing compile_commands.json')
parser.add_argument('--base-ref', required=True,
help='Git ref to diff against (e.g. origin/main)')
parser.add_argument('--out', required=True,
help='Output path for the filtered unified diff')
args = parser.parse_args()
db_files = load_db_files(args.build_dir)
changed = changed_files(args.base_ref)
keep = [p for p in changed if keep_file(p, db_files)]
dropped = [p for p in changed if p not in keep]
print('clang-tidy-diff-filter: kept {} of {} changed files'.format(
len(keep), len(changed)))
if dropped:
print(' dropped (not in compile_commands.json or not source/header):')
for p in dropped:
print(' {}'.format(p))
diff = filtered_diff(args.base_ref, keep)
with open(args.out, 'w') as f:
f.write(diff)
return 0
if __name__ == '__main__':
sys.exit(main())
@@ -8,9 +8,6 @@
# CONFIG_DISABLE_ENVIRON is not set
# CONFIG_DISABLE_PSEUDOFS_OPERATIONS is not set
# CONFIG_DISABLE_PTHREAD is not set
# CONFIG_MMCSD_HAVE_CARDDETECT is not set
# CONFIG_MMCSD_HAVE_WRITEPROTECT is not set
# CONFIG_MMCSD_MMCSUPPORT is not set
# CONFIG_NSH_DISABLEBG is not set
# CONFIG_NSH_DISABLESCRIPT is not set
# CONFIG_NSH_DISABLE_CAT is not set
@@ -49,7 +46,6 @@
# CONFIG_NSH_DISABLE_UMOUNT is not set
# CONFIG_NSH_DISABLE_UNSET is not set
# CONFIG_NSH_DISABLE_USLEEP is not set
# CONFIG_SPI_CALLBACK is not set
CONFIG_ARCH="arm"
CONFIG_ARCH_BOARD_CUSTOM=y
CONFIG_ARCH_BOARD_CUSTOM_DIR="../../../../boards/gearup/airbrainh743/nuttx-config"
@@ -99,15 +95,13 @@ CONFIG_FS_BINFS=y
CONFIG_FS_CROMFS=y
CONFIG_FS_FAT=y
CONFIG_FS_FATTIME=y
CONFIG_FS_LITTLEFS=y
CONFIG_FS_LITTLEFS_PROGRAM_SIZE_FACTOR=1
CONFIG_FS_PROCFS=y
CONFIG_FS_PROCFS_INCLUDE_PROGMEM=y
CONFIG_FS_PROCFS_MAX_TASKS=64
CONFIG_FS_PROCFS_REGISTER=y
CONFIG_FS_ROMFS=y
CONFIG_FS_LITTLEFS=y
CONFIG_FS_LITTLEFS_PROGRAM_SIZE_FACTOR=1
CONFIG_FS_LITTLEFS_READ_SIZE_FACTOR=1
CONFIG_FS_LITTLEFS_CACHE_SIZE_FACTOR=1
CONFIG_GRAN=y
CONFIG_GRAN_INTR=y
CONFIG_HAVE_CXX=y
@@ -129,7 +123,6 @@ CONFIG_MTD_BYTE_WRITE=y
CONFIG_MTD_PARTITION=y
CONFIG_MTD_PROGMEM=y
CONFIG_MTD_W25N=y
CONFIG_W25N_SPIFREQUENCY=104000000
CONFIG_NAME_MAX=40
CONFIG_NSH_ARCHINIT=y
CONFIG_NSH_ARGCAT=y
@@ -187,7 +180,6 @@ CONFIG_STM32H7_BKPSRAM=y
CONFIG_STM32H7_DMA1=y
CONFIG_STM32H7_DMA2=y
CONFIG_STM32H7_DMACAPABLE=y
CONFIG_STM32H7_DMAMUX1=y
CONFIG_STM32H7_FLOWCONTROL_BROKEN=y
CONFIG_STM32H7_I2C1=y
CONFIG_STM32H7_I2C4=y
@@ -255,4 +247,5 @@ CONFIG_USBDEV=y
CONFIG_USBDEV_BUSPOWERED=y
CONFIG_USBDEV_MAXPOWER=500
CONFIG_USEC_PER_TICK=1000
CONFIG_W25N_SPIFREQUENCY=104000000
CONFIG_WATCHDOG=y
@@ -16,36 +16,24 @@
# CONFIG_NSH_DISABLE_CAT is not set
# CONFIG_NSH_DISABLE_CD is not set
# CONFIG_NSH_DISABLE_CP is not set
CONFIG_NSH_DISABLE_DATE=y
CONFIG_NSH_DISABLE_DF=y
# CONFIG_NSH_DISABLE_ECHO is not set
# CONFIG_NSH_DISABLE_ENV is not set
# CONFIG_NSH_DISABLE_EXEC is not set
# CONFIG_NSH_DISABLE_EXIT is not set
CONFIG_NSH_DISABLE_EXPORT=y
CONFIG_NSH_DISABLE_FREE=y
CONFIG_NSH_DISABLE_GET=y
# CONFIG_NSH_DISABLE_HELP is not set
# CONFIG_NSH_DISABLE_ITEF is not set
# CONFIG_NSH_DISABLE_KILL is not set
# CONFIG_NSH_DISABLE_LOOPS is not set
# CONFIG_NSH_DISABLE_LS is not set
CONFIG_NSH_DISABLE_MKDIR=y
# CONFIG_NSH_DISABLE_MKFATFS is not set
# CONFIG_NSH_DISABLE_MOUNT is not set
# CONFIG_NSH_DISABLE_MV is not set
CONFIG_NSH_DISABLE_PRINTF=y
CONFIG_NSH_DISABLE_PS=y
CONFIG_NSH_DISABLE_PSSTACKUSAGE=y
CONFIG_NSH_DISABLE_PWD=y
# CONFIG_NSH_DISABLE_RM is not set
CONFIG_NSH_DISABLE_RMDIR=y
# CONFIG_NSH_DISABLE_SEMICOLON is not set
# CONFIG_NSH_DISABLE_SET is not set
# CONFIG_NSH_DISABLE_SLEEP is not set
# CONFIG_NSH_DISABLE_SOURCE is not set
# CONFIG_NSH_DISABLE_TEST is not set
CONFIG_NSH_DISABLE_TIME=y
# CONFIG_NSH_DISABLE_UMOUNT is not set
# CONFIG_NSH_DISABLE_UNSET is not set
# CONFIG_NSH_DISABLE_USLEEP is not set
@@ -99,15 +99,13 @@ CONFIG_FS_BINFS=y
CONFIG_FS_CROMFS=y
CONFIG_FS_FAT=y
CONFIG_FS_FATTIME=y
CONFIG_FS_LITTLEFS=y
CONFIG_FS_LITTLEFS_PROGRAM_SIZE_FACTOR=1
CONFIG_FS_PROCFS=y
CONFIG_FS_PROCFS_INCLUDE_PROGMEM=y
CONFIG_FS_PROCFS_MAX_TASKS=64
CONFIG_FS_PROCFS_REGISTER=y
CONFIG_FS_ROMFS=y
CONFIG_FS_LITTLEFS=y
CONFIG_FS_LITTLEFS_PROGRAM_SIZE_FACTOR=1
CONFIG_FS_LITTLEFS_READ_SIZE_FACTOR=1
CONFIG_FS_LITTLEFS_CACHE_SIZE_FACTOR=1
CONFIG_GRAN=y
CONFIG_GRAN_INTR=y
CONFIG_HAVE_CXX=y
@@ -130,9 +128,7 @@ CONFIG_MTD=y
CONFIG_MTD_BYTE_WRITE=y
CONFIG_MTD_PARTITION=y
CONFIG_MTD_PROGMEM=y
# CONFIG_MTD_RAMTRON is not set
CONFIG_MTD_W25N=y
CONFIG_W25N_SPIFREQUENCY=104000000
CONFIG_NAME_MAX=40
CONFIG_NSH_ARCHINIT=y
CONFIG_NSH_ARGCAT=y
@@ -141,7 +137,6 @@ CONFIG_NSH_CMDPARMS=y
CONFIG_NSH_CROMFSETC=y
CONFIG_NSH_LINELEN=128
CONFIG_NSH_MAXARGUMENTS=15
# CONFIG_NSH_MMCSDSPIPORTNO is not set
CONFIG_NSH_NESTDEPTH=8
CONFIG_NSH_QUOTE=y
CONFIG_NSH_ROMFSETC=y
@@ -191,7 +186,6 @@ CONFIG_STM32H7_BKPSRAM=y
CONFIG_STM32H7_DMA1=y
CONFIG_STM32H7_DMA2=y
CONFIG_STM32H7_DMACAPABLE=y
CONFIG_STM32H7_DMAMUX1=y
CONFIG_STM32H7_FLOWCONTROL_BROKEN=y
CONFIG_STM32H7_I2C1=y
CONFIG_STM32H7_I2C_DYNTIMEO=y
@@ -251,4 +245,5 @@ CONFIG_USBDEV=y
CONFIG_USBDEV_BUSPOWERED=y
CONFIG_USBDEV_MAXPOWER=500
CONFIG_USEC_PER_TICK=1000
CONFIG_W25N_SPIFREQUENCY=104000000
CONFIG_WATCHDOG=y
+50
View File
@@ -61,6 +61,10 @@ menu "Zenoh publishers/subscribers"
bool "autotune_attitude_control_status"
default n
config ZENOH_PUBSUB_AUX_GLOBAL_POSITION
bool "aux_global_position"
default n
config ZENOH_PUBSUB_BATTERY_INFO
bool "battery_info"
default n
@@ -133,6 +137,10 @@ menu "Zenoh publishers/subscribers"
bool "debug_vect"
default n
config ZENOH_PUBSUB_DEVICE_INFORMATION
bool "device_information"
default n
config ZENOH_PUBSUB_DIFFERENTIAL_PRESSURE
bool "differential_pressure"
default n
@@ -153,6 +161,14 @@ menu "Zenoh publishers/subscribers"
bool "ekf2_timestamps"
default n
config ZENOH_PUBSUB_ESC_EEPROM_READ
bool "esc_eeprom_read"
default n
config ZENOH_PUBSUB_ESC_EEPROM_WRITE
bool "esc_eeprom_write"
default n
config ZENOH_PUBSUB_ESC_REPORT
bool "esc_report"
default n
@@ -185,6 +201,10 @@ menu "Zenoh publishers/subscribers"
bool "estimator_event_flags"
default n
config ZENOH_PUBSUB_ESTIMATOR_FUSION_CONTROL
bool "estimator_fusion_control"
default n
config ZENOH_PUBSUB_ESTIMATOR_GPS_STATUS
bool "estimator_gps_status"
default n
@@ -269,6 +289,10 @@ menu "Zenoh publishers/subscribers"
bool "fuel_tank_status"
default n
config ZENOH_PUBSUB_GAIN_COMPRESSION
bool "gain_compression"
default n
config ZENOH_PUBSUB_GENERATOR_STATUS
bool "generator_status"
default n
@@ -605,6 +629,18 @@ menu "Zenoh publishers/subscribers"
bool "radio_status"
default n
config ZENOH_PUBSUB_RANGING_BEACON
bool "ranging_beacon"
default n
config ZENOH_PUBSUB_RAPTOR_INPUT
bool "raptor_input"
default n
config ZENOH_PUBSUB_RAPTOR_STATUS
bool "raptor_status"
default n
config ZENOH_PUBSUB_RATE_CTRL_STATUS
bool "rate_ctrl_status"
default n
@@ -933,6 +969,10 @@ menu "Zenoh publishers/subscribers"
bool "vtol_vehicle_status"
default n
config ZENOH_PUBSUB_VTX
bool "vtx"
default n
config ZENOH_PUBSUB_WHEEL_ENCODERS
bool "wheel_encoders"
default n
@@ -965,6 +1005,7 @@ config ZENOH_PUBSUB_ALL_SELECTION
select ZENOH_PUBSUB_ARMING_CHECK_REPLY
select ZENOH_PUBSUB_ARMING_CHECK_REQUEST
select ZENOH_PUBSUB_AUTOTUNE_ATTITUDE_CONTROL_STATUS
select ZENOH_PUBSUB_AUX_GLOBAL_POSITION
select ZENOH_PUBSUB_BATTERY_INFO
select ZENOH_PUBSUB_BATTERY_STATUS
select ZENOH_PUBSUB_BUTTON_EVENT
@@ -983,11 +1024,14 @@ config ZENOH_PUBSUB_ALL_SELECTION
select ZENOH_PUBSUB_DEBUG_KEY_VALUE
select ZENOH_PUBSUB_DEBUG_VALUE
select ZENOH_PUBSUB_DEBUG_VECT
select ZENOH_PUBSUB_DEVICE_INFORMATION
select ZENOH_PUBSUB_DIFFERENTIAL_PRESSURE
select ZENOH_PUBSUB_DISTANCE_SENSOR
select ZENOH_PUBSUB_DISTANCE_SENSOR_MODE_CHANGE_REQUEST
select ZENOH_PUBSUB_DRONECAN_NODE_STATUS
select ZENOH_PUBSUB_EKF2_TIMESTAMPS
select ZENOH_PUBSUB_ESC_EEPROM_READ
select ZENOH_PUBSUB_ESC_EEPROM_WRITE
select ZENOH_PUBSUB_ESC_REPORT
select ZENOH_PUBSUB_ESC_STATUS
select ZENOH_PUBSUB_ESTIMATOR_AID_SOURCE1D
@@ -996,6 +1040,7 @@ config ZENOH_PUBSUB_ALL_SELECTION
select ZENOH_PUBSUB_ESTIMATOR_BIAS
select ZENOH_PUBSUB_ESTIMATOR_BIAS3D
select ZENOH_PUBSUB_ESTIMATOR_EVENT_FLAGS
select ZENOH_PUBSUB_ESTIMATOR_FUSION_CONTROL
select ZENOH_PUBSUB_ESTIMATOR_GPS_STATUS
select ZENOH_PUBSUB_ESTIMATOR_INNOVATIONS
select ZENOH_PUBSUB_ESTIMATOR_SELECTOR_STATUS
@@ -1017,6 +1062,7 @@ config ZENOH_PUBSUB_ALL_SELECTION
select ZENOH_PUBSUB_FOLLOW_TARGET_ESTIMATOR
select ZENOH_PUBSUB_FOLLOW_TARGET_STATUS
select ZENOH_PUBSUB_FUEL_TANK_STATUS
select ZENOH_PUBSUB_GAIN_COMPRESSION
select ZENOH_PUBSUB_GENERATOR_STATUS
select ZENOH_PUBSUB_GEOFENCE_RESULT
select ZENOH_PUBSUB_GEOFENCE_STATUS
@@ -1101,6 +1147,9 @@ config ZENOH_PUBSUB_ALL_SELECTION
select ZENOH_PUBSUB_QSHELL_REQ
select ZENOH_PUBSUB_QSHELL_RETVAL
select ZENOH_PUBSUB_RADIO_STATUS
select ZENOH_PUBSUB_RANGING_BEACON
select ZENOH_PUBSUB_RAPTOR_INPUT
select ZENOH_PUBSUB_RAPTOR_STATUS
select ZENOH_PUBSUB_RATE_CTRL_STATUS
select ZENOH_PUBSUB_RC_CHANNELS
select ZENOH_PUBSUB_RC_PARAMETER_MAP
@@ -1183,6 +1232,7 @@ config ZENOH_PUBSUB_ALL_SELECTION
select ZENOH_PUBSUB_VEHICLE_TORQUE_SETPOINT
select ZENOH_PUBSUB_VELOCITY_LIMITS
select ZENOH_PUBSUB_VTOL_VEHICLE_STATUS
select ZENOH_PUBSUB_VTX
select ZENOH_PUBSUB_WHEEL_ENCODERS
select ZENOH_PUBSUB_WIND
select ZENOH_PUBSUB_YAW_ESTIMATOR_STATUS