diff --git a/libraries/AP_OpticalFlow/AP_OpticalFlow_MSP.cpp b/libraries/AP_OpticalFlow/AP_OpticalFlow_MSP.cpp index b22ce333da..c3b3bba1a8 100644 --- a/libraries/AP_OpticalFlow/AP_OpticalFlow_MSP.cpp +++ b/libraries/AP_OpticalFlow/AP_OpticalFlow_MSP.cpp @@ -17,12 +17,14 @@ #include #include "AP_OpticalFlow_MSP.h" -#if HAL_MSP_ENABLED +#if HAL_MSP_OPTICALFLOW_ENABLED #define OPTFLOW_MSP_TIMEOUT_SEC 0.5f // 2Hz extern const AP_HAL::HAL& hal; +using namespace MSP; + // detect the device AP_OpticalFlow_MSP *AP_OpticalFlow_MSP::detect(OpticalFlow &_frontend) { @@ -89,7 +91,7 @@ void AP_OpticalFlow_MSP::update(void) } // handle OPTICAL_FLOW msp messages -void AP_OpticalFlow_MSP::handle_msp(const msp_opflow_sensor_t &pkt) +void AP_OpticalFlow_MSP::handle_msp(const MSP::msp_opflow_sensor_t &pkt) { // record time message was received // ToDo: add jitter correction @@ -102,4 +104,5 @@ void AP_OpticalFlow_MSP::handle_msp(const msp_opflow_sensor_t &pkt) count++; } -#endif //HAL_MSP_ENABLED \ No newline at end of file +#endif // HAL_MSP_OPTICALFLOW_ENABLED + diff --git a/libraries/AP_OpticalFlow/AP_OpticalFlow_MSP.h b/libraries/AP_OpticalFlow/AP_OpticalFlow_MSP.h index 22dd4ecb44..b6ad6bd424 100644 --- a/libraries/AP_OpticalFlow/AP_OpticalFlow_MSP.h +++ b/libraries/AP_OpticalFlow/AP_OpticalFlow_MSP.h @@ -3,7 +3,7 @@ #include "OpticalFlow.h" #include -#if HAL_MSP_ENABLED +#if HAL_MSP_OPTICALFLOW_ENABLED class AP_OpticalFlow_MSP : public OpticalFlow_backend { @@ -18,7 +18,7 @@ public: void update(void) override; // get update from msp - void handle_msp(const msp_opflow_sensor_t &pkt) override; + void handle_msp(const MSP::msp_opflow_sensor_t &pkt) override; // detect if the sensor is available static AP_OpticalFlow_MSP *detect(OpticalFlow &_frontend); @@ -34,4 +34,4 @@ private: uint16_t gyro_sum_count; // number of gyro sensor values in sum }; -#endif //HAL_MSP_ENABLED \ No newline at end of file +#endif // HAL_MSP_OPTICALFLOW_ENABLED diff --git a/libraries/AP_OpticalFlow/OpticalFlow.cpp b/libraries/AP_OpticalFlow/OpticalFlow.cpp index f5b776dc25..497c4a9fb5 100644 --- a/libraries/AP_OpticalFlow/OpticalFlow.cpp +++ b/libraries/AP_OpticalFlow/OpticalFlow.cpp @@ -137,9 +137,9 @@ void OpticalFlow::init(uint32_t log_bit) #endif break; case OpticalFlowType::MSP: -#if HAL_MSP_ENABLED +#if HAL_MSP_OPTICALFLOW_ENABLED backend = AP_OpticalFlow_MSP::detect(*this); -#endif //HAL_MSP_ENABLED +#endif break; case OpticalFlowType::SITL: #if CONFIG_HAL_BOARD == HAL_BOARD_SITL @@ -179,8 +179,8 @@ void OpticalFlow::handle_msg(const mavlink_message_t &msg) } } -#if HAL_MSP_ENABLED -void OpticalFlow::handle_msp(const msp_opflow_sensor_t &pkt) +#if HAL_MSP_OPTICALFLOW_ENABLED +void OpticalFlow::handle_msp(const MSP::msp_opflow_sensor_t &pkt) { // exit immediately if not enabled if (!enabled()) { @@ -191,7 +191,7 @@ void OpticalFlow::handle_msp(const msp_opflow_sensor_t &pkt) backend->handle_msp(pkt); } } -#endif //HAL_MSP_ENABLED +#endif //HAL_MSP_OPTICALFLOW_ENABLED void OpticalFlow::update_state(const OpticalFlow_state &state) { diff --git a/libraries/AP_OpticalFlow/OpticalFlow.h b/libraries/AP_OpticalFlow/OpticalFlow.h index 73cb4de845..91d3aecd89 100644 --- a/libraries/AP_OpticalFlow/OpticalFlow.h +++ b/libraries/AP_OpticalFlow/OpticalFlow.h @@ -24,9 +24,10 @@ #include #include -#if HAL_MSP_ENABLED -using namespace MSP; -#endif //HAL_MSP_ENABLED + +#ifndef HAL_MSP_OPTICALFLOW_ENABLED +#define HAL_MSP_OPTICALFLOW_ENABLED HAL_MSP_ENABLED && !HAL_MINIMIZE_FEATURES +#endif class OpticalFlow_backend; class AP_AHRS_NavEKF; @@ -74,10 +75,10 @@ public: // handle optical flow mavlink messages void handle_msg(const mavlink_message_t &msg); -#if HAL_MSP_ENABLED +#if HAL_MSP_OPTICALFLOW_ENABLED // handle optical flow msp messages - void handle_msp(const msp_opflow_sensor_t &pkt); -#endif //HAL_MSP_ENABLED + void handle_msp(const MSP::msp_opflow_sensor_t &pkt); +#endif // quality - returns the surface quality as a measure from 0 ~ 255 uint8_t quality() const { return _state.surface_quality; } diff --git a/libraries/AP_OpticalFlow/OpticalFlow_backend.h b/libraries/AP_OpticalFlow/OpticalFlow_backend.h index 429a0b16f5..9c76bd8005 100644 --- a/libraries/AP_OpticalFlow/OpticalFlow_backend.h +++ b/libraries/AP_OpticalFlow/OpticalFlow_backend.h @@ -38,10 +38,11 @@ public: // handle optical flow mavlink messages virtual void handle_msg(const mavlink_message_t &msg) {} -#if HAL_MSP_ENABLED +#if HAL_MSP_OPTICALFLOW_ENABLED // handle optical flow msp messages virtual void handle_msp(const MSP::msp_opflow_sensor_t &pkt) {} #endif + protected: // access to frontend OpticalFlow &frontend;