From 372de3fca9de042bafed4f19bfa94f0c03ef79a3 Mon Sep 17 00:00:00 2001 From: James Goppert Date: Thu, 14 Apr 2016 18:14:22 -0400 Subject: [PATCH] Added LPE to testing, fix LPE logging, add SENS_EN_SF0X --- .travis.yml | 18 ++-- ROMFS/px4fmu_common/init.d/rcS | 86 +++++++++++-------- .../attitude_estimator_q_main.cpp | 6 +- src/modules/sensors/sensor_params.c | 10 +++ 4 files changed, 73 insertions(+), 47 deletions(-) diff --git a/.travis.yml b/.travis.yml index 0a67d096c2..1f4ba81a19 100644 --- a/.travis.yml +++ b/.travis.yml @@ -100,16 +100,19 @@ script: - git submodule update --quiet --init --recursive - echo 'Building POSIX Firmware..' && make posix_sitl_default - echo 'Running Tests..' && make posix_sitl_default test + - build_configs="\ + px4fmu-v1_default \ + px4fmu-v2_default \ + px4fmu-v2_lpe \ + mindpx4-v2_default \ + px4-stm32f4discovery_default \ + uavcan_firmware \ + px4fmu-v4_default" - if [ "${TRAVIS_OS_NAME}" = "linux" ]; then cd ${TRAVIS_BUILD_DIR} && make check_format && arm-none-eabi-gcc --version - && echo 'Building NuttX px4fmu-v1 Firmware..' && make px4fmu-v1_default - && echo 'Building NuttX px4fmu-v2 Firmware..' && make px4fmu-v2_default - && echo 'Building NuttX mindpx-v2 Firmware..' && make mindpx-v2_default - && echo 'Building UAVCAN node firmware..' && make uavcan_firmware - && echo 'Building NuttX px4fmu-v4 Firmware..' && make px4fmu-v4_default - && echo 'Building NuttX px4-stm32f4discovery Firmware..' && make px4-stm32f4discovery_default + && for config in $build_configs; do echo 'Building NuttX ${config} Firmware..' && make $config; done && echo 'Running Tests..' && make tests ; fi @@ -119,9 +122,10 @@ after_success: make package_firmware && cp build_px4fmu-v1_default/src/firmware/nuttx/nuttx-px4fmu-v1-default.px4 px4fmu-v1_default.px4 && cp build_px4fmu-v2_default/src/firmware/nuttx/nuttx-px4fmu-v2-default.px4 px4fmu-v2_default.px4 + && cp build_px4fmu-v2_lpe/src/firmware/nuttx/nuttx-px4fmu-v2-lpe.px4 px4fmu-v2_lpe.px4 && cp build_px4fmu-v4_default/src/firmware/nuttx/nuttx-px4fmu-v4-default.px4 px4fmu-v4_default.px4 && cp build_px4-stm32f4discovery_default/src/firmware/nuttx/nuttx-px4-stm32f4discovery-default.px4 px4-stm32f4discovery-default.px4 - && ./CI-Tools/s3cmd-put px4fmu-v1_default.px4 px4fmu-v2_default.px4 px4fmu-v4_default.px4 px4-stm32f4discovery-default.px4 build_px4fmu-v2_default/parameters.xml build_px4fmu-v2_default/airframes.xml CI-Tools/directory/index.html Firmware/$TRAVIS_BRANCH/ + && ./CI-Tools/s3cmd-put px4fmu-v1_default.px4 px4fmu-v2_default.px4 px4fmu-v2_lpe.px4 px4fmu-v4_default.px4 px4-stm32f4discovery-default.px4 build_px4fmu-v2_default/parameters.xml build_px4fmu-v2_default/airframes.xml CI-Tools/directory/index.html Firmware/$TRAVIS_BRANCH/ && ./CI-Tools/s3cmd-put Firmware.zip archives/Firmware/$TRAVIS_BRANCH/$TRAVIS_BUILD_ID/ && ./CI-Tools/s3cmd-put CI-Tools/directory/index.html archives/Firmware/$TRAVIS_BRANCH/ && ./CI-Tools/s3cmd-put CI-Tools/index.html index.html diff --git a/ROMFS/px4fmu_common/init.d/rcS b/ROMFS/px4fmu_common/init.d/rcS index 12842bbd2e..64d214ae52 100644 --- a/ROMFS/px4fmu_common/init.d/rcS +++ b/ROMFS/px4fmu_common/init.d/rcS @@ -569,6 +569,54 @@ then fi fi + # + # Optional drivers + # + + # Sensors on the PWM interface bank + if param compare SENS_EN_LL40LS 1 + then + if pwm_input start + then + if ll40ls start pwm + then + fi + fi + fi + + # sf0x lidar sensor + if param compare SENS_EN_SF0X 1 + then + sf0x start + fi + + if ver hwcmp PX4FMU_V4 + then + frsky_telemetry start -d /dev/ttyS6 + fi + + if ver hwcmp PX4FMU_V2 + then + # Check for flow sensor - as it is a background task, launch it last + px4flow start & + fi + + if ver hwcmp MINDPX_V2 + then + #mindxp also need flow + px4flow start & + fi + + # Start USB shell if no microSD present, MAVLink else + if [ $LOG_FILE == /dev/null ] + then + # Try to get an USB console + nshterm /dev/ttyACM0 & + else + mavlink start -r 800000 -d /dev/ttyACM0 -m config -x + fi + + # # Logging # @@ -818,44 +866,6 @@ unset TUNE_ERR # Boot is complete, inform MAVLink app(s) that the system is now fully up and running mavlink boot_complete -# Sensors on the PWM interface bank -if param compare SENS_EN_LL40LS 1 -then - if pwm_input start - then - if ll40ls start pwm - then - fi - fi -fi - -if ver hwcmp PX4FMU_V4 -then - frsky_telemetry start -d /dev/ttyS6 -fi - -if ver hwcmp PX4FMU_V2 -then - # Check for flow sensor - as it is a background task, launch it last - px4flow start & -fi - -if ver hwcmp MINDPX_V2 -then - #mindxp also need flow - px4flow start & -fi - -# Start USB shell if no microSD present, MAVLink else -if [ $LOG_FILE == /dev/null ] -then - # Try to get an USB console - nshterm /dev/ttyACM0 & -else - mavlink start -r 800000 -d /dev/ttyACM0 -m config -x -fi - - if [ $EXIT_ON_END == yes ] then echo "Exit from nsh" diff --git a/src/modules/attitude_estimator_q/attitude_estimator_q_main.cpp b/src/modules/attitude_estimator_q/attitude_estimator_q_main.cpp index 8dc677f7bd..7d9e3db2b2 100644 --- a/src/modules/attitude_estimator_q/attitude_estimator_q_main.cpp +++ b/src/modules/attitude_estimator_q/attitude_estimator_q_main.cpp @@ -651,9 +651,11 @@ void AttitudeEstimatorQ::task_main() est.vibe[2] = _voter_accel.get_vibration_offset(est.timestamp, 2); /* the instance count is not used here */ - int est_inst; + //int est_inst; /* publish to control state topic */ - orb_publish_auto(ORB_ID(estimator_status), &_est_state_pub, &est, &est_inst, ORB_PRIO_HIGH); + // TODO handle attitude states in position estimators instead so we can publish all data at once + // or we need to enable more thatn just one estimator_status topic + // orb_publish_auto(ORB_ID(estimator_status), &_est_state_pub, &est, &est_inst, ORB_PRIO_HIGH); } } } diff --git a/src/modules/sensors/sensor_params.c b/src/modules/sensors/sensor_params.c index 19d101a01d..9918cb03a9 100644 --- a/src/modules/sensors/sensor_params.c +++ b/src/modules/sensors/sensor_params.c @@ -2871,6 +2871,16 @@ PARAM_DEFINE_INT32(RC_RSSI_PWM_MIN, 2000); */ PARAM_DEFINE_INT32(SENS_EN_LL40LS, 0); +/** + * Enable sf0x driver + * + * @reboot_required true + * + * @boolean + * @group Sensor Enable + */ +PARAM_DEFINE_INT32(SENS_EN_SF0X, 0); + /** * Set the minimum PWM for the MAIN outputs *