boards organization

This commit is contained in:
Daniel Agar 2018-11-16 12:52:37 -05:00 committed by David Sidrane
parent c1f851a600
commit f692ad04d0
507 changed files with 9976 additions and 10990 deletions

View File

@ -30,7 +30,7 @@ pipeline {
sh('make distclean')
sh "ccache -z"
sh "git fetch --tags"
sh('make posix_sitl_default')
sh('make px4sitl_default')
sh "ccache -s"
}
}
@ -47,8 +47,8 @@ pipeline {
stage('unit tests') {
steps {
sh 'export'
sh 'make posix_sitl_default test_results_junit'
junit 'build/posix_sitl_default/JUnitTestResults.xml'
sh 'make px4sitl_default test_results_junit'
junit 'build/px4sitl_default/JUnitTestResults.xml'
}
}
@ -56,7 +56,7 @@ pipeline {
steps {
sh 'export'
sh "ccache -z"
sh('make posix_sitl_default sitl_gazebo')
sh('make px4sitl_default sitl_gazebo')
sh "ccache -s"
}
}
@ -64,8 +64,8 @@ pipeline {
stage('package') {
steps {
sh 'export'
sh('make posix_sitl_default package')
stash(name: "px4_sitl_package", includes: "build/posix_sitl_default/*.bz2")
sh('make px4sitl_default package')
stash(name: "px4_sitl_package", includes: "build/px4sitl_default/*.bz2")
}
}
@ -176,7 +176,7 @@ pipeline {
steps {
sh 'export'
sh 'make distclean'
sh 'make posix_sitl_default test_results_junit'
sh 'make px4sitl_default test_results_junit'
withCredentials([string(credentialsId: 'FIRMWARE_CODECOV_TOKEN', variable: 'CODECOV_TOKEN')]) {
sh 'curl -s https://codecov.io/bash | bash -s - -F unittest'
}
@ -221,11 +221,11 @@ def createTestNode(Map test_def) {
}
unstash('px4_sitl_package')
sh('tar -xjpvf build/posix_sitl_default/px4-posix_sitl_default*.bz2')
sh('tar -xjpvf build/px4sitl_default/px4-px4sitl_default*.bz2')
// run test
try {
sh('px4-posix_sitl_default*/px4/test/rostest_px4_run.sh ' + test_def.test + ' mission:=' + test_def.mission + ' vehicle:=' + test_def.vehicle)
sh('px4-px4sitl_default*/px4/test/rostest_px4_run.sh ' + test_def.test + ' mission:=' + test_def.mission + ' vehicle:=' + test_def.vehicle)
} catch (exc) {
// save all test artifacts for debugging
@ -240,7 +240,7 @@ def createTestNode(Map test_def) {
// process log data (with python code coverage)
try {
sh('coverage run -p px4-posix_sitl_default*/px4/Tools/ecl_ekf/process_logdata_ekf.py .ros/log/*/*.ulg')
sh('coverage run -p px4-px4sitl_default*/px4/Tools/ecl_ekf/process_logdata_ekf.py .ros/log/*/*.ulg')
} catch (exc) {
// save log analysis artifacts for debugging
archiveArtifacts(allowEmptyArchive: false, artifacts: '.ros/**/*.pdf, .ros/**/*.csv')
@ -249,7 +249,7 @@ def createTestNode(Map test_def) {
}
// upload log to flight review (https://logs.px4.io/) with python code coverage
sh('coverage run -p px4-posix_sitl_default*/px4/Tools/upload_log.py -q --description "${JOB_NAME}: ${STAGE_NAME}" --feedback "${JOB_NAME} ${CHANGE_TITLE} ${CHANGE_URL}" --source CI .ros/log/*/*.ulg')
sh('coverage run -p px4-px4sitl_default*/px4/Tools/upload_log.py -q --description "${JOB_NAME}: ${STAGE_NAME}" --feedback "${JOB_NAME} ${CHANGE_TITLE} ${CHANGE_URL}" --source CI .ros/log/*/*.ulg')
// upload python code coverage to codecov.io
sh 'curl -s https://codecov.io/bash | bash -s - -X gcov -F sitl_python_${STAGE_NAME}'
@ -257,7 +257,7 @@ def createTestNode(Map test_def) {
} else { // non code coverage
// process ekf log data
try {
sh('px4-posix_sitl_default*/px4/Tools/ecl_ekf/process_logdata_ekf.py .ros/log/*/*.ulg')
sh('px4-px4sitl_default*/px4/Tools/ecl_ekf/process_logdata_ekf.py .ros/log/*/*.ulg')
} catch (exc) {
// save log analysis artifacts for debugging
archiveArtifacts(allowEmptyArchive: false, artifacts: '.ros/**/*.pdf, .ros/**/*.csv')
@ -266,7 +266,7 @@ def createTestNode(Map test_def) {
}
// upload log to flight review (https://logs.px4.io/)
sh('px4-posix_sitl_default*/px4/Tools/upload_log.py -q --description "${JOB_NAME}: ${STAGE_NAME}" --feedback "${JOB_NAME} ${CHANGE_TITLE} ${CHANGE_URL}" --source CI .ros/log/*/*.ulg')
sh('px4-px4sitl_default*/px4/Tools/upload_log.py -q --description "${JOB_NAME}: ${STAGE_NAME}" --feedback "${JOB_NAME} ${CHANGE_TITLE} ${CHANGE_URL}" --source CI .ros/log/*/*.ulg')
}
if (!test_ok) {

View File

@ -18,8 +18,8 @@ pipeline {
snapdragon: "lorenzmeier/px4-dev-snapdragon:2018-09-12"
]
// MAC OSX posix_sitl_default
build_nodes["posix_sitl_default (OSX)"] = {
// MAC OSX px4sitl_default
build_nodes["px4sitl_default (OSX)"] = {
node("mac") {
withEnv(["CCACHE_BASEDIR=${pwd()}"]) {
stage("sitl (OSX)") {
@ -28,7 +28,7 @@ pipeline {
sh('export')
sh('make distclean')
sh('ccache -z')
sh('make posix_sitl_default')
sh('make px4sitl_default')
sh('ccache -s')
sh('make tests')
}
@ -43,7 +43,7 @@ pipeline {
}
}
// MAC OSX nuttx_px4fmu-v4pro_default
// MAC OSX px4fmu-v4pro_default
build_nodes["px4fmu-v4pro_default (OSX)"] = {
node("mac") {
withEnv(["CCACHE_BASEDIR=${pwd()}"]) {
@ -53,7 +53,7 @@ pipeline {
sh('export')
sh('make distclean')
sh('ccache -z')
sh('make nuttx_px4fmu-v4pro_default')
sh('make px4fmu-v4pro_default')
sh('ccache -s')
}
catch (exc) {
@ -69,46 +69,46 @@ pipeline {
// docker builds:
def arch_builds = [
target: ["posix_sitl_default"],
target: ["px4sitl_default"],
image: docker_images.arch,
archive: false
]
def armhf_builds = [
target: ["posix_ocpoc_ubuntu"],
target: ["aerotennaocpoc_ubuntu"],
image: docker_images.armhf,
archive: false
]
def base_builds = [
target: ["posix_sitl_rtps"],
target: ["px4sitl_rtps"],
image: docker_images.base,
archive: false
]
def nuttx_builds_archive = [
target: ["px4fmu-v2_default", "px4fmu-v3_default", "px4fmu-v4_default", "px4fmu-v4pro_default", "px4fmu-v5_default", "px4fmu-v5_rtps", "px4fmu-v5_stackcheck",
"aerofc-v1_default", "aerocore2_default", "auav-x21_default", "av-x-v1_default", "crazyflie_default", "mindpx-v2_default",
"nxphlite-v3_default", "omnibus-f4sd_default"],
"intelaerofc-v1_default", "gumstixaerocore2_default", "auavx21_default", "avx-v1_default", "bitcrazecrazyflie_default", "airmindmindpx-v2_default",
"nxphlite-v3_default", "omnibusf4sd_default"],
image: docker_images.nuttx,
archive: true
]
def nuttx_builds_other = [
target: ["px4-same70xplained-v1_default", "px4-stm32f4discovery_default", "px4cannode-v1_default",
"px4esc-v1_default", "px4nucleoF767ZI-v1_default", "s2740vc-v1_default"],
target: ["atmelsame70xplained_default", "stm32f4discovery_default", "px4cannode-v1_default",
"px4esc-v1_default", "stmnucleo-F767ZI_default", "thiemars2740vc-v1_default"],
image: docker_images.nuttx,
archive: false
]
def rpi_builds = [
target: ["posix_rpi_cross", "posix_bebop_default"],
target: ["emlidnavio2_cross", "parrotbebop_default"],
image: docker_images.rpi,
archive: false
]
def snapdragon_builds = [
target: ["qurt_eagle_default", "posix_eagle_default"],
target: ["atlflighteagle_qurt-default", "atlflighteagle_default"],
image: docker_images.snapdragon,
archive: false
]

View File

@ -18,10 +18,10 @@ pipeline {
sh 'make distclean'
sh 'ccache -z'
sh 'git fetch --tags'
sh 'make nuttx_px4fmu-v2_test'
sh 'make px4fmu-v2_test'
sh 'make sizes'
sh 'ccache -s'
stash includes: 'build/nuttx_px4fmu-v2_test/nuttx_px4fmu-v2_test.elf', name: 'px4fmu-v2_test'
stash includes: 'build/px4fmu-v2_test/px4fmu-v2_test.elf', name: 'px4fmu-v2_test'
stash includes: 'Tools/HIL/monitor_firmware_upload.py, Tools/HIL/run_tests.py', name: 'scripts-px4fmu-v2'
}
post {
@ -43,10 +43,10 @@ pipeline {
sh 'make distclean'
sh 'ccache -z'
sh 'git fetch --tags'
sh 'make nuttx_px4fmu-v4_stackcheck'
sh 'make px4fmu-v4_stackcheck'
sh 'make sizes'
sh 'ccache -s'
stash includes: 'build/nuttx_px4fmu-v4_stackcheck/nuttx_px4fmu-v4_stackcheck.elf', name: 'px4fmu-v4_stackcheck'
stash includes: 'build/px4fmu-v4_stackcheck/px4fmu-v4_stackcheck.elf', name: 'px4fmu-v4_stackcheck'
stash includes: 'Tools/HIL/monitor_firmware_upload.py, Tools/HIL/run_tests.py', name: 'scripts-px4fmu-v4'
}
post {
@ -82,7 +82,7 @@ pipeline {
-ex "attach 1" \
-ex "load" \
-ex "kill" \
build/nuttx_px4fmu-v2_test/nuttx_px4fmu-v2_test.elf
build/px4fmu-v2_test/px4fmu-v2_test.elf
'''
sh './Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *Black_Magic_Probe_*-if02` --baudrate 57600'
sh './Tools/HIL/run_tests.py --device `find /dev/serial -name *Black_Magic_Probe_*-if02`'
@ -116,7 +116,7 @@ pipeline {
-ex "attach 1" \
-ex "load" \
-ex "kill" \
build/nuttx_px4fmu-v4_stackcheck/nuttx_px4fmu-v4_stackcheck.elf
build/px4fmu-v4_stackcheck/px4fmu-v4_stackcheck.elf
'''
sh './Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *Black_Magic_Probe_*-if02` --baudrate 57600'
sh './Tools/HIL/run_tests.py --device `find /dev/serial -name *Black_Magic_Probe_*-if02`'

4
.gitmodules vendored
View File

@ -34,8 +34,8 @@
path = src/lib/ecl
url = https://github.com/PX4/ecl.git
branch = master
[submodule "cmake/cmake_hexagon"]
path = cmake/cmake_hexagon
[submodule "boards/atlflight/cmake_hexagon"]
path = boards/atlflight/cmake_hexagon
url = https://github.com/ATLFlight/cmake_hexagon.git
branch = master
[submodule "src/drivers/gps/devices"]

View File

@ -28,5 +28,5 @@ addons:
description: "Build submitted via Travis CI"
notification_email: ci@px4.io
build_command_prepend: "make distclean"
build_command: "make posix_sitl_default"
build_command: "make px4sitl_default"
branch_pattern: coverity_scan

View File

@ -40,7 +40,7 @@
# * Common functions should be included in px_base.cmake.
#
# * OS/ board specific fucntions should be include in
# px_impl_${OS}.cmake or px4_impl_${OS}_${BOARD}.cmake.
# px_impl_${PX4_PLATFORM}.cmake or px4_impl_${PX4_PLATFORM}_${PX4_BOARD}.cmake.
#
# Formatting
# ---------------------------------------------------------------------------
@ -92,9 +92,9 @@
# ---------------------------------------------------------------------------
#
# * If referencing a string variable, don't put it in quotes.
# Don't do "${OS}" STREQUAL "posix",
# instead type ${OS} STREQUAL "posix". This will throw an
# error when ${OS} is not defined instead of silently
# Don't do "${PX4_PLATFORM}" STREQUAL "posix",
# instead type ${PX4_PLATFORM} STREQUAL "posix". This will throw an
# error when ${PX4_PLATFORM} is not defined instead of silently
# evaluating to false.
#
#=============================================================================
@ -104,12 +104,12 @@ cmake_minimum_required(VERSION 3.2 FATAL_ERROR)
set(PX4_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
set(PX4_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}")
list(APPEND CMAKE_MODULE_PATH "${PX4_SOURCE_DIR}/cmake")
list(APPEND CMAKE_MODULE_PATH ${PX4_SOURCE_DIR}/cmake)
#=============================================================================
# git
#
include(common/px4_git)
include(px4_git)
execute_process(
COMMAND git describe --always --tags
@ -132,13 +132,90 @@ define_property(GLOBAL PROPERTY PX4_MODULE_PATHS
# configuration
#
set(CONFIG "posix_sitl_default" CACHE STRING "desired configuration")
set(CONFIG "px4sitl_default" CACHE STRING "desired configuration")
string(REPLACE "_" ";" config_args ${CONFIG})
list(GET config_args 0 OS)
list(GET config_args 1 BOARD)
list(GET config_args 2 LABEL)
set(config_module_list)
set(config_df_driver_list)
# find PX4 config
# look for in tree board config that matches CONFIG input
if(NOT PX4_CONFIG_FILE)
file(GLOB_RECURSE board_configs
RELATIVE "${PX4_SOURCE_DIR}/boards"
"boards/*.cmake"
)
set(PX4_CONFIGS ${board_configs} CACHE STRINGS "PX4 board configs" FORCE)
foreach(filename ${board_configs})
# parse input CONFIG into components to match with existing in tree configs
# the platform prefix (eg nuttx_) is historical, and removed if present
string(REPLACE ".cmake" "" filename_stripped ${filename})
string(REPLACE "/" ";" config ${filename_stripped})
list(LENGTH config config_len)
if(${config_len} EQUAL 3)
list(GET config 0 vendor)
list(GET config 1 model)
list(GET config 2 label)
set(board "${vendor}${model}")
# <VENDOR>_<MODEL>_<LABEL> (eg px4_fmu-v2_default)
# <VENDOR>_<MODEL>_default (eg px4_fmu-v2) # allow skipping label if "default"
if ((${CONFIG} MATCHES "${vendor}_${model}_${label}") OR # match full vendor, model, label
((${label} STREQUAL "default") AND (${CONFIG} STREQUAL "${vendor}_${model}")) # default label can be omitted
)
set(PX4_CONFIG_FILE "${PX4_SOURCE_DIR}/boards/${filename}" CACHE FILEPATH "path to PX4 CONFIG file" FORCE)
break()
endif()
# <BOARD>_<LABEL> (eg px4fmu-v2_default)
# <BOARD>_default (eg px4fmu-v2) # allow skipping label if "default"
if ((${CONFIG} MATCHES "${board}_${label}") OR # match full board, label
((${label} STREQUAL "default") AND (${CONFIG} STREQUAL "${board}")) # default label can be omitted
)
set(PX4_CONFIG_FILE "${PX4_SOURCE_DIR}/boards/${filename}" CACHE FILEPATH "path to PX4 CONFIG file" FORCE)
break()
endif()
# LEGACY form
# <OS>_<BOARD>_<LABEL> (eg nuttx_px4fmu-v2_default)
string(REGEX REPLACE "^nuttx_|^posix_|^qurt_" "" config_no_os ${CONFIG}) # ignore OS prefix
if ((${config_no_os} MATCHES "${board}_${label}"))
set(PX4_CONFIG_FILE "${PX4_SOURCE_DIR}/boards/${filename}" CACHE FILEPATH "path to PX4 CONFIG file" FORCE)
break()
endif()
# LEGACY form special case to ease board layout transition (2018-11-18)
# match board with model and label only: eg sitl_default -> px4_sitl_default
if ((${config_no_os} MATCHES "${model}_${label}"))
set(PX4_CONFIG_FILE "${PX4_SOURCE_DIR}/boards/${filename}" CACHE FILEPATH "path to PX4 CONFIG file" FORCE)
break()
endif()
endif()
endforeach()
endif()
if(NOT PX4_CONFIG_FILE)
message(FATAL_ERROR "PX4 config file not set, try one of ${PX4_CONFIGS}")
endif()
message(STATUS "PX4 config file: ${PX4_CONFIG_FILE}")
include(px4_add_board)
include(${PX4_CONFIG_FILE})
message(STATUS "PX4 config: ${PX4_BOARD_VENDOR} ${PX4_BOARD_MODEL} ${PX4_BOARD_LABEL}")
message(STATUS "PX4 platform: ${PX4_PLATFORM}")
# external modules
set(EXTERNAL_MODULES_LOCATION "" CACHE STRING "External modules source location")
if (NOT EXTERNAL_MODULES_LOCATION STREQUAL "")
@ -147,13 +224,12 @@ endif()
set_property(GLOBAL PROPERTY PX4_MODULE_CONFIG_FILES)
include(platforms/${OS}/cmake/px4_impl_os.cmake)
include(configs/${CONFIG})
list(APPEND CMAKE_MODULE_PATH ${PX4_SOURCE_DIR}/platforms/${OS}/cmake)
include(platforms/${PX4_PLATFORM}/cmake/px4_impl_os.cmake)
list(APPEND CMAKE_MODULE_PATH ${PX4_SOURCE_DIR}/platforms/${PX4_PLATFORM}/cmake)
# CMake build type (Debug Release RelWithDebInfo MinSizeRel Coverage)
if (NOT CMAKE_BUILD_TYPE)
if (${OS} STREQUAL "nuttx")
if (${PX4_PLATFORM} STREQUAL "nuttx")
set(PX4_BUILD_TYPE "MinSizeRel")
else()
set(PX4_BUILD_TYPE "RelWithDebInfo")
@ -166,9 +242,8 @@ set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug;Release;RelWithDebIn
#=============================================================================
message(STATUS "PX4 VERSION: ${PX4_GIT_TAG}")
message(STATUS "CONFIG: ${CONFIG}")
message(STATUS "Build Type: ${CMAKE_BUILD_TYPE}")
message(STATUS "PX4 version: ${PX4_GIT_TAG}")
message(STATUS "cmake build type: ${CMAKE_BUILD_TYPE}")
#=============================================================================
# project definition
@ -194,10 +269,10 @@ endif()
#=============================================================================
# Setup install paths
if (${OS} STREQUAL "posix")
if (${PX4_PLATFORM} STREQUAL "posix")
include(common/coverage)
include(common/sanitizers)
include(coverage)
include(sanitizers)
# Define GNU standard installation directories
include(GNUInstallDirs)
@ -216,6 +291,7 @@ endif()
set(px4_required_interface
px4_os_prebuild_targets
px4_os_add_flags
px4_add_board
)
foreach(cmd ${px4_required_interface})
if (NOT COMMAND ${cmd})
@ -223,13 +299,6 @@ foreach(cmd ${px4_required_interface})
endif()
endforeach()
set(px4_required_config config_module_list)
foreach(conf ${px4_required_config})
if (NOT DEFINED ${conf})
message(FATAL_ERROR "cmake/${CONFIG} must define ${conf}")
endif()
endforeach()
#=============================================================================
# ccache
#
@ -276,43 +345,11 @@ else()
px4_find_python_module(jinja2 REQUIRED)
endif()
#=============================================================================
# check required toolchain variables
#
set(required_variables CMAKE_C_COMPILER_ID CMAKE_CXX_COMPILER_ID)
foreach(var ${required_variables})
if (NOT ${var})
message(FATAL_ERROR "Toolchain/config must define ${var}")
endif()
endforeach()
# print full c compiler version
execute_process(COMMAND ${CMAKE_C_COMPILER} --version
OUTPUT_VARIABLE c_compiler_version
OUTPUT_STRIP_TRAILING_WHITESPACE
)
STRING(REGEX MATCH "[^\n]*" c_compiler_version_short ${c_compiler_version})
message(STATUS "C compiler: ${c_compiler_version_short}")
# print full c++ compiler version
execute_process(COMMAND ${CMAKE_CXX_COMPILER} --version
OUTPUT_VARIABLE cxx_compiler_version
OUTPUT_STRIP_TRAILING_WHITESPACE
)
STRING(REGEX MATCH "[^\n]*" cxx_compiler_version_short ${cxx_compiler_version})
message(STATUS "C++ compiler: ${cxx_compiler_version_short}")
#=============================================================================
# external libraries
#
px4_os_prebuild_targets(OUT prebuild_targets BOARD ${BOARD})
#=============================================================================
# build flags
#
px4_os_add_flags(
BOARD ${BOARD}
BOARD ${PX4_BOARD}
C_FLAGS c_flags
CXX_FLAGS cxx_flags
OPTIMIZATION_FLAGS optimization_flags
@ -328,16 +365,17 @@ px4_join(OUT CMAKE_CXX_FLAGS LIST "${CMAKE_CXX_FLAGS};${cxx_flags};${optimizatio
#=============================================================================
# message, and airframe generation
#
include(common/px4_metadata)
include(px4_metadata)
add_subdirectory(msg EXCLUDE_FROM_ALL)
px4_generate_airframes_xml(BOARD ${BOARD})
px4_generate_airframes_xml(BOARD ${PX4_BOARD})
#=============================================================================
# DriverFramework
#
px4_add_git_submodule(TARGET git_driverframework PATH "src/lib/DriverFramework")
set(OS ${PX4_PLATFORM})
add_subdirectory(src/lib/DriverFramework/framework)
# List the DriverFramework drivers
@ -398,26 +436,12 @@ add_subdirectory(src/lib/parameters EXCLUDE_FROM_ALL)
target_link_libraries(parameters_interface INTERFACE parameters)
# firmware added last to generate the builtin for included modules
add_subdirectory(platforms/${OS})
#=============================================================================
# generate custom target to print for all executable and module cmake targets
#
if (all_posix_cmake_targets)
list(SORT all_posix_cmake_targets)
px4_join(OUT posix_cmake_target_list LIST ${all_posix_cmake_targets} GLUE "\\n")
add_custom_target(list_cmake_targets
COMMAND sh -c "printf \"${posix_cmake_target_list}\\n\""
COMMENT "List of cmake targets that can be matched by PX4_NO_OPTIMIZATION:"
VERBATIM
)
endif()
add_subdirectory(platforms/${PX4_PLATFORM})
#=============================================================================
# uORB graph generation: add a custom target 'uorb_graph'
#
set(uorb_graph_config ${BOARD})
set(uorb_graph_config ${PX4_BOARD})
set(graph_module_list "")
foreach(module ${config_module_list})
@ -471,10 +495,10 @@ endif()
add_custom_target(metadata_airframes
COMMAND ${CMAKE_COMMAND} -E make_directory ${PX4_BINARY_DIR}/docs
COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/px_process_airframes.py
-v -a ${PX4_SOURCE_DIR}//ROMFS/px4fmu_common/init.d
-v -a ${PX4_SOURCE_DIR}/ROMFS/px4fmu_common/init.d
--markdown ${PX4_BINARY_DIR}/docs/airframes.md
COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/px_process_airframes.py
-v -a ${PX4_SOURCE_DIR}//ROMFS/px4fmu_common/init.d
-v -a ${PX4_SOURCE_DIR}/ROMFS/px4fmu_common/init.d
--xml ${PX4_BINARY_DIR}/docs/airframes.xml
COMMENT "Generating full airframe metadata (markdown and xml)"
USES_TERMINAL
@ -521,7 +545,7 @@ add_custom_target(all_metadata
set(CPACK_PACKAGE_NAME ${PROJECT_NAME}-${CONFIG})
set(CPACK_PACKAGE_VERSION ${PX4_GIT_TAG})
set(CPACK_PACKAGE_CONTACT ${package-contact})
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS OFF)
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS OFF) # TODO: review packaging for linux boards
set(CPACK_DEBIAN_PACKAGE_SECTION "devel")
set(CPACK_DEBIAN_PACKAGE_PRIORITY "optional")
set(CPACK_DEBIAN_PACKAGE_DESCRIPTION "The PX4 Pro autopilot.")

34
Jenkinsfile vendored
View File

@ -62,12 +62,12 @@ pipeline {
sh 'make distclean'
sh 'ccache -z'
sh 'git fetch --tags'
sh 'make nuttx_px4fmu-v2_default'
sh 'make nuttx_px4fmu-v2_default bloaty_symbols'
sh 'make nuttx_px4fmu-v2_default bloaty_compileunits'
sh 'make nuttx_px4fmu-v2_default bloaty_inlines'
sh 'make nuttx_px4fmu-v2_default bloaty_templates'
sh 'make nuttx_px4fmu-v2_default bloaty_compare_master'
sh 'make px4fmu-v2_default'
sh 'make px4fmu-v2_default bloaty_symbols'
sh 'make px4fmu-v2_default bloaty_compileunits'
sh 'make px4fmu-v2_default bloaty_inlines'
sh 'make px4fmu-v2_default bloaty_templates'
sh 'make px4fmu-v2_default bloaty_compare_master'
sh 'make sizes'
sh 'ccache -s'
}
@ -90,12 +90,12 @@ pipeline {
sh 'make distclean'
sh 'ccache -z'
sh 'git fetch --tags'
sh 'make nuttx_px4fmu-v5_default'
sh 'make nuttx_px4fmu-v5_default bloaty_symbols'
sh 'make nuttx_px4fmu-v5_default bloaty_compileunits'
sh 'make nuttx_px4fmu-v5_default bloaty_inlines'
sh 'make nuttx_px4fmu-v5_default bloaty_templates'
sh 'make nuttx_px4fmu-v5_default bloaty_compare_master'
sh 'make px4fmu-v5_default'
sh 'make px4fmu-v5_default bloaty_symbols'
sh 'make px4fmu-v5_default bloaty_compileunits'
sh 'make px4fmu-v5_default bloaty_inlines'
sh 'make px4fmu-v5_default bloaty_templates'
sh 'make px4fmu-v5_default bloaty_compare_master'
sh 'make sizes'
sh 'ccache -s'
}
@ -272,7 +272,7 @@ pipeline {
steps {
sh 'make distclean'
sh 'make airframe_metadata'
dir('build/posix_sitl_default/docs') {
dir('build/px4sitl_default/docs') {
archiveArtifacts(artifacts: 'airframes.md, airframes.xml')
stash includes: 'airframes.md, airframes.xml', name: 'metadata_airframes'
}
@ -291,7 +291,7 @@ pipeline {
steps {
sh 'make distclean'
sh 'make parameters_metadata'
dir('build/posix_sitl_default/docs') {
dir('build/px4sitl_default/docs') {
archiveArtifacts(artifacts: 'parameters.md, parameters.xml')
stash includes: 'parameters.md, parameters.xml', name: 'metadata_parameters'
}
@ -310,7 +310,7 @@ pipeline {
steps {
sh 'make distclean'
sh 'make module_documentation'
dir('build/posix_sitl_default/docs') {
dir('build/px4sitl_default/docs') {
archiveArtifacts(artifacts: 'modules/*.md')
stash includes: 'modules/*.md', name: 'metadata_module_documentation'
}
@ -334,8 +334,8 @@ pipeline {
sh 'make distclean'
sh 'make uorb_graphs'
dir('Tools/uorb_graph') {
archiveArtifacts(artifacts: 'graph_sitl.json')
stash includes: 'graph_sitl.json', name: 'uorb_graph'
archiveArtifacts(artifacts: 'graph_px4sitl.json')
stash includes: 'graph_px4sitl.json', name: 'uorb_graph'
}
}
post {

View File

@ -53,11 +53,11 @@ endif
# make px4fmu-v2_default test (builds and tests)
#
# This tells cmake to build the nuttx px4fmu-v2 default config in the
# directory build/nuttx_px4fmu-v2_default and then call make
# directory build/px4fmu-v2_default and then call make
# in that directory with the target upload.
# explicity set default build target
all: posix_sitl_default
all: px4sitl_default
# Parsing
# --------------------------------------------------------------------
@ -156,10 +156,11 @@ define colorecho
+@echo -e '${COLOR_BLUE}${1} ${NO_COLOR}'
endef
# Get a list of all config targets cmake/configs/*.cmake
ALL_CONFIG_TARGETS := $(basename $(shell find "$(SRC_DIR)"/cmake/configs -maxdepth 1 ! -name '*_common*' ! -name '*_sdflight_*' -name '*.cmake' -print | sed -e 's:^.*/::' | sort))
# Strip off leading nuttx_
NUTTX_CONFIG_TARGETS := $(patsubst nuttx_%,%,$(filter nuttx_%,$(ALL_CONFIG_TARGETS)))
# Get a list of all config targets boards/*/*.cmake
ALL_CONFIG_TARGETS := $(shell find boards -maxdepth 3 -mindepth 3 ! -name '*common*' ! -name '*sdflight*' -name '*.cmake' -print | sed -e 's/boards\///' | sed -e 's/\.cmake//' | sed -e 's/\///' | sed -e 's/\//_/g' | sort)
# Strip off default
CONFIG_TARGETS_DEFAULT := $(patsubst %_default,%,$(filter %_default,$(ALL_CONFIG_TARGETS)))
# ADD CONFIGS HERE
# --------------------------------------------------------------------
@ -177,22 +178,26 @@ $(NUTTX_CONFIG_TARGETS):
all_nuttx_targets: $(NUTTX_CONFIG_TARGETS)
posix: posix_sitl_default
broadcast: posix_sitl_broadcast
$(CONFIG_TARGETS_DEFAULT):
$(call cmake-build,$@_default)
all_default_targets: $(CONFIG_TARGETS_DEFAULT)
posix: px4sitl_default
posix_sitl_default: px4sitl_default
# All targets with just dependencies but no recipe must either be marked as phony (or have the special @: as recipe).
.PHONY: all posix broadcast all_nuttx_targets
.PHONY: all posix posix_sitl_default all_nuttx_targets all_default_targets
# Multi- config targets.
eagle_default: posix_eagle_default qurt_eagle_default
eagle_rtps: posix_eagle_rtps qurt_eagle_default
eagle_legacy_default: posix_eagle_legacy qurt_eagle_legacy
excelsior_default: posix_excelsior_default qurt_excelsior_default
excelsior_rtps: posix_excelsior_rtps qurt_excelsior_default
excelsior_legacy_default: posix_excelsior_legacy qurt_excelsior_legacy
eagle_default: atlflighteagle_default atlflighteagle_qurt-default
eagle_rtps: atlflighteagle_rtps atlflighteagle_qurt-rtps
.PHONY: eagle_default eagle_rtps eagle_legacy_default
.PHONY: excelsior_default excelsior_rtps excelsior_legacy_default
excelsior_default: atlflightexcelsior_default atlflightexcelsior_qurt-default
excelsior_rtps: atlflightexcelsior_rtps atlflightexcelsior_qurt-rtps
.PHONY: eagle_default eagle_rtps
.PHONY: excelsior_default excelsior_rtps
# Other targets
# --------------------------------------------------------------------
@ -213,23 +218,23 @@ px4fmu_firmware: \
sizes
misc_qgc_extra_firmware: \
check_aerocore2_default \
check_aerofc-v1_default \
check_auav-x21_default \
check_crazyflie_default \
check_mindpx-v2_default \
check_gumstixaerocore2_default \
check_intelaerofc-v1_default \
check_auavx21_default \
check_bitcrazecrazyflie_default \
check_airmindmindpx-v2_default \
check_px4fmu-v2_lpe \
sizes
# Other NuttX firmware
alt_firmware: \
check_nxphlite-v3_default \
check_px4-same70xplained-v1_default \
check_px4-stm32f4discovery_default \
check_atmelsame70xplained_default \
check_stm32f4discovery_default \
check_px4cannode-v1_default \
check_px4esc-v1_default \
check_px4nucleoF767ZI-v1_default \
check_s2740vc-v1_default \
check_stmnucleo-F767ZI_default \
check_thiemars2740vc-v1_default \
sizes
# builds with RTPS
@ -237,7 +242,7 @@ check_rtps: \
check_px4fmu-v3_rtps \
check_px4fmu-v4_rtps \
check_px4fmu-v4pro_rtps \
check_posix_sitl_rtps \
check_px4sitl_rtps \
sizes
.PHONY: sizes check quick_check check_rtps uorb_graphs
@ -443,4 +448,4 @@ help:
# Print a list of all config targets.
list_config_targets:
@for targ in $(patsubst nuttx_%,[nuttx_]%,$(ALL_CONFIG_TARGETS)); do echo $$targ; done
@for targ in $(patsubst %_default,%[_default],$(ALL_CONFIG_TARGETS)); do echo $$targ; done

View File

@ -87,13 +87,13 @@ add_custom_command(OUTPUT ${romfs_gen_root_dir}/init.d/rcS ${romfs_gen_root_dir}
COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/px_process_airframes.py
--airframes-path ${romfs_gen_root_dir}/init.d
--start-script ${romfs_gen_root_dir}/init.d/rc.autostart
--board ${BOARD}
--board ${PX4_BOARD}
COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/serial/generate_config.py
--rc-dir ${romfs_gen_root_dir}/init.d
--serial-ports ${board_serial_ports} ${added_arguments}
--config-files ${module_config_files} #--verbose
COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/px_romfs_pruner.py
--folder ${romfs_gen_root_dir} --board ${BOARD}
--folder ${romfs_gen_root_dir} --board ${PX4_BOARD}
DEPENDS
${jinja_templates}
${module_config_files}
@ -107,6 +107,7 @@ add_custom_command(OUTPUT ${romfs_gen_root_dir}/init.d/rcS ${romfs_gen_root_dir}
# copy extras into ROMFS
set(extras_dependencies)
# copy px4io binary if configured
if(config_io_board)
list(APPEND extras_dependencies
@ -115,6 +116,7 @@ if (config_io_board)
)
endif()
if(config_bl_file)
file(MAKE_DIRECTORY ${PX4_BINARY_DIR}/romfs_extras)
configure_file(${config_bl_file} ${PX4_BINARY_DIR}/romfs_extras COPYONLY)

View File

@ -71,7 +71,7 @@ set FEXTRAS /fs/microsd/etc/extras.txt
set FRC /fs/microsd/etc/rc.txt
set FMU_ARGS ""
set FMU_MODE pwm
set IOFW "/etc/extras/px4io-v2.bin"
set IOFW "/etc/extras/px4io-v2_default.bin"
set IO_PRESENT no
set LOG_FILE /fs/microsd/bootlog.txt
set MAV_TYPE none
@ -367,7 +367,7 @@ else
#
# Check if PX4IO present and update firmware if needed.
# Assumption IOFW set to firware file and IO_PRESENT = no
# Assumption IOFW set to firmware file and IO_PRESENT = no
#
if [ -f $IOFW ]

View File

@ -10,7 +10,6 @@ fi
exec find src platforms \
-path platforms/nuttx/NuttX -prune -o \
-path platforms/nuttx/nuttx-configs -prune -o \
-path src/lib/DriverFramework -prune -o \
-path src/lib/ecl -prune -o \
-path src/lib/matrix -prune -o \

View File

@ -5,14 +5,14 @@ if [ -z ${PX4_DOCKER_REPO+x} ]; then
if [[ $@ =~ .*px4fmu.* ]]; then
# nuttx-px4fmu-v{1,2,3,4,5}
PX4_DOCKER_REPO="px4io/px4-dev-nuttx:2018-11-22"
elif [[ $@ =~ .*rpi.* ]] || [[ $@ =~ .*bebop.* ]]; then
elif [[ $@ =~ .*navio2.* ]] || [[ $@ =~ .*raspberry.* ]] || [[ $@ =~ .*bebop.* ]]; then
# posix_rpi_cross, posix_bebop_default
PX4_DOCKER_REPO="px4io/px4-dev-raspi:2018-11-22"
elif [[ $@ =~ .*eagle.* ]] || [[ $@ =~ .*excelsior.* ]]; then
# eagle, excelsior
PX4_DOCKER_REPO="lorenzmeier/px4-dev-snapdragon:2018-09-12"
elif [[ $@ =~ .*ocpoc.* ]]; then
# posix_ocpoc_ubuntu
# aerotennaocpoc_ubuntu
PX4_DOCKER_REPO="px4io/px4-dev-armhf:2018-11-22"
elif [[ $@ =~ .*clang.* ]] || [[ $@ =~ .*scan-build.* ]]; then
# clang tools

View File

@ -1,6 +1,6 @@
#!/bin/bash
# run multiple instances of the 'px4' binary, but w/o starting the simulator.
# It assumes px4 is already built, with 'make posix_sitl_default'
# It assumes px4 is already built, with 'make px4sitl_default'
# The simulator is expected to send to UDP port 14560+i for i in [0, N-1]
# For example jmavsim can be run like this:
@ -12,7 +12,7 @@ sitl_num=2
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
src_path="$SCRIPT_DIR/.."
build_path=${src_path}/build/posix_sitl_default
build_path=${src_path}/build/px4sitl_default
echo "killing running instances"
pkill -x px4 || true

View File

@ -30,7 +30,7 @@
# POSSIBILITY OF SUCH DAMAGE.
#
############################################################################
px4_add_library(drivers_board
../common/board_identity.c
)
px4_add_library(drivers_board
${PX4_SOURCE_DIR}/src/drivers/boards/common/board_identity.c # TODO: this is horrible and should be fixed
)

View File

@ -58,4 +58,4 @@
#define ADC_AIRSPEED_VOLTAGE_CHANNEL 11
#include <system_config.h>
#include "../common/board_common.h"
#include <drivers/boards/common/board_common.h>

View File

@ -0,0 +1,86 @@
px4_add_board(
VENDOR aerotenna
MODEL ocpoc
LABEL ubuntu
PLATFORM posix
ARCH cortex-a9
TOOLCHAIN Toolchain-arm-linux-gnueabihf
TESTING
DRIVERS
#barometer # all available barometer drivers
batt_smbus
camera_trigger
differential_pressure # all available differential pressure drivers
distance_sensor # all available distance sensor drivers
gps
linux_pwm_out
linux_sbus
#imu # all available imu drivers
#magnetometer # all available magnetometer drivers
ocpoc_adc
rgbled
pwm_out_sim
#telemetry # all available telemetry drivers
vmount
DF_DRIVERS # NOTE: DriverFramework is migrating to intree PX4 drivers
mpu9250
ms5611
hmc5883
MODULES
attitude_estimator_q
camera_feedback
commander
dataman
ekf2
events
fw_att_control
fw_pos_control_l1
gnd_att_control
gnd_pos_control
#gpio_led
land_detector
landing_target_estimator
load_mon
local_position_estimator
logger
mavlink
mc_att_control
mc_pos_control
navigator
position_estimator_inav
sensors
#simulator
#uavcan
vtol_att_control
wind_estimator
SYSTEMCMDS
esc_calib
led_control
mixer
motor_ramp
param
perf
pwm
reboot
sd_bench
shutdown
tests # tests and test runner
top
topic_listener
tune_control
ver
EXAMPLES
bottle_drop # OBC challenge
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
#hwtest # Hardware test
px4_mavlink_debug # Tutorial code from https://px4.io/dev/debug_values
px4_simple_app # Tutorial code from https://px4.io/dev/px4_simple_app
rover_steering_control # Rover example app
segway
)

View File

@ -0,0 +1,116 @@
px4_add_board(
PLATFORM nuttx
VENDOR airmind
MODEL mindpx-v2
ARCH cortex-m4
ROMFS
ROMFSROOT px4fmu_common
TESTING
UAVCAN_INTERFACES 1
SERIAL_PORTS
GPS1:/dev/ttyS3
TEL1:/dev/ttyS1
TEL2:/dev/ttyS2
DRIVERS
barometer # all available barometer drivers
batt_smbus
blinkm
camera_trigger
differential_pressure # all available differential pressure drivers
distance_sensor # all available distance sensor drivers
gps
#heater
#imu # all available imu drivers
imu/l3gd20
imu/lsm303d
imu/mpu6000
imu/mpu9250
irlock
magnetometer # all available magnetometer drivers
mkblctrl
oreoled
pca9685
pwm_input
pwm_out_sim
px4flow
px4fmu
rc_input
rgbled
stm32
stm32/adc
stm32/tone_alarm
tap_esc
telemetry # all available telemetry drivers
test_ppm
vmount
MODULES
attitude_estimator_q
camera_feedback
commander
dataman
ekf2
events
fw_att_control
fw_pos_control_l1
gnd_att_control
gnd_pos_control
gpio_led
land_detector
landing_target_estimator
load_mon
local_position_estimator
logger
mavlink
mc_att_control
mc_pos_control
navigator
position_estimator_inav
sensors
uavcan
vtol_att_control
wind_estimator
SYSTEMCMDS
bl_update
config
dumpfile
esc_calib
hardfault_log
led_control
mixer
motor_ramp
motor_test
mtd
nshterm
param
perf
pwm
reboot
reflect
sd_bench
shutdown
tests # tests and test runner
top
topic_listener
tune_control
usb_connected
ver
EXAMPLES
bottle_drop # OBC challenge
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hwtest # Hardware test
#matlab_csv_serial
#publisher
px4_mavlink_debug # Tutorial code from https://px4.io/dev/debug_values
px4_simple_app # Tutorial code from https://px4.io/dev/px4_simple_app
rover_steering_control # Rover example app
segway
#subscriber
uuv_example_app
)

View File

@ -688,7 +688,7 @@ CONFIG_RAM_SIZE=262144
# Board Selection
#
CONFIG_ARCH_BOARD_MINDPX_V2=y
CONFIG_ARCH_BOARD="mindpx-v2"
CONFIG_ARCH_BOARD="airmindmindpx-v2"
#
# Custom Board Configuration

View File

@ -1,5 +1,5 @@
/****************************************************************************
* nuttx-configs/px4fmu-v3/scripts/ld.script
* scripts/ld.script
*
* Copyright (C) 2011 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>

View File

@ -372,7 +372,7 @@ extern void stm32_usbinitialize(void);
#define board_peripheral_reset(ms)
#include "../common/board_common.h"
#include <drivers/boards/common/board_common.h>
#endif /* __ASSEMBLY__ */

View File

@ -0,0 +1,115 @@
# The Eagle board is the first generation Snapdragon Flight board by Qualcomm.
include(px4_git)
px4_add_git_submodule(TARGET git_cmake_hexagon PATH "${PX4_SOURCE_DIR}/boards/atlflight/cmake_hexagon")
list(APPEND CMAKE_MODULE_PATH "${PX4_SOURCE_DIR}/boards/atlflight/cmake_hexagon")
# Get $QC_SOC_TARGET from environment if existing.
if (DEFINED ENV{QC_SOC_TARGET})
set(QC_SOC_TARGET $ENV{QC_SOC_TARGET})
else()
set(QC_SOC_TARGET "APQ8074")
endif()
# Disable the creation of the parameters.xml file by scanning individual
# source files, and scan all source files. This will create a parameters.xml
# file that contains all possible parameters, even if the associated module
# is not used. This is necessary for parameter synchronization between the
# ARM and DSP processors.
set(DISABLE_PARAMS_MODULE_SCOPING TRUE)
set(CONFIG_SHMEM "1")
add_definitions(-DORB_COMMUNICATOR)
# This definition allows to differentiate if this just the usual POSIX build
# or if it is for the Snapdragon.
add_definitions(-D__PX4_POSIX_EAGLE)
px4_add_board(
PLATFORM posix
VENDOR atlflight
MODEL eagle
LABEL default
TESTING
TOOLCHAIN
toolchain/Toolchain-arm-linux-gnueabihf
DRIVERS
#barometer # all available barometer drivers
batt_smbus
camera_trigger
differential_pressure # all available differential pressure drivers
distance_sensor # all available distance sensor drivers
gps
linux_sbus
#imu # all available imu drivers
#magnetometer # all available magnetometer drivers
rgbled
pwm_out_sim
qshell/posix
#telemetry # all available telemetry drivers
vmount
MODULES
muorb/krait
attitude_estimator_q
camera_feedback
commander
dataman
ekf2
events
fw_att_control
fw_pos_control_l1
gnd_att_control
gnd_pos_control
#gpio_led
land_detector
landing_target_estimator
load_mon
local_position_estimator
logger
mavlink
mc_att_control
mc_pos_control
navigator
position_estimator_inav
sensors
simulator
#uavcan
vtol_att_control
wind_estimator
SYSTEMCMDS
#bl_update
#config
#dumpfile
esc_calib
#hardfault_log
led_control
mixer
motor_ramp
#mtd
#nshterm
param
perf
pwm
reboot
sd_bench
shutdown
tests # tests and test runner
top
topic_listener
tune_control
ver
EXAMPLES
bottle_drop # OBC challenge
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
#hwtest # Hardware test
px4_mavlink_debug # Tutorial code from https://px4.io/dev/debug_values
px4_simple_app # Tutorial code from https://px4.io/dev/px4_simple_app
rover_steering_control # Rover example app
segway
)

View File

@ -0,0 +1,83 @@
# The Eagle board is the first generation Snapdragon Flight board by Qualcomm.
#
# This cmake config builds for QURT which is the operating system running on
# the DSP side.
# Get $QC_SOC_TARGET from environment if existing.
if (DEFINED ENV{QC_SOC_TARGET})
set(QC_SOC_TARGET $ENV{QC_SOC_TARGET})
else()
set(QC_SOC_TARGET "APQ8074")
endif()
include(px4_git)
px4_add_git_submodule(TARGET git_cmake_hexagon PATH "${PX4_SOURCE_DIR}/boards/atlflight/cmake_hexagon")
list(APPEND CMAKE_MODULE_PATH "${PX4_SOURCE_DIR}/boards/atlflight/cmake_hexagon")
if ("$ENV{HEXAGON_SDK_ROOT}" STREQUAL "")
message(FATAL_ERROR "Enviroment variable HEXAGON_SDK_ROOT must be set")
else()
set(HEXAGON_SDK_ROOT $ENV{HEXAGON_SDK_ROOT})
endif()
include(toolchain/Toolchain-qurt)
include(qurt_flags)
include_directories(${HEXAGON_SDK_INCLUDES})
set(CONFIG_SHMEM "1")
add_definitions(-DORB_COMMUNICATOR)
# Disable the creation of the parameters.xml file by scanning individual
# source files, and scan all source files. This will create a parameters.xml
# file that contains all possible parameters, even if the associated module
# is not used. This is necessary for parameter synchronization between the
# ARM and DSP processors.
set(DISABLE_PARAMS_MODULE_SCOPING TRUE)
# This definition allows to differentiate the specific board.
add_definitions(-D__PX4_QURT_EAGLE)
px4_add_board(
PLATFORM qurt
VENDOR atlflight
MODEL eagle
LABEL qurt-default
DRIVERS
gps
spektrum_rc
qshell/qurt
snapdragon_pwm_out
DF_DRIVERS
mpu9250
bmp280
hmc5883
trone
isl29501
ltc2946
MODULES
muorb/adsp
attitude_estimator_q
commander
ekf2
fw_att_control
fw_pos_control_l1
gnd_att_control
gnd_pos_control
land_detector
landing_target_estimator
local_position_estimator
mc_att_control
mc_pos_control
position_estimator_inav
sensors
vtol_att_control
wind_estimator
SYSTEMCMDS
param
)

View File

@ -32,6 +32,6 @@
############################################################################
px4_add_library(drivers_board
${PX4_SOURCE_DIR}/src/drivers/boards/common/board_identity.c # TODO: this is horrible and should be fixed
sitl_led.c
../common/board_identity.c
)

View File

@ -61,4 +61,4 @@
#define PX4_NUMBER_I2C_BUSES 3
#include <system_config.h>
#include "../common/board_common.h"
#include <drivers/boards/common/board_common.h>

View File

@ -0,0 +1,115 @@
# Excelsior is the code name of a board currently in development.
include(px4_git)
px4_add_git_submodule(TARGET git_cmake_hexagon PATH "${PX4_SOURCE_DIR}/boards/atlflight/cmake_hexagon")
list(APPEND CMAKE_MODULE_PATH "${PX4_SOURCE_DIR}/boards/atlflight/cmake_hexagon")
# Get $QC_SOC_TARGET from environment if existing.
if (DEFINED ENV{QC_SOC_TARGET})
set(QC_SOC_TARGET $ENV{QC_SOC_TARGET})
else()
set(QC_SOC_TARGET "APQ8074")
endif()
# Disable the creation of the parameters.xml file by scanning individual
# source files, and scan all source files. This will create a parameters.xml
# file that contains all possible parameters, even if the associated module
# is not used. This is necessary for parameter synchronization between the
# ARM and DSP processors.
set(DISABLE_PARAMS_MODULE_SCOPING TRUE)
set(CONFIG_SHMEM "1")
add_definitions(-DORB_COMMUNICATOR)
# This definition allows to differentiate if this just the usual POSIX build
# or if it is for the Snapdragon.
add_definitions(-D__PX4_POSIX_EXCELSIOR)
px4_add_board(
PLATFORM posix
VENDOR atlflight
MODEL excelsior
LABEL default
TESTING
TOOLCHAIN
toolchain/Toolchain-arm-oemllib32-linux-gnueabi
DRIVERS
#barometer # all available barometer drivers
batt_smbus
camera_trigger
differential_pressure # all available differential pressure drivers
distance_sensor # all available distance sensor drivers
gps
linux_sbus
#imu # all available imu drivers
#magnetometer # all available magnetometer drivers
rgbled
pwm_out_sim
qshell/posix
#telemetry # all available telemetry drivers
vmount
MODULES
muorb/krait
attitude_estimator_q
camera_feedback
commander
dataman
ekf2
events
fw_att_control
fw_pos_control_l1
gnd_att_control
gnd_pos_control
#gpio_led
land_detector
landing_target_estimator
load_mon
local_position_estimator
logger
mavlink
mc_att_control
mc_pos_control
navigator
position_estimator_inav
sensors
simulator
#uavcan
vtol_att_control
wind_estimator
SYSTEMCMDS
#bl_update
#config
#dumpfile
esc_calib
#hardfault_log
led_control
mixer
motor_ramp
#mtd
#nshterm
param
perf
pwm
reboot
sd_bench
shutdown
tests # tests and test runner
top
topic_listener
tune_control
ver
EXAMPLES
bottle_drop # OBC challenge
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
#hwtest # Hardware test
px4_mavlink_debug # Tutorial code from https://px4.io/dev/debug_values
px4_simple_app # Tutorial code from https://px4.io/dev/px4_simple_app
rover_steering_control # Rover example app
segway
)

View File

@ -0,0 +1,82 @@
# Excelsior is the code name of a board currently in development.
#
# This cmake config builds for QURT which is the operating system running on
# the DSP side.
# Get $QC_SOC_TARGET from environment if existing.
if (DEFINED ENV{QC_SOC_TARGET})
set(QC_SOC_TARGET $ENV{QC_SOC_TARGET})
else()
set(QC_SOC_TARGET "APQ8074")
endif()
include(px4_git)
px4_add_git_submodule(TARGET git_cmake_hexagon PATH "${PX4_SOURCE_DIR}/boards/atlflight/cmake_hexagon")
list(APPEND CMAKE_MODULE_PATH "${PX4_SOURCE_DIR}/boards/atlflight/cmake_hexagon")
if ("$ENV{HEXAGON_SDK_ROOT}" STREQUAL "")
message(FATAL_ERROR "Enviroment variable HEXAGON_SDK_ROOT must be set")
else()
set(HEXAGON_SDK_ROOT $ENV{HEXAGON_SDK_ROOT})
endif()
include(toolchain/Toolchain-qurt)
include(qurt_flags)
include_directories(${HEXAGON_SDK_INCLUDES})
set(CONFIG_SHMEM "1")
add_definitions(-DORB_COMMUNICATOR)
# Disable the creation of the parameters.xml file by scanning individual
# source files, and scan all source files. This will create a parameters.xml
# file that contains all possible parameters, even if the associated module
# is not used. This is necessary for parameter synchronization between the
# ARM and DSP processors.
set(DISABLE_PARAMS_MODULE_SCOPING TRUE)
# This definition allows to differentiate the specific board.
add_definitions(-D__PX4_QURT_EXCELSIOR)
px4_add_board(
PLATFORM qurt
VENDOR atlflight
MODEL excelsior
LABEL qurt-default
DRIVERS
gps
spektrum_rc
qshell/qurt
snapdragon_pwm_out
DF_DRIVERS
mpu9250
bmp280
hmc5883
trone
isl29501
ltc2946
MODULES
muorb/adsp
attitude_estimator_q
commander
ekf2
fw_att_control
fw_pos_control_l1
gnd_att_control
gnd_pos_control
land_detector
landing_target_estimator
local_position_estimator
mc_att_control
mc_pos_control
position_estimator_inav
sensors
vtol_att_control
wind_estimator
SYSTEMCMDS
param
)

View File

@ -0,0 +1,116 @@
px4_add_board(
PLATFORM nuttx
VENDOR atmel
MODEL same70xplained
ARCH cortex-m7
ROMFS
ROMFSROOT px4fmu_common
TESTING
#UAVCAN_INTERFACES 1
SERIAL_PORTS
GPS1:/dev/ttyS3
TEL1:/dev/ttyS1
TEL2:/dev/ttyS2
DRIVERS
barometer # all available barometer drivers
batt_smbus
blinkm
#camera_trigger
differential_pressure # all available differential pressure drivers
distance_sensor # all available distance sensor drivers
gps
#heater
#imu # all available imu drivers
imu/mpu6000
imu/mpu9250
imu/lsm303d
imu/l3gd20
irlock
magnetometer # all available magnetometer drivers
mkblctrl
oreoled
pca9685
#pwm_input
pwm_out_sim
px4flow
px4fmu
#rc_input
rgbled
samv7
#WIP samv7/adc
samv7/tone_alarm
tap_esc
telemetry # all available telemetry drivers
#test_ppm
vmount
MODULES
attitude_estimator_q
camera_feedback
commander
dataman
ekf2
events
fw_att_control
fw_pos_control_l1
gnd_att_control
gnd_pos_control
gpio_led
land_detector
landing_target_estimator
load_mon
local_position_estimator
logger
mavlink
mc_att_control
mc_pos_control
navigator
position_estimator_inav
sensors
#WIP uavcan
vtol_att_control
wind_estimator
SYSTEMCMDS
bl_update
config
dumpfile
esc_calib
#WIP hardfault_log
led_control
mixer
motor_ramp
motor_test
#mtd
nshterm
param
perf
pwm
reboot
reflect
sd_bench
shutdown
tests # tests and test runner
top
topic_listener
tune_control
#usb_connected
ver
EXAMPLES
bottle_drop # OBC challenge
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hwtest # Hardware test
#matlab_csv_serial
#publisher
px4_mavlink_debug # Tutorial code from https://px4.io/dev/debug_values
px4_simple_app # Tutorial code from https://px4.io/dev/px4_simple_app
rover_steering_control # Rover example app
segway
#subscriber
uuv_example_app
)

View File

@ -4,7 +4,7 @@
"description": "Firmware for the SAME70xplained board",
"image": "",
"build_time": 0,
"summary": "PX4/SAME70xplained",
"summary": "Atmel/SAME70xplained",
"version": "0.1",
"image_size": 0,
"image_maxsize": 2097152,

View File

@ -427,9 +427,9 @@ CONFIG_RAM_SIZE=393216
# Board Selection
#
# CONFIG_ARCH_BOARD_SAME70_XPLAINED is not set
CONFIG_ARCH_BOARD_PX4_SAME70XPLAINED_V1=y
CONFIG_ARCH_BOARD_ATMELSAME70XPLAINED=y
# CONFIG_ARCH_BOARD_CUSTOM is not set
CONFIG_ARCH_BOARD="px4-same70xplained-v1"
CONFIG_ARCH_BOARD="atmelsame70xplained"
#
# Common Board Options

View File

@ -8,9 +8,9 @@ http://www.atmel.com/tools/ATSAME70-XPLD.aspx
2. git checkout same70xplained
3. make clean
4. git submudule update --init --recursive
5. make px4-same70xplained-v1_default
5. make px4same70xplained-v1_default
The ELF file Firmare will be in `build_px4-same70xplained-v1_default/src/firmware/nuttx/`
The ELF file Firmare will be in `build/px4same70xplained-v1_default/`
The EFL file name is `firmware_nuttx`

View File

@ -549,7 +549,7 @@ bool sam_writeprotected(int slotno);
int sam_at24config(void);
#endif
#include "../common/board_common.h"
#include <drivers/boards/common/board_common.h>
#endif /* __ASSEMBLY__ */

View File

@ -6,8 +6,6 @@ add_definitions(
-DPARAMETER_BUFFER_SIZE=1024
)
px4_nuttx_configure(HWCLASS m4 CONFIG nsh)
# UAVCAN boot loadable Module ID
set(uavcanblid_sw_version_major 0)
set(uavcanblid_sw_version_minor 1)
@ -17,17 +15,20 @@ add_definitions(
)
# Bring in common uavcan hardware identity definitions
include(common/px4_git)
include(px4_git)
px4_add_git_submodule(TARGET git_uavcan_board_ident PATH "cmake/configs/uavcan_board_ident")
include(configs/uavcan_board_ident/esc35-v1)
add_definitions(
-DHW_UAVCAN_NAME=${uavcanblid_name}
-DHW_VERSION_MAJOR=${uavcanblid_hw_version_major}
-DHW_VERSION_MINOR=${uavcanblid_hw_version_minor}
)
px4_nuttx_make_uavcan_bootloadable(BOARD ${BOARD}
BIN ${PX4_BINARY_DIR}/esc35-v1.bin
include(px4_make_uavcan_bootloader)
px4_make_uavcan_bootloadable(
BOARD auavesc35
BIN ${PX4_BINARY_DIR}/auavesc35-v1.bin
HWNAME ${uavcanblid_name}
HW_MAJOR ${uavcanblid_hw_version_major}
HW_MINOR ${uavcanblid_hw_version_minor}
@ -35,29 +36,30 @@ px4_nuttx_make_uavcan_bootloadable(BOARD ${BOARD}
SW_MINOR ${uavcanblid_sw_version_minor}
)
set(config_module_list
#
# Board support modules
#
drivers/stm32
px4_add_board(
PLATFORM nuttx
VENDOR auav
MODEL esc35-v1
ARCH cortex-m4
#
# System commands
#
systemcmds/config
systemcmds/reboot
systemcmds/top
systemcmds/param
systemcmds/ver
DRIVERS
bootloaders
stm32
MODULES
uavcanesc
uavcanesc/nshterm
uavcanesc/commands/cfg
uavcanesc/commands/selftest
uavcanesc/commands/dc
uavcanesc/commands/rpm
uavcanesc/commands/stat
SYSTEMCMDS
config
reboot
param
top
ver
#
# General system control
#
modules/uavcanesc
modules/uavcanesc/nshterm
modules/uavcanesc/commands/cfg
modules/uavcanesc/commands/selftest
modules/uavcanesc/commands/dc
modules/uavcanesc/commands/rpm
modules/uavcanesc/commands/stat
)

View File

@ -559,8 +559,8 @@ CONFIG_RAM_SIZE=131072
#
# Board Selection
#
CONFIG_ARCH_BOARD_ESC35_V1=y
CONFIG_ARCH_BOARD="esc35-v1"
CONFIG_ARCH_BOARD_AUAVESC35_V1=y
CONFIG_ARCH_BOARD="auavesc35-v1"
#
# Custom Board Configuration

View File

@ -275,7 +275,7 @@ int usbmsc_archinitialize(void);
extern int composite_archinitialize(void);
#endif
#include "../common/board_common.h"
#include <drivers/boards/common/board_common.h>
#endif /* __ASSEMBLY__ */

View File

@ -0,0 +1,122 @@
px4_add_board(
PLATFORM nuttx
VENDOR auav
MODEL x21
LABEL default
ARCH cortex-m4
ROMFS
ROMFSROOT px4fmu_common
IO px4io-v2_default
TESTING
UAVCAN_INTERFACES 1
SERIAL_PORTS
GPS1:/dev/ttyS3
TEL1:/dev/ttyS1
TEL2:/dev/ttyS2
DRIVERS
barometer # all available barometer drivers
batt_smbus
blinkm
camera_trigger
differential_pressure # all available differential pressure drivers
distance_sensor # all available distance sensor drivers
gps
#heater
#imu # all available imu drivers
imu/mpu6000
imu/mpu9250
irlock
magnetometer # all available magnetometer drivers
#md25
mkblctrl
oreoled
pca8574
pca9685
#pmw3901
protocol_splitter
pwm_input
pwm_out_sim
px4flow
px4fmu
px4io
rgbled
#rgbled_pwm
roboclaw
stm32
stm32/adc
stm32/tone_alarm
tap_esc
telemetry # all available telemetry drivers
test_ppm
vmount
MODULES
attitude_estimator_q
camera_feedback
commander
dataman
ekf2
events
fw_att_control
fw_pos_control_l1
gnd_att_control
gnd_pos_control
gpio_led
land_detector
landing_target_estimator
load_mon
local_position_estimator
logger
mavlink
mc_att_control
mc_pos_control
navigator
position_estimator_inav
sensors
uavcan
vtol_att_control
wind_estimator
SYSTEMCMDS
bl_update
config
dumpfile
esc_calib
hardfault_log
led_control
mixer
motor_ramp
motor_test
mtd
nshterm
param
perf
pwm
reboot
reflect
sd_bench
shutdown
tests # tests and test runner
top
topic_listener
tune_control
usb_connected
ver
EXAMPLES
bottle_drop # OBC challenge
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hwtest # Hardware test
#matlab_csv_serial
#publisher
px4_mavlink_debug # Tutorial code from https://px4.io/dev/debug_values
px4_simple_app # Tutorial code from https://px4.io/dev/px4_simple_app
rover_steering_control # Rover example app
segway
#subscriber
uuv_example_app
)

View File

@ -688,7 +688,7 @@ CONFIG_RAM_SIZE=262144
# Board Selection
#
CONFIG_ARCH_BOARD_AUAV_X21=y
CONFIG_ARCH_BOARD="auav-x21"
CONFIG_ARCH_BOARD="auavx21"
#
# Custom Board Configuration

View File

@ -1,5 +1,5 @@
/****************************************************************************
* configs/auav_x21/common/ld.script
* scripts/ld.script
*
* Copyright (C) 2011 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>

View File

@ -300,7 +300,7 @@ extern void stm32_usbinitialize(void);
extern void stm32_spiinitialize(void);
#include "../common/board_common.h"
#include <drivers/boards/common/board_common.h>
#endif /* __ASSEMBLY__ */
__END_DECLS

View File

@ -48,7 +48,7 @@
#include <drivers/drv_pwm_output.h>
#include <drivers/stm32/drv_io_timer.h>
#include "../auav-x21/board_config.h"
#include "board_config.h"
__EXPORT const io_timers_t io_timers[MAX_IO_TIMERS] = {
{

View File

@ -54,7 +54,7 @@
#include <up_arch.h>
#include <stm32.h>
#include "../auav-x21/board_config.h"
#include "board_config.h"
/************************************************************************************
* Definitions

View File

@ -0,0 +1,121 @@
px4_add_board(
PLATFORM nuttx
VENDOR av
MODEL x-v1
ARCH cortex-m7
ROMFS
ROMFSROOT px4fmu_common
TESTING
UAVCAN_INTERFACES 2
SERIAL_PORTS
GPS1:/dev/ttyS6
TEL1:/dev/ttyS0
TEL2:/dev/ttyS1
TEL3:/dev/ttyS2
TEL4:/dev/ttyS3
DRIVERS
barometer # all available barometer drivers
batt_smbus
blinkm
camera_trigger
differential_pressure # all available differential pressure drivers
distance_sensor # all available distance sensor drivers
gps
#heater
#imu # all available imu drivers
imu/adis16477
irlock
magnetometer # all available magnetometer drivers
#md25
mkblctrl
#oreoled
#pca8574
pca9685
#pmw3901
protocol_splitter
#pwm_input
pwm_out_sim
px4flow
px4fmu
rc_input
#rgbled
#rgbled_pwm
roboclaw
stm32
stm32/adc
#stm32/tone_alarm
tap_esc
telemetry # all available telemetry drivers
test_ppm
vmount
MODULES
attitude_estimator_q
camera_feedback
commander
dataman
ekf2
events
fw_att_control
fw_pos_control_l1
gnd_att_control
gnd_pos_control
gpio_led
land_detector
landing_target_estimator
load_mon
local_position_estimator
logger
mavlink
mc_att_control
mc_pos_control
navigator
position_estimator_inav
sensors
uavcan
vtol_att_control
wind_estimator
SYSTEMCMDS
bl_update
config
dumpfile
esc_calib
hardfault_log
led_control
mixer
motor_ramp
motor_test
mtd
nshterm
param
perf
pwm
reboot
reflect
sd_bench
shutdown
tests # tests and test runner
top
topic_listener
tune_control
#usb_connected
ver
EXAMPLES
bottle_drop # OBC challenge
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hwtest # Hardware test
#matlab_csv_serial
#publisher
px4_mavlink_debug # Tutorial code from https://px4.io/dev/debug_values
px4_simple_app # Tutorial code from https://px4.io/dev/px4_simple_app
rover_steering_control # Rover example app
segway
#subscriber
uuv_example_app
)

View File

@ -533,8 +533,8 @@ CONFIG_RAM_SIZE=376832
#
# Board Selection
#
CONFIG_ARCH_BOARD_AV_X_V1=y
CONFIG_ARCH_BOARD="av-x-v1"
CONFIG_ARCH_BOARD_AVX_V1=y
CONFIG_ARCH_BOARD="avx-v1"
#
# Common Board Options

View File

@ -1,5 +1,5 @@
/****************************************************************************
* nuttx-configs/av-x/scripts/script.ld
* scripts/script.ld
*
* Copyright (C) 2016 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>

View File

@ -471,7 +471,7 @@ void board_spi_reset(int ms);
int nsh_archinitialize(void);
#endif
#include "../common/board_common.h"
#include <drivers/boards/common/board_common.h>
#endif /* __ASSEMBLY__ */

View File

@ -0,0 +1,84 @@
px4_add_board(
VENDOR beaglebone
MODEL blue
LABEL cross
PLATFORM posix
ARCH cortex-a8
TOOLCHAIN Toolchain-arm-linux-gnueabihf
TESTING
DRIVERS
#barometer # all available barometer drivers
batt_smbus
camera_trigger
differential_pressure # all available differential pressure drivers
distance_sensor # all available distance sensor drivers
gps
#imu # all available imu drivers
#magnetometer # all available magnetometer drivers
pwm_out_sim
#telemetry # all available telemetry drivers
vmount
linux_gpio
linux_pwm_out
linux_sbus
bbblue_adc
DF_DRIVERS # NOTE: DriverFramework is migrating to intree PX4 drivers
mpu9250
bmp280
MODULES
attitude_estimator_q
camera_feedback
commander
dataman
ekf2
events
fw_att_control
fw_pos_control_l1
gnd_att_control
gnd_pos_control
#gpio_led
land_detector
landing_target_estimator
load_mon
local_position_estimator
logger
mavlink
mc_att_control
mc_pos_control
navigator
position_estimator_inav
sensors
#uavcan
vtol_att_control
wind_estimator
SYSTEMCMDS
esc_calib
led_control
mixer
motor_ramp
param
perf
pwm
reboot
sd_bench
tests # tests and test runner
top
topic_listener
tune_control
ver
EXAMPLES
bottle_drop # OBC challenge
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
#hwtest # Hardware test
px4_mavlink_debug # Tutorial code from https://px4.io/dev/debug_values
px4_simple_app # Tutorial code from https://px4.io/dev/px4_simple_app
rover_steering_control # Rover example app
segway
)

View File

@ -0,0 +1,83 @@
px4_add_board(
VENDOR beaglebone
MODEL blue
LABEL native
PLATFORM posix
TOOLCHAIN Toolchain-native
TESTING
DRIVERS
#barometer # all available barometer drivers
batt_smbus
camera_trigger
differential_pressure # all available differential pressure drivers
distance_sensor # all available distance sensor drivers
gps
#imu # all available imu drivers
#magnetometer # all available magnetometer drivers
pwm_out_sim
#telemetry # all available telemetry drivers
vmount
linux_gpio
linux_pwm_out
linux_sbus
bbblue_adc
DF_DRIVERS # NOTE: DriverFramework is migrating to intree PX4 drivers
mpu9250
bmp280
MODULES
attitude_estimator_q
camera_feedback
commander
dataman
ekf2
events
fw_att_control
fw_pos_control_l1
gnd_att_control
gnd_pos_control
#gpio_led
land_detector
landing_target_estimator
load_mon
local_position_estimator
logger
mavlink
mc_att_control
mc_pos_control
navigator
position_estimator_inav
sensors
#uavcan
vtol_att_control
wind_estimator
SYSTEMCMDS
esc_calib
led_control
mixer
motor_ramp
param
perf
pwm
reboot
sd_bench
tests # tests and test runner
top
topic_listener
tune_control
ver
EXAMPLES
bottle_drop # OBC challenge
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
#hwtest # Hardware test
px4_mavlink_debug # Tutorial code from https://px4.io/dev/debug_values
px4_simple_app # Tutorial code from https://px4.io/dev/px4_simple_app
rover_steering_control # Rover example app
segway
)

View File

@ -35,6 +35,6 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error")
px4_add_library(drivers_board
init.c
../common/board_identity.c
${PX4_SOURCE_DIR}/src/drivers/boards/common/board_identity.c # TODO: this is horrible and should be fixed
)

View File

@ -66,7 +66,7 @@
#define PX4_NUMBER_I2C_BUSES 1
#include <system_config.h>
#include "../common/board_common.h"
#include <drivers/boards/common/board_common.h>
#ifdef __cplusplus
extern "C" {

View File

@ -0,0 +1,73 @@
px4_add_board(
PLATFORM nuttx
VENDOR bitcraze
MODEL crazyflie
ARCH cortex-m4
ROMFS
ROMFSROOT px4fmu_common
DRIVERS
barometer/lps25h
distance_sensor/vl53lxx
gps
imu/mpu9250
pmw3901
px4fmu
stm32
MODULES
attitude_estimator_q
camera_feedback
commander
dataman
ekf2
events
#fw_att_control
#fw_pos_control_l1
#gnd_att_control
#gnd_pos_control
#gpio_led
land_detector
landing_target_estimator
load_mon
local_position_estimator
logger
mavlink
mc_att_control
mc_pos_control
navigator
position_estimator_inav
sensors
syslink
#uavcan
#vtol_att_control
wind_estimator
SYSTEMCMDS
bl_update
config
dumpfile
esc_calib
hardfault_log
led_control
mixer
motor_ramp
motor_test
mtd
nshterm
param
perf
pwm
reboot
reflect
sd_bench
shutdown
#tests # tests and test runner
top
topic_listener
tune_control
usb_connected
ver
)

View File

@ -653,7 +653,7 @@ CONFIG_RAM_SIZE=196608
# Board Selection
#
CONFIG_ARCH_BOARD_CRAZYFLIE=y
CONFIG_ARCH_BOARD="crazyflie"
CONFIG_ARCH_BOARD="bitcrazecrazyflie"
#
# Custom Board Configuration

Some files were not shown because too many files have changed in this diff Show More