diff --git a/boards/airmind/mindpx-v2/default.cmake b/boards/airmind/mindpx-v2/default.cmake index 80773360673..9402a17fafd 100644 --- a/boards/airmind/mindpx-v2/default.cmake +++ b/boards/airmind/mindpx-v2/default.cmake @@ -33,10 +33,11 @@ px4_add_board( lights/rgbled magnetometer # all available magnetometer drivers mkblctrl + #optical_flow # all available optical flow drivers + optical_flow/px4flow pca9685 pwm_input pwm_out_sim - px4flow px4fmu rc_input stm32 diff --git a/boards/auav/x21/default.cmake b/boards/auav/x21/default.cmake index a72e3d740ac..90fcc9d1ed0 100644 --- a/boards/auav/x21/default.cmake +++ b/boards/auav/x21/default.cmake @@ -36,12 +36,13 @@ px4_add_board( #md25 mkblctrl lights/pca8574 + #optical_flow # all available optical flow drivers + #optical_flow/pmw3901 + optical_flow/px4flow pca9685 - #pmw3901 protocol_splitter pwm_input pwm_out_sim - px4flow px4fmu px4io roboclaw diff --git a/boards/av/x-v1/default.cmake b/boards/av/x-v1/default.cmake index a8fc9cefa02..8646da052ca 100644 --- a/boards/av/x-v1/default.cmake +++ b/boards/av/x-v1/default.cmake @@ -39,12 +39,11 @@ px4_add_board( magnetometer # all available magnetometer drivers #md25 mkblctrl + optical_flow # all available optical flow drivers pca9685 - pmw3901 #protocol_splitter #pwm_input pwm_out_sim - px4flow px4fmu rc_input #roboclaw diff --git a/boards/bitcraze/crazyflie/default.cmake b/boards/bitcraze/crazyflie/default.cmake index 1d454255c70..aae6d5b59c1 100644 --- a/boards/bitcraze/crazyflie/default.cmake +++ b/boards/bitcraze/crazyflie/default.cmake @@ -12,7 +12,7 @@ px4_add_board( distance_sensor/vl53lxx gps imu/mpu9250 - pmw3901 + optical_flow/pmw3901 px4fmu stm32 diff --git a/boards/intel/aerofc-v1/default.cmake b/boards/intel/aerofc-v1/default.cmake index 5c48c5764bd..47a23f02c15 100644 --- a/boards/intel/aerofc-v1/default.cmake +++ b/boards/intel/aerofc-v1/default.cmake @@ -23,8 +23,8 @@ px4_add_board( #magnetometer # all available magnetometer drivers magnetometer/hmc5883 magnetometer/ist8310 + #optical_flow/px4flow pwm_out_sim - #px4flow px4fmu rc_input stm32 diff --git a/boards/intel/aerofc-v1/rtps.cmake b/boards/intel/aerofc-v1/rtps.cmake index f8710b8e519..4056a6f64b8 100644 --- a/boards/intel/aerofc-v1/rtps.cmake +++ b/boards/intel/aerofc-v1/rtps.cmake @@ -24,9 +24,10 @@ px4_add_board( #magnetometer # all available magnetometer drivers magnetometer/hmc5883 magnetometer/ist8310 + #optical_flow # all available optical flow drivers + #optical_flow/px4flow protocol_splitter pwm_out_sim - #px4flow px4fmu rc_input stm32 diff --git a/boards/nxp/fmuk66-v3/default.cmake b/boards/nxp/fmuk66-v3/default.cmake index dc7dc960d7b..e1f88619144 100644 --- a/boards/nxp/fmuk66-v3/default.cmake +++ b/boards/nxp/fmuk66-v3/default.cmake @@ -40,10 +40,10 @@ px4_add_board( lights/rgbled_pwm magnetometer # all available magnetometer drivers mkblctrl + optical_flow/px4flow pca9685 #pwm_input # NOT Portable YET drivers pwm_out_sim - px4flow px4fmu rc_input tap_esc diff --git a/boards/omnibus/f4sd/default.cmake b/boards/omnibus/f4sd/default.cmake index 25ecce55436..479de8c79dd 100644 --- a/boards/omnibus/f4sd/default.cmake +++ b/boards/omnibus/f4sd/default.cmake @@ -29,10 +29,10 @@ px4_add_board( #magnetometer # all available magnetometer drivers magnetometer/hmc5883 #mkblctrl + optical_flow/px4flow #pca9685 #pwm_input #pwm_out_sim - px4flow px4fmu rc_input stm32 diff --git a/boards/px4/fmu-v2/default.cmake b/boards/px4/fmu-v2/default.cmake index 9e759bc4420..ccf06fabb0f 100644 --- a/boards/px4/fmu-v2/default.cmake +++ b/boards/px4/fmu-v2/default.cmake @@ -46,11 +46,12 @@ px4_add_board( #magnetometer # all available magnetometer drivers magnetometer/hmc5883 #mkblctrl + #optical_flow # all available optical flow drivers + optical_flow/px4flow #pca9685 #protocol_splitter #pwm_input pwm_out_sim - px4flow px4fmu px4io #roboclaw diff --git a/boards/px4/fmu-v2/lpe.cmake b/boards/px4/fmu-v2/lpe.cmake index aa54df43672..5e639c90478 100644 --- a/boards/px4/fmu-v2/lpe.cmake +++ b/boards/px4/fmu-v2/lpe.cmake @@ -43,11 +43,12 @@ px4_add_board( #magnetometer # all available magnetometer drivers magnetometer/hmc5883 #mkblctrl + #optical_flow # all available optical flow drivers + optical_flow/px4flow #pca9685 #protocol_splitter #pwm_input pwm_out_sim - px4flow px4fmu px4io stm32 diff --git a/boards/px4/fmu-v2/multicopter.cmake b/boards/px4/fmu-v2/multicopter.cmake index faa58e0babf..cbbfd3c5fcd 100644 --- a/boards/px4/fmu-v2/multicopter.cmake +++ b/boards/px4/fmu-v2/multicopter.cmake @@ -30,7 +30,7 @@ px4_add_board( irlock lights/rgbled magnetometer/hmc5883 - px4flow + optical_flow/px4flow px4fmu px4io stm32 diff --git a/boards/px4/fmu-v2/rover.cmake b/boards/px4/fmu-v2/rover.cmake index b7d6a1c72fb..473813db09e 100644 --- a/boards/px4/fmu-v2/rover.cmake +++ b/boards/px4/fmu-v2/rover.cmake @@ -28,7 +28,7 @@ px4_add_board( imu/mpu9250 lights/rgbled magnetometer/hmc5883 - px4flow + optical_flow/px4flow px4fmu px4io stm32 diff --git a/boards/px4/fmu-v2/test.cmake b/boards/px4/fmu-v2/test.cmake index 8c660a2da21..7f631eb9bac 100644 --- a/boards/px4/fmu-v2/test.cmake +++ b/boards/px4/fmu-v2/test.cmake @@ -43,11 +43,12 @@ px4_add_board( #magnetometer # all available magnetometer drivers magnetometer/hmc5883 #mkblctrl + #optical_flow # all available optical flow drivers + optical_flow/px4flow #pca9685 #protocol_splitter #pwm_input #pwm_out_sim - px4flow px4fmu px4io stm32 diff --git a/boards/px4/fmu-v3/default.cmake b/boards/px4/fmu-v3/default.cmake index 6b81d64819d..7bc87cb6553 100644 --- a/boards/px4/fmu-v3/default.cmake +++ b/boards/px4/fmu-v3/default.cmake @@ -45,12 +45,12 @@ px4_add_board( #md25 mkblctrl lights/pca8574 + #optical_flow # all available optical flow drivers + optical_flow/px4flow pca9685 - #pmw3901 protocol_splitter pwm_input pwm_out_sim - px4flow px4fmu px4io roboclaw diff --git a/boards/px4/fmu-v3/rtps.cmake b/boards/px4/fmu-v3/rtps.cmake index cb3a8e6b4b4..1ebe58ba219 100644 --- a/boards/px4/fmu-v3/rtps.cmake +++ b/boards/px4/fmu-v3/rtps.cmake @@ -43,13 +43,13 @@ px4_add_board( magnetometer # all available magnetometer drivers #md25 mkblctrl + #optical_flow # all available optical flow drivers + optical_flow/px4flow lights/pca8574 pca9685 - #pmw3901 protocol_splitter pwm_input pwm_out_sim - px4flow px4fmu px4io roboclaw diff --git a/boards/px4/fmu-v3/stackcheck.cmake b/boards/px4/fmu-v3/stackcheck.cmake index eebec26e93f..693b4e0e86d 100644 --- a/boards/px4/fmu-v3/stackcheck.cmake +++ b/boards/px4/fmu-v3/stackcheck.cmake @@ -44,12 +44,12 @@ px4_add_board( magnetometer # all available magnetometer drivers #md25 mkblctrl + #optical_flow # all available optical flow drivers + optical_flow/px4flow pca9685 - #pmw3901 protocol_splitter pwm_input pwm_out_sim - px4flow px4fmu px4io roboclaw diff --git a/boards/px4/fmu-v4/default.cmake b/boards/px4/fmu-v4/default.cmake index a3b0cc02c35..d7a564dccfc 100644 --- a/boards/px4/fmu-v4/default.cmake +++ b/boards/px4/fmu-v4/default.cmake @@ -32,11 +32,10 @@ px4_add_board( lights/rgbled_ncp5623c magnetometer # all available magnetometer drivers mkblctrl + optical_flow # all available optical flow drivers pca9685 - pmw3901 pwm_input pwm_out_sim - px4flow px4fmu rc_input stm32 diff --git a/boards/px4/fmu-v4/rtps.cmake b/boards/px4/fmu-v4/rtps.cmake index 966e66cfc93..1d62640f4a8 100644 --- a/boards/px4/fmu-v4/rtps.cmake +++ b/boards/px4/fmu-v4/rtps.cmake @@ -32,11 +32,12 @@ px4_add_board( lights/rgbled_ncp5623c magnetometer # all available magnetometer drivers mkblctrl + #optical_flow # all available optical flow drivers + optical_flow/px4flow pca9685 protocol_splitter pwm_input pwm_out_sim - px4flow px4fmu rc_input stm32 diff --git a/boards/px4/fmu-v4/stackcheck.cmake b/boards/px4/fmu-v4/stackcheck.cmake index 856fb4ffdc8..603b8a751a8 100644 --- a/boards/px4/fmu-v4/stackcheck.cmake +++ b/boards/px4/fmu-v4/stackcheck.cmake @@ -32,11 +32,10 @@ px4_add_board( lights/rgbled_ncp5623c magnetometer # all available magnetometer drivers mkblctrl + optical_flow # all available optical flow drivers pca9685 - pmw3901 pwm_input pwm_out_sim - px4flow px4fmu rc_input stm32 diff --git a/boards/px4/fmu-v4pro/default.cmake b/boards/px4/fmu-v4pro/default.cmake index 2d515b20d33..283144fa34b 100644 --- a/boards/px4/fmu-v4pro/default.cmake +++ b/boards/px4/fmu-v4pro/default.cmake @@ -43,12 +43,12 @@ px4_add_board( magnetometer # all available magnetometer drivers #md25 mkblctrl + #optical_flow # all available optical flow drivers + optical_flow/px4flow pca9685 - #pmw3901 #protocol_splitter pwm_input pwm_out_sim - px4flow px4fmu px4io roboclaw diff --git a/boards/px4/fmu-v4pro/rtps.cmake b/boards/px4/fmu-v4pro/rtps.cmake index 388e827dce0..2832a67a871 100644 --- a/boards/px4/fmu-v4pro/rtps.cmake +++ b/boards/px4/fmu-v4pro/rtps.cmake @@ -42,12 +42,12 @@ px4_add_board( #md25 mkblctrl lights/pca8574 + #optical_flow # all available optical flow drivers + optical_flow/px4flow pca9685 - #pmw3901 protocol_splitter pwm_input pwm_out_sim - px4flow px4fmu px4io roboclaw diff --git a/boards/px4/fmu-v5/default.cmake b/boards/px4/fmu-v5/default.cmake index 31dc34d5429..97053a2524c 100644 --- a/boards/px4/fmu-v5/default.cmake +++ b/boards/px4/fmu-v5/default.cmake @@ -42,13 +42,12 @@ px4_add_board( magnetometer # all available magnetometer drivers #md25 mkblctrl + optical_flow # all available optical flow drivers pca9685 - pmw3901 power_monitor/ina226 #protocol_splitter pwm_input pwm_out_sim - px4flow px4fmu px4io rc_input diff --git a/boards/px4/fmu-v5/multicopter.cmake b/boards/px4/fmu-v5/multicopter.cmake index 0179304b93f..b28c2d24a6a 100644 --- a/boards/px4/fmu-v5/multicopter.cmake +++ b/boards/px4/fmu-v5/multicopter.cmake @@ -33,10 +33,9 @@ px4_add_board( lights/rgbled_ncp5623c lights/rgbled_pwm magnetometer # all available magnetometer drivers - pmw3901 + optical_flow # all available optical flow drivers pwm_input pwm_out_sim - px4flow px4fmu px4io rc_input diff --git a/boards/px4/fmu-v5/rover.cmake b/boards/px4/fmu-v5/rover.cmake index d997a906ece..f6f12411954 100644 --- a/boards/px4/fmu-v5/rover.cmake +++ b/boards/px4/fmu-v5/rover.cmake @@ -32,11 +32,10 @@ px4_add_board( magnetometer # all available magnetometer drivers #md25 mkblctrl + optical_flow # all available optical flow drivers pca9685 - pmw3901 pwm_input pwm_out_sim - px4flow px4fmu px4io rc_input diff --git a/boards/px4/fmu-v5/rtps.cmake b/boards/px4/fmu-v5/rtps.cmake index 527ea2114fd..fc693ca29da 100644 --- a/boards/px4/fmu-v5/rtps.cmake +++ b/boards/px4/fmu-v5/rtps.cmake @@ -41,12 +41,11 @@ px4_add_board( magnetometer # all available magnetometer drivers #md25 mkblctrl + optical_flow # all available optical flow drivers pca9685 - pmw3901 protocol_splitter pwm_input pwm_out_sim - px4flow px4fmu px4io rc_input diff --git a/boards/px4/fmu-v5/stackcheck.cmake b/boards/px4/fmu-v5/stackcheck.cmake index 9728d25bc63..c244a85b771 100644 --- a/boards/px4/fmu-v5/stackcheck.cmake +++ b/boards/px4/fmu-v5/stackcheck.cmake @@ -41,12 +41,11 @@ px4_add_board( magnetometer # all available magnetometer drivers #md25 mkblctrl + optical_flow # all available optical flow drivers pca9685 - pmw3901 #protocol_splitter pwm_input pwm_out_sim - px4flow px4fmu px4io rc_input diff --git a/src/drivers/optical_flow/CMakeLists.txt b/src/drivers/optical_flow/CMakeLists.txt new file mode 100644 index 00000000000..6040da07452 --- /dev/null +++ b/src/drivers/optical_flow/CMakeLists.txt @@ -0,0 +1,35 @@ +############################################################################ +# +# Copyright (c) 2019 PX4 Development Team. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name PX4 nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +add_subdirectory(px4flow) +add_subdirectory(pmw3901) diff --git a/src/drivers/pmw3901/CMakeLists.txt b/src/drivers/optical_flow/pmw3901/CMakeLists.txt similarity index 100% rename from src/drivers/pmw3901/CMakeLists.txt rename to src/drivers/optical_flow/pmw3901/CMakeLists.txt diff --git a/src/drivers/pmw3901/pmw3901.cpp b/src/drivers/optical_flow/pmw3901/pmw3901.cpp similarity index 100% rename from src/drivers/pmw3901/pmw3901.cpp rename to src/drivers/optical_flow/pmw3901/pmw3901.cpp diff --git a/src/drivers/px4flow/CMakeLists.txt b/src/drivers/optical_flow/px4flow/CMakeLists.txt similarity index 100% rename from src/drivers/px4flow/CMakeLists.txt rename to src/drivers/optical_flow/px4flow/CMakeLists.txt diff --git a/src/drivers/px4flow/i2c_frame.h b/src/drivers/optical_flow/px4flow/i2c_frame.h similarity index 100% rename from src/drivers/px4flow/i2c_frame.h rename to src/drivers/optical_flow/px4flow/i2c_frame.h diff --git a/src/drivers/px4flow/px4flow.cpp b/src/drivers/optical_flow/px4flow/px4flow.cpp similarity index 100% rename from src/drivers/px4flow/px4flow.cpp rename to src/drivers/optical_flow/px4flow/px4flow.cpp