Commit Graph

310 Commits

Author SHA1 Message Date
Thomas Watson 1c08119dd9 AP_OpticalFlow: optimize DroneCAN subscription process
* remove unnecessary nullptr check, these are always called from an
  initialized AP_DroneCAN so if it's nullptr something has gone
  horrifically wrong

* pass in driver index instead of repeatedly calling function to get it

* simplify error handling; knowing exactly which allocation failed is not
  super helpful and one failing likely means subsequent ones will too,
  as it can only fail due to being out of memory
2024-11-18 10:30:29 +11:00
Peter Barker 25a6d579eb AP_OpticalFlow: tidy defaulting of Bebop OpticalFlow sensor type 2024-11-12 12:45:29 +11:00
Peter Barker 8b008a2a19 AP_OpticalFlow: tidy defaulting of OpticalFlow sensor type 2024-11-12 12:45:29 +11:00
Peter Barker 1dc87a0903 AP_OpticalFlow: simplify condition used for building onboard optical flow in
we're not being consistent in the use of defines to protect this feature; fix that
2024-08-13 10:45:31 +10:00
Andrew Tridgell ebc7cc2daf AP_OpticalFlow: cleanup printf warnings 2024-07-11 09:34:29 +10:00
Andrew Tridgell 7235c146fa AP_OpticalFlow: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Peter Barker 22988ac585 AP_OpticalFlow: correct comments on AP_OpticalFlow methods 2024-01-22 19:14:42 +11:00
Peter Barker db5591a0ea AP_OpticalFlow: allow compilation with HAL_LOGGING_ENABLED false 2024-01-17 18:25:55 +11:00
Peter Barker d2400ad39b AP_OpticalFlow: correct names of variables in HereFlow OF driver
my guess is that the heavy maths was moved out of the timer function
2024-01-10 09:44:58 +11:00
Peter Barker b1311d6d25 AP_OpticalFlow: move simulated height_agl into fdm structure
allows value to be shipped via multicast to simulated peripherals
2024-01-08 20:00:01 +11:00
Peter Barker f4d51fd8f5 AP_OpticalFlow: cope if AP_AHRS_ENABLED is 0 2024-01-03 17:35:54 +11:00
Randy Mackay 0f0bc78de9 AP_OpticalFlow: increase scaler param desc ranges 2023-11-14 10:57:30 +11:00
Peter Barker 59a4269624 AP_OpticalFlow: allow more libraries to compile with no HAL_GCS_ENABLED 2023-09-05 22:23:51 +10:00
Peter Barker 268dc489c1 AP_OpticalFlow: add missing internalerror include 2023-09-03 08:41:10 +10:00
Peter Barker a3f43b26ae AP_OpticalFlow: use vector rotate method 2023-07-18 11:19:57 +10:00
Peter Barker 8416730a8c AP_OpticalFlow: add and use AP_OPTICALFLOW_CALIBRATOR_ENABLED 2023-07-12 21:37:24 +10:00
Peter Barker f14aab29e5 AP_OpticalFlow: correct compilation when HAL_LOGGING_ENABLED is 0 2023-07-12 21:37:24 +10:00
Peter Barker b3dfeac812 AP_OpticalFlow: use minimize.inc for HAL_MSP_ENABLED and dependencies 2023-06-14 17:44:13 +10:00
Peter Barker 3e1388b7e6 AP_OpticalFlow: add and use AP_OpticalFlow_config.h 2023-05-09 10:56:13 +10:00
Andrew Tridgell d1d7cdfb52 AP_OpticalFlow: rename more variables, types and defines 2023-04-11 10:31:31 +10:00
Andrew Tridgell 6bc060d8ab AP_OpticalFlow: rename AP_UAVCAN to AP_DroneCAN 2023-04-08 07:11:23 +10:00
bugobliterator bcecda5c3f AP_Opticalflow: replace libuavcan with libcanard based driver 2023-03-29 17:16:39 +11:00
Peter Barker 988aa992bf AP_OpticalFlow: add and use a "bool read(c)" method to AP_HAL
this is much less likely to not work vs the int16_t equivalent
2023-03-22 17:59:11 +11:00
Peter Barker e06a0c6876 AP_OpticalFlow: add some units to OFCA log message
Mainly just to get the instance column to make graphing axes easier

pbarker@fx:~/rc/ardupilot(master)$ mavlogdump.py logs/00000003.BIN --t FMTU | grep 251
2022-12-12 09:41:47.06: FMTU {TimeUS : 62248424, FmtType : 251, UnitIds : s#-???, MultIds : F00000}
pbarker@fx:~/rc/ardupilot(master)$ mavlogdump.py logs/00000003.BIN --t FMT | grep OFCA
2022-12-12 09:41:46.48: FMT {Type : 251, Length : 25, Name : OFCA, Format : QBBfff, Columns : TimeUS,Axis,Num,FRate,BRate,LPred}

MAV> graph OFCA[1].
OFCA[1].Axis    OFCA[1].BRate   OFCA[1].FRate   OFCA[1].LPred   OFCA[1].Num     OFCA[1].TimeUS
MAV> graph OFCA[1].LPred
2022-12-12 13:27:25 +11:00
Stephen Dade e6b3028007 AP_OpticalFlow: Add support for fixed height optical flow 2022-12-01 08:03:47 +09:00
Peter Barker 0bea140239 AP_OpticalFlow: include cleanups 2022-11-08 09:49:19 +11:00
Peter Barker 46aebe3020 AP_OpticalFlow: allow use of OpticalFlow on SimOnHardWare 2022-08-24 18:27:32 +10:00
Peter Barker e45f938056 AP_OpticalFlow: rename OpticalFlow class to AP_OpticalFlow
Brings us in-line with other classes in ArduPilot.

Removes ambiguity with AP_HAL::OpticalFlow which can cause compilation errors as we start to make code more portable across targets
2022-08-18 14:24:01 +10:00
Iampete1 1a3391ebef AP_OpticalFlow: params always use set method 2022-08-03 13:43:48 +01:00
Peter Barker fa2c78f057 AP_OpticalFlow: tidy includes 2022-05-03 09:14:58 +10:00
murata 42d1fd984c AP_OpticalFlow: Change division to multiplication 2022-02-01 17:34:40 +11:00
Randy Mackay 7a35fa2214 AP_OpticalFlow: integrate calibrator 2022-01-29 08:26:12 +09:00
Randy Mackay 5a2bf89384 AP_OpticalFlow: add calibrator 2022-01-29 08:26:12 +09:00
Randy Mackay 8afe5b9e3b AP_OpticalFlow: update comment 2022-01-25 20:04:24 +09:00
Peter Barker 170b8da2fa AP_OpticalFlow: tighten scope on variables 2022-01-24 21:11:56 +09:00
Peter Barker d86c1c6fd1 AP_OpticalFlow: fix example when OpticalFlow compiled out 2022-01-06 13:35:51 +11:00
Peter Barker fdfdc9f999 AP_OpticalFlow: remove un-needed forward AP_AHRS declaration 2022-01-06 09:12:59 +11:00
Peter Barker f361d9b0d0 AP_OpticalFlow: create and use AP_OPTICALFLOW_ENABLED 2021-12-29 18:12:03 +11:00
Peter Barker 99ccbee474 AP_OpticalFlow: create and use AP_OPTICALFLOW_ENABLED
Including a define for each backend.
2021-12-29 18:12:03 +11:00
Peter Barker d8d73eb44c AP_OpticalFlow: adjust for backend file name change 2021-12-28 10:16:20 +11:00
Peter Barker 3a22ee2cc7 AP_OpticalFlow: rename OpticalFlow_backend files to include AP_ 2021-12-28 10:16:20 +11:00
Peter Barker 20c91c03a2 AP_OpticalFlow: rename OpticalFlow.cpp to AP_OpticalFlow.cpp 2021-12-28 10:16:20 +11:00
Peter Barker 3030c0b4f8 AP_OpticalFlow: adjust for rename of OpticalFlow.h to AP_OpticalFlow.h 2021-12-28 10:16:20 +11:00
Peter Barker e8fc4b33e1 AP_OpticalFlow: move OpticalFlow.h to AP_OpticalFlow.h 2021-12-28 10:16:20 +11:00
Hwurzburg 84d0cdb5d0 AP_OpticalFlow: change UAVCAN to DroneCAN in param metadata 2021-12-15 09:53:21 +11:00
Randy Mackay 9313535a35 AP_OpticalFlow: SITL driver applies _FX/YSCALER params 2021-08-24 16:49:04 +09:00
bugobliterator 392ba06f6e AP_OpticalFlow: change class name from SITL::SITL to SITL::SIM 2021-08-05 07:25:31 +10:00
Peter Barker ed5303d1b8 AP_OpticalFlow: rename for AHRS restructuring 2021-07-21 21:01:39 +10:00
Hwurzburg 0012074ef6 AP_OpticalFlow: make centideg metadata incr and range consistent 2021-05-25 10:10:18 +10:00
Tatsuya Yamaguchi c06ed9f7f5 AP_OpticalFlow: TYPE param becomes enable flag 2021-04-30 19:06:14 -04:00