From 3affe67c96c939a6a0a3420111dfddbef831105f Mon Sep 17 00:00:00 2001 From: Lorenz Meier Date: Sun, 23 Apr 2017 17:30:07 +0200 Subject: [PATCH] Enable BMI055 for FMUv5 and improve console handling --- cmake/configs/nuttx_px4fmu-v5_default.cmake | 1 + src/drivers/bmi055/CMakeLists.txt | 1 - src/drivers/bmi055/bmi055_main.cpp | 8 ++++++-- src/drivers/boards/px4fmu-v5/board_config.h | 6 +++--- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/cmake/configs/nuttx_px4fmu-v5_default.cmake b/cmake/configs/nuttx_px4fmu-v5_default.cmake index 9d8318fc13..1efcd9eaca 100644 --- a/cmake/configs/nuttx_px4fmu-v5_default.cmake +++ b/cmake/configs/nuttx_px4fmu-v5_default.cmake @@ -13,6 +13,7 @@ set(config_module_list drivers/airspeed drivers/blinkm drivers/bma180 + drivers/bmi055 drivers/bmi160 drivers/bmp280 drivers/boards/px4fmu-v5 diff --git a/src/drivers/bmi055/CMakeLists.txt b/src/drivers/bmi055/CMakeLists.txt index a7c48d907c..c871a2c232 100644 --- a/src/drivers/bmi055/CMakeLists.txt +++ b/src/drivers/bmi055/CMakeLists.txt @@ -35,7 +35,6 @@ px4_add_module( MAIN bmi055 STACK_MAIN 1200 COMPILE_FLAGS - -Weffc++ SRCS bmi055_accel.cpp bmi055_gyro.cpp diff --git a/src/drivers/bmi055/bmi055_main.cpp b/src/drivers/bmi055/bmi055_main.cpp index df52989bb5..fd0f2e4e66 100644 --- a/src/drivers/bmi055/bmi055_main.cpp +++ b/src/drivers/bmi055/bmi055_main.cpp @@ -1,3 +1,5 @@ +#include +#include #include "bmi055.hpp" /** driver 'main' command */ @@ -526,9 +528,11 @@ bmi055_main(int argc, char *argv[]) int ch; enum Rotation rotation = ROTATION_NONE; enum sensor_type sensor = BMI055_NONE; + int myoptind = 1; + const char *myoptarg = NULL; /* jump over start/off/etc and look at options first */ - while ((ch = getopt(argc, argv, "XR:AG")) != EOF) { + while ((ch = px4_getopt(argc, argv, "XR:AG", &myoptind, &myoptarg)) != EOF) { switch (ch) { case 'X': external_bus = true; @@ -552,7 +556,7 @@ bmi055_main(int argc, char *argv[]) } } - const char *verb = argv[optind]; + const char *verb = argv[myoptind]; if (sensor == BMI055_NONE) { bmi055::usage(); diff --git a/src/drivers/boards/px4fmu-v5/board_config.h b/src/drivers/boards/px4fmu-v5/board_config.h index eca76f8c0d..356083e918 100644 --- a/src/drivers/boards/px4fmu-v5/board_config.h +++ b/src/drivers/boards/px4fmu-v5/board_config.h @@ -133,12 +133,12 @@ __BEGIN_DECLS #define PX4_SPIDEV_ICM_20689 PX4_MK_SPI_SEL(PX4_SPI_BUS_SENSORS,0) #define PX4_SPIDEV_ICM_20602 PX4_MK_SPI_SEL(PX4_SPI_BUS_SENSORS,1) -#define PX4_SPIDEV_BMI055_GYRO PX4_MK_SPI_SEL(PX4_SPI_BUS_SENSORS,2) -#define PX4_SPIDEV_BMI055_ACCEL PX4_MK_SPI_SEL(PX4_SPI_BUS_SENSORS,3) +#define PX4_SPIDEV_BMI055_GYR PX4_MK_SPI_SEL(PX4_SPI_BUS_SENSORS,2) +#define PX4_SPIDEV_BMI055_ACC PX4_MK_SPI_SEL(PX4_SPI_BUS_SENSORS,3) #define PX4_SENSOR_BUS_CS_GPIO {GPIO_SPI_CS_ICM20689, GPIO_SPI_CS_ICM20602, GPIO_SPI_CS_BMI055_GYR, GPIO_SPI_CS_BMI055_ACC} #define PX4_SENSORS_BUS_FIRST_CS PX4_SPIDEV_ICM_20689 -#define PX4_SENSORS_BUS_LAST_CS PX4_SPIDEV_BMI055_ACCEL +#define PX4_SENSORS_BUS_LAST_CS PX4_SPIDEV_BMI055_ACC #define PX4_SPIDEV_MEMORY PX4_MK_SPI_SEL(PX4_SPI_BUS_MEMORY,0) #define PX4_MEMORY_BUS_CS_GPIO {GPIO_SPI_CS_MEMORY}