forked from Archive/PX4-Autopilot
msg ROS2 compatibility, microdds_client improvements (timesync, reduced code size, added topics, etc), fastrtps purge
- update all msgs to be directly compatible with ROS2 - microdds_client improvements - timesync - reduced code size - add to most default builds if we can afford it - lots of other little changes - purge fastrtps (I tried to save this multiple times, but kept hitting roadblocks)
This commit is contained in:
parent
e211e0ca0e
commit
cea185268e
|
@ -69,24 +69,18 @@ pipeline {
|
||||||
"matek_h743-slim_default",
|
"matek_h743-slim_default",
|
||||||
"matek_h743_default",
|
"matek_h743_default",
|
||||||
"modalai_fc-v1_default",
|
"modalai_fc-v1_default",
|
||||||
"modalai_fc-v1_rtps",
|
|
||||||
"modalai_fc-v2_default",
|
"modalai_fc-v2_default",
|
||||||
"modalai_voxl2-io_default",
|
"modalai_voxl2-io_default",
|
||||||
"mro_ctrl-zero-f7_default",
|
"mro_ctrl-zero-f7_default",
|
||||||
"mro_ctrl-zero-f7-oem_default",
|
"mro_ctrl-zero-f7-oem_default",
|
||||||
"mro_ctrl-zero-h7-oem_default",
|
"mro_ctrl-zero-h7-oem_default",
|
||||||
"mro_ctrl-zero-h7-oem_rtps",
|
|
||||||
"mro_ctrl-zero-h7_default",
|
"mro_ctrl-zero-h7_default",
|
||||||
"mro_ctrl-zero-h7_rtps",
|
|
||||||
"mro_pixracerpro_default",
|
"mro_pixracerpro_default",
|
||||||
"mro_pixracerpro_rtps",
|
|
||||||
"mro_x21-777_default",
|
"mro_x21-777_default",
|
||||||
"mro_x21_default",
|
"mro_x21_default",
|
||||||
"nxp_fmuk66-e_default",
|
"nxp_fmuk66-e_default",
|
||||||
"nxp_fmuk66-e_rtps",
|
|
||||||
"nxp_fmuk66-e_socketcan",
|
"nxp_fmuk66-e_socketcan",
|
||||||
"nxp_fmuk66-v3_default",
|
"nxp_fmuk66-v3_default",
|
||||||
"nxp_fmuk66-v3_rtps",
|
|
||||||
"nxp_fmuk66-v3_socketcan",
|
"nxp_fmuk66-v3_socketcan",
|
||||||
"nxp_fmurt1062-v1_default",
|
"nxp_fmurt1062-v1_default",
|
||||||
"nxp_ucans32k146_canbootloader",
|
"nxp_ucans32k146_canbootloader",
|
||||||
|
@ -104,7 +98,6 @@ pipeline {
|
||||||
"px4_fmu-v5_debug",
|
"px4_fmu-v5_debug",
|
||||||
"px4_fmu-v5_default",
|
"px4_fmu-v5_default",
|
||||||
"px4_fmu-v5_lto",
|
"px4_fmu-v5_lto",
|
||||||
"px4_fmu-v5_rtps",
|
|
||||||
"px4_fmu-v5_stackcheck",
|
"px4_fmu-v5_stackcheck",
|
||||||
"px4_fmu-v5_uavcanv0periph",
|
"px4_fmu-v5_uavcanv0periph",
|
||||||
"px4_fmu-v5x_default",
|
"px4_fmu-v5x_default",
|
||||||
|
|
|
@ -23,7 +23,6 @@ jobs:
|
||||||
"shellcheck_all",
|
"shellcheck_all",
|
||||||
"NO_NINJA_BUILD=1 px4_fmu-v5_default",
|
"NO_NINJA_BUILD=1 px4_fmu-v5_default",
|
||||||
"NO_NINJA_BUILD=1 px4_sitl_default",
|
"NO_NINJA_BUILD=1 px4_sitl_default",
|
||||||
"BUILD_MICRORTPS_AGENT=1 px4_sitl_rtps",
|
|
||||||
"airframe_metadata",
|
"airframe_metadata",
|
||||||
"module_documentation",
|
"module_documentation",
|
||||||
"parameters_metadata",
|
"parameters_metadata",
|
||||||
|
|
|
@ -116,7 +116,7 @@ jobs:
|
||||||
ls -ls *
|
ls -ls *
|
||||||
# TODO: deploy graph_px4_sitl.json to S3 px4-travis:Firmware/master/
|
# TODO: deploy graph_px4_sitl.json to S3 px4-travis:Firmware/master/
|
||||||
|
|
||||||
micrortps_agent:
|
ROS2_msgs:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
container: px4io/px4-dev-base-focal:2021-09-08
|
container: px4io/px4-dev-base-focal:2021-09-08
|
||||||
steps:
|
steps:
|
||||||
|
@ -124,34 +124,8 @@ jobs:
|
||||||
with:
|
with:
|
||||||
token: ${{ secrets.ACCESS_TOKEN }}
|
token: ${{ secrets.ACCESS_TOKEN }}
|
||||||
|
|
||||||
- name: microRTPS agent
|
- name: PX4 ROS2 msgs
|
||||||
run: |
|
|
||||||
make px4_sitl_rtps
|
|
||||||
git clone https://github.com/PX4/micrortps_agent.git
|
|
||||||
cp -R build/px4_sitl_rtps/src/modules/micrortps_bridge/micrortps_agent/* micrortps_agent
|
|
||||||
|
|
||||||
ROS_msgs:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
container: px4io/px4-dev-base-focal:2021-09-08
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v1
|
|
||||||
with:
|
|
||||||
token: ${{ secrets.ACCESS_TOKEN }}
|
|
||||||
|
|
||||||
- name: PX4 ROS msgs
|
|
||||||
run: |
|
run: |
|
||||||
git clone https://github.com/PX4/px4_msgs.git
|
git clone https://github.com/PX4/px4_msgs.git
|
||||||
python3 msg/tools/uorb_to_ros_msgs.py msg/ px4_msgs/msg/
|
rm px4_msgs/msg/*.msg
|
||||||
|
cp msg/*.msg px4_msgs/msg/
|
||||||
ROS2_bridge:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
container: px4io/px4-dev-base-focal:2021-09-08
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v1
|
|
||||||
with:
|
|
||||||
token: ${{ secrets.ACCESS_TOKEN }}
|
|
||||||
|
|
||||||
- name: PX4 ROS2 bridge
|
|
||||||
run: |
|
|
||||||
git clone https://github.com/PX4/px4_ros_com.git
|
|
||||||
./msg/tools/uorb_to_ros_urtps_topics.py -i msg/tools/urtps_bridge_topics.yaml -o px4_ros_com/templates/urtps_bridge_topics.yaml
|
|
||||||
|
|
|
@ -18,10 +18,6 @@
|
||||||
path = src/drivers/gps/devices
|
path = src/drivers/gps/devices
|
||||||
url = https://github.com/PX4/PX4-GPSDrivers.git
|
url = https://github.com/PX4/PX4-GPSDrivers.git
|
||||||
branch = main
|
branch = main
|
||||||
[submodule "src/modules/micrortps_bridge/micro-CDR"]
|
|
||||||
path = src/modules/micrortps_bridge/micro-CDR
|
|
||||||
url = https://github.com/PX4/Micro-CDR.git
|
|
||||||
branch = master
|
|
||||||
[submodule "platforms/nuttx/NuttX/nuttx"]
|
[submodule "platforms/nuttx/NuttX/nuttx"]
|
||||||
path = platforms/nuttx/NuttX/nuttx
|
path = platforms/nuttx/NuttX/nuttx
|
||||||
url = https://github.com/PX4/NuttX.git
|
url = https://github.com/PX4/NuttX.git
|
||||||
|
@ -64,4 +60,5 @@
|
||||||
branch = px4
|
branch = px4
|
||||||
[submodule "src/modules/microdds_client/Micro-XRCE-DDS-Client"]
|
[submodule "src/modules/microdds_client/Micro-XRCE-DDS-Client"]
|
||||||
path = src/modules/microdds_client/Micro-XRCE-DDS-Client
|
path = src/modules/microdds_client/Micro-XRCE-DDS-Client
|
||||||
url = https://github.com/eProsima/Micro-XRCE-DDS-Client.git
|
url = https://github.com/PX4/Micro-XRCE-DDS-Client.git
|
||||||
|
branch = px4
|
||||||
|
|
|
@ -6,11 +6,11 @@ CONFIG:
|
||||||
buildType: RelWithDebInfo
|
buildType: RelWithDebInfo
|
||||||
settings:
|
settings:
|
||||||
CONFIG: px4_sitl_default
|
CONFIG: px4_sitl_default
|
||||||
px4_sitl_rtps:
|
px4_sitl_nolockstep:
|
||||||
short: px4_sitl_rtps
|
short: px4_sitl_nolockstep
|
||||||
buildType: RelWithDebInfo
|
buildType: RelWithDebInfo
|
||||||
settings:
|
settings:
|
||||||
CONFIG: px4_sitl_rtps
|
CONFIG: px4_sitl_nolockstep
|
||||||
px4_sitl_asan:
|
px4_sitl_asan:
|
||||||
short: px4_sitl (AddressSanitizer)
|
short: px4_sitl (AddressSanitizer)
|
||||||
buildType: AddressSanitizer
|
buildType: AddressSanitizer
|
||||||
|
|
|
@ -829,7 +829,6 @@ RECURSIVE = YES
|
||||||
# run.
|
# run.
|
||||||
|
|
||||||
EXCLUDE = @CMAKE_SOURCE_DIR@/src/modules/uavcan/libuavcan \
|
EXCLUDE = @CMAKE_SOURCE_DIR@/src/modules/uavcan/libuavcan \
|
||||||
@CMAKE_SOURCE_DIR@/src/modules/micrortps_bridge/micro-CDR \
|
|
||||||
@CMAKE_SOURCE_DIR@/src/examples \
|
@CMAKE_SOURCE_DIR@/src/examples \
|
||||||
@CMAKE_SOURCE_DIR@/src/templates
|
@CMAKE_SOURCE_DIR@/src/templates
|
||||||
|
|
||||||
|
|
|
@ -13,76 +13,6 @@ pipeline {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
parallel {
|
parallel {
|
||||||
// stage('Catkin build on ROS workspace') {
|
|
||||||
// agent {
|
|
||||||
// docker {
|
|
||||||
// image 'px4io/px4-dev-ros-melodic:2021-08-18'
|
|
||||||
// args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw -e HOME=$WORKSPACE'
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// steps {
|
|
||||||
// sh 'ls -l'
|
|
||||||
// sh '''#!/bin/bash -l
|
|
||||||
// echo $0;
|
|
||||||
// mkdir -p catkin_ws/src;
|
|
||||||
// cd catkin_ws;
|
|
||||||
// git -C ${WORKSPACE}/catkin_ws/src/Firmware submodule update --init --recursive --force Tools/simulation/gazebo/sitl_gazebo
|
|
||||||
// git clone --recursive ${WORKSPACE}/catkin_ws/src/Firmware/Tools/simulation/gazebo/sitl_gazebo src/mavlink_sitl_gazebo;
|
|
||||||
// git -C ${WORKSPACE}/catkin_ws/src/Firmware fetch --tags;
|
|
||||||
// source /opt/ros/melodic/setup.bash;
|
|
||||||
// export PYTHONPATH=/opt/ros/$ROS_DISTRO/lib/python2.7/dist-packages:/usr/lib/python2.7/dist-packages:/usr/local/lib/python2.7/dist-packages;
|
|
||||||
// catkin init;
|
|
||||||
// catkin build -j$(nproc) -l$(nproc);
|
|
||||||
// '''
|
|
||||||
// // test if the binary was correctly installed and runs using 'mavros_posix_sitl.launch'
|
|
||||||
// sh '''#!/bin/bash -l
|
|
||||||
// echo $0;
|
|
||||||
// source catkin_ws/devel/setup.bash;
|
|
||||||
// rostest px4 pub_test.launch;
|
|
||||||
// '''
|
|
||||||
// }
|
|
||||||
// post {
|
|
||||||
// always {
|
|
||||||
// sh 'rm -rf catkin_ws'
|
|
||||||
// }
|
|
||||||
// failure {
|
|
||||||
// archiveArtifacts(allowEmptyArchive: false, artifacts: '.ros/**/*.xml, .ros/**/*.log')
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// options {
|
|
||||||
// checkoutToSubdirectory('catkin_ws/src/Firmware')
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
stage('Colcon build on ROS2 workspace') {
|
|
||||||
agent {
|
|
||||||
docker {
|
|
||||||
image 'px4io/px4-dev-ros2-foxy:2021-08-18'
|
|
||||||
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw -e HOME=$WORKSPACE'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
steps {
|
|
||||||
sh 'ls -l'
|
|
||||||
sh '''#!/bin/bash -l
|
|
||||||
echo $0;
|
|
||||||
unset ROS_DISTRO;
|
|
||||||
mkdir -p colcon_ws/src;
|
|
||||||
cd colcon_ws;
|
|
||||||
git -C ${WORKSPACE}/colcon_ws/src/Firmware submodule update --init --recursive --force Tools/simulation/gazebo/sitl_gazebo;
|
|
||||||
git -C ${WORKSPACE}/colcon_ws/src/Firmware fetch --tags;
|
|
||||||
source /opt/ros/foxy/setup.sh;
|
|
||||||
colcon build --event-handlers console_direct+ --symlink-install;
|
|
||||||
'''
|
|
||||||
}
|
|
||||||
post {
|
|
||||||
always {
|
|
||||||
sh 'rm -rf colcon_ws'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
options {
|
|
||||||
checkoutToSubdirectory('colcon_ws/src/Firmware')
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
stage('Airframe') {
|
stage('Airframe') {
|
||||||
agent {
|
agent {
|
||||||
|
@ -149,7 +79,7 @@ pipeline {
|
||||||
docker { image 'px4io/px4-dev-base-focal:2021-08-18' }
|
docker { image 'px4io/px4-dev-base-focal:2021-08-18' }
|
||||||
}
|
}
|
||||||
steps {
|
steps {
|
||||||
sh 'mkdir -p build/msg_docs; ./msg/tools/generate_msg_docs.py -d build/msg_docs'
|
sh 'mkdir -p build/msg_docs; ./Tools/msg/generate_msg_docs.py -d build/msg_docs'
|
||||||
dir('build') {
|
dir('build') {
|
||||||
archiveArtifacts(artifacts: 'msg_docs/*.md')
|
archiveArtifacts(artifacts: 'msg_docs/*.md')
|
||||||
stash includes: 'msg_docs/*.md', name: 'msg_documentation'
|
stash includes: 'msg_docs/*.md', name: 'msg_documentation'
|
||||||
|
@ -288,37 +218,6 @@ pipeline {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
stage('microRTPS agent') {
|
|
||||||
agent {
|
|
||||||
docker { image 'px4io/px4-dev-base-focal:2021-08-18' }
|
|
||||||
}
|
|
||||||
steps {
|
|
||||||
sh('export')
|
|
||||||
sh('git fetch --all --tags')
|
|
||||||
sh('make distclean; git clean -ff -x -d .')
|
|
||||||
sh('make px4_sitl_rtps')
|
|
||||||
withCredentials([usernamePassword(credentialsId: 'px4buildbot_github_personal_token', passwordVariable: 'GIT_PASS', usernameVariable: 'GIT_USER')]) {
|
|
||||||
sh("git clone https://${GIT_USER}:${GIT_PASS}@github.com/PX4/micrortps_agent.git -b ${BRANCH_NAME}")
|
|
||||||
sh("rm -rf micrortps_agent/src micrortps_agent/idl")
|
|
||||||
sh('cp -R build/px4_sitl_rtps/src/modules/micrortps_bridge/micrortps_agent/* micrortps_agent')
|
|
||||||
sh('cd micrortps_agent; git status; git add src; git commit -a -m "Update microRTPS agent source code `date`" || true')
|
|
||||||
sh('cd micrortps_agent; git push origin ${BRANCH_NAME} || true')
|
|
||||||
sh('cd micrortps_agent; git status; git add idl; git commit -a -m "Update IDL definitions `date`" || true')
|
|
||||||
sh('cd micrortps_agent; git push origin ${BRANCH_NAME} || true')
|
|
||||||
sh('cd micrortps_agent; git status; git add CMakeLists.txt; git commit -a -m "Update CMakeLists.txt `date`" || true')
|
|
||||||
sh('cd micrortps_agent; git push origin ${BRANCH_NAME} || true')
|
|
||||||
sh('rm -rf micrortps_agent')
|
|
||||||
}
|
|
||||||
}
|
|
||||||
when {
|
|
||||||
anyOf {
|
|
||||||
branch 'main'
|
|
||||||
branch 'master' // should be removed, but in case there is something going on...
|
|
||||||
branch 'pr-jenkins' // for testing
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
stage('PX4 ROS msgs') {
|
stage('PX4 ROS msgs') {
|
||||||
agent {
|
agent {
|
||||||
docker { image 'px4io/px4-dev-base-focal:2021-08-18' }
|
docker { image 'px4io/px4-dev-base-focal:2021-08-18' }
|
||||||
|
@ -329,66 +228,16 @@ pipeline {
|
||||||
withCredentials([usernamePassword(credentialsId: 'px4buildbot_github_personal_token', passwordVariable: 'GIT_PASS', usernameVariable: 'GIT_USER')]) {
|
withCredentials([usernamePassword(credentialsId: 'px4buildbot_github_personal_token', passwordVariable: 'GIT_PASS', usernameVariable: 'GIT_USER')]) {
|
||||||
sh("git clone https://${GIT_USER}:${GIT_PASS}@github.com/PX4/px4_msgs.git")
|
sh("git clone https://${GIT_USER}:${GIT_PASS}@github.com/PX4/px4_msgs.git")
|
||||||
// 'main' branch
|
// 'main' branch
|
||||||
sh('./msg/tools/uorb_to_ros_msgs.py msg/ px4_msgs/msg/')
|
sh('rm -f px4_msgs/msg/*.msg')
|
||||||
|
sh('cp msg/*.msg px4_msgs/msg/')
|
||||||
sh('cd px4_msgs; git status; git add .; git commit -a -m "Update message definitions `date`" || true')
|
sh('cd px4_msgs; git status; git add .; git commit -a -m "Update message definitions `date`" || true')
|
||||||
sh('cd px4_msgs; git push origin main || true')
|
sh('cd px4_msgs; git push origin main || true')
|
||||||
// 'ros1' branch
|
|
||||||
sh('cd px4_msgs; git checkout ros1')
|
|
||||||
sh('./msg/tools/uorb_to_ros_msgs.py msg/ px4_msgs/msg/')
|
|
||||||
sh('cd px4_msgs; git status; git add .; git commit -a -m "Update message definitions `date`" || true')
|
|
||||||
sh('cd px4_msgs; git push origin ros1 || true')
|
|
||||||
sh('rm -rf px4_msgs')
|
sh('rm -rf px4_msgs')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
when {
|
when {
|
||||||
anyOf {
|
anyOf {
|
||||||
branch 'main'
|
branch 'main'
|
||||||
branch 'master' // should be removed, but in case there is something going on...
|
|
||||||
branch 'pr-jenkins' // for testing
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
stage('PX4 ROS2 bridge') {
|
|
||||||
agent {
|
|
||||||
docker { image 'px4io/px4-dev-base-focal:2021-08-18' }
|
|
||||||
}
|
|
||||||
steps {
|
|
||||||
sh('export')
|
|
||||||
sh('make distclean; git clean -ff -x -d .')
|
|
||||||
withCredentials([usernamePassword(credentialsId: 'px4buildbot_github_personal_token', passwordVariable: 'GIT_PASS', usernameVariable: 'GIT_USER')]) {
|
|
||||||
sh("git clone https://${GIT_USER}:${GIT_PASS}@github.com/PX4/px4_ros_com.git -b ${BRANCH_NAME}")
|
|
||||||
// deploy uORB RTPS ID map
|
|
||||||
sh('./msg/tools/uorb_to_ros_urtps_topics.py -i msg/tools/urtps_bridge_topics.yaml -o px4_ros_com/templates/urtps_bridge_topics.yaml')
|
|
||||||
sh('cd px4_ros_com; git status; git add .; git commit -a -m "Update uORB RTPS ID map `date`" || true')
|
|
||||||
sh('cd px4_ros_com; git push origin ${BRANCH_NAME} || true')
|
|
||||||
// deploy uORB RTPS required tools
|
|
||||||
sh('cp msg/tools/uorb_rtps_classifier.py px4_ros_com/scripts/uorb_rtps_classifier.py')
|
|
||||||
sh('cp msg/tools/generate_microRTPS_bridge.py px4_ros_com/scripts/generate_microRTPS_bridge.py')
|
|
||||||
sh('cp msg/tools/px_generate_uorb_topic_files.py px4_ros_com/scripts/px_generate_uorb_topic_files.py')
|
|
||||||
sh('cp msg/tools/px_generate_uorb_topic_helper.py px4_ros_com/scripts/px_generate_uorb_topic_helper.py')
|
|
||||||
// deploy templates
|
|
||||||
sh('cp msg/templates/urtps/microRTPS_agent.cpp.em px4_ros_com/templates/microRTPS_agent.cpp.em')
|
|
||||||
sh('cp msg/templates/urtps/microRTPS_timesync.cpp.em px4_ros_com/templates/microRTPS_timesync.cpp.em')
|
|
||||||
sh('cp msg/templates/urtps/microRTPS_timesync.h.em px4_ros_com/templates/microRTPS_timesync.h.em')
|
|
||||||
sh('cp msg/templates/urtps/microRTPS_transport.cpp px4_ros_com/templates/microRTPS_transport.cpp')
|
|
||||||
sh('cp msg/templates/urtps/microRTPS_transport.h px4_ros_com/templates/microRTPS_transport.h')
|
|
||||||
sh('cp msg/templates/urtps/Publisher.cpp.em px4_ros_com/templates/Publisher.cpp.em')
|
|
||||||
sh('cp msg/templates/urtps/Publisher.h.em px4_ros_com/templates/Publisher.h.em')
|
|
||||||
sh('cp msg/templates/urtps/Subscriber.cpp.em px4_ros_com/templates/Subscriber.cpp.em')
|
|
||||||
sh('cp msg/templates/urtps/Subscriber.h.em px4_ros_com/templates/Subscriber.h.em')
|
|
||||||
sh('cp msg/templates/urtps/RtpsTopics.cpp.em px4_ros_com/templates/RtpsTopics.cpp.em')
|
|
||||||
sh('cp msg/templates/urtps/RtpsTopics.h.em px4_ros_com/templates/RtpsTopics.h.em')
|
|
||||||
sh('cd px4_ros_com; git status; git add .; git commit -a -m "Update uORB RTPS script tools `date`" || true')
|
|
||||||
sh('cd px4_ros_com; git push origin ${BRANCH_NAME} || true')
|
|
||||||
sh('rm -rf px4_msgs')
|
|
||||||
}
|
|
||||||
}
|
|
||||||
when {
|
|
||||||
anyOf {
|
|
||||||
branch 'main'
|
|
||||||
branch 'master' // should be removed, but in case there is something going on...
|
|
||||||
branch 'pr-jenkins' // for testing
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
21
Makefile
21
Makefile
|
@ -172,11 +172,6 @@ ifdef PYTHON_EXECUTABLE
|
||||||
override CMAKE_ARGS += -DPYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}
|
override CMAKE_ARGS += -DPYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Check if the microRTPS agent is to be built
|
|
||||||
ifdef BUILD_MICRORTPS_AGENT
|
|
||||||
override CMAKE_ARGS += -DBUILD_MICRORTPS_AGENT=ON
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Functions
|
# Functions
|
||||||
# --------------------------------------------------------------------
|
# --------------------------------------------------------------------
|
||||||
# describe how to build a cmake config
|
# describe how to build a cmake config
|
||||||
|
@ -253,7 +248,7 @@ endef
|
||||||
# Other targets
|
# Other targets
|
||||||
# --------------------------------------------------------------------
|
# --------------------------------------------------------------------
|
||||||
|
|
||||||
.PHONY: qgc_firmware px4fmu_firmware misc_qgc_extra_firmware check_rtps
|
.PHONY: qgc_firmware px4fmu_firmware misc_qgc_extra_firmware
|
||||||
|
|
||||||
# QGroundControl flashable NuttX firmware
|
# QGroundControl flashable NuttX firmware
|
||||||
qgc_firmware: px4fmu_firmware misc_qgc_extra_firmware
|
qgc_firmware: px4fmu_firmware misc_qgc_extra_firmware
|
||||||
|
@ -278,15 +273,7 @@ misc_qgc_extra_firmware: \
|
||||||
check_airmind_mindpx-v2_default \
|
check_airmind_mindpx-v2_default \
|
||||||
sizes
|
sizes
|
||||||
|
|
||||||
# builds with RTPS
|
.PHONY: sizes check quick_check uorb_graphs
|
||||||
check_rtps: \
|
|
||||||
check_px4_fmu-v3_rtps \
|
|
||||||
check_px4_fmu-v4_rtps \
|
|
||||||
check_px4_fmu-v4pro_rtps \
|
|
||||||
check_px4_sitl_rtps \
|
|
||||||
sizes
|
|
||||||
|
|
||||||
.PHONY: sizes check quick_check check_rtps uorb_graphs
|
|
||||||
|
|
||||||
sizes:
|
sizes:
|
||||||
@-find build -name *.elf -type f | xargs size 2> /dev/null || :
|
@-find build -name *.elf -type f | xargs size 2> /dev/null || :
|
||||||
|
@ -495,7 +482,9 @@ shellcheck_all:
|
||||||
|
|
||||||
validate_module_configs:
|
validate_module_configs:
|
||||||
@find "$(SRC_DIR)"/src/modules "$(SRC_DIR)"/src/drivers "$(SRC_DIR)"/src/lib -name *.yaml -type f \
|
@find "$(SRC_DIR)"/src/modules "$(SRC_DIR)"/src/drivers "$(SRC_DIR)"/src/lib -name *.yaml -type f \
|
||||||
-not -path "$(SRC_DIR)/src/lib/mixer_module/*" -not -path "$(SRC_DIR)/src/lib/crypto/libtommath/*" -print0 | \
|
-not -path "$(SRC_DIR)/src/lib/mixer_module/*" \
|
||||||
|
-not -path "$(SRC_DIR)/src/modules/microdds_client/dds_topics.yaml" \
|
||||||
|
-not -path "$(SRC_DIR)/src/lib/crypto/libtommath/*" -print0 | \
|
||||||
xargs -0 "$(SRC_DIR)"/Tools/validate_yaml.py --schema-file "$(SRC_DIR)"/validation/module_schema.yaml
|
xargs -0 "$(SRC_DIR)"/Tools/validate_yaml.py --schema-file "$(SRC_DIR)"/validation/module_schema.yaml
|
||||||
|
|
||||||
# Cleanup
|
# Cleanup
|
||||||
|
|
|
@ -75,7 +75,7 @@ The PX4 Dev Team syncs up on a [weekly dev call](https://docs.px4.io/main/en/con
|
||||||
* [Paul Riseborough](https://github.com/priseborough)
|
* [Paul Riseborough](https://github.com/priseborough)
|
||||||
* Vision based navigation and Obstacle Avoidance
|
* Vision based navigation and Obstacle Avoidance
|
||||||
* [Markus Achtelik](https://github.com/markusachtelik)
|
* [Markus Achtelik](https://github.com/markusachtelik)
|
||||||
* RTPS/ROS2 Interface
|
* DDS/ROS2 Interface
|
||||||
* [Nuno Marques](https://github.com/TSC21)
|
* [Nuno Marques](https://github.com/TSC21)
|
||||||
|
|
||||||
See also [maintainers list](https://px4.io/community/maintainers/) (px4.io) and the [contributors list](https://github.com/PX4/PX4-Autopilot/graphs/contributors) (Github).
|
See also [maintainers list](https://px4.io/community/maintainers/) (px4.io) and the [contributors list](https://github.com/PX4/PX4-Autopilot/graphs/contributors) (Github).
|
||||||
|
|
|
@ -36,7 +36,6 @@ add_subdirectory(airframes)
|
||||||
px4_add_romfs_files(
|
px4_add_romfs_files(
|
||||||
px4-rc.mavlink
|
px4-rc.mavlink
|
||||||
px4-rc.params
|
px4-rc.params
|
||||||
px4-rc.rtps
|
|
||||||
px4-rc.simulator
|
px4-rc.simulator
|
||||||
rc.replay
|
rc.replay
|
||||||
rcS
|
rcS
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
# shellcheck disable=SC2154
|
|
||||||
|
|
||||||
micrortps_client start -t UDP -r $((2019+2*px4_instance)) -s $((2020+2*px4_instance))
|
|
|
@ -259,11 +259,8 @@ fi
|
||||||
|
|
||||||
navigator start
|
navigator start
|
||||||
|
|
||||||
# Try to start the micrortps_client with UDP transport if module exists
|
# Try to start the microdds_client with UDP transport if module exists
|
||||||
if px4-micrortps_client status > /dev/null 2>&1
|
microdds_client start -t udp -p 8888
|
||||||
then
|
|
||||||
. px4-rc.rtps
|
|
||||||
fi
|
|
||||||
|
|
||||||
if param greater -s MNT_MODE_IN -1
|
if param greater -s MNT_MODE_IN -1
|
||||||
then
|
then
|
||||||
|
|
|
@ -8,7 +8,6 @@ if [ $# -gt 0 ]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
exec find boards msg src platforms test \
|
exec find boards msg src platforms test \
|
||||||
-path msg/templates/urtps -prune -o \
|
|
||||||
-path platforms/nuttx/NuttX -prune -o \
|
-path platforms/nuttx/NuttX -prune -o \
|
||||||
-path platforms/qurt/dspal -prune -o \
|
-path platforms/qurt/dspal -prune -o \
|
||||||
-path src/drivers/uavcan/libuavcan -prune -o \
|
-path src/drivers/uavcan/libuavcan -prune -o \
|
||||||
|
@ -21,8 +20,6 @@ exec find boards msg src platforms test \
|
||||||
-path src/modules/ekf2/EKF -prune -o \
|
-path src/modules/ekf2/EKF -prune -o \
|
||||||
-path src/modules/gyro_fft/CMSIS_5 -prune -o \
|
-path src/modules/gyro_fft/CMSIS_5 -prune -o \
|
||||||
-path src/modules/mavlink/mavlink -prune -o \
|
-path src/modules/mavlink/mavlink -prune -o \
|
||||||
-path src/modules/micrortps_bridge/micro-CDR -prune -o \
|
|
||||||
-path src/modules/micrortps_bridge/microRTPS_client -prune -o \
|
|
||||||
-path test/mavsdk_tests/catch2 -prune -o \
|
-path test/mavsdk_tests/catch2 -prune -o \
|
||||||
-path src/lib/crypto/monocypher -prune -o \
|
-path src/lib/crypto/monocypher -prune -o \
|
||||||
-path src/lib/crypto/libtomcrypt -prune -o \
|
-path src/lib/crypto/libtomcrypt -prune -o \
|
||||||
|
|
|
@ -1,15 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
SCRIPT_DIR=$0
|
|
||||||
if [[ ${SCRIPT_DIR:0:1} != '/' ]]; then
|
|
||||||
SCRIPT_DIR=$(dirname $(realpath -s "$PWD/$0"))
|
|
||||||
fi
|
|
||||||
|
|
||||||
PX4_DIR=$(cd "$(dirname $(dirname $SCRIPT_DIR))" && pwd)
|
|
||||||
|
|
||||||
if [ -d $PX4_DIR/build/*_rtps ]; then
|
|
||||||
cd $PX4_DIR/build/*_rtps/src/modules/micrortps_bridge/micrortps_agent/
|
|
||||||
cmake -Bbuild
|
|
||||||
cmake --build build -j$(nproc --all)
|
|
||||||
fi
|
|
|
@ -90,7 +90,7 @@ if __name__ == "__main__":
|
||||||
readme_text="""# uORB Message Reference
|
readme_text="""# uORB Message Reference
|
||||||
|
|
||||||
:::note
|
:::note
|
||||||
This list is [auto-generated](https://github.com/PX4/PX4-Autopilot/blob/main/msg/tools/generate_msg_docs.py) from the source code.
|
This list is [auto-generated](https://github.com/PX4/PX4-Autopilot/blob/main/Tools/msg/generate_msg_docs.py) from the source code.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
This topic lists the UORB messages available in PX4 (some of which may be may be shared by the [PX4-ROS 2 Bridge](../ros/ros2_comm.md)).
|
This topic lists the UORB messages available in PX4 (some of which may be may be shared by the [PX4-ROS 2 Bridge](../ros/ros2_comm.md)).
|
|
@ -0,0 +1,253 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
#############################################################################
|
||||||
|
#
|
||||||
|
# Copyright (C) 2013-2022 PX4 Pro Development Team. All rights reserved.
|
||||||
|
#
|
||||||
|
# Redistribution and use in source and binary forms, with or without
|
||||||
|
# modification, are permitted provided that the following conditions
|
||||||
|
# are met:
|
||||||
|
#
|
||||||
|
# 1. Redistributions of source code must retain the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer.
|
||||||
|
# 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer in
|
||||||
|
# the documentation and/or other materials provided with the
|
||||||
|
# distribution.
|
||||||
|
# 3. Neither the name PX4 nor the names of its contributors may be
|
||||||
|
# used to endorse or promote products derived from this software
|
||||||
|
# without specific prior written permission.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||||
|
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||||
|
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||||
|
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||||
|
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||||
|
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||||
|
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||||
|
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||||
|
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
# POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
#
|
||||||
|
#############################################################################
|
||||||
|
|
||||||
|
"""
|
||||||
|
px_generate_uorb_topic_files.py
|
||||||
|
Generates c/cpp header/source files for uorb topics from .msg
|
||||||
|
message files
|
||||||
|
"""
|
||||||
|
|
||||||
|
import os
|
||||||
|
import argparse
|
||||||
|
import re
|
||||||
|
import sys
|
||||||
|
|
||||||
|
try:
|
||||||
|
import em
|
||||||
|
except ImportError as e:
|
||||||
|
print("Failed to import em: " + str(e))
|
||||||
|
print("")
|
||||||
|
print("You may need to install it using:")
|
||||||
|
print(" pip3 install --user empy")
|
||||||
|
print("")
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
try:
|
||||||
|
import genmsg.template_tools
|
||||||
|
except ImportError as e:
|
||||||
|
print("Failed to import genmsg: " + str(e))
|
||||||
|
print("")
|
||||||
|
print("You may need to install it using:")
|
||||||
|
print(" pip3 install --user pyros-genmsg")
|
||||||
|
print("")
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
|
||||||
|
__author__ = "Sergey Belash, Thomas Gubler, Beat Kueng"
|
||||||
|
__copyright__ = "Copyright (C) 2013-2022 PX4 Development Team."
|
||||||
|
__license__ = "BSD"
|
||||||
|
__email__ = "thomasgubler@gmail.com"
|
||||||
|
|
||||||
|
|
||||||
|
TEMPLATE_FILE = ['msg.h.em', 'msg.cpp.em']
|
||||||
|
TOPICS_LIST_TEMPLATE_FILE = ['uORBTopics.hpp.em', 'uORBTopics.cpp.em']
|
||||||
|
OUTPUT_FILE_EXT = ['.h', '.cpp']
|
||||||
|
INCL_DEFAULT = ['std_msgs:./msg/std_msgs']
|
||||||
|
PACKAGE = 'px4'
|
||||||
|
TOPICS_TOKEN = '# TOPICS '
|
||||||
|
|
||||||
|
|
||||||
|
def get_topics(filename):
|
||||||
|
"""
|
||||||
|
Get TOPICS names from a "# TOPICS" line
|
||||||
|
"""
|
||||||
|
ofile = open(filename, 'r')
|
||||||
|
text = ofile.read()
|
||||||
|
result = []
|
||||||
|
for each_line in text.split('\n'):
|
||||||
|
if each_line.startswith(TOPICS_TOKEN):
|
||||||
|
topic_names_str = each_line.strip()
|
||||||
|
topic_names_str = topic_names_str.replace(TOPICS_TOKEN, "")
|
||||||
|
topic_names_list = topic_names_str.split(" ")
|
||||||
|
for topic in topic_names_list:
|
||||||
|
# topic name PascalCase (file name) to snake_case (topic name)
|
||||||
|
topic_name = re.sub(r'(?<!^)(?=[A-Z])', '_', topic).lower()
|
||||||
|
result.append(topic_name)
|
||||||
|
ofile.close()
|
||||||
|
|
||||||
|
if len(result) == 0:
|
||||||
|
# topic name PascalCase (file name) to snake_case (topic name)
|
||||||
|
file_base_name = os.path.basename(filename).replace(".msg", "")
|
||||||
|
topic_name = re.sub(r'(?<!^)(?=[A-Z])', '_', file_base_name).lower()
|
||||||
|
result.append(topic_name)
|
||||||
|
|
||||||
|
return result
|
||||||
|
|
||||||
|
|
||||||
|
def generate_output_from_file(format_idx, filename, outputdir, package, templatedir, includepath):
|
||||||
|
"""
|
||||||
|
Converts a single .msg file to an uorb header/source file
|
||||||
|
"""
|
||||||
|
msg_context = genmsg.msg_loader.MsgContext.create_default()
|
||||||
|
full_type_name = genmsg.gentools.compute_full_type_name(package, os.path.basename(filename))
|
||||||
|
|
||||||
|
file_base_name = os.path.basename(filename).replace(".msg", "")
|
||||||
|
|
||||||
|
full_type_name_snake = re.sub(r'(?<!^)(?=[A-Z])', '_', file_base_name).lower()
|
||||||
|
|
||||||
|
spec = genmsg.msg_loader.load_msg_from_file(msg_context, filename, full_type_name)
|
||||||
|
|
||||||
|
field_name_and_type = {}
|
||||||
|
for field in spec.parsed_fields():
|
||||||
|
field_name_and_type.update({field.name: field.type})
|
||||||
|
|
||||||
|
# assert if the timestamp field exists
|
||||||
|
try:
|
||||||
|
assert 'timestamp' in field_name_and_type
|
||||||
|
except AssertionError:
|
||||||
|
print("[ERROR] uORB topic files generator:\n\tgenerate_output_from_file:\tNo 'timestamp' field found in " +
|
||||||
|
spec.short_name + " msg definition!")
|
||||||
|
exit(1)
|
||||||
|
|
||||||
|
# assert if the timestamp field is of type uint64
|
||||||
|
try:
|
||||||
|
assert field_name_and_type.get('timestamp') == 'uint64'
|
||||||
|
except AssertionError:
|
||||||
|
print("[ERROR] uORB topic files generator:\n\tgenerate_output_from_file:\t'timestamp' field in " + spec.short_name +
|
||||||
|
" msg definition is not of type uint64 but rather of type " + field_name_and_type.get('timestamp') + "!")
|
||||||
|
exit(1)
|
||||||
|
|
||||||
|
topics = get_topics(filename)
|
||||||
|
|
||||||
|
if includepath:
|
||||||
|
search_path = genmsg.command_line.includepath_to_dict(includepath)
|
||||||
|
else:
|
||||||
|
search_path = {}
|
||||||
|
|
||||||
|
genmsg.msg_loader.load_depends(msg_context, spec, search_path)
|
||||||
|
|
||||||
|
em_globals = {
|
||||||
|
"name_snake_case": full_type_name_snake,
|
||||||
|
"file_name_in": filename,
|
||||||
|
"search_path": search_path,
|
||||||
|
"msg_context": msg_context,
|
||||||
|
"spec": spec,
|
||||||
|
"topics": topics,
|
||||||
|
}
|
||||||
|
|
||||||
|
# Make sure output directory exists:
|
||||||
|
if not os.path.isdir(outputdir):
|
||||||
|
os.makedirs(outputdir)
|
||||||
|
|
||||||
|
template_file = os.path.join(templatedir, TEMPLATE_FILE[format_idx])
|
||||||
|
output_file = os.path.join(outputdir, full_type_name_snake + OUTPUT_FILE_EXT[format_idx])
|
||||||
|
|
||||||
|
return generate_by_template(output_file, template_file, em_globals)
|
||||||
|
|
||||||
|
|
||||||
|
def generate_by_template(output_file, template_file, em_globals):
|
||||||
|
"""
|
||||||
|
Invokes empy intepreter to geneate output_file by the
|
||||||
|
given template_file and predefined em_globals dict
|
||||||
|
"""
|
||||||
|
# check if folder exists:
|
||||||
|
folder_name = os.path.dirname(output_file)
|
||||||
|
if not os.path.exists(folder_name):
|
||||||
|
os.makedirs(folder_name)
|
||||||
|
|
||||||
|
ofile = open(output_file, 'w')
|
||||||
|
# todo, reuse interpreter
|
||||||
|
interpreter = em.Interpreter(output=ofile, globals=em_globals, options={
|
||||||
|
em.RAW_OPT: True, em.BUFFERED_OPT: True})
|
||||||
|
try:
|
||||||
|
interpreter.file(open(template_file))
|
||||||
|
except OSError as e:
|
||||||
|
ofile.close()
|
||||||
|
os.remove(output_file)
|
||||||
|
raise
|
||||||
|
interpreter.shutdown()
|
||||||
|
ofile.close()
|
||||||
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
def generate_topics_list_file_from_files(files, outputdir, template_filename, templatedir):
|
||||||
|
# generate cpp file with topics list
|
||||||
|
filenames = []
|
||||||
|
for filename in [os.path.basename(p) for p in files if os.path.basename(p).endswith(".msg")]:
|
||||||
|
filenames.append(re.sub(r'(?<!^)(?=[A-Z])', '_', filename).lower())
|
||||||
|
|
||||||
|
topics = []
|
||||||
|
for msg_filename in files:
|
||||||
|
topics.extend(get_topics(msg_filename))
|
||||||
|
|
||||||
|
tl_globals = {"msgs": filenames, "topics": topics}
|
||||||
|
tl_template_file = os.path.join(templatedir, template_filename)
|
||||||
|
tl_out_file = os.path.join(outputdir, template_filename.replace(".em", ""))
|
||||||
|
|
||||||
|
generate_by_template(tl_out_file, tl_template_file, tl_globals)
|
||||||
|
|
||||||
|
|
||||||
|
def append_to_include_path(path_to_append, curr_include, package):
|
||||||
|
for p in path_to_append:
|
||||||
|
curr_include.append('%s:%s' % (package, p))
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
parser = argparse.ArgumentParser(description='Convert msg files to uorb headers/sources')
|
||||||
|
parser.add_argument('--headers', help='Generate header files', action='store_true')
|
||||||
|
parser.add_argument('--sources', help='Generate source files', action='store_true')
|
||||||
|
parser.add_argument('-f', dest='file',
|
||||||
|
help="files to convert (use only without -d)",
|
||||||
|
nargs="+")
|
||||||
|
parser.add_argument('-i', dest="include_paths",
|
||||||
|
help='Additional Include Paths', nargs="*",
|
||||||
|
default=None)
|
||||||
|
parser.add_argument('-e', dest='templatedir',
|
||||||
|
help='directory with template files',)
|
||||||
|
parser.add_argument('-k', dest='package', default=PACKAGE,
|
||||||
|
help='package name')
|
||||||
|
parser.add_argument('-o', dest='outputdir',
|
||||||
|
help='output directory for header files')
|
||||||
|
parser.add_argument('-p', dest='prefix', default='',
|
||||||
|
help='string added as prefix to the output file '
|
||||||
|
' name when converting directories')
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
if args.include_paths:
|
||||||
|
append_to_include_path(args.include_paths, INCL_DEFAULT, args.package)
|
||||||
|
|
||||||
|
if args.headers:
|
||||||
|
generate_idx = 0
|
||||||
|
elif args.sources:
|
||||||
|
generate_idx = 1
|
||||||
|
else:
|
||||||
|
print('Error: either --headers or --sources must be specified')
|
||||||
|
exit(-1)
|
||||||
|
if args.file is not None:
|
||||||
|
for f in args.file:
|
||||||
|
generate_output_from_file(generate_idx, f, args.outputdir, args.package, args.templatedir, INCL_DEFAULT)
|
||||||
|
|
||||||
|
# Generate topics list header and source file
|
||||||
|
if os.path.isfile(os.path.join(args.templatedir, TOPICS_LIST_TEMPLATE_FILE[generate_idx])):
|
||||||
|
generate_topics_list_file_from_files(args.file, args.outputdir, TOPICS_LIST_TEMPLATE_FILE[generate_idx], args.templatedir)
|
|
@ -1,7 +1,7 @@
|
||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
#############################################################################
|
#############################################################################
|
||||||
#
|
#
|
||||||
# Copyright (C) 2013-2021 PX4 Pro Development Team. All rights reserved.
|
# Copyright (C) 2013-2022 PX4 Pro Development Team. All rights reserved.
|
||||||
#
|
#
|
||||||
# Redistribution and use in source and binary forms, with or without
|
# Redistribution and use in source and binary forms, with or without
|
||||||
# modification, are permitted provided that the following conditions
|
# modification, are permitted provided that the following conditions
|
||||||
|
@ -41,6 +41,7 @@ precompiled and thus message generation will be much faster
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import errno
|
import errno
|
||||||
|
import re
|
||||||
|
|
||||||
import genmsg.msgs
|
import genmsg.msgs
|
||||||
|
|
||||||
|
@ -236,8 +237,12 @@ def convert_type(spec_type, use_short_type=False):
|
||||||
c_type = type_map_short[msg_type]
|
c_type = type_map_short[msg_type]
|
||||||
elif msg_type in type_map:
|
elif msg_type in type_map:
|
||||||
c_type = type_map[msg_type]
|
c_type = type_map[msg_type]
|
||||||
|
else:
|
||||||
|
c_type = re.sub(r'(?<!^)(?=[A-Z])', '_', c_type).lower() # PascalCase to snake_case
|
||||||
|
|
||||||
if is_array:
|
if is_array:
|
||||||
return c_type + "[" + str(array_length) + "]"
|
return c_type + "[" + str(array_length) + "]"
|
||||||
|
|
||||||
return c_type
|
return c_type
|
||||||
|
|
||||||
|
|
||||||
|
@ -257,6 +262,7 @@ def print_field_def(field):
|
||||||
type_prefix = ''
|
type_prefix = ''
|
||||||
if (sl_pos >= 0):
|
if (sl_pos >= 0):
|
||||||
type_name = type_name[sl_pos + 1:]
|
type_name = type_name[sl_pos + 1:]
|
||||||
|
type_name = re.sub(r'(?<!^)(?=[A-Z])', '_', type_name).lower() # PascalCase to snake_case
|
||||||
type_prefix = 'struct '
|
type_prefix = 'struct '
|
||||||
type_appendix = '_s'
|
type_appendix = '_s'
|
||||||
|
|
|
@ -6,15 +6,51 @@
|
||||||
@# generates CDR serialization & deserialization methods
|
@# generates CDR serialization & deserialization methods
|
||||||
@#
|
@#
|
||||||
@# Context:
|
@# Context:
|
||||||
|
@# - file_name_in (String) Source file
|
||||||
@# - spec (msggen.MsgSpec) Parsed specification of the .msg file
|
@# - spec (msggen.MsgSpec) Parsed specification of the .msg file
|
||||||
@# - search_path (str) Path to .msg files
|
@# - search_path (dict) search paths for genmsg
|
||||||
|
@# - topics (List of String) topic names
|
||||||
@###############################################
|
@###############################################
|
||||||
|
/****************************************************************************
|
||||||
|
*
|
||||||
|
* Copyright (C) 2013-2022 PX4 Development Team. All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions
|
||||||
|
* are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in
|
||||||
|
* the documentation and/or other materials provided with the
|
||||||
|
* distribution.
|
||||||
|
* 3. Neither the name PX4 nor the names of its contributors may be
|
||||||
|
* used to endorse or promote products derived from this software
|
||||||
|
* without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||||
|
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||||
|
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||||
|
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||||
|
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||||
|
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||||
|
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||||
|
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||||
|
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
@{
|
@{
|
||||||
import genmsg.msgs
|
import genmsg.msgs
|
||||||
|
import re
|
||||||
from px_generate_uorb_topic_helper import * # this is in Tools/
|
from px_generate_uorb_topic_helper import * # this is in Tools/
|
||||||
|
|
||||||
topic = spec.short_name
|
topic = name_snake_case
|
||||||
uorb_struct = '%s_s'%spec.short_name
|
uorb_struct = '%s_s'%name_snake_case
|
||||||
|
|
||||||
# get fields, struct size and paddings
|
# get fields, struct size and paddings
|
||||||
def add_fields(msg_fields, name_prefix='', offset=0):
|
def add_fields(msg_fields, name_prefix='', offset=0):
|
||||||
|
@ -79,7 +115,8 @@ for field in spec.parsed_fields():
|
||||||
if not field.is_header:
|
if not field.is_header:
|
||||||
(package, name) = genmsg.names.package_resource_name(field.base_type)
|
(package, name) = genmsg.names.package_resource_name(field.base_type)
|
||||||
package = package or spec.package # convert '' to package
|
package = package or spec.package # convert '' to package
|
||||||
print('#include <uORB/ucdr/%s.h>'%(name))
|
name_snake = re.sub(r'(?<!^)(?=[A-Z])', '_', name).lower()
|
||||||
|
print('#include <uORB/ucdr/%s.h>'%(name_snake))
|
||||||
}@
|
}@
|
||||||
|
|
||||||
static inline constexpr int ucdr_topic_size_@(topic)()
|
static inline constexpr int ucdr_topic_size_@(topic)()
|
||||||
|
@ -87,11 +124,8 @@ static inline constexpr int ucdr_topic_size_@(topic)()
|
||||||
return @(struct_size);
|
return @(struct_size);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ucdr_serialize_@(topic)(const @(uorb_struct)& topic, ucdrBuffer& buf)
|
bool ucdr_serialize_@(topic)(const @(uorb_struct)& topic, ucdrBuffer& buf, int64_t time_offset = 0)
|
||||||
{
|
{
|
||||||
if (ucdr_buffer_remaining(&buf) < @(struct_size)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
@{
|
@{
|
||||||
for field_type, field_name, field_size, padding in fields:
|
for field_type, field_name, field_size, padding in fields:
|
||||||
if padding > 0:
|
if padding > 0:
|
||||||
|
@ -99,7 +133,18 @@ for field_type, field_name, field_size, padding in fields:
|
||||||
print('\tbuf.offset += {:}; // padding'.format(padding))
|
print('\tbuf.offset += {:}; // padding'.format(padding))
|
||||||
|
|
||||||
print('\tstatic_assert(sizeof(topic.{0}) == {1}, "size mismatch");'.format(field_name, field_size))
|
print('\tstatic_assert(sizeof(topic.{0}) == {1}, "size mismatch");'.format(field_name, field_size))
|
||||||
print('\tmemcpy(buf.iterator, &topic.{0}, sizeof(topic.{0}));'.format(field_name))
|
|
||||||
|
if field_type == 'uint64' and field_name == 'timestamp':
|
||||||
|
print('\tconst uint64_t timestamp_adjusted = topic.timestamp + time_offset;')
|
||||||
|
print('\tmemcpy(buf.iterator, ×tamp_adjusted, sizeof(topic.{0}));'.format(field_name))
|
||||||
|
|
||||||
|
elif field_type == 'uint64' and field_name == 'timestamp_sample':
|
||||||
|
print('\tconst uint64_t timestamp_sample_adjusted = topic.timestamp_sample + time_offset;')
|
||||||
|
print('\tmemcpy(buf.iterator, ×tamp_sample_adjusted, sizeof(topic.{0}));'.format(field_name))
|
||||||
|
|
||||||
|
else:
|
||||||
|
print('\tmemcpy(buf.iterator, &topic.{0}, sizeof(topic.{0}));'.format(field_name))
|
||||||
|
|
||||||
print('\tbuf.iterator += sizeof(topic.{:});'.format(field_name))
|
print('\tbuf.iterator += sizeof(topic.{:});'.format(field_name))
|
||||||
print('\tbuf.offset += sizeof(topic.{:});'.format(field_name))
|
print('\tbuf.offset += sizeof(topic.{:});'.format(field_name))
|
||||||
|
|
||||||
|
@ -107,11 +152,8 @@ for field_type, field_name, field_size, padding in fields:
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ucdr_deserialize_@(topic)(ucdrBuffer& buf, @(uorb_struct)& topic)
|
bool ucdr_deserialize_@(topic)(ucdrBuffer& buf, @(uorb_struct)& topic, int64_t time_offset = 0)
|
||||||
{
|
{
|
||||||
if (ucdr_buffer_remaining(&buf) < @(struct_size)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
@{
|
@{
|
||||||
for field_type, field_name, field_size, padding in fields:
|
for field_type, field_name, field_size, padding in fields:
|
||||||
if padding > 0:
|
if padding > 0:
|
||||||
|
@ -120,6 +162,10 @@ for field_type, field_name, field_size, padding in fields:
|
||||||
|
|
||||||
print('\tstatic_assert(sizeof(topic.{0}) == {1}, "size mismatch");'.format(field_name, field_size))
|
print('\tstatic_assert(sizeof(topic.{0}) == {1}, "size mismatch");'.format(field_name, field_size))
|
||||||
print('\tmemcpy(&topic.{0}, buf.iterator, sizeof(topic.{0}));'.format(field_name))
|
print('\tmemcpy(&topic.{0}, buf.iterator, sizeof(topic.{0}));'.format(field_name))
|
||||||
|
|
||||||
|
if field_type == 'uint64' and (field_name == 'timestamp' or field_name == 'timestamp_sample'):
|
||||||
|
print('\ttopic.{0} -= time_offset;'.format(field_name))
|
||||||
|
|
||||||
print('\tbuf.iterator += sizeof(topic.{:});'.format(field_name))
|
print('\tbuf.iterator += sizeof(topic.{:});'.format(field_name))
|
||||||
print('\tbuf.offset += sizeof(topic.{:});'.format(field_name))
|
print('\tbuf.offset += sizeof(topic.{:});'.format(field_name))
|
||||||
|
|
|
@ -13,12 +13,11 @@
|
||||||
@# - file_name_in (String) Source file
|
@# - file_name_in (String) Source file
|
||||||
@# - spec (msggen.MsgSpec) Parsed specification of the .msg file
|
@# - spec (msggen.MsgSpec) Parsed specification of the .msg file
|
||||||
@# - search_path (dict) search paths for genmsg
|
@# - search_path (dict) search paths for genmsg
|
||||||
@# - topics (List of String) multi-topic names
|
@# - topics (List of String) topic names
|
||||||
@# - constrained_flash set to true if flash is constrained
|
|
||||||
@###############################################
|
@###############################################
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
*
|
*
|
||||||
* Copyright (C) 2013-2021 PX4 Development Team. All rights reserved.
|
* Copyright (C) 2013-2022 PX4 Development Team. All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions
|
* modification, are permitted provided that the following conditions
|
||||||
|
@ -56,8 +55,7 @@ import genmsg.msgs
|
||||||
|
|
||||||
from px_generate_uorb_topic_helper import * # this is in Tools/
|
from px_generate_uorb_topic_helper import * # this is in Tools/
|
||||||
|
|
||||||
uorb_struct = '%s_s'%spec.short_name
|
uorb_struct = '%s_s'%name_snake_case
|
||||||
topic_name = spec.short_name
|
|
||||||
|
|
||||||
sorted_fields = sorted(spec.parsed_fields(), key=sizeof_field_type, reverse=True)
|
sorted_fields = sorted(spec.parsed_fields(), key=sizeof_field_type, reverse=True)
|
||||||
struct_size, padding_end_size = add_padding_bytes(sorted_fields, search_path)
|
struct_size, padding_end_size = add_padding_bytes(sorted_fields, search_path)
|
||||||
|
@ -67,7 +65,7 @@ topic_fields = ["%s %s" % (convert_type(field.type, True), field.name) for field
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
#include <px4_platform_common/log.h>
|
#include <px4_platform_common/log.h>
|
||||||
#include <px4_platform_common/defines.h>
|
#include <px4_platform_common/defines.h>
|
||||||
#include <uORB/topics/@(topic_name).h>
|
#include <uORB/topics/@(name_snake_case).h>
|
||||||
#include <uORB/topics/uORBTopics.hpp>
|
#include <uORB/topics/uORBTopics.hpp>
|
||||||
#include <drivers/drv_hrt.h>
|
#include <drivers/drv_hrt.h>
|
||||||
#include <lib/drivers/device/Device.hpp>
|
#include <lib/drivers/device/Device.hpp>
|
||||||
|
@ -76,10 +74,10 @@ topic_fields = ["%s %s" % (convert_type(field.type, True), field.name) for field
|
||||||
|
|
||||||
@# join all msg files in one line e.g: "float[3] position;float[3] velocity;bool armed"
|
@# join all msg files in one line e.g: "float[3] position;float[3] velocity;bool armed"
|
||||||
@# This is used for the logger
|
@# This is used for the logger
|
||||||
constexpr char __orb_@(topic_name)_fields[] = "@( ";".join(topic_fields) );";
|
constexpr char __orb_@(name_snake_case)_fields[] = "@( ";".join(topic_fields) );";
|
||||||
|
|
||||||
@[for multi_topic in topics]@
|
@[for topic in topics]@
|
||||||
ORB_DEFINE(@multi_topic, struct @uorb_struct, @(struct_size-padding_end_size), __orb_@(topic_name)_fields, static_cast<uint8_t>(ORB_ID::@multi_topic));
|
ORB_DEFINE(@topic, struct @uorb_struct, @(struct_size-padding_end_size), __orb_@(name_snake_case)_fields, static_cast<uint8_t>(ORB_ID::@topic));
|
||||||
@[end for]
|
@[end for]
|
||||||
|
|
||||||
void print_message(const orb_metadata *meta, const @uorb_struct& message)
|
void print_message(const orb_metadata *meta, const @uorb_struct& message)
|
|
@ -13,11 +13,11 @@
|
||||||
@# - file_name_in (String) Source file
|
@# - file_name_in (String) Source file
|
||||||
@# - spec (msggen.MsgSpec) Parsed specification of the .msg file
|
@# - spec (msggen.MsgSpec) Parsed specification of the .msg file
|
||||||
@# - search_path (dict) search paths for genmsg
|
@# - search_path (dict) search paths for genmsg
|
||||||
@# - topics (List of String) multi-topic names
|
@# - topics (List of String) topic names
|
||||||
@###############################################
|
@###############################################
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
*
|
*
|
||||||
* Copyright (C) 2013-2021 PX4 Development Team. All rights reserved.
|
* Copyright (C) 2013-2022 PX4 Development Team. All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions
|
* modification, are permitted provided that the following conditions
|
||||||
|
@ -52,12 +52,12 @@
|
||||||
|
|
||||||
@{
|
@{
|
||||||
import genmsg.msgs
|
import genmsg.msgs
|
||||||
|
import re
|
||||||
|
|
||||||
from px_generate_uorb_topic_helper import * # this is in Tools/
|
from px_generate_uorb_topic_helper import * # this is in Tools/
|
||||||
|
|
||||||
uorb_struct = '%s_s'%spec.short_name
|
uorb_struct = '%s_s'%name_snake_case
|
||||||
uorb_struct_upper = spec.short_name.upper()
|
uorb_struct_upper = name_snake_case.upper()
|
||||||
topic_name = spec.short_name
|
|
||||||
}@
|
}@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -77,6 +77,8 @@ for field in spec.parsed_fields():
|
||||||
if (not field.is_header):
|
if (not field.is_header):
|
||||||
(package, name) = genmsg.names.package_resource_name(field.base_type)
|
(package, name) = genmsg.names.package_resource_name(field.base_type)
|
||||||
package = package or spec.package # convert '' to package
|
package = package or spec.package # convert '' to package
|
||||||
|
|
||||||
|
name = re.sub(r'(?<!^)(?=[A-Z])', '_', name).lower()
|
||||||
print('#include <uORB/topics/%s.h>'%(name))
|
print('#include <uORB/topics/%s.h>'%(name))
|
||||||
}@
|
}@
|
||||||
|
|
||||||
|
@ -127,9 +129,17 @@ for constant in spec.constants:
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
namespace px4 {
|
||||||
|
namespace msg {
|
||||||
|
using @(spec.short_name) = @(uorb_struct);
|
||||||
|
} // namespace msg
|
||||||
|
} // namespace px4
|
||||||
|
#endif
|
||||||
|
|
||||||
/* register this as object request broker structure */
|
/* register this as object request broker structure */
|
||||||
@[for multi_topic in topics]@
|
@[for topic in topics]@
|
||||||
ORB_DECLARE(@multi_topic);
|
ORB_DECLARE(@topic);
|
||||||
@[end for]
|
@[end for]
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
|
@ -8,11 +8,11 @@
|
||||||
@#
|
@#
|
||||||
@# Context:
|
@# Context:
|
||||||
@# - msgs (List) list of all msg files
|
@# - msgs (List) list of all msg files
|
||||||
@# - topics (List) list of all topic names
|
@# - multi_topics (List) list of all multi-topic names
|
||||||
@###############################################
|
@###############################################
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
*
|
*
|
||||||
* Copyright (C) 2013-2021 PX4 Development Team. All rights reserved.
|
* Copyright (C) 2013-2022 PX4 Development Team. All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions
|
* modification, are permitted provided that the following conditions
|
||||||
|
@ -46,19 +46,22 @@
|
||||||
#include <uORB/topics/uORBTopics.hpp>
|
#include <uORB/topics/uORBTopics.hpp>
|
||||||
#include <uORB/uORB.h>
|
#include <uORB/uORB.h>
|
||||||
@{
|
@{
|
||||||
msg_names = [mn.replace(".msg", "") for mn in msgs]
|
msg_names = list(set([mn.replace(".msg", "") for mn in msgs])) # set() filters duplicates
|
||||||
|
msg_names.sort()
|
||||||
msgs_count = len(msg_names)
|
msgs_count = len(msg_names)
|
||||||
topics_all = topics
|
|
||||||
topics_all.sort()
|
topic_names = list(set(topics)) # set() filters duplicates
|
||||||
topics_count_all = len(topics_all)
|
topic_names.sort()
|
||||||
|
topics_count = len(topics)
|
||||||
|
|
||||||
}@
|
}@
|
||||||
@[for msg_name in msg_names]@
|
@[for msg_name in msg_names]@
|
||||||
#include <uORB/topics/@(msg_name).h>
|
#include <uORB/topics/@(msg_name).h>
|
||||||
@[end for]
|
@[end for]
|
||||||
|
|
||||||
const constexpr struct orb_metadata *const uorb_topics_list[ORB_TOPICS_COUNT] = {
|
const constexpr struct orb_metadata *const uorb_topics_list[ORB_TOPICS_COUNT] = {
|
||||||
@[for idx, topic_name in enumerate(topics_all, 1)]@
|
@[for idx, topic_name in enumerate(topic_names, 1)]@
|
||||||
ORB_ID(@(topic_name))@[if idx != topics_count_all], @[end if]
|
ORB_ID(@(topic_name))@[if idx != topic_names], @[end if]
|
||||||
@[end for]
|
@[end for]
|
||||||
};
|
};
|
||||||
|
|
|
@ -7,12 +7,11 @@
|
||||||
@# Start of Template
|
@# Start of Template
|
||||||
@#
|
@#
|
||||||
@# Context:
|
@# Context:
|
||||||
@# - msgs (List) list of all msg files
|
|
||||||
@# - topics (List) list of all topic names
|
@# - topics (List) list of all topic names
|
||||||
@###############################################
|
@###############################################
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
*
|
*
|
||||||
* Copyright (C) 2021 PX4 Development Team. All rights reserved.
|
* Copyright (C) 2021-2022 PX4 Development Team. All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions
|
* modification, are permitted provided that the following conditions
|
||||||
|
@ -44,11 +43,9 @@
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
@{
|
@{
|
||||||
msg_names = [mn.replace(".msg", "") for mn in msgs]
|
topics_count = len(topics)
|
||||||
msgs_count = len(msg_names)
|
topic_names_all = list(set(topics)) # set() filters duplicates
|
||||||
topics_all = topics
|
topic_names_all.sort()
|
||||||
topics_all.sort()
|
|
||||||
topics_count_all = len(topics_all)
|
|
||||||
}@
|
}@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -57,7 +54,7 @@ topics_count_all = len(topics_all)
|
||||||
|
|
||||||
#include <uORB/uORB.h>
|
#include <uORB/uORB.h>
|
||||||
|
|
||||||
static constexpr size_t ORB_TOPICS_COUNT{@(topics_count_all)};
|
static constexpr size_t ORB_TOPICS_COUNT{@(topics_count)};
|
||||||
static constexpr size_t orb_topics_count() { return ORB_TOPICS_COUNT; }
|
static constexpr size_t orb_topics_count() { return ORB_TOPICS_COUNT; }
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -66,8 +63,8 @@ static constexpr size_t orb_topics_count() { return ORB_TOPICS_COUNT; }
|
||||||
extern const struct orb_metadata *const *orb_get_topics() __EXPORT;
|
extern const struct orb_metadata *const *orb_get_topics() __EXPORT;
|
||||||
|
|
||||||
enum class ORB_ID : uint8_t {
|
enum class ORB_ID : uint8_t {
|
||||||
@[for idx, msg_name in enumerate(topics_all)]@
|
@[for idx, topic_name in enumerate(topic_names_all)]@
|
||||||
@(msg_name) = @(idx),
|
@(topic_name) = @(idx),
|
||||||
@[end for]
|
@[end for]
|
||||||
INVALID
|
INVALID
|
||||||
};
|
};
|
|
@ -9,8 +9,6 @@
|
||||||
## - jMAVSim simulator (omit with arg: --no-sim-tools)
|
## - jMAVSim simulator (omit with arg: --no-sim-tools)
|
||||||
## - Gazebo simulator (not by default, use --gazebo)
|
## - Gazebo simulator (not by default, use --gazebo)
|
||||||
##
|
##
|
||||||
## Not Installs:
|
|
||||||
## - FastRTPS and FastCDR
|
|
||||||
|
|
||||||
INSTALL_NUTTX="true"
|
INSTALL_NUTTX="true"
|
||||||
INSTALL_SIM="true"
|
INSTALL_SIM="true"
|
||||||
|
@ -122,7 +120,7 @@ if [[ $INSTALL_SIM == "true" ]]; then
|
||||||
echo
|
echo
|
||||||
echo "Installing PX4 simulation dependencies"
|
echo "Installing PX4 simulation dependencies"
|
||||||
|
|
||||||
# java (jmavsim or fastrtps)
|
# java (jmavsim)
|
||||||
sudo pacman -S --noconfirm --needed \
|
sudo pacman -S --noconfirm --needed \
|
||||||
ant \
|
ant \
|
||||||
jdk-openjdk \
|
jdk-openjdk \
|
||||||
|
|
|
@ -10,8 +10,6 @@ set -e
|
||||||
## - NuttX toolchain (omit with arg: --no-nuttx)
|
## - NuttX toolchain (omit with arg: --no-nuttx)
|
||||||
## - jMAVSim and Gazebo9 simulator (omit with arg: --no-sim-tools)
|
## - jMAVSim and Gazebo9 simulator (omit with arg: --no-sim-tools)
|
||||||
##
|
##
|
||||||
## Not Installs:
|
|
||||||
## - FastRTPS and FastCDR
|
|
||||||
|
|
||||||
INSTALL_NUTTX="true"
|
INSTALL_NUTTX="true"
|
||||||
INSTALL_SIM="true"
|
INSTALL_SIM="true"
|
||||||
|
@ -216,7 +214,7 @@ if [[ $INSTALL_SIM == "true" ]]; then
|
||||||
else
|
else
|
||||||
java_version=14
|
java_version=14
|
||||||
fi
|
fi
|
||||||
# Java (jmavsim or fastrtps)
|
# Java (jmavsim)
|
||||||
sudo DEBIAN_FRONTEND=noninteractive apt-get -y --quiet --no-install-recommends install \
|
sudo DEBIAN_FRONTEND=noninteractive apt-get -y --quiet --no-install-recommends install \
|
||||||
ant \
|
ant \
|
||||||
openjdk-$java_version-jre \
|
openjdk-$java_version-jre \
|
||||||
|
|
|
@ -1,135 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
agent_template_files_updated=0
|
|
||||||
code_generator_files_updated=0
|
|
||||||
|
|
||||||
# parse help argument
|
|
||||||
if [[ $1 == "-h" ]] || [[ $1 == "--help" ]]; then
|
|
||||||
echo -e "Usage: update_px4_ros2_bridge.bash [options...] \t This script allows to update px4_ros_com and px4_msgs in a specified directory." >&2
|
|
||||||
echo
|
|
||||||
echo -e "\t--ws_dir \t\t Location of the ament/colcon workspace. Default: $HOME/colcon_ws."
|
|
||||||
echo -e "\t--px4_ros_com \t\t Updates px4_ros_com microRTPS agent code generation and templates."
|
|
||||||
echo -e "\t--px4_msgs \t\t Updates px4_msgs messages definition files."
|
|
||||||
echo -e "\t--all \t\t Updates both px4_ros_com and px4_msgs."
|
|
||||||
echo
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
# parse the arguments
|
|
||||||
while [ $# -gt 0 ]; do
|
|
||||||
if [[ $1 == *"--"* ]]; then
|
|
||||||
v="${1/--/}"
|
|
||||||
if [ ! -z $2 ]; then
|
|
||||||
declare $v="$2"
|
|
||||||
else
|
|
||||||
declare $v=1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
shift
|
|
||||||
done
|
|
||||||
|
|
||||||
# get script directory
|
|
||||||
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
|
||||||
|
|
||||||
# get PX4-Autopilot directory
|
|
||||||
PX4_DIR=$(cd "$(dirname "$SCRIPT_DIR")" && pwd)
|
|
||||||
|
|
||||||
function compare_and_update () {
|
|
||||||
cmp -s "$1" "$2"
|
|
||||||
if [ $? -eq 1 ]; then
|
|
||||||
cp "$1" "$2"
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
# update microRTPS agent code generators / helpers
|
|
||||||
function update_agent_code {
|
|
||||||
declare -a templates=( \
|
|
||||||
"microRTPS_agent.cpp.em" \
|
|
||||||
"microRTPS_timesync.cpp.em" \
|
|
||||||
"microRTPS_timesync.h.em" \
|
|
||||||
"microRTPS_transport.cpp" \
|
|
||||||
"microRTPS_transport.h" \
|
|
||||||
"Publisher.cpp.em" \
|
|
||||||
"Publisher.h.em" \
|
|
||||||
"Subscriber.cpp.em" \
|
|
||||||
"Subscriber.h.em" \
|
|
||||||
"RtpsTopics.cpp.em" \
|
|
||||||
"RtpsTopics.h.em" \
|
|
||||||
)
|
|
||||||
|
|
||||||
for file in ${templates[@]}; do
|
|
||||||
compare_and_update "$PX4_DIR/msg/templates/urtps/$file" "$ws_dir/src/px4_ros_com/templates/$file" \
|
|
||||||
&& echo -e "--\t\t- '$ws_dir/src/px4_ros_com/templates/$file' updated" && ((agent_template_files_updated+=1))
|
|
||||||
done
|
|
||||||
if [ $agent_template_files_updated -eq 0 ]; then
|
|
||||||
echo -e "--\t\t- No template files updated"
|
|
||||||
elif [ $agent_template_files_updated -eq 1 ]; then
|
|
||||||
echo -e "--\t\t - 1 template file updated"
|
|
||||||
else
|
|
||||||
echo -e "--\t\t - $agent_template_files_updated template files updated"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# update microRTPS agent code templates
|
|
||||||
function update_agent_templates {
|
|
||||||
declare -a code_generators=( \
|
|
||||||
"uorb_rtps_classifier.py" \
|
|
||||||
"generate_microRTPS_bridge.py" \
|
|
||||||
"px_generate_uorb_topic_files.py" \
|
|
||||||
)
|
|
||||||
for file in ${code_generators[@]}; do
|
|
||||||
compare_and_update "$PX4_DIR/msg/tools/$file $ws_dir/src/px4_ros_com/scripts/$file" \
|
|
||||||
&& echo -e "--\t\t- '$ws_dir/src/px4_ros_com/scripts/$file' updated" && ((code_generator_files_updated+=1))
|
|
||||||
done
|
|
||||||
if [ $code_generator_files_updated -eq 0 ]; then
|
|
||||||
echo -e "--\t\t- No code generators / helpers files updated"
|
|
||||||
elif [ $code_generator_files_updated -eq 1 ]; then
|
|
||||||
echo -e "--\t\t - 1 code generator / helper file updated"
|
|
||||||
else
|
|
||||||
echo -e "--\t\t - $code_generator_files_updated code generator / helper files updated"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# update px4_ros_com files
|
|
||||||
function update_px4_ros_com {
|
|
||||||
python3 $PX4_DIR/msg/tools/uorb_to_ros_urtps_topics.py -i $PX4_DIR/msg/tools/urtps_bridge_topics.yaml -o $ws_dir/src/px4_ros_com/templates/urtps_bridge_topics.yaml
|
|
||||||
echo -e "--------------- \033[1mmicroRTPS agent code generation and templates update\033[0m ----------------"
|
|
||||||
echo "-------------------------------------------------------------------------------------------------------"
|
|
||||||
update_agent_code
|
|
||||||
update_agent_templates
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
# function to update px4_msgs
|
|
||||||
function update_px4_msgs {
|
|
||||||
find "$ws_dir/src/px4_msgs/msg/" -maxdepth 1 -type f -delete
|
|
||||||
python3 $PX4_DIR/msg/tools/uorb_to_ros_msgs.py $PX4_DIR/msg/ $ws_dir/src/px4_msgs/msg/
|
|
||||||
}
|
|
||||||
|
|
||||||
# decisor
|
|
||||||
echo "-------------------------------------------------------------------------------------------------------"
|
|
||||||
if [ -d "${ws_dir}" ]; then
|
|
||||||
ws_dir=$(cd "$ws_dir" && pwd)
|
|
||||||
if [ ! -z ${all} ]; then
|
|
||||||
update_px4_ros_com
|
|
||||||
echo "-------------------------------------------------------------------------------------------------------"
|
|
||||||
update_px4_msgs
|
|
||||||
elif [ ! -z ${px4_ros_com} ]; then
|
|
||||||
update_px4_ros_com
|
|
||||||
echo "-------------------------------------------------------------------------------------------------------"
|
|
||||||
elif [ ! -z ${px4_msgs} ]; then
|
|
||||||
update_px4_msgs
|
|
||||||
fi
|
|
||||||
echo -e "-------------------------------- \033[0;32mUpdate successful!\033[0m ---------------------------------"
|
|
||||||
echo "-------------------------------------------------------------------------------------------------------"
|
|
||||||
exit 0
|
|
||||||
else
|
|
||||||
echo -e "-- \033[0;31mWorkspace directory doesn't exist...\033[0m"
|
|
||||||
echo -e "---------------------------------- \033[0;31mUpdate failed!\033[0m -----------------------------------"
|
|
||||||
echo "-------------------------------------------------------------------------------------------------------"
|
|
||||||
exit $ERRCODE
|
|
||||||
fi
|
|
|
@ -48,6 +48,7 @@ CONFIG_MODULES_MC_AUTOTUNE_ATTITUDE_CONTROL=y
|
||||||
CONFIG_MODULES_MC_HOVER_THRUST_ESTIMATOR=y
|
CONFIG_MODULES_MC_HOVER_THRUST_ESTIMATOR=y
|
||||||
CONFIG_MODULES_MC_POS_CONTROL=y
|
CONFIG_MODULES_MC_POS_CONTROL=y
|
||||||
CONFIG_MODULES_MC_RATE_CONTROL=y
|
CONFIG_MODULES_MC_RATE_CONTROL=y
|
||||||
|
CONFIG_MODULES_MICRODDS_CLIENT=y
|
||||||
CONFIG_MODULES_NAVIGATOR=y
|
CONFIG_MODULES_NAVIGATOR=y
|
||||||
CONFIG_MODULES_RC_UPDATE=y
|
CONFIG_MODULES_RC_UPDATE=y
|
||||||
CONFIG_MODULES_ROVER_POS_CONTROL=y
|
CONFIG_MODULES_ROVER_POS_CONTROL=y
|
||||||
|
|
|
@ -34,7 +34,6 @@ CONFIG_DRIVERS_TONE_ALARM=y
|
||||||
CONFIG_DRIVERS_TRANSPONDER_SAGETECH_MXS=y
|
CONFIG_DRIVERS_TRANSPONDER_SAGETECH_MXS=y
|
||||||
CONFIG_DRIVERS_UAVCAN=y
|
CONFIG_DRIVERS_UAVCAN=y
|
||||||
CONFIG_MODULES_AIRSPEED_SELECTOR=y
|
CONFIG_MODULES_AIRSPEED_SELECTOR=y
|
||||||
CONFIG_MODULES_ATTITUDE_ESTIMATOR_Q=y
|
|
||||||
CONFIG_MODULES_BATTERY_STATUS=y
|
CONFIG_MODULES_BATTERY_STATUS=y
|
||||||
CONFIG_MODULES_CAMERA_FEEDBACK=y
|
CONFIG_MODULES_CAMERA_FEEDBACK=y
|
||||||
CONFIG_MODULES_COMMANDER=y
|
CONFIG_MODULES_COMMANDER=y
|
||||||
|
@ -53,7 +52,6 @@ CONFIG_MODULES_GYRO_FFT=y
|
||||||
CONFIG_MODULES_LAND_DETECTOR=y
|
CONFIG_MODULES_LAND_DETECTOR=y
|
||||||
CONFIG_MODULES_LANDING_TARGET_ESTIMATOR=y
|
CONFIG_MODULES_LANDING_TARGET_ESTIMATOR=y
|
||||||
CONFIG_MODULES_LOAD_MON=y
|
CONFIG_MODULES_LOAD_MON=y
|
||||||
CONFIG_MODULES_LOCAL_POSITION_ESTIMATOR=y
|
|
||||||
CONFIG_MODULES_LOGGER=y
|
CONFIG_MODULES_LOGGER=y
|
||||||
CONFIG_MODULES_MAG_BIAS_ESTIMATOR=y
|
CONFIG_MODULES_MAG_BIAS_ESTIMATOR=y
|
||||||
CONFIG_MODULES_MANUAL_CONTROL=y
|
CONFIG_MODULES_MANUAL_CONTROL=y
|
||||||
|
@ -63,6 +61,7 @@ CONFIG_MODULES_MC_AUTOTUNE_ATTITUDE_CONTROL=y
|
||||||
CONFIG_MODULES_MC_HOVER_THRUST_ESTIMATOR=y
|
CONFIG_MODULES_MC_HOVER_THRUST_ESTIMATOR=y
|
||||||
CONFIG_MODULES_MC_POS_CONTROL=y
|
CONFIG_MODULES_MC_POS_CONTROL=y
|
||||||
CONFIG_MODULES_MC_RATE_CONTROL=y
|
CONFIG_MODULES_MC_RATE_CONTROL=y
|
||||||
|
CONFIG_MODULES_MICRODDS_CLIENT=y
|
||||||
CONFIG_MODULES_NAVIGATOR=y
|
CONFIG_MODULES_NAVIGATOR=y
|
||||||
CONFIG_MODULES_RC_UPDATE=y
|
CONFIG_MODULES_RC_UPDATE=y
|
||||||
CONFIG_MODULES_ROVER_POS_CONTROL=y
|
CONFIG_MODULES_ROVER_POS_CONTROL=y
|
||||||
|
|
|
@ -15,7 +15,6 @@ CONFIG_DRIVERS_IMU_INVENSENSE_MPU6000=y
|
||||||
CONFIG_DRIVERS_IMU_INVENSENSE_MPU9250=y
|
CONFIG_DRIVERS_IMU_INVENSENSE_MPU9250=y
|
||||||
CONFIG_DRIVERS_MAGNETOMETER_AKM_AK8963=y
|
CONFIG_DRIVERS_MAGNETOMETER_AKM_AK8963=y
|
||||||
CONFIG_DRIVERS_MAGNETOMETER_HMC5883=y
|
CONFIG_DRIVERS_MAGNETOMETER_HMC5883=y
|
||||||
CONFIG_DRIVERS_OSD=y
|
|
||||||
CONFIG_DRIVERS_PWM_OUT=y
|
CONFIG_DRIVERS_PWM_OUT=y
|
||||||
CONFIG_DRIVERS_RC_INPUT=y
|
CONFIG_DRIVERS_RC_INPUT=y
|
||||||
CONFIG_MODULES_ATTITUDE_ESTIMATOR_Q=y
|
CONFIG_MODULES_ATTITUDE_ESTIMATOR_Q=y
|
||||||
|
|
|
@ -50,6 +50,7 @@ CONFIG_MODULES_MC_AUTOTUNE_ATTITUDE_CONTROL=y
|
||||||
CONFIG_MODULES_MC_HOVER_THRUST_ESTIMATOR=y
|
CONFIG_MODULES_MC_HOVER_THRUST_ESTIMATOR=y
|
||||||
CONFIG_MODULES_MC_POS_CONTROL=y
|
CONFIG_MODULES_MC_POS_CONTROL=y
|
||||||
CONFIG_MODULES_MC_RATE_CONTROL=y
|
CONFIG_MODULES_MC_RATE_CONTROL=y
|
||||||
|
CONFIG_MODULES_MICRODDS_CLIENT=y
|
||||||
CONFIG_MODULES_NAVIGATOR=y
|
CONFIG_MODULES_NAVIGATOR=y
|
||||||
CONFIG_MODULES_RC_UPDATE=y
|
CONFIG_MODULES_RC_UPDATE=y
|
||||||
CONFIG_MODULES_ROVER_POS_CONTROL=y
|
CONFIG_MODULES_ROVER_POS_CONTROL=y
|
||||||
|
|
|
@ -29,6 +29,7 @@ CONFIG_MODULES_MAVLINK=y
|
||||||
CONFIG_MODULES_MC_ATT_CONTROL=y
|
CONFIG_MODULES_MC_ATT_CONTROL=y
|
||||||
CONFIG_MODULES_MC_POS_CONTROL=y
|
CONFIG_MODULES_MC_POS_CONTROL=y
|
||||||
CONFIG_MODULES_MC_RATE_CONTROL=y
|
CONFIG_MODULES_MC_RATE_CONTROL=y
|
||||||
|
CONFIG_MODULES_MICRODDS_CLIENT=y
|
||||||
CONFIG_MODULES_NAVIGATOR=y
|
CONFIG_MODULES_NAVIGATOR=y
|
||||||
CONFIG_MODULES_RC_UPDATE=y
|
CONFIG_MODULES_RC_UPDATE=y
|
||||||
CONFIG_MODULES_SENSORS=y
|
CONFIG_MODULES_SENSORS=y
|
||||||
|
|
|
@ -56,6 +56,7 @@ CONFIG_MODULES_MC_AUTOTUNE_ATTITUDE_CONTROL=y
|
||||||
CONFIG_MODULES_MC_HOVER_THRUST_ESTIMATOR=y
|
CONFIG_MODULES_MC_HOVER_THRUST_ESTIMATOR=y
|
||||||
CONFIG_MODULES_MC_POS_CONTROL=y
|
CONFIG_MODULES_MC_POS_CONTROL=y
|
||||||
CONFIG_MODULES_MC_RATE_CONTROL=y
|
CONFIG_MODULES_MC_RATE_CONTROL=y
|
||||||
|
CONFIG_MODULES_MICRODDS_CLIENT=y
|
||||||
CONFIG_MODULES_NAVIGATOR=y
|
CONFIG_MODULES_NAVIGATOR=y
|
||||||
CONFIG_MODULES_RC_UPDATE=y
|
CONFIG_MODULES_RC_UPDATE=y
|
||||||
CONFIG_MODULES_ROVER_POS_CONTROL=y
|
CONFIG_MODULES_ROVER_POS_CONTROL=y
|
||||||
|
|
|
@ -53,6 +53,7 @@ CONFIG_MODULES_MC_AUTOTUNE_ATTITUDE_CONTROL=n
|
||||||
CONFIG_MODULES_MC_HOVER_THRUST_ESTIMATOR=y
|
CONFIG_MODULES_MC_HOVER_THRUST_ESTIMATOR=y
|
||||||
CONFIG_MODULES_MC_POS_CONTROL=y
|
CONFIG_MODULES_MC_POS_CONTROL=y
|
||||||
CONFIG_MODULES_MC_RATE_CONTROL=y
|
CONFIG_MODULES_MC_RATE_CONTROL=y
|
||||||
|
CONFIG_MODULES_MICRODDS_CLIENT=y
|
||||||
CONFIG_MODULES_NAVIGATOR=y
|
CONFIG_MODULES_NAVIGATOR=y
|
||||||
CONFIG_MODULES_RC_UPDATE=y
|
CONFIG_MODULES_RC_UPDATE=y
|
||||||
CONFIG_MODULES_SENSORS=y
|
CONFIG_MODULES_SENSORS=y
|
||||||
|
|
|
@ -52,6 +52,7 @@ CONFIG_MODULES_MC_AUTOTUNE_ATTITUDE_CONTROL=n
|
||||||
CONFIG_MODULES_MC_HOVER_THRUST_ESTIMATOR=y
|
CONFIG_MODULES_MC_HOVER_THRUST_ESTIMATOR=y
|
||||||
CONFIG_MODULES_MC_POS_CONTROL=y
|
CONFIG_MODULES_MC_POS_CONTROL=y
|
||||||
CONFIG_MODULES_MC_RATE_CONTROL=y
|
CONFIG_MODULES_MC_RATE_CONTROL=y
|
||||||
|
CONFIG_MODULES_MICRODDS_CLIENT=y
|
||||||
CONFIG_MODULES_NAVIGATOR=y
|
CONFIG_MODULES_NAVIGATOR=y
|
||||||
CONFIG_MODULES_RC_UPDATE=y
|
CONFIG_MODULES_RC_UPDATE=y
|
||||||
CONFIG_MODULES_SENSORS=y
|
CONFIG_MODULES_SENSORS=y
|
||||||
|
|
|
@ -53,6 +53,7 @@ CONFIG_MODULES_MC_AUTOTUNE_ATTITUDE_CONTROL=n
|
||||||
CONFIG_MODULES_MC_HOVER_THRUST_ESTIMATOR=y
|
CONFIG_MODULES_MC_HOVER_THRUST_ESTIMATOR=y
|
||||||
CONFIG_MODULES_MC_POS_CONTROL=y
|
CONFIG_MODULES_MC_POS_CONTROL=y
|
||||||
CONFIG_MODULES_MC_RATE_CONTROL=y
|
CONFIG_MODULES_MC_RATE_CONTROL=y
|
||||||
|
CONFIG_MODULES_MICRODDS_CLIENT=y
|
||||||
CONFIG_MODULES_NAVIGATOR=y
|
CONFIG_MODULES_NAVIGATOR=y
|
||||||
CONFIG_MODULES_RC_UPDATE=y
|
CONFIG_MODULES_RC_UPDATE=y
|
||||||
CONFIG_MODULES_SENSORS=y
|
CONFIG_MODULES_SENSORS=y
|
||||||
|
|
|
@ -66,6 +66,7 @@ CONFIG_MODULES_MC_AUTOTUNE_ATTITUDE_CONTROL=y
|
||||||
CONFIG_MODULES_MC_HOVER_THRUST_ESTIMATOR=y
|
CONFIG_MODULES_MC_HOVER_THRUST_ESTIMATOR=y
|
||||||
CONFIG_MODULES_MC_POS_CONTROL=y
|
CONFIG_MODULES_MC_POS_CONTROL=y
|
||||||
CONFIG_MODULES_MC_RATE_CONTROL=y
|
CONFIG_MODULES_MC_RATE_CONTROL=y
|
||||||
|
CONFIG_MODULES_MICRODDS_CLIENT=y
|
||||||
CONFIG_MODULES_NAVIGATOR=y
|
CONFIG_MODULES_NAVIGATOR=y
|
||||||
CONFIG_MODULES_RC_UPDATE=y
|
CONFIG_MODULES_RC_UPDATE=y
|
||||||
CONFIG_MODULES_ROVER_POS_CONTROL=y
|
CONFIG_MODULES_ROVER_POS_CONTROL=y
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
CONFIG_MODULES_MICRORTPS_BRIDGE=y
|
|
|
@ -36,7 +36,6 @@ CONFIG_DRIVERS_UAVCAN=y
|
||||||
CONFIG_BOARD_UAVCAN_INTERFACES=1
|
CONFIG_BOARD_UAVCAN_INTERFACES=1
|
||||||
CONFIG_BOARD_UAVCAN_TIMER_OVERRIDE=2
|
CONFIG_BOARD_UAVCAN_TIMER_OVERRIDE=2
|
||||||
CONFIG_MODULES_AIRSPEED_SELECTOR=y
|
CONFIG_MODULES_AIRSPEED_SELECTOR=y
|
||||||
CONFIG_MODULES_ATTITUDE_ESTIMATOR_Q=y
|
|
||||||
CONFIG_MODULES_CAMERA_FEEDBACK=y
|
CONFIG_MODULES_CAMERA_FEEDBACK=y
|
||||||
CONFIG_MODULES_COMMANDER=y
|
CONFIG_MODULES_COMMANDER=y
|
||||||
CONFIG_MODULES_CONTROL_ALLOCATOR=y
|
CONFIG_MODULES_CONTROL_ALLOCATOR=y
|
||||||
|
@ -54,7 +53,6 @@ CONFIG_MODULES_GYRO_FFT=y
|
||||||
CONFIG_MODULES_LAND_DETECTOR=y
|
CONFIG_MODULES_LAND_DETECTOR=y
|
||||||
CONFIG_MODULES_LANDING_TARGET_ESTIMATOR=y
|
CONFIG_MODULES_LANDING_TARGET_ESTIMATOR=y
|
||||||
CONFIG_MODULES_LOAD_MON=y
|
CONFIG_MODULES_LOAD_MON=y
|
||||||
CONFIG_MODULES_LOCAL_POSITION_ESTIMATOR=y
|
|
||||||
CONFIG_MODULES_LOGGER=y
|
CONFIG_MODULES_LOGGER=y
|
||||||
CONFIG_MODULES_MAG_BIAS_ESTIMATOR=y
|
CONFIG_MODULES_MAG_BIAS_ESTIMATOR=y
|
||||||
CONFIG_MODULES_MANUAL_CONTROL=y
|
CONFIG_MODULES_MANUAL_CONTROL=y
|
||||||
|
@ -64,6 +62,7 @@ CONFIG_MODULES_MC_AUTOTUNE_ATTITUDE_CONTROL=y
|
||||||
CONFIG_MODULES_MC_HOVER_THRUST_ESTIMATOR=y
|
CONFIG_MODULES_MC_HOVER_THRUST_ESTIMATOR=y
|
||||||
CONFIG_MODULES_MC_POS_CONTROL=y
|
CONFIG_MODULES_MC_POS_CONTROL=y
|
||||||
CONFIG_MODULES_MC_RATE_CONTROL=y
|
CONFIG_MODULES_MC_RATE_CONTROL=y
|
||||||
|
CONFIG_MODULES_MICRODDS_CLIENT=y
|
||||||
CONFIG_MODULES_NAVIGATOR=y
|
CONFIG_MODULES_NAVIGATOR=y
|
||||||
CONFIG_MODULES_RC_UPDATE=y
|
CONFIG_MODULES_RC_UPDATE=y
|
||||||
CONFIG_MODULES_ROVER_POS_CONTROL=y
|
CONFIG_MODULES_ROVER_POS_CONTROL=y
|
||||||
|
|
|
@ -62,6 +62,7 @@ CONFIG_MODULES_MC_AUTOTUNE_ATTITUDE_CONTROL=y
|
||||||
CONFIG_MODULES_MC_HOVER_THRUST_ESTIMATOR=y
|
CONFIG_MODULES_MC_HOVER_THRUST_ESTIMATOR=y
|
||||||
CONFIG_MODULES_MC_POS_CONTROL=y
|
CONFIG_MODULES_MC_POS_CONTROL=y
|
||||||
CONFIG_MODULES_MC_RATE_CONTROL=y
|
CONFIG_MODULES_MC_RATE_CONTROL=y
|
||||||
|
CONFIG_MODULES_MICRODDS_CLIENT=y
|
||||||
CONFIG_MODULES_NAVIGATOR=y
|
CONFIG_MODULES_NAVIGATOR=y
|
||||||
CONFIG_MODULES_RC_UPDATE=y
|
CONFIG_MODULES_RC_UPDATE=y
|
||||||
CONFIG_MODULES_ROVER_POS_CONTROL=y
|
CONFIG_MODULES_ROVER_POS_CONTROL=y
|
||||||
|
|
|
@ -62,6 +62,7 @@ CONFIG_MODULES_MC_AUTOTUNE_ATTITUDE_CONTROL=y
|
||||||
CONFIG_MODULES_MC_HOVER_THRUST_ESTIMATOR=y
|
CONFIG_MODULES_MC_HOVER_THRUST_ESTIMATOR=y
|
||||||
CONFIG_MODULES_MC_POS_CONTROL=y
|
CONFIG_MODULES_MC_POS_CONTROL=y
|
||||||
CONFIG_MODULES_MC_RATE_CONTROL=y
|
CONFIG_MODULES_MC_RATE_CONTROL=y
|
||||||
|
CONFIG_MODULES_MICRODDS_CLIENT=y
|
||||||
CONFIG_MODULES_NAVIGATOR=y
|
CONFIG_MODULES_NAVIGATOR=y
|
||||||
CONFIG_MODULES_RC_UPDATE=y
|
CONFIG_MODULES_RC_UPDATE=y
|
||||||
CONFIG_MODULES_ROVER_POS_CONTROL=y
|
CONFIG_MODULES_ROVER_POS_CONTROL=y
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
CONFIG_MODULES_MICRORTPS_BRIDGE=y
|
|
|
@ -63,6 +63,7 @@ CONFIG_MODULES_MC_AUTOTUNE_ATTITUDE_CONTROL=y
|
||||||
CONFIG_MODULES_MC_HOVER_THRUST_ESTIMATOR=y
|
CONFIG_MODULES_MC_HOVER_THRUST_ESTIMATOR=y
|
||||||
CONFIG_MODULES_MC_POS_CONTROL=y
|
CONFIG_MODULES_MC_POS_CONTROL=y
|
||||||
CONFIG_MODULES_MC_RATE_CONTROL=y
|
CONFIG_MODULES_MC_RATE_CONTROL=y
|
||||||
|
CONFIG_MODULES_MICRODDS_CLIENT=y
|
||||||
CONFIG_MODULES_NAVIGATOR=y
|
CONFIG_MODULES_NAVIGATOR=y
|
||||||
CONFIG_MODULES_RC_UPDATE=y
|
CONFIG_MODULES_RC_UPDATE=y
|
||||||
CONFIG_MODULES_ROVER_POS_CONTROL=y
|
CONFIG_MODULES_ROVER_POS_CONTROL=y
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
CONFIG_MODULES_MICRORTPS_BRIDGE=y
|
|
|
@ -62,6 +62,7 @@ CONFIG_MODULES_MC_AUTOTUNE_ATTITUDE_CONTROL=y
|
||||||
CONFIG_MODULES_MC_HOVER_THRUST_ESTIMATOR=y
|
CONFIG_MODULES_MC_HOVER_THRUST_ESTIMATOR=y
|
||||||
CONFIG_MODULES_MC_POS_CONTROL=y
|
CONFIG_MODULES_MC_POS_CONTROL=y
|
||||||
CONFIG_MODULES_MC_RATE_CONTROL=y
|
CONFIG_MODULES_MC_RATE_CONTROL=y
|
||||||
|
CONFIG_MODULES_MICRODDS_CLIENT=y
|
||||||
CONFIG_MODULES_NAVIGATOR=y
|
CONFIG_MODULES_NAVIGATOR=y
|
||||||
CONFIG_MODULES_RC_UPDATE=y
|
CONFIG_MODULES_RC_UPDATE=y
|
||||||
CONFIG_MODULES_ROVER_POS_CONTROL=y
|
CONFIG_MODULES_ROVER_POS_CONTROL=y
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
CONFIG_MODULES_MICRORTPS_BRIDGE=y
|
|
|
@ -41,6 +41,7 @@ CONFIG_MODULES_ATTITUDE_ESTIMATOR_Q=y
|
||||||
CONFIG_MODULES_BATTERY_STATUS=y
|
CONFIG_MODULES_BATTERY_STATUS=y
|
||||||
CONFIG_MODULES_CAMERA_FEEDBACK=y
|
CONFIG_MODULES_CAMERA_FEEDBACK=y
|
||||||
CONFIG_MODULES_COMMANDER=y
|
CONFIG_MODULES_COMMANDER=y
|
||||||
|
CONFIG_MODULES_CONTROL_ALLOCATOR=y
|
||||||
CONFIG_MODULES_DATAMAN=y
|
CONFIG_MODULES_DATAMAN=y
|
||||||
CONFIG_MODULES_EKF2=y
|
CONFIG_MODULES_EKF2=y
|
||||||
CONFIG_MODULES_ESC_BATTERY=y
|
CONFIG_MODULES_ESC_BATTERY=y
|
||||||
|
@ -49,6 +50,7 @@ CONFIG_MODULES_FLIGHT_MODE_MANAGER=y
|
||||||
CONFIG_MODULES_FW_ATT_CONTROL=y
|
CONFIG_MODULES_FW_ATT_CONTROL=y
|
||||||
CONFIG_MODULES_FW_AUTOTUNE_ATTITUDE_CONTROL=y
|
CONFIG_MODULES_FW_AUTOTUNE_ATTITUDE_CONTROL=y
|
||||||
CONFIG_MODULES_FW_POS_CONTROL_L1=y
|
CONFIG_MODULES_FW_POS_CONTROL_L1=y
|
||||||
|
CONFIG_MODULES_GIMBAL=y
|
||||||
CONFIG_MODULES_GYRO_CALIBRATION=y
|
CONFIG_MODULES_GYRO_CALIBRATION=y
|
||||||
CONFIG_MODULES_GYRO_FFT=y
|
CONFIG_MODULES_GYRO_FFT=y
|
||||||
CONFIG_MODULES_LAND_DETECTOR=y
|
CONFIG_MODULES_LAND_DETECTOR=y
|
||||||
|
@ -64,7 +66,7 @@ CONFIG_MODULES_MC_AUTOTUNE_ATTITUDE_CONTROL=y
|
||||||
CONFIG_MODULES_MC_HOVER_THRUST_ESTIMATOR=y
|
CONFIG_MODULES_MC_HOVER_THRUST_ESTIMATOR=y
|
||||||
CONFIG_MODULES_MC_POS_CONTROL=y
|
CONFIG_MODULES_MC_POS_CONTROL=y
|
||||||
CONFIG_MODULES_MC_RATE_CONTROL=y
|
CONFIG_MODULES_MC_RATE_CONTROL=y
|
||||||
CONFIG_MODULES_CONTROL_ALLOCATOR=y
|
CONFIG_MODULES_MICRODDS_CLIENT=y
|
||||||
CONFIG_MODULES_NAVIGATOR=y
|
CONFIG_MODULES_NAVIGATOR=y
|
||||||
CONFIG_MODULES_RC_UPDATE=y
|
CONFIG_MODULES_RC_UPDATE=y
|
||||||
CONFIG_MODULES_ROVER_POS_CONTROL=y
|
CONFIG_MODULES_ROVER_POS_CONTROL=y
|
||||||
|
@ -75,7 +77,6 @@ CONFIG_MODULES_SIMULATION_SENSOR_GPS_SIM=y
|
||||||
CONFIG_MODULES_SIMULATION_SENSOR_MAG_SIM=y
|
CONFIG_MODULES_SIMULATION_SENSOR_MAG_SIM=y
|
||||||
CONFIG_MODULES_SIMULATION_SIMULATOR_SIH=y
|
CONFIG_MODULES_SIMULATION_SIMULATOR_SIH=y
|
||||||
CONFIG_MODULES_TEMPERATURE_COMPENSATION=y
|
CONFIG_MODULES_TEMPERATURE_COMPENSATION=y
|
||||||
CONFIG_MODULES_GIMBAL=y
|
|
||||||
CONFIG_MODULES_VTOL_ATT_CONTROL=y
|
CONFIG_MODULES_VTOL_ATT_CONTROL=y
|
||||||
CONFIG_SYSTEMCMDS_DUMPFILE=y
|
CONFIG_SYSTEMCMDS_DUMPFILE=y
|
||||||
CONFIG_SYSTEMCMDS_I2CDETECT=y
|
CONFIG_SYSTEMCMDS_I2CDETECT=y
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
CONFIG_MODULES_MICRORTPS_BRIDGE=y
|
|
|
@ -68,6 +68,7 @@ CONFIG_MODULES_MC_AUTOTUNE_ATTITUDE_CONTROL=y
|
||||||
CONFIG_MODULES_MC_HOVER_THRUST_ESTIMATOR=y
|
CONFIG_MODULES_MC_HOVER_THRUST_ESTIMATOR=y
|
||||||
CONFIG_MODULES_MC_POS_CONTROL=y
|
CONFIG_MODULES_MC_POS_CONTROL=y
|
||||||
CONFIG_MODULES_MC_RATE_CONTROL=y
|
CONFIG_MODULES_MC_RATE_CONTROL=y
|
||||||
|
CONFIG_MODULES_MICRODDS_CLIENT=y
|
||||||
CONFIG_MODULES_NAVIGATOR=y
|
CONFIG_MODULES_NAVIGATOR=y
|
||||||
CONFIG_MODULES_RC_UPDATE=y
|
CONFIG_MODULES_RC_UPDATE=y
|
||||||
CONFIG_MODULES_ROVER_POS_CONTROL=y
|
CONFIG_MODULES_ROVER_POS_CONTROL=y
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
CONFIG_MODULES_MICRORTPS_BRIDGE=y
|
|
|
@ -45,6 +45,7 @@ CONFIG_MODULES_MC_AUTOTUNE_ATTITUDE_CONTROL=y
|
||||||
CONFIG_MODULES_MC_HOVER_THRUST_ESTIMATOR=y
|
CONFIG_MODULES_MC_HOVER_THRUST_ESTIMATOR=y
|
||||||
CONFIG_MODULES_MC_POS_CONTROL=y
|
CONFIG_MODULES_MC_POS_CONTROL=y
|
||||||
CONFIG_MODULES_MC_RATE_CONTROL=y
|
CONFIG_MODULES_MC_RATE_CONTROL=y
|
||||||
|
CONFIG_MODULES_MICRODDS_CLIENT=y
|
||||||
CONFIG_MODULES_NAVIGATOR=y
|
CONFIG_MODULES_NAVIGATOR=y
|
||||||
CONFIG_MODULES_RC_UPDATE=y
|
CONFIG_MODULES_RC_UPDATE=y
|
||||||
CONFIG_MODULES_SENSORS=y
|
CONFIG_MODULES_SENSORS=y
|
||||||
|
|
|
@ -29,6 +29,7 @@ CONFIG_MODULES_MAVLINK=y
|
||||||
CONFIG_MODULES_MC_ATT_CONTROL=y
|
CONFIG_MODULES_MC_ATT_CONTROL=y
|
||||||
CONFIG_MODULES_MC_POS_CONTROL=y
|
CONFIG_MODULES_MC_POS_CONTROL=y
|
||||||
CONFIG_MODULES_MC_RATE_CONTROL=y
|
CONFIG_MODULES_MC_RATE_CONTROL=y
|
||||||
|
CONFIG_MODULES_MICRODDS_CLIENT=y
|
||||||
CONFIG_MODULES_NAVIGATOR=y
|
CONFIG_MODULES_NAVIGATOR=y
|
||||||
CONFIG_MODULES_RC_UPDATE=y
|
CONFIG_MODULES_RC_UPDATE=y
|
||||||
CONFIG_MODULES_SENSORS=y
|
CONFIG_MODULES_SENSORS=y
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
CONFIG_MODULES_MICRORTPS_BRIDGE=y
|
|
|
@ -1,5 +1,7 @@
|
||||||
|
CONFIG_MODULES_ATTITUDE_ESTIMATOR_Q=n
|
||||||
|
CONFIG_MODULES_LOCAL_POSITION_ESTIMATOR=n
|
||||||
CONFIG_BOARD_CRYPTO=y
|
CONFIG_BOARD_CRYPTO=y
|
||||||
CONFIG_DRIVERS_SW_CRYPTO=y
|
|
||||||
CONFIG_DRIVERS_STUB_KEYSTORE=y
|
CONFIG_DRIVERS_STUB_KEYSTORE=y
|
||||||
|
CONFIG_DRIVERS_SW_CRYPTO=y
|
||||||
CONFIG_PUBLIC_KEY0="../../../Tools/test_keys/key0.pub"
|
CONFIG_PUBLIC_KEY0="../../../Tools/test_keys/key0.pub"
|
||||||
CONFIG_PUBLIC_KEY1="../../../Tools/test_keys/rsa2048.pub"
|
CONFIG_PUBLIC_KEY1="../../../Tools/test_keys/rsa2048.pub"
|
||||||
|
|
|
@ -73,6 +73,7 @@ CONFIG_MODULES_MC_AUTOTUNE_ATTITUDE_CONTROL=y
|
||||||
CONFIG_MODULES_MC_HOVER_THRUST_ESTIMATOR=y
|
CONFIG_MODULES_MC_HOVER_THRUST_ESTIMATOR=y
|
||||||
CONFIG_MODULES_MC_POS_CONTROL=y
|
CONFIG_MODULES_MC_POS_CONTROL=y
|
||||||
CONFIG_MODULES_MC_RATE_CONTROL=y
|
CONFIG_MODULES_MC_RATE_CONTROL=y
|
||||||
|
CONFIG_MODULES_MICRODDS_CLIENT=y
|
||||||
CONFIG_MODULES_NAVIGATOR=y
|
CONFIG_MODULES_NAVIGATOR=y
|
||||||
CONFIG_MODULES_RC_UPDATE=y
|
CONFIG_MODULES_RC_UPDATE=y
|
||||||
CONFIG_MODULES_ROVER_POS_CONTROL=y
|
CONFIG_MODULES_ROVER_POS_CONTROL=y
|
||||||
|
|
|
@ -4,9 +4,13 @@ CONFIG_COMMON_DIFFERENTIAL_PRESSURE=n
|
||||||
CONFIG_COMMON_DISTANCE_SENSOR=n
|
CONFIG_COMMON_DISTANCE_SENSOR=n
|
||||||
CONFIG_COMMON_OPTICAL_FLOW=n
|
CONFIG_COMMON_OPTICAL_FLOW=n
|
||||||
CONFIG_COMMON_TELEMETRY=n
|
CONFIG_COMMON_TELEMETRY=n
|
||||||
CONFIG_DRIVERS_OSD=n
|
CONFIG_DRIVERS_CAMERA_CAPTURE=n
|
||||||
|
CONFIG_DRIVERS_CAMERA_TRIGGER=n
|
||||||
|
CONFIG_DRIVERS_IRLOCK=n
|
||||||
|
CONFIG_DRIVERS_PCA9685=n
|
||||||
|
CONFIG_DRIVERS_PCA9685_PWM_OUT=n
|
||||||
|
CONFIG_DRIVERS_PWM_INPUT=n
|
||||||
CONFIG_DRIVERS_ROBOCLAW=n
|
CONFIG_DRIVERS_ROBOCLAW=n
|
||||||
CONFIG_DRIVERS_RPM=n
|
|
||||||
CONFIG_DRIVERS_UAVCAN=n
|
CONFIG_DRIVERS_UAVCAN=n
|
||||||
CONFIG_EXAMPLES_FAKE_GPS=n
|
CONFIG_EXAMPLES_FAKE_GPS=n
|
||||||
CONFIG_MODULES_AIRSPEED_SELECTOR=n
|
CONFIG_MODULES_AIRSPEED_SELECTOR=n
|
||||||
|
@ -17,8 +21,8 @@ CONFIG_MODULES_FW_ATT_CONTROL=n
|
||||||
CONFIG_MODULES_FW_AUTOTUNE_ATTITUDE_CONTROL=n
|
CONFIG_MODULES_FW_AUTOTUNE_ATTITUDE_CONTROL=n
|
||||||
CONFIG_MODULES_FW_POS_CONTROL_L1=n
|
CONFIG_MODULES_FW_POS_CONTROL_L1=n
|
||||||
CONFIG_MODULES_GYRO_FFT=n
|
CONFIG_MODULES_GYRO_FFT=n
|
||||||
|
CONFIG_MODULES_LOCAL_POSITION_ESTIMATOR=n
|
||||||
CONFIG_MODULES_ROVER_POS_CONTROL=n
|
CONFIG_MODULES_ROVER_POS_CONTROL=n
|
||||||
CONFIG_MODULES_SIH=n
|
|
||||||
CONFIG_MODULES_TEMPERATURE_COMPENSATION=n
|
CONFIG_MODULES_TEMPERATURE_COMPENSATION=n
|
||||||
CONFIG_MODULES_UUV_ATT_CONTROL=n
|
CONFIG_MODULES_UUV_ATT_CONTROL=n
|
||||||
CONFIG_MODULES_UUV_POS_CONTROL=n
|
CONFIG_MODULES_UUV_POS_CONTROL=n
|
||||||
|
@ -30,7 +34,6 @@ CONFIG_SYSTEMCMDS_DUMPFILE=n
|
||||||
CONFIG_SYSTEMCMDS_GPIO=n
|
CONFIG_SYSTEMCMDS_GPIO=n
|
||||||
CONFIG_SYSTEMCMDS_I2CDETECT=n
|
CONFIG_SYSTEMCMDS_I2CDETECT=n
|
||||||
CONFIG_SYSTEMCMDS_LED_CONTROL=n
|
CONFIG_SYSTEMCMDS_LED_CONTROL=n
|
||||||
CONFIG_SYSTEMCMDS_MOTOR_TEST=n
|
|
||||||
CONFIG_SYSTEMCMDS_MTD=n
|
CONFIG_SYSTEMCMDS_MTD=n
|
||||||
CONFIG_SYSTEMCMDS_NSHTERM=n
|
CONFIG_SYSTEMCMDS_NSHTERM=n
|
||||||
CONFIG_SYSTEMCMDS_REFLECT=n
|
CONFIG_SYSTEMCMDS_REFLECT=n
|
||||||
|
|
|
@ -1,3 +0,0 @@
|
||||||
CONFIG_DRIVERS_HEATER=n
|
|
||||||
CONFIG_DRIVERS_OSD=n
|
|
||||||
CONFIG_MODULES_MICRORTPS_BRIDGE=y
|
|
|
@ -1,43 +1,43 @@
|
||||||
# CONFIG_BOARD_UAVCAN_TIMER_OVERRIDE is not set
|
# CONFIG_BOARD_UAVCAN_TIMER_OVERRIDE is not set
|
||||||
|
CONFIG_COMMON_BAROMETERS=n
|
||||||
|
CONFIG_COMMON_DIFFERENTIAL_PRESSURE=n
|
||||||
|
CONFIG_COMMON_DISTANCE_SENSOR=n
|
||||||
CONFIG_COMMON_HYGROMETERS=n
|
CONFIG_COMMON_HYGROMETERS=n
|
||||||
CONFIG_COMMON_TELEMETRY=n
|
CONFIG_COMMON_TELEMETRY=n
|
||||||
|
CONFIG_DRIVERS_ADC_ADS1115=n
|
||||||
CONFIG_DRIVERS_BATT_SMBUS=n
|
CONFIG_DRIVERS_BATT_SMBUS=n
|
||||||
CONFIG_DRIVERS_CAMERA_CAPTURE=n
|
CONFIG_DRIVERS_CAMERA_CAPTURE=n
|
||||||
CONFIG_DRIVERS_CAMERA_TRIGGER=n
|
CONFIG_DRIVERS_CAMERA_TRIGGER=n
|
||||||
CONFIG_COMMON_DIFFERENTIAL_PRESSURE=n
|
|
||||||
CONFIG_COMMON_DISTANCE_SENSOR=n
|
|
||||||
CONFIG_DRIVERS_HEATER=n
|
CONFIG_DRIVERS_HEATER=n
|
||||||
CONFIG_DRIVERS_IMU_ANALOG_DEVICES_ADIS16448=n
|
CONFIG_DRIVERS_IMU_ANALOG_DEVICES_ADIS16448=n
|
||||||
CONFIG_DRIVERS_IMU_INVENSENSE_ICM20602=n
|
CONFIG_DRIVERS_IMU_INVENSENSE_ICM20602=n
|
||||||
CONFIG_DRIVERS_IMU_INVENSENSE_ICM20689=n
|
CONFIG_DRIVERS_IMU_INVENSENSE_ICM20689=n
|
||||||
CONFIG_DRIVERS_IMU_INVENSENSE_ICM20948=n
|
CONFIG_DRIVERS_IMU_INVENSENSE_ICM20948=n
|
||||||
CONFIG_DRIVERS_IRLOCK=n
|
CONFIG_DRIVERS_IRLOCK=n
|
||||||
CONFIG_DRIVERS_OSD=n
|
|
||||||
CONFIG_DRIVERS_PCA9685=n
|
CONFIG_DRIVERS_PCA9685=n
|
||||||
CONFIG_DRIVERS_PCA9685_PWM_OUT=n
|
CONFIG_DRIVERS_PCA9685_PWM_OUT=n
|
||||||
CONFIG_DRIVERS_POWER_MONITOR_INA226=n
|
CONFIG_DRIVERS_POWER_MONITOR_INA226=n
|
||||||
CONFIG_DRIVERS_PWM_INPUT=n
|
CONFIG_DRIVERS_PWM_INPUT=n
|
||||||
CONFIG_DRIVERS_PWM_OUT_SIM=n
|
|
||||||
CONFIG_DRIVERS_ROBOCLAW=n
|
CONFIG_DRIVERS_ROBOCLAW=n
|
||||||
CONFIG_DRIVERS_RPM=n
|
|
||||||
CONFIG_DRIVERS_SMART_BATTERY_BATMON=n
|
CONFIG_DRIVERS_SMART_BATTERY_BATMON=n
|
||||||
CONFIG_DRIVERS_UAVCAN=n
|
CONFIG_DRIVERS_UAVCAN=n
|
||||||
CONFIG_EXAMPLES_FAKE_GPS=n
|
CONFIG_EXAMPLES_FAKE_GPS=n
|
||||||
CONFIG_MODULES_ATTITUDE_ESTIMATOR_Q=n
|
CONFIG_MODULES_ATTITUDE_ESTIMATOR_Q=n
|
||||||
CONFIG_MODULES_CAMERA_FEEDBACK=n
|
CONFIG_MODULES_CAMERA_FEEDBACK=n
|
||||||
CONFIG_MODULES_ESC_BATTERY=n
|
CONFIG_MODULES_ESC_BATTERY=n
|
||||||
|
CONFIG_MODULES_FW_AUTOTUNE_ATTITUDE_CONTROL=n
|
||||||
CONFIG_MODULES_GIMBAL=n
|
CONFIG_MODULES_GIMBAL=n
|
||||||
CONFIG_MODULES_GYRO_CALIBRATION=n
|
CONFIG_MODULES_GYRO_CALIBRATION=n
|
||||||
CONFIG_MODULES_GYRO_FFT=n
|
CONFIG_MODULES_GYRO_FFT=n
|
||||||
CONFIG_MODULES_LANDING_TARGET_ESTIMATOR=n
|
CONFIG_MODULES_LANDING_TARGET_ESTIMATOR=n
|
||||||
CONFIG_MODULES_LOCAL_POSITION_ESTIMATOR=n
|
CONFIG_MODULES_LOCAL_POSITION_ESTIMATOR=n
|
||||||
|
CONFIG_MODULES_MC_AUTOTUNE_ATTITUDE_CONTROL=n
|
||||||
CONFIG_MODULES_ROVER_POS_CONTROL=n
|
CONFIG_MODULES_ROVER_POS_CONTROL=n
|
||||||
CONFIG_MODULES_SIH=n
|
|
||||||
CONFIG_MODULES_TEMPERATURE_COMPENSATION=n
|
CONFIG_MODULES_TEMPERATURE_COMPENSATION=n
|
||||||
CONFIG_MODULES_UUV_ATT_CONTROL=n
|
CONFIG_MODULES_UUV_ATT_CONTROL=n
|
||||||
CONFIG_MODULES_UUV_POS_CONTROL=n
|
CONFIG_MODULES_UUV_POS_CONTROL=n
|
||||||
CONFIG_SYSTEMCMDS_MOTOR_TEST=n
|
|
||||||
CONFIG_SYSTEMCMDS_REFLECT=n
|
CONFIG_SYSTEMCMDS_REFLECT=n
|
||||||
CONFIG_SYSTEMCMDS_SERIAL_TEST=n
|
CONFIG_SYSTEMCMDS_SERIAL_TEST=n
|
||||||
CONFIG_BOARD_CONSTRAINED_FLASH=y
|
CONFIG_BOARD_CONSTRAINED_FLASH=y
|
||||||
CONFIG_BOARD_TESTING=y
|
CONFIG_BOARD_TESTING=y
|
||||||
|
CONFIG_DRIVERS_BAROMETER_MS5611=y
|
||||||
|
|
|
@ -4,8 +4,8 @@ CONFIG_COMMON_DIFFERENTIAL_PRESSURE=n
|
||||||
CONFIG_COMMON_HYGROMETERS=n
|
CONFIG_COMMON_HYGROMETERS=n
|
||||||
CONFIG_COMMON_TELEMETRY=n
|
CONFIG_COMMON_TELEMETRY=n
|
||||||
CONFIG_DRIVERS_ADC_ADS1115=n
|
CONFIG_DRIVERS_ADC_ADS1115=n
|
||||||
CONFIG_DRIVERS_HEATER=n
|
|
||||||
CONFIG_DRIVERS_GPS=n
|
CONFIG_DRIVERS_GPS=n
|
||||||
|
CONFIG_DRIVERS_HEATER=n
|
||||||
CONFIG_DRIVERS_IMU_ANALOG_DEVICES_ADIS16448=n
|
CONFIG_DRIVERS_IMU_ANALOG_DEVICES_ADIS16448=n
|
||||||
CONFIG_DRIVERS_IMU_INVENSENSE_ICM20948=n
|
CONFIG_DRIVERS_IMU_INVENSENSE_ICM20948=n
|
||||||
CONFIG_DRIVERS_IRLOCK=n
|
CONFIG_DRIVERS_IRLOCK=n
|
||||||
|
@ -14,15 +14,14 @@ CONFIG_DRIVERS_PCA9685=n
|
||||||
CONFIG_DRIVERS_PCA9685_PWM_OUT=n
|
CONFIG_DRIVERS_PCA9685_PWM_OUT=n
|
||||||
CONFIG_DRIVERS_PWM_INPUT=n
|
CONFIG_DRIVERS_PWM_INPUT=n
|
||||||
CONFIG_DRIVERS_ROBOCLAW=n
|
CONFIG_DRIVERS_ROBOCLAW=n
|
||||||
CONFIG_DRIVERS_RPM=n
|
|
||||||
CONFIG_DRIVERS_SMART_BATTERY_BATMON=n
|
CONFIG_DRIVERS_SMART_BATTERY_BATMON=n
|
||||||
CONFIG_EXAMPLES_FAKE_GPS=n
|
CONFIG_EXAMPLES_FAKE_GPS=n
|
||||||
CONFIG_MODULES_ATTITUDE_ESTIMATOR_Q=n
|
CONFIG_MODULES_ATTITUDE_ESTIMATOR_Q=n
|
||||||
CONFIG_MODULES_ESC_BATTERY=n
|
CONFIG_MODULES_ESC_BATTERY=n
|
||||||
CONFIG_MODULES_GYRO_FFT=n
|
CONFIG_MODULES_GYRO_FFT=n
|
||||||
CONFIG_MODULES_LOCAL_POSITION_ESTIMATOR=n
|
CONFIG_MODULES_LOCAL_POSITION_ESTIMATOR=n
|
||||||
|
CONFIG_MODULES_MICRODDS_CLIENT=n
|
||||||
CONFIG_MODULES_ROVER_POS_CONTROL=n
|
CONFIG_MODULES_ROVER_POS_CONTROL=n
|
||||||
CONFIG_MODULES_SIH=n
|
|
||||||
CONFIG_MODULES_TEMPERATURE_COMPENSATION=n
|
CONFIG_MODULES_TEMPERATURE_COMPENSATION=n
|
||||||
CONFIG_MODULES_UUV_ATT_CONTROL=n
|
CONFIG_MODULES_UUV_ATT_CONTROL=n
|
||||||
CONFIG_MODULES_UUV_POS_CONTROL=n
|
CONFIG_MODULES_UUV_POS_CONTROL=n
|
||||||
|
|
|
@ -9,7 +9,8 @@ CONFIG_BOARD_SERIAL_TEL3="/dev/ttyS1"
|
||||||
CONFIG_BOARD_SERIAL_PPB="/dev/ttyS3"
|
CONFIG_BOARD_SERIAL_PPB="/dev/ttyS3"
|
||||||
CONFIG_DRIVERS_ADC_ADS1115=y
|
CONFIG_DRIVERS_ADC_ADS1115=y
|
||||||
CONFIG_DRIVERS_ADC_BOARD_ADC=y
|
CONFIG_DRIVERS_ADC_BOARD_ADC=y
|
||||||
CONFIG_COMMON_BAROMETERS=y
|
CONFIG_DRIVERS_BAROMETER_BMP388=y
|
||||||
|
CONFIG_DRIVERS_BAROMETER_MS5611=y
|
||||||
CONFIG_DRIVERS_BATT_SMBUS=y
|
CONFIG_DRIVERS_BATT_SMBUS=y
|
||||||
CONFIG_DRIVERS_CAMERA_CAPTURE=y
|
CONFIG_DRIVERS_CAMERA_CAPTURE=y
|
||||||
CONFIG_DRIVERS_CAMERA_TRIGGER=y
|
CONFIG_DRIVERS_CAMERA_TRIGGER=y
|
||||||
|
@ -30,12 +31,9 @@ CONFIG_COMMON_LIGHT=y
|
||||||
CONFIG_COMMON_MAGNETOMETER=y
|
CONFIG_COMMON_MAGNETOMETER=y
|
||||||
CONFIG_COMMON_OPTICAL_FLOW=y
|
CONFIG_COMMON_OPTICAL_FLOW=y
|
||||||
CONFIG_COMMON_OSD=y
|
CONFIG_COMMON_OSD=y
|
||||||
CONFIG_DRIVERS_PCA9685=y
|
|
||||||
CONFIG_DRIVERS_PCA9685_PWM_OUT=y
|
|
||||||
CONFIG_DRIVERS_POWER_MONITOR_INA226=y
|
CONFIG_DRIVERS_POWER_MONITOR_INA226=y
|
||||||
CONFIG_DRIVERS_POWER_MONITOR_INA228=y
|
CONFIG_DRIVERS_POWER_MONITOR_INA228=y
|
||||||
CONFIG_DRIVERS_POWER_MONITOR_INA238=y
|
CONFIG_DRIVERS_POWER_MONITOR_INA238=y
|
||||||
CONFIG_DRIVERS_PWM_INPUT=y
|
|
||||||
CONFIG_DRIVERS_PWM_OUT=y
|
CONFIG_DRIVERS_PWM_OUT=y
|
||||||
CONFIG_DRIVERS_PX4IO=y
|
CONFIG_DRIVERS_PX4IO=y
|
||||||
CONFIG_COMMON_RC=y
|
CONFIG_COMMON_RC=y
|
||||||
|
@ -76,6 +74,7 @@ CONFIG_MODULES_MC_AUTOTUNE_ATTITUDE_CONTROL=y
|
||||||
CONFIG_MODULES_MC_HOVER_THRUST_ESTIMATOR=y
|
CONFIG_MODULES_MC_HOVER_THRUST_ESTIMATOR=y
|
||||||
CONFIG_MODULES_MC_POS_CONTROL=y
|
CONFIG_MODULES_MC_POS_CONTROL=y
|
||||||
CONFIG_MODULES_MC_RATE_CONTROL=y
|
CONFIG_MODULES_MC_RATE_CONTROL=y
|
||||||
|
CONFIG_MODULES_MICRODDS_CLIENT=y
|
||||||
CONFIG_MODULES_NAVIGATOR=y
|
CONFIG_MODULES_NAVIGATOR=y
|
||||||
CONFIG_MODULES_PAYLOAD_DELIVERER=y
|
CONFIG_MODULES_PAYLOAD_DELIVERER=y
|
||||||
CONFIG_MODULES_RC_UPDATE=y
|
CONFIG_MODULES_RC_UPDATE=y
|
||||||
|
@ -88,7 +87,6 @@ CONFIG_MODULES_VTOL_ATT_CONTROL=y
|
||||||
CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y
|
CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y
|
||||||
CONFIG_SYSTEMCMDS_BL_UPDATE=y
|
CONFIG_SYSTEMCMDS_BL_UPDATE=y
|
||||||
CONFIG_SYSTEMCMDS_DMESG=y
|
CONFIG_SYSTEMCMDS_DMESG=y
|
||||||
CONFIG_SYSTEMCMDS_DUMPFILE=y
|
|
||||||
CONFIG_SYSTEMCMDS_GPIO=y
|
CONFIG_SYSTEMCMDS_GPIO=y
|
||||||
CONFIG_SYSTEMCMDS_HARDFAULT_LOG=y
|
CONFIG_SYSTEMCMDS_HARDFAULT_LOG=y
|
||||||
CONFIG_SYSTEMCMDS_I2CDETECT=y
|
CONFIG_SYSTEMCMDS_I2CDETECT=y
|
||||||
|
@ -103,7 +101,6 @@ CONFIG_SYSTEMCMDS_REBOOT=y
|
||||||
CONFIG_SYSTEMCMDS_REFLECT=y
|
CONFIG_SYSTEMCMDS_REFLECT=y
|
||||||
CONFIG_SYSTEMCMDS_SD_BENCH=y
|
CONFIG_SYSTEMCMDS_SD_BENCH=y
|
||||||
CONFIG_SYSTEMCMDS_SD_STRESS=y
|
CONFIG_SYSTEMCMDS_SD_STRESS=y
|
||||||
CONFIG_SYSTEMCMDS_SERIAL_TEST=y
|
|
||||||
CONFIG_SYSTEMCMDS_SYSTEM_TIME=y
|
CONFIG_SYSTEMCMDS_SYSTEM_TIME=y
|
||||||
CONFIG_SYSTEMCMDS_TOP=y
|
CONFIG_SYSTEMCMDS_TOP=y
|
||||||
CONFIG_SYSTEMCMDS_TOPIC_LISTENER=y
|
CONFIG_SYSTEMCMDS_TOPIC_LISTENER=y
|
||||||
|
@ -112,4 +109,3 @@ CONFIG_SYSTEMCMDS_UORB=y
|
||||||
CONFIG_SYSTEMCMDS_USB_CONNECTED=y
|
CONFIG_SYSTEMCMDS_USB_CONNECTED=y
|
||||||
CONFIG_SYSTEMCMDS_VER=y
|
CONFIG_SYSTEMCMDS_VER=y
|
||||||
CONFIG_SYSTEMCMDS_WORK_QUEUE=y
|
CONFIG_SYSTEMCMDS_WORK_QUEUE=y
|
||||||
CONFIG_EXAMPLES_FAKE_GPS=y
|
|
||||||
|
|
|
@ -1,15 +0,0 @@
|
||||||
CONFIG_COMMON_BAROMETERS=n
|
|
||||||
CONFIG_COMMON_TELEMETRY=n
|
|
||||||
CONFIG_DRIVERS_OSD=n
|
|
||||||
CONFIG_EXAMPLES_FAKE_GPS=n
|
|
||||||
CONFIG_SYSTEMCMDS_ACTUATOR_TEST=n
|
|
||||||
CONFIG_SYSTEMCMDS_DUMPFILE=n
|
|
||||||
CONFIG_SYSTEMCMDS_GPIO=n
|
|
||||||
CONFIG_SYSTEMCMDS_MOTOR_TEST=n
|
|
||||||
CONFIG_SYSTEMCMDS_REFLECT=n
|
|
||||||
CONFIG_SYSTEMCMDS_SD_BENCH=n
|
|
||||||
CONFIG_SYSTEMCMDS_SD_STRESS=n
|
|
||||||
CONFIG_SYSTEMCMDS_SERIAL_TEST=n
|
|
||||||
CONFIG_DRIVERS_BAROMETER_BMP388=y
|
|
||||||
CONFIG_DRIVERS_BAROMETER_MS5611=y
|
|
||||||
CONFIG_MODULES_MICRORTPS_BRIDGE=y
|
|
|
@ -1,13 +1,11 @@
|
||||||
CONFIG_DRIVERS_ADC_ADS1115=n
|
CONFIG_DRIVERS_ADC_ADS1115=n
|
||||||
CONFIG_DRIVERS_IMU_ANALOG_DEVICES_ADIS16448=n
|
CONFIG_DRIVERS_IMU_ANALOG_DEVICES_ADIS16448=n
|
||||||
CONFIG_DRIVERS_IRLOCK=n
|
CONFIG_DRIVERS_IRLOCK=n
|
||||||
CONFIG_DRIVERS_PCA9685=n
|
|
||||||
CONFIG_DRIVERS_PCA9685_PWM_OUT=n
|
|
||||||
CONFIG_DRIVERS_RPM=n
|
|
||||||
CONFIG_EXAMPLES_FAKE_GPS=n
|
|
||||||
CONFIG_MODULES_ATTITUDE_ESTIMATOR_Q=n
|
CONFIG_MODULES_ATTITUDE_ESTIMATOR_Q=n
|
||||||
|
CONFIG_MODULES_FW_AUTOTUNE_ATTITUDE_CONTROL=n
|
||||||
CONFIG_MODULES_GYRO_FFT=n
|
CONFIG_MODULES_GYRO_FFT=n
|
||||||
CONFIG_MODULES_LOCAL_POSITION_ESTIMATOR=n
|
CONFIG_MODULES_LOCAL_POSITION_ESTIMATOR=n
|
||||||
|
CONFIG_MODULES_MC_AUTOTUNE_ATTITUDE_CONTROL=n
|
||||||
CONFIG_MODULES_ROVER_POS_CONTROL=n
|
CONFIG_MODULES_ROVER_POS_CONTROL=n
|
||||||
CONFIG_BOARD_TESTING=y
|
CONFIG_BOARD_TESTING=y
|
||||||
CONFIG_DRIVERS_TEST_PPM=y
|
CONFIG_DRIVERS_TEST_PPM=y
|
||||||
|
|
|
@ -57,6 +57,7 @@ CONFIG_MODULES_MC_AUTOTUNE_ATTITUDE_CONTROL=y
|
||||||
CONFIG_MODULES_MC_HOVER_THRUST_ESTIMATOR=y
|
CONFIG_MODULES_MC_HOVER_THRUST_ESTIMATOR=y
|
||||||
CONFIG_MODULES_MC_POS_CONTROL=y
|
CONFIG_MODULES_MC_POS_CONTROL=y
|
||||||
CONFIG_MODULES_MC_RATE_CONTROL=y
|
CONFIG_MODULES_MC_RATE_CONTROL=y
|
||||||
|
CONFIG_MODULES_MICRODDS_CLIENT=y
|
||||||
CONFIG_MODULES_NAVIGATOR=y
|
CONFIG_MODULES_NAVIGATOR=y
|
||||||
CONFIG_MODULES_RC_UPDATE=y
|
CONFIG_MODULES_RC_UPDATE=y
|
||||||
CONFIG_MODULES_ROVER_POS_CONTROL=y
|
CONFIG_MODULES_ROVER_POS_CONTROL=y
|
||||||
|
|
|
@ -8,8 +8,8 @@ CONFIG_BOARD_SERIAL_TEL2="/dev/ttyS4"
|
||||||
CONFIG_BOARD_SERIAL_TEL3="/dev/ttyS1"
|
CONFIG_BOARD_SERIAL_TEL3="/dev/ttyS1"
|
||||||
CONFIG_DRIVERS_ADC_BOARD_ADC=y
|
CONFIG_DRIVERS_ADC_BOARD_ADC=y
|
||||||
CONFIG_DRIVERS_BAROMETER_BMP388=y
|
CONFIG_DRIVERS_BAROMETER_BMP388=y
|
||||||
CONFIG_DRIVERS_BAROMETER_MS5611=y
|
|
||||||
CONFIG_DRIVERS_BAROMETER_INVENSENSE_ICP201XX=y
|
CONFIG_DRIVERS_BAROMETER_INVENSENSE_ICP201XX=y
|
||||||
|
CONFIG_DRIVERS_BAROMETER_MS5611=y
|
||||||
CONFIG_DRIVERS_BATT_SMBUS=y
|
CONFIG_DRIVERS_BATT_SMBUS=y
|
||||||
CONFIG_DRIVERS_CAMERA_CAPTURE=y
|
CONFIG_DRIVERS_CAMERA_CAPTURE=y
|
||||||
CONFIG_DRIVERS_CAMERA_TRIGGER=y
|
CONFIG_DRIVERS_CAMERA_TRIGGER=y
|
||||||
|
@ -24,7 +24,6 @@ CONFIG_DRIVERS_IMU_INVENSENSE_ICM20649=y
|
||||||
CONFIG_DRIVERS_IMU_INVENSENSE_ICM20948=y
|
CONFIG_DRIVERS_IMU_INVENSENSE_ICM20948=y
|
||||||
CONFIG_DRIVERS_IMU_INVENSENSE_ICM42670P=y
|
CONFIG_DRIVERS_IMU_INVENSENSE_ICM42670P=y
|
||||||
CONFIG_DRIVERS_IMU_INVENSENSE_ICM42688P=y
|
CONFIG_DRIVERS_IMU_INVENSENSE_ICM42688P=y
|
||||||
CONFIG_DRIVERS_MAGNETOMETER_RM3100=y
|
|
||||||
CONFIG_COMMON_LIGHT=y
|
CONFIG_COMMON_LIGHT=y
|
||||||
CONFIG_COMMON_MAGNETOMETER=y
|
CONFIG_COMMON_MAGNETOMETER=y
|
||||||
CONFIG_COMMON_OPTICAL_FLOW=y
|
CONFIG_COMMON_OPTICAL_FLOW=y
|
||||||
|
@ -53,7 +52,6 @@ CONFIG_MODULES_FW_AUTOTUNE_ATTITUDE_CONTROL=y
|
||||||
CONFIG_MODULES_FW_POS_CONTROL_L1=y
|
CONFIG_MODULES_FW_POS_CONTROL_L1=y
|
||||||
CONFIG_MODULES_GIMBAL=y
|
CONFIG_MODULES_GIMBAL=y
|
||||||
CONFIG_MODULES_GYRO_CALIBRATION=y
|
CONFIG_MODULES_GYRO_CALIBRATION=y
|
||||||
CONFIG_MODULES_GYRO_FFT=y
|
|
||||||
CONFIG_MODULES_LAND_DETECTOR=y
|
CONFIG_MODULES_LAND_DETECTOR=y
|
||||||
CONFIG_MODULES_LANDING_TARGET_ESTIMATOR=y
|
CONFIG_MODULES_LANDING_TARGET_ESTIMATOR=y
|
||||||
CONFIG_MODULES_LOAD_MON=y
|
CONFIG_MODULES_LOAD_MON=y
|
||||||
|
@ -66,11 +64,10 @@ CONFIG_MODULES_MC_AUTOTUNE_ATTITUDE_CONTROL=y
|
||||||
CONFIG_MODULES_MC_HOVER_THRUST_ESTIMATOR=y
|
CONFIG_MODULES_MC_HOVER_THRUST_ESTIMATOR=y
|
||||||
CONFIG_MODULES_MC_POS_CONTROL=y
|
CONFIG_MODULES_MC_POS_CONTROL=y
|
||||||
CONFIG_MODULES_MC_RATE_CONTROL=y
|
CONFIG_MODULES_MC_RATE_CONTROL=y
|
||||||
|
CONFIG_MODULES_MICRODDS_CLIENT=y
|
||||||
CONFIG_MODULES_NAVIGATOR=y
|
CONFIG_MODULES_NAVIGATOR=y
|
||||||
CONFIG_MODULES_RC_UPDATE=y
|
CONFIG_MODULES_RC_UPDATE=y
|
||||||
CONFIG_MODULES_ROVER_POS_CONTROL=y
|
|
||||||
CONFIG_MODULES_SENSORS=y
|
CONFIG_MODULES_SENSORS=y
|
||||||
CONFIG_MODULES_SIMULATION_PWM_OUT_SIM=y
|
|
||||||
CONFIG_MODULES_SIMULATION_SIMULATOR_SIH=y
|
CONFIG_MODULES_SIMULATION_SIMULATOR_SIH=y
|
||||||
CONFIG_MODULES_TEMPERATURE_COMPENSATION=y
|
CONFIG_MODULES_TEMPERATURE_COMPENSATION=y
|
||||||
CONFIG_MODULES_VTOL_ATT_CONTROL=y
|
CONFIG_MODULES_VTOL_ATT_CONTROL=y
|
||||||
|
@ -87,7 +84,6 @@ CONFIG_SYSTEMCMDS_NSHTERM=y
|
||||||
CONFIG_SYSTEMCMDS_PARAM=y
|
CONFIG_SYSTEMCMDS_PARAM=y
|
||||||
CONFIG_SYSTEMCMDS_PERF=y
|
CONFIG_SYSTEMCMDS_PERF=y
|
||||||
CONFIG_SYSTEMCMDS_REBOOT=y
|
CONFIG_SYSTEMCMDS_REBOOT=y
|
||||||
CONFIG_SYSTEMCMDS_SD_BENCH=y
|
|
||||||
CONFIG_SYSTEMCMDS_SYSTEM_TIME=y
|
CONFIG_SYSTEMCMDS_SYSTEM_TIME=y
|
||||||
CONFIG_SYSTEMCMDS_TOP=y
|
CONFIG_SYSTEMCMDS_TOP=y
|
||||||
CONFIG_SYSTEMCMDS_TOPIC_LISTENER=y
|
CONFIG_SYSTEMCMDS_TOPIC_LISTENER=y
|
||||||
|
|
|
@ -35,6 +35,7 @@ CONFIG_MODULES_MC_AUTOTUNE_ATTITUDE_CONTROL=y
|
||||||
CONFIG_MODULES_MC_HOVER_THRUST_ESTIMATOR=y
|
CONFIG_MODULES_MC_HOVER_THRUST_ESTIMATOR=y
|
||||||
CONFIG_MODULES_MC_POS_CONTROL=y
|
CONFIG_MODULES_MC_POS_CONTROL=y
|
||||||
CONFIG_MODULES_MC_RATE_CONTROL=y
|
CONFIG_MODULES_MC_RATE_CONTROL=y
|
||||||
|
CONFIG_MODULES_MICRODDS_CLIENT=y
|
||||||
CONFIG_MODULES_NAVIGATOR=y
|
CONFIG_MODULES_NAVIGATOR=y
|
||||||
CONFIG_MODULES_PAYLOAD_DELIVERER=y
|
CONFIG_MODULES_PAYLOAD_DELIVERER=y
|
||||||
CONFIG_MODULES_RC_UPDATE=y
|
CONFIG_MODULES_RC_UPDATE=y
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
CONFIG_MODULES_MICRORTPS_BRIDGE=y
|
|
|
@ -69,6 +69,7 @@ CONFIG_MODULES_MC_AUTOTUNE_ATTITUDE_CONTROL=y
|
||||||
CONFIG_MODULES_MC_HOVER_THRUST_ESTIMATOR=y
|
CONFIG_MODULES_MC_HOVER_THRUST_ESTIMATOR=y
|
||||||
CONFIG_MODULES_MC_POS_CONTROL=y
|
CONFIG_MODULES_MC_POS_CONTROL=y
|
||||||
CONFIG_MODULES_MC_RATE_CONTROL=y
|
CONFIG_MODULES_MC_RATE_CONTROL=y
|
||||||
|
CONFIG_MODULES_MICRODDS_CLIENT=y
|
||||||
CONFIG_MODULES_NAVIGATOR=y
|
CONFIG_MODULES_NAVIGATOR=y
|
||||||
CONFIG_MODULES_RC_UPDATE=y
|
CONFIG_MODULES_RC_UPDATE=y
|
||||||
CONFIG_MODULES_ROVER_POS_CONTROL=y
|
CONFIG_MODULES_ROVER_POS_CONTROL=y
|
||||||
|
|
|
@ -37,6 +37,7 @@ CONFIG_MODULES_MC_AUTOTUNE_ATTITUDE_CONTROL=y
|
||||||
CONFIG_MODULES_MC_HOVER_THRUST_ESTIMATOR=y
|
CONFIG_MODULES_MC_HOVER_THRUST_ESTIMATOR=y
|
||||||
CONFIG_MODULES_MC_POS_CONTROL=y
|
CONFIG_MODULES_MC_POS_CONTROL=y
|
||||||
CONFIG_MODULES_MC_RATE_CONTROL=y
|
CONFIG_MODULES_MC_RATE_CONTROL=y
|
||||||
|
CONFIG_MODULES_MICRODDS_CLIENT=y
|
||||||
CONFIG_MODULES_NAVIGATOR=y
|
CONFIG_MODULES_NAVIGATOR=y
|
||||||
CONFIG_MODULES_RC_UPDATE=y
|
CONFIG_MODULES_RC_UPDATE=y
|
||||||
CONFIG_MODULES_SENSORS=y
|
CONFIG_MODULES_SENSORS=y
|
||||||
|
|
|
@ -20,5 +20,5 @@ uint8 GROUP_INDEX_GIMBAL = 2
|
||||||
uint64 timestamp_sample # the timestamp the data this control response is based on was sampled
|
uint64 timestamp_sample # the timestamp the data this control response is based on was sampled
|
||||||
float32[9] control
|
float32[9] control
|
||||||
|
|
||||||
# TOPICS actuator_controls actuator_controls_0 actuator_controls_1 actuator_controls_2
|
# TOPICS actuator_controls_0 actuator_controls_1 actuator_controls_2
|
||||||
# TOPICS actuator_controls_virtual_fw actuator_controls_virtual_mc
|
# TOPICS actuator_controls_virtual_fw actuator_controls_virtual_mc
|
|
@ -7,4 +7,4 @@ uint8 INDEX_THROTTLE = 3
|
||||||
|
|
||||||
float32[4] control_power
|
float32[4] control_power
|
||||||
|
|
||||||
# TOPICS actuator_controls_status actuator_controls_status_0 actuator_controls_status_1
|
# TOPICS actuator_controls_status_0 actuator_controls_status_1
|
|
@ -1,6 +1,6 @@
|
||||||
############################################################################
|
############################################################################
|
||||||
#
|
#
|
||||||
# Copyright (c) 2016 PX4 Development Team. All rights reserved.
|
# Copyright (c) 2016-2022 PX4 Development Team. All rights reserved.
|
||||||
#
|
#
|
||||||
# Redistribution and use in source and binary forms, with or without
|
# Redistribution and use in source and binary forms, with or without
|
||||||
# modification, are permitted provided that the following conditions
|
# modification, are permitted provided that the following conditions
|
||||||
|
@ -37,223 +37,188 @@ cmake_policy(SET CMP0057 NEW)
|
||||||
include(px4_list_make_absolute)
|
include(px4_list_make_absolute)
|
||||||
|
|
||||||
set(msg_files
|
set(msg_files
|
||||||
action_request.msg
|
ActionRequest.msg
|
||||||
actuator_armed.msg
|
ActuatorArmed.msg
|
||||||
actuator_controls.msg
|
ActuatorControls.msg
|
||||||
actuator_controls_status.msg
|
ActuatorControlsStatus.msg
|
||||||
actuator_motors.msg
|
ActuatorMotors.msg
|
||||||
actuator_outputs.msg
|
ActuatorOutputs.msg
|
||||||
actuator_servos.msg
|
ActuatorServos.msg
|
||||||
actuator_servos_trim.msg
|
ActuatorServosTrim.msg
|
||||||
actuator_test.msg
|
ActuatorTest.msg
|
||||||
adc_report.msg
|
AdcReport.msg
|
||||||
airspeed.msg
|
Airspeed.msg
|
||||||
airspeed_validated.msg
|
AirspeedValidated.msg
|
||||||
airspeed_wind.msg
|
AirspeedWind.msg
|
||||||
autotune_attitude_control_status.msg
|
AutotuneAttitudeControlStatus.msg
|
||||||
battery_status.msg
|
BatteryStatus.msg
|
||||||
button_event.msg
|
ButtonEvent.msg
|
||||||
camera_capture.msg
|
CameraCapture.msg
|
||||||
camera_status.msg
|
CameraStatus.msg
|
||||||
camera_trigger.msg
|
CameraTrigger.msg
|
||||||
cellular_status.msg
|
CellularStatus.msg
|
||||||
collision_constraints.msg
|
CollisionConstraints.msg
|
||||||
collision_report.msg
|
CollisionReport.msg
|
||||||
control_allocator_status.msg
|
ControlAllocatorStatus.msg
|
||||||
cpuload.msg
|
Cpuload.msg
|
||||||
differential_pressure.msg
|
DebugArray.msg
|
||||||
distance_sensor.msg
|
DebugKeyValue.msg
|
||||||
ekf2_timestamps.msg
|
DebugValue.msg
|
||||||
esc_report.msg
|
DebugVect.msg
|
||||||
esc_status.msg
|
DifferentialPressure.msg
|
||||||
estimator_aid_source_1d.msg
|
DistanceSensor.msg
|
||||||
estimator_aid_source_2d.msg
|
Ekf2Timestamps.msg
|
||||||
estimator_aid_source_3d.msg
|
EscReport.msg
|
||||||
estimator_bias.msg
|
EscStatus.msg
|
||||||
estimator_event_flags.msg
|
EstimatorAidSource1d.msg
|
||||||
estimator_gps_status.msg
|
EstimatorAidSource2d.msg
|
||||||
estimator_innovations.msg
|
EstimatorAidSource3d.msg
|
||||||
estimator_selector_status.msg
|
EstimatorBias.msg
|
||||||
estimator_sensor_bias.msg
|
EstimatorEventFlags.msg
|
||||||
estimator_states.msg
|
EstimatorGpsStatus.msg
|
||||||
estimator_status.msg
|
EstimatorInnovations.msg
|
||||||
estimator_status_flags.msg
|
EstimatorSelectorStatus.msg
|
||||||
event.msg
|
EstimatorSensorBias.msg
|
||||||
failure_detector_status.msg
|
EstimatorStates.msg
|
||||||
failsafe_flags.msg
|
EstimatorStatus.msg
|
||||||
follow_target.msg
|
EstimatorStatusFlags.msg
|
||||||
follow_target_estimator.msg
|
Event.msg
|
||||||
follow_target_status.msg
|
FailsafeFlags.msg
|
||||||
generator_status.msg
|
FailureDetectorStatus.msg
|
||||||
geofence_result.msg
|
FollowTarget.msg
|
||||||
gimbal_device_attitude_status.msg
|
FollowTargetEstimator.msg
|
||||||
gimbal_device_information.msg
|
FollowTargetStatus.msg
|
||||||
gimbal_device_set_attitude.msg
|
GeneratorStatus.msg
|
||||||
gimbal_manager_information.msg
|
GeofenceResult.msg
|
||||||
gimbal_manager_set_attitude.msg
|
GimbalDeviceAttitudeStatus.msg
|
||||||
gimbal_manager_set_manual_control.msg
|
GimbalDeviceInformation.msg
|
||||||
gimbal_manager_status.msg
|
GimbalDeviceSetAttitude.msg
|
||||||
gps_dump.msg
|
GimbalManagerInformation.msg
|
||||||
gps_inject_data.msg
|
GimbalManagerSetAttitude.msg
|
||||||
health_report.msg
|
GimbalManagerSetManualControl.msg
|
||||||
gripper.msg
|
GimbalManagerStatus.msg
|
||||||
heater_status.msg
|
GpsDump.msg
|
||||||
home_position.msg
|
GpsInjectData.msg
|
||||||
hover_thrust_estimate.msg
|
Gripper.msg
|
||||||
input_rc.msg
|
HealthReport.msg
|
||||||
internal_combustion_engine_status.msg
|
HeaterStatus.msg
|
||||||
iridiumsbd_status.msg
|
HomePosition.msg
|
||||||
irlock_report.msg
|
HoverThrustEstimate.msg
|
||||||
landing_gear.msg
|
InputRc.msg
|
||||||
landing_target_innovations.msg
|
InternalCombustionEngineStatus.msg
|
||||||
landing_target_pose.msg
|
IridiumsbdStatus.msg
|
||||||
led_control.msg
|
IrlockReport.msg
|
||||||
log_message.msg
|
LandingGear.msg
|
||||||
logger_status.msg
|
LandingTargetInnovations.msg
|
||||||
mag_worker_data.msg
|
LandingTargetPose.msg
|
||||||
magnetometer_bias_estimate.msg
|
LedControl.msg
|
||||||
manual_control_setpoint.msg
|
LoggerStatus.msg
|
||||||
manual_control_switches.msg
|
LogMessage.msg
|
||||||
mavlink_log.msg
|
MagnetometerBiasEstimate.msg
|
||||||
mavlink_tunnel.msg
|
MagWorkerData.msg
|
||||||
mission.msg
|
ManualControlSetpoint.msg
|
||||||
mission_result.msg
|
ManualControlSwitches.msg
|
||||||
mount_orientation.msg
|
MavlinkLog.msg
|
||||||
navigator_mission_item.msg
|
MavlinkTunnel.msg
|
||||||
npfg_status.msg
|
Mission.msg
|
||||||
obstacle_distance.msg
|
MissionResult.msg
|
||||||
offboard_control_mode.msg
|
MountOrientation.msg
|
||||||
onboard_computer_status.msg
|
NavigatorMissionItem.msg
|
||||||
orbit_status.msg
|
NpfgStatus.msg
|
||||||
parameter_update.msg
|
ObstacleDistance.msg
|
||||||
ping.msg
|
OffboardControlMode.msg
|
||||||
position_controller_landing_status.msg
|
OnboardComputerStatus.msg
|
||||||
position_controller_status.msg
|
OrbitStatus.msg
|
||||||
position_setpoint.msg
|
OrbTest.msg
|
||||||
position_setpoint_triplet.msg
|
OrbTestLarge.msg
|
||||||
power_button_state.msg
|
OrbTestMedium.msg
|
||||||
power_monitor.msg
|
ParameterUpdate.msg
|
||||||
pps_capture.msg
|
Ping.msg
|
||||||
pwm_input.msg
|
PositionControllerLandingStatus.msg
|
||||||
px4io_status.msg
|
PositionControllerStatus.msg
|
||||||
radio_status.msg
|
PositionSetpoint.msg
|
||||||
rate_ctrl_status.msg
|
PositionSetpointTriplet.msg
|
||||||
rc_channels.msg
|
PowerButtonState.msg
|
||||||
rc_parameter_map.msg
|
PowerMonitor.msg
|
||||||
rpm.msg
|
PpsCapture.msg
|
||||||
rtl_time_estimate.msg
|
PwmInput.msg
|
||||||
satellite_info.msg
|
Px4ioStatus.msg
|
||||||
sensor_accel.msg
|
RadioStatus.msg
|
||||||
sensor_accel_fifo.msg
|
RateCtrlStatus.msg
|
||||||
sensor_baro.msg
|
RcChannels.msg
|
||||||
sensor_combined.msg
|
RcParameterMap.msg
|
||||||
sensor_correction.msg
|
Rpm.msg
|
||||||
sensor_gnss_relative.msg
|
RtlTimeEstimate.msg
|
||||||
sensor_gps.msg
|
SatelliteInfo.msg
|
||||||
sensor_gyro.msg
|
SensorAccel.msg
|
||||||
sensor_gyro_fft.msg
|
SensorAccelFifo.msg
|
||||||
sensor_gyro_fifo.msg
|
SensorBaro.msg
|
||||||
sensor_hygrometer.msg
|
SensorCombined.msg
|
||||||
sensor_mag.msg
|
SensorCorrection.msg
|
||||||
sensor_optical_flow.msg
|
SensorGnssRelative.msg
|
||||||
sensor_preflight_mag.msg
|
SensorGps.msg
|
||||||
sensor_selection.msg
|
SensorGyro.msg
|
||||||
sensors_status.msg
|
SensorGyroFft.msg
|
||||||
sensors_status_imu.msg
|
SensorGyroFifo.msg
|
||||||
system_power.msg
|
SensorHygrometer.msg
|
||||||
takeoff_status.msg
|
SensorMag.msg
|
||||||
task_stack_info.msg
|
SensorOpticalFlow.msg
|
||||||
tecs_status.msg
|
SensorPreflightMag.msg
|
||||||
telemetry_status.msg
|
SensorSelection.msg
|
||||||
timesync.msg
|
SensorsStatus.msg
|
||||||
timesync_status.msg
|
SensorsStatusImu.msg
|
||||||
trajectory_bezier.msg
|
SystemPower.msg
|
||||||
trajectory_setpoint.msg
|
TakeoffStatus.msg
|
||||||
trajectory_waypoint.msg
|
TaskStackInfo.msg
|
||||||
transponder_report.msg
|
TecsStatus.msg
|
||||||
tune_control.msg
|
TelemetryStatus.msg
|
||||||
uavcan_parameter_request.msg
|
TimesyncStatus.msg
|
||||||
uavcan_parameter_value.msg
|
TrajectoryBezier.msg
|
||||||
ulog_stream.msg
|
TrajectorySetpoint.msg
|
||||||
ulog_stream_ack.msg
|
TrajectoryWaypoint.msg
|
||||||
uwb_distance.msg
|
TransponderReport.msg
|
||||||
uwb_grid.msg
|
TuneControl.msg
|
||||||
vehicle_acceleration.msg
|
UavcanParameterRequest.msg
|
||||||
vehicle_air_data.msg
|
UavcanParameterValue.msg
|
||||||
vehicle_angular_acceleration.msg
|
UlogStream.msg
|
||||||
vehicle_angular_acceleration_setpoint.msg
|
UlogStreamAck.msg
|
||||||
vehicle_angular_velocity.msg
|
UwbDistance.msg
|
||||||
vehicle_attitude.msg
|
UwbGrid.msg
|
||||||
vehicle_attitude_setpoint.msg
|
VehicleAcceleration.msg
|
||||||
vehicle_command.msg
|
VehicleAirData.msg
|
||||||
vehicle_command_ack.msg
|
VehicleAngularAcceleration.msg
|
||||||
vehicle_constraints.msg
|
VehicleAngularAccelerationSetpoint.msg
|
||||||
vehicle_control_mode.msg
|
VehicleAngularVelocity.msg
|
||||||
vehicle_global_position.msg
|
VehicleAttitude.msg
|
||||||
vehicle_imu.msg
|
VehicleAttitudeSetpoint.msg
|
||||||
vehicle_imu_status.msg
|
VehicleCommand.msg
|
||||||
vehicle_land_detected.msg
|
VehicleCommandAck.msg
|
||||||
vehicle_local_position.msg
|
VehicleConstraints.msg
|
||||||
vehicle_local_position_setpoint.msg
|
VehicleControlMode.msg
|
||||||
vehicle_magnetometer.msg
|
VehicleGlobalPosition.msg
|
||||||
vehicle_odometry.msg
|
VehicleImu.msg
|
||||||
vehicle_optical_flow.msg
|
VehicleImuStatus.msg
|
||||||
vehicle_optical_flow_vel.msg
|
VehicleLandDetected.msg
|
||||||
vehicle_rates_setpoint.msg
|
VehicleLocalPosition.msg
|
||||||
vehicle_roi.msg
|
VehicleLocalPositionSetpoint.msg
|
||||||
vehicle_status.msg
|
VehicleMagnetometer.msg
|
||||||
vehicle_thrust_setpoint.msg
|
VehicleOdometry.msg
|
||||||
vehicle_torque_setpoint.msg
|
VehicleOpticalFlow.msg
|
||||||
vehicle_trajectory_bezier.msg
|
VehicleOpticalFlowVel.msg
|
||||||
vehicle_trajectory_waypoint.msg
|
VehicleRatesSetpoint.msg
|
||||||
vtol_vehicle_status.msg
|
VehicleRoi.msg
|
||||||
wheel_encoders.msg
|
VehicleStatus.msg
|
||||||
wind.msg
|
VehicleThrustSetpoint.msg
|
||||||
yaw_estimator_status.msg
|
VehicleTorqueSetpoint.msg
|
||||||
|
VehicleTrajectoryBezier.msg
|
||||||
|
VehicleTrajectoryWaypoint.msg
|
||||||
|
VtolVehicleStatus.msg
|
||||||
|
WheelEncoders.msg
|
||||||
|
Wind.msg
|
||||||
|
YawEstimatorStatus.msg
|
||||||
)
|
)
|
||||||
|
|
||||||
if(NOT px4_constrained_flash_build)
|
|
||||||
list(APPEND msg_files
|
|
||||||
debug_array.msg
|
|
||||||
debug_key_value.msg
|
|
||||||
debug_value.msg
|
|
||||||
debug_vect.msg
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(PX4_TESTING)
|
|
||||||
list(APPEND msg_files
|
|
||||||
orb_test.msg
|
|
||||||
orb_test_large.msg
|
|
||||||
orb_test_medium.msg
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
list(SORT msg_files)
|
list(SORT msg_files)
|
||||||
|
|
||||||
set(deprecated_msgs
|
|
||||||
ekf2_innovations.msg # 2019-11-22, Updated estimator interface and logging; replaced by 'estimator_innovations'.
|
|
||||||
)
|
|
||||||
|
|
||||||
foreach(msg IN LISTS deprecated_msgs)
|
|
||||||
if(msg IN_LIST msg_files)
|
|
||||||
get_filename_component(msg_we ${msg} NAME_WE)
|
|
||||||
list(APPEND invalid_msgs ${msg_we})
|
|
||||||
endif()
|
|
||||||
endforeach()
|
|
||||||
if(invalid_msgs)
|
|
||||||
list(LENGTH invalid_msgs invalid_msgs_size)
|
|
||||||
if(${invalid_msgs_size} GREATER 1)
|
|
||||||
foreach(msg IN LISTS invalid_msgs)
|
|
||||||
string(CONCAT invalid_msgs_cs ${invalid_msgs_cs} "'${msg}', ")
|
|
||||||
endforeach()
|
|
||||||
STRING(REGEX REPLACE ", +$" "" invalid_msgs_cs ${invalid_msgs_cs})
|
|
||||||
message(FATAL_ERROR "${invalid_msgs_cs} are listed as deprecated. Please use different names for the messages.")
|
|
||||||
else()
|
|
||||||
message(FATAL_ERROR "'${invalid_msgs}' is listed as deprecated. Please use a different name for the message.")
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
px4_list_make_absolute(msg_files ${CMAKE_CURRENT_SOURCE_DIR} ${msg_files})
|
px4_list_make_absolute(msg_files ${CMAKE_CURRENT_SOURCE_DIR} ${msg_files})
|
||||||
|
|
||||||
if(NOT EXTERNAL_MODULES_LOCATION STREQUAL "")
|
if(NOT EXTERNAL_MODULES_LOCATION STREQUAL "")
|
||||||
|
@ -271,63 +236,64 @@ endif()
|
||||||
# headers
|
# headers
|
||||||
set(msg_out_path ${PX4_BINARY_DIR}/uORB/topics)
|
set(msg_out_path ${PX4_BINARY_DIR}/uORB/topics)
|
||||||
set(ucdr_out_path ${PX4_BINARY_DIR}/uORB/ucdr)
|
set(ucdr_out_path ${PX4_BINARY_DIR}/uORB/ucdr)
|
||||||
set(msg_source_out_path ${CMAKE_CURRENT_BINARY_DIR}/topics_sources)
|
set(msg_source_out_path ${CMAKE_CURRENT_BINARY_DIR}/topics_sources)
|
||||||
|
|
||||||
set(uorb_headers ${msg_out_path}/uORBTopics.hpp)
|
set(uorb_headers)
|
||||||
set(uorb_sources ${msg_source_out_path}/uORBTopics.cpp)
|
set(uorb_sources)
|
||||||
set(uorb_ucdr_headers)
|
set(uorb_ucdr_headers)
|
||||||
foreach(msg_file ${msg_files})
|
foreach(msg_file ${msg_files})
|
||||||
get_filename_component(msg ${msg_file} NAME_WE)
|
get_filename_component(msg ${msg_file} NAME_WE)
|
||||||
|
|
||||||
|
# Pascal case to snake case (MsgFile -> msg_file)
|
||||||
|
string(REGEX REPLACE "(.)([A-Z][a-z]+)" "\\1_\\2" msg "${msg}")
|
||||||
|
string(REGEX REPLACE "([a-z0-9])([A-Z])" "\\1_\\2" msg "${msg}")
|
||||||
|
string(TOLOWER "${msg}" msg)
|
||||||
|
|
||||||
list(APPEND uorb_headers ${msg_out_path}/${msg}.h)
|
list(APPEND uorb_headers ${msg_out_path}/${msg}.h)
|
||||||
list(APPEND uorb_sources ${msg_source_out_path}/${msg}.cpp)
|
list(APPEND uorb_sources ${msg_source_out_path}/${msg}.cpp)
|
||||||
list(APPEND uorb_ucdr_headers ${ucdr_out_path}/${msg}.h)
|
list(APPEND uorb_ucdr_headers ${ucdr_out_path}/${msg}.h)
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
if (px4_constrained_flash_build)
|
|
||||||
set(added_arguments --constrained-flash)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# set parent scope msg_files for other modules to consume (eg topic_listener)
|
# set parent scope msg_files for other modules to consume (eg topic_listener)
|
||||||
set(msg_files ${msg_files} PARENT_SCOPE)
|
set(msg_files ${msg_files} PARENT_SCOPE)
|
||||||
|
|
||||||
# Generate uORB headers
|
# Generate uORB headers
|
||||||
add_custom_command(OUTPUT ${uorb_headers}
|
add_custom_command(
|
||||||
COMMAND ${PYTHON_EXECUTABLE} tools/px_generate_uorb_topic_files.py
|
OUTPUT
|
||||||
|
${uorb_headers}
|
||||||
|
${msg_out_path}/uORBTopics.hpp
|
||||||
|
COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/msg/px_generate_uorb_topic_files.py
|
||||||
--headers
|
--headers
|
||||||
-f ${msg_files}
|
-f ${msg_files}
|
||||||
-i ${CMAKE_CURRENT_SOURCE_DIR}
|
-i ${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
-o ${msg_out_path}
|
-o ${msg_out_path}
|
||||||
-e templates/uorb
|
-e ${PX4_SOURCE_DIR}/Tools/msg/templates/uorb
|
||||||
-t ${CMAKE_CURRENT_BINARY_DIR}/tmp/headers
|
|
||||||
-q
|
|
||||||
${added_arguments}
|
|
||||||
DEPENDS
|
DEPENDS
|
||||||
${msg_files}
|
${msg_files}
|
||||||
templates/uorb/msg.h.em
|
${PX4_SOURCE_DIR}/Tools/msg/templates/uorb/msg.h.em
|
||||||
templates/uorb/uORBTopics.hpp.em
|
${PX4_SOURCE_DIR}/Tools/msg/templates/uorb/uORBTopics.hpp.em
|
||||||
tools/px_generate_uorb_topic_files.py
|
${PX4_SOURCE_DIR}/Tools/msg/px_generate_uorb_topic_files.py
|
||||||
tools/px_generate_uorb_topic_helper.py
|
${PX4_SOURCE_DIR}/Tools/msg/px_generate_uorb_topic_helper.py
|
||||||
COMMENT "Generating uORB topic headers"
|
COMMENT "Generating uORB topic headers"
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
VERBATIM
|
VERBATIM
|
||||||
)
|
)
|
||||||
add_custom_target(uorb_headers DEPENDS ${uorb_headers})
|
add_custom_target(uorb_headers DEPENDS ${uorb_headers})
|
||||||
|
|
||||||
add_custom_command(OUTPUT ${uorb_ucdr_headers}
|
# Generate microcdr headers
|
||||||
COMMAND ${PYTHON_EXECUTABLE} tools/px_generate_uorb_topic_files.py
|
add_custom_command(
|
||||||
|
OUTPUT ${uorb_ucdr_headers}
|
||||||
|
COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/msg/px_generate_uorb_topic_files.py
|
||||||
--headers
|
--headers
|
||||||
-f ${msg_files}
|
-f ${msg_files}
|
||||||
-i ${CMAKE_CURRENT_SOURCE_DIR}
|
-i ${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
-o ${ucdr_out_path}
|
-o ${ucdr_out_path}
|
||||||
-e templates/ucdr
|
-e ${PX4_SOURCE_DIR}/Tools/msg/templates/ucdr
|
||||||
-t ${CMAKE_CURRENT_BINARY_DIR}/tmp/ucdr_headers
|
|
||||||
-q
|
|
||||||
${added_arguments}
|
|
||||||
DEPENDS
|
DEPENDS
|
||||||
${msg_files}
|
${msg_files}
|
||||||
templates/ucdr/msg.h.em
|
${PX4_SOURCE_DIR}/Tools/msg/templates/ucdr/msg.h.em
|
||||||
tools/px_generate_uorb_topic_files.py
|
${PX4_SOURCE_DIR}/Tools/msg/px_generate_uorb_topic_files.py
|
||||||
tools/px_generate_uorb_topic_helper.py
|
${PX4_SOURCE_DIR}/Tools/msg/px_generate_uorb_topic_helper.py
|
||||||
COMMENT "Generating uORB topic ucdr headers"
|
COMMENT "Generating uORB topic ucdr headers"
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
VERBATIM
|
VERBATIM
|
||||||
|
@ -335,26 +301,27 @@ add_custom_command(OUTPUT ${uorb_ucdr_headers}
|
||||||
add_custom_target(uorb_ucdr_headers DEPENDS ${uorb_ucdr_headers})
|
add_custom_target(uorb_ucdr_headers DEPENDS ${uorb_ucdr_headers})
|
||||||
|
|
||||||
# Generate uORB sources
|
# Generate uORB sources
|
||||||
add_custom_command(OUTPUT ${uorb_sources}
|
add_custom_command(
|
||||||
COMMAND ${PYTHON_EXECUTABLE} tools/px_generate_uorb_topic_files.py
|
OUTPUT
|
||||||
|
${uorb_sources}
|
||||||
|
${msg_source_out_path}/uORBTopics.cpp
|
||||||
|
COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/msg/px_generate_uorb_topic_files.py
|
||||||
--sources
|
--sources
|
||||||
-f ${msg_files}
|
-f ${msg_files}
|
||||||
-i ${CMAKE_CURRENT_SOURCE_DIR}
|
-i ${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
-o ${msg_source_out_path}
|
-o ${msg_source_out_path}
|
||||||
-e templates/uorb
|
-e ${PX4_SOURCE_DIR}/Tools/msg/templates/uorb
|
||||||
-t ${CMAKE_CURRENT_BINARY_DIR}/tmp/sources
|
|
||||||
-q
|
|
||||||
${added_arguments}
|
|
||||||
DEPENDS
|
DEPENDS
|
||||||
${msg_files}
|
${msg_files}
|
||||||
templates/uorb/msg.cpp.em
|
${PX4_SOURCE_DIR}/Tools/msg/templates/uorb/msg.cpp.em
|
||||||
templates/uorb/uORBTopics.cpp.em
|
${PX4_SOURCE_DIR}/Tools/msg/templates/uorb/uORBTopics.cpp.em
|
||||||
tools/px_generate_uorb_topic_files.py
|
${PX4_SOURCE_DIR}/Tools/msg/px_generate_uorb_topic_files.py
|
||||||
tools/px_generate_uorb_topic_helper.py
|
${PX4_SOURCE_DIR}/Tools/msg/px_generate_uorb_topic_helper.py
|
||||||
COMMENT "Generating uORB topic sources"
|
COMMENT "Generating uORB topic sources"
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
VERBATIM
|
VERBATIM
|
||||||
)
|
)
|
||||||
|
|
||||||
add_library(uorb_msgs ${uorb_sources})
|
add_library(uorb_msgs ${uorb_headers} ${msg_out_path}/uORBTopics.hpp ${uorb_sources} ${msg_source_out_path}/uORBTopics.cpp)
|
||||||
|
target_link_libraries(uorb_msgs PRIVATE m)
|
||||||
add_dependencies(uorb_msgs prebuild_targets uorb_headers)
|
add_dependencies(uorb_msgs prebuild_targets uorb_headers)
|
||||||
|
|
|
@ -5,5 +5,3 @@ uint32 seq # Image sequence number
|
||||||
bool feedback # Trigger feedback from camera
|
bool feedback # Trigger feedback from camera
|
||||||
|
|
||||||
uint32 ORB_QUEUE_LENGTH = 2
|
uint32 ORB_QUEUE_LENGTH = 2
|
||||||
|
|
||||||
# TOPICS camera_trigger
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue