diff --git a/cmake/configs/config_posix_eagle_default.mk b/cmake/configs/config_posix_eagle_default.mk new file mode 100644 index 0000000000..589c44a05e --- /dev/null +++ b/cmake/configs/config_posix_eagle_default.mk @@ -0,0 +1,48 @@ +include(posix/px4_impl_posix-arm) + +function(px4_set_config_modules out_module_list) + + set(config_module_list + drivers/device + drivers/blinkm + drivers/pwm_out_sim + drivers/rgbled + drivers/led + modules/sensors + + systemcmds/param + systemcmds/mixer + systemcmds/ver + + modules/mavlink + + modules/attitude_estimator_ekf + modules/ekf_att_pos_estimator + + modules/mc_pos_control + modules/mc_att_control + + modules/systemlib + modules/systemlib/mixer + modules/uORB + modules/sensors + modules/dataman + modules/sdlog2 + modules/simulator + modules/commander + modules/controllib + + lib/mathlib + lib/mathlib/math/filter + lib/geo + lib/geo_lookup + lib/conversion + + platforms/posix/px4_layer + platforms/posix/work_queue + ) + + set(${out_module_list} ${config_module_list} PARENT_SCOPE) + +endfunction() + diff --git a/cmake/configs/config_posix_eagle_hil.cmake b/cmake/configs/config_posix_eagle_hil.cmake new file mode 100644 index 0000000000..ebe148ab37 --- /dev/null +++ b/cmake/configs/config_posix_eagle_hil.cmake @@ -0,0 +1,37 @@ +include(posix/px4_impl_posix-arm) + +function(px4_set_config_modules out_module_list) + + set(config_module_list + drivers/device + drivers/boards/sitl + drivers/led + + systemcmds/param + systemcmds/ver + + modules/mavlink + + modules/systemlib + modules/uORB + modules/sensors + modules/dataman + modules/sdlog2 + modules/simulator + modules/commander + + lib/mathlib + lib/mathlib/math/filter + lib/geo + lib/geo_lookup + lib/conversion + + platforms/posix/px4_layer + platforms/posix/work_queue + modules/muorb/krait + ) + + set(${out_module_list} ${config_module_list} PARENT_SCOPE) + +endfunction() + diff --git a/cmake/configs/config_posix_eagle_muorb.cmake b/cmake/configs/config_posix_eagle_muorb.cmake new file mode 100644 index 0000000000..70235928ec --- /dev/null +++ b/cmake/configs/config_posix_eagle_muorb.cmake @@ -0,0 +1,19 @@ +include(posix/px4_impl_posix-arm) + +function(px4_set_config_modules out_module_list) + + set(config_module_list + drivers/device + + modules/uORB + + platforms/posix/px4_layer + platforms/posix/work_queue + + modules/muorb/krait + ) + + set(${out_module_list} ${config_module_list} PARENT_SCOPE) + +endfunction() + diff --git a/cmake/configs/config_posix_eagle_release.cmake b/cmake/configs/config_posix_eagle_release.cmake new file mode 100644 index 0000000000..745fa36826 --- /dev/null +++ b/cmake/configs/config_posix_eagle_release.cmake @@ -0,0 +1,32 @@ +include(posix/px4_impl_posix-arm) + +function(px4_set_config_modules out_module_list) + + set(config_module_list + drivers/device + + systemcmds/param + systemcmds/ver + + modules/mavlink + + modules/systemlib + modules/uORB + modules/dataman + + lib/mathlib + lib/mathlib/math/filter + lib/geo + lib/geo_lookup + lib/conversion + + platforms/posix/px4_layer + platforms/posix/work_queue + + modules/muorb/krait + ) + + set(${out_module_list} ${config_module_list} PARENT_SCOPE) + +endfunction() + diff --git a/cmake/configs/config_qurt_eagle_hello.cmake b/cmake/configs/config_qurt_eagle_hello.cmake new file mode 100644 index 0000000000..6da3d11574 --- /dev/null +++ b/cmake/configs/config_qurt_eagle_hello.cmake @@ -0,0 +1,30 @@ +include(qurt/px4_impl_qurt) + +function(px4_set_config_modules out_module_list) + + set(config_module_list + drivers/device + + # + # System commands + # + systemcmds/param + + # + # Library modules + # + modules/systemlib + modules/uORB + + # + # QuRT port + # + platforms/common + platforms/qurt/px4_layer + platforms/posix/work_queue + platforms/qurt/tests/hello + ) + set(${out_module_list} ${config_module_list} PARENT_SCOPE) + +endfunction() + diff --git a/cmake/configs/config_qurt_eagle_hil.cmake b/cmake/configs/config_qurt_eagle_hil.cmake new file mode 100644 index 0000000000..5e7e7fc16c --- /dev/null +++ b/cmake/configs/config_qurt_eagle_hil.cmake @@ -0,0 +1,66 @@ +include(qurt/px4_impl_qurt) + +function(px4_set_config_modules out_module_list) + + set(config_module_list + drivers/device + drivers/boards/sitl + drivers/pwm_out_sim + drivers/led + drivers/rgbled + modules/sensors + + # + # System commands + # + systemcmds/param + systemcmds/mixer + + # + # Estimation modules (EKF/ SO3 / other filters) + # + #modules/attitude_estimator_ekf + modules/ekf_att_pos_estimator + modules/attitude_estimator_q + modules/position_estimator_inav + + # + # Vehicle Control + # + modules/mc_att_control + modules/mc_pos_control + + # + # Library modules + # + modules/systemlib + modules/systemlib/mixer + modules/uORB + modules/commander + + # + # Libraries + # + lib/mathlib + lib/mathlib/math/filter + lib/geo + lib/geo_lookup + lib/conversion + modules/controllib + + # + # QuRT port + # + platforms/common + platforms/qurt/px4_layer + platforms/posix/work_queue + + # + # sources for muorb over fastrpc + # + modules/muorb/adsp + ) + set(${out_module_list} ${config_module_list} PARENT_SCOPE) + +endfunction() + diff --git a/cmake/configs/config_qurt_eagle_muorb.cmake b/cmake/configs/config_qurt_eagle_muorb.cmake new file mode 100644 index 0000000000..5cf884baf1 --- /dev/null +++ b/cmake/configs/config_qurt_eagle_muorb.cmake @@ -0,0 +1,44 @@ +include(qurt/px4_impl_qurt) + +function(px4_set_config_modules out_module_list) + + set(config_module_list + drivers/device + + # + # System commands + # + systemcmds/param + + # + # Library modules + # + modules/systemlib + modules/uORB + + # + # Libraries + # + lib/mathlib + lib/mathlib/math/filter + lib/geo + lib/geo_lookup + lib/conversion + + # + # QuRT port + # + platforms/common + platforms/qurt/px4_layer + platforms/posix/work_queue + platforms/qurt/tests/muorb + + # + # sources for muorb over fastrpc + # + modules/muorb/adsp + ) + set(${out_module_list} ${config_module_list} PARENT_SCOPE) + +endfunction() + diff --git a/cmake/configs/config_qurt_eagle_release.cmake b/cmake/configs/config_qurt_eagle_release.cmake new file mode 100644 index 0000000000..3bf19fb16f --- /dev/null +++ b/cmake/configs/config_qurt_eagle_release.cmake @@ -0,0 +1,86 @@ +include(qurt/px4_impl_qurt) + +if ("${HEXAGON_DRIVERS_ROOT}" STREQUAL "") + message(FATAL_ERROR "HEXAGON_DRIVERS_ROOT is not set") +endif() + +if ("${EAGLE_DRIVERS_SRC}" STREQUAL "") + message(FATAL_ERROR "EAGLE_DRIVERS_SRC is not set") +endif() + +include_directories(${HEXAGON_DRIVERS_ROOT}/inc) + +# For Actual flight we need to link against the driver dynamic libraries +set(target_libraries + -L${HEXAGON_DRIVERS_ROOT}/libs + mpu9x50 + uart_esc + csr_gps + rc_receiver + ) + +function(px4_set_config_modules out_module_list) + + set(config_module_list + # + # Board support modules + # + drivers/device + modules/sensors + $(EAGLE_DRIVERS_SRC)/mpu9x50 + $(EAGLE_DRIVERS_SRC)/uart_esc + $(EAGLE_DRIVERS_SRC)/rc_receiver + $(EAGLE_DRIVERS_SRC)/csr_gps + + # + # System commands + # + systemcmds/param + + # + # Estimation modules (EKF/ SO3 / other filters) + # + #modules/attitude_estimator_ekf + modules/ekf_att_pos_estimator + modules/attitude_estimator_q + modules/position_estimator_inav + + # + # Vehicle Control + # + modules/mc_att_control + modules/mc_pos_control + + # + # Library modules + # + modules/systemlib + modules/systemlib/mixer + modules/uORB + modules/commander + modules/controllib + + # + # Libraries + # + lib/mathlib + lib/mathlib/math/filter + lib/geo + lib/geo_lookup + lib/conversion + + # + # QuRT port + # + platforms/common + platforms/qurt/px4_layer + platforms/posix/work_queue + + # + # sources for muorb over fastrpc + # + modules/muorb/adsp + ) + set(${out_module_list} ${config_module_list} PARENT_SCOPE) + +endfunction() diff --git a/cmake/configs/config_qurt_eagle_test.cmake b/cmake/configs/config_qurt_eagle_test.cmake new file mode 100644 index 0000000000..bbb837b363 --- /dev/null +++ b/cmake/configs/config_qurt_eagle_test.cmake @@ -0,0 +1,41 @@ +include(qurt/px4_impl_qurt) + +function(px4_set_config_modules out_module_list) + + set(config_module_list + drivers/device + + # + # System commands + # + systemcmds/param + + # + # Library modules + # + modules/systemlib + modules/mixer + modules/uORB + + # + # Libraries + # + lib/mathlib + lib/mathlib/math/filter + lib/conversion + + # + # QuRT port + # + platforms/common + platforms/qurt/px4_layer + platforms/posix/work_queue + platforms/qurt/tests/hello + platforms/qurt/tests/vcdev_test + platforms/qurt/tests/hrt_test + platforms/qurt/tests/wqueue + ) + set(${out_module_list} ${config_module_list} PARENT_SCOPE) + +endfunction() + diff --git a/cmake/configs/config_qurt_hil_simple.cmake b/cmake/configs/config_qurt_eagle_travis.cmake similarity index 51% rename from cmake/configs/config_qurt_hil_simple.cmake rename to cmake/configs/config_qurt_eagle_travis.cmake index 6068991428..b8a21017b6 100644 --- a/cmake/configs/config_qurt_hil_simple.cmake +++ b/cmake/configs/config_qurt_eagle_travis.cmake @@ -1,5 +1,8 @@ include(qurt/px4_impl_qurt) +# Run a full link with build stubs to make sure qurt target isn't broken +set(QURT_ENABLE_STUBS 1) + function(px4_set_config_modules out_module_list) set(config_module_list @@ -10,48 +13,37 @@ function(px4_set_config_modules out_module_list) drivers/rgbled modules/sensors - # drivers/blinkm - # drivers/ms5611 - - # - # System commands - # + # + # System commands + # systemcmds/param systemcmds/mixer - # - # General system control - # - # modules/mavlink - - # - # Estimation modules (EKF/ SO3 / other filters) - # - # modules/attitude_estimator_ekf + # + # Estimation modules (EKF/ SO3 / other filters) + # + #modules/attitude_estimator_ekf modules/ekf_att_pos_estimator modules/attitude_estimator_q modules/position_estimator_inav - # - # Vehicle Control - # + # + # Vehicle Control + # modules/mc_att_control modules/mc_pos_control - # - # Library modules - # + # + # Library modules + # modules/systemlib modules/systemlib/mixer modules/uORB - #MODULES += modules/dataman - #MODULES += modules/sdlog2 - #MODULES += modules/simulator modules/commander - # - # Libraries - # + # + # Libraries + # lib/mathlib lib/mathlib/math/filter lib/geo @@ -59,28 +51,16 @@ function(px4_set_config_modules out_module_list) lib/conversion modules/controllib - # - # QuRT port - # + # + # QuRT port + # platforms/common platforms/qurt/px4_layer platforms/posix/work_queue - # platforms/posix/drivers/accelsim - # platforms/posix/drivers/gyrosim - # platforms/posix/drivers/adcsim - # platforms/posix/drivers/barosim - - # - # Unit tests - # - # platforms/qurt/tests/muorb - # platforms/posix/tests/vcdev_test - # platforms/posix/tests/hrt_test - # platforms/posix/tests/wqueue - # - # sources for muorb over fastrpc - # + # + # sources for muorb over fastrpc + # modules/muorb/adsp ) set(${out_module_list} ${config_module_list} PARENT_SCOPE) diff --git a/src/firmware/qurt/CMakeLists.txt b/src/firmware/qurt/CMakeLists.txt index f9c53c5853..e720715ef2 100644 --- a/src/firmware/qurt/CMakeLists.txt +++ b/src/firmware/qurt/CMakeLists.txt @@ -34,6 +34,7 @@ set_target_properties(mainapp PROPERTIES LINK_FLAGS ${main_link_flags}) target_link_libraries(mainapp -Wl,--whole-archive ${module_libraries} + ${target_libraries} m -Wl,--no-whole-archive -Wl,${TOOLSLIB}/pic/libstdc++.a) diff --git a/src/platforms/qurt/px4_layer/CMakeLists.txt b/src/platforms/qurt/px4_layer/CMakeLists.txt index 7385fa5b0f..c9720b7e8e 100644 --- a/src/platforms/qurt/px4_layer/CMakeLists.txt +++ b/src/platforms/qurt/px4_layer/CMakeLists.txt @@ -46,7 +46,18 @@ if ("${QURT_ENABLE_STUBS}" STREQUAL "1") ) endif() -set(CONFIG_SRC commands_${BOARD}.c) +# For Eagle, the commands are specific to the build config label +# e.g. config_qurt_eagle_hil uses commands_hil.c +if ("${BOARD}" STREQUAL "eagle") + + # The CI test target can use the hil commands + if ("${LABEL}" STREQUAL "travis") + set(CONFIG_SRC commands_hil.c) + else("${LABEL}" STREQUAL "travis") + set(CONFIG_SRC commands_${LABEL}.c) + endif() + +endif() px4_add_module( MODULE platforms__qurt__px4_layer diff --git a/src/platforms/qurt/px4_layer/commands_muorb_test.c b/src/platforms/qurt/px4_layer/commands_muorb.c similarity index 100% rename from src/platforms/qurt/px4_layer/commands_muorb_test.c rename to src/platforms/qurt/px4_layer/commands_muorb.c diff --git a/src/platforms/qurt/px4_layer/commands_adsp.c b/src/platforms/qurt/px4_layer/commands_release.c similarity index 100% rename from src/platforms/qurt/px4_layer/commands_adsp.c rename to src/platforms/qurt/px4_layer/commands_release.c diff --git a/src/platforms/qurt/px4_layer/commands_default.c b/src/platforms/qurt/px4_layer/commands_test.c similarity index 100% rename from src/platforms/qurt/px4_layer/commands_default.c rename to src/platforms/qurt/px4_layer/commands_test.c