Commit Graph

240 Commits

Author SHA1 Message Date
Asif Khan 47977b1635 AP_Camera: add parameter CAMx_MNT_INST for associating camera with corresponding mount 2023-08-09 10:03:34 +09:00
Asif Khan 09e949173d AP_Camera: fix sending camera information and settings for each backend 2023-08-09 10:03:34 +09:00
Asif Khan 2141f06967 AP_Camera: add time based triggering support 2023-08-05 18:52:57 +10:00
Randy Mackay 1dc1d24f1e AP_Camera: add set lens support 2023-07-26 20:20:13 +09:00
Randy Mackay 7de2dac9ca AP_Camera: TYPE param desc gets None value 2023-07-26 17:33:18 +10:00
Asif Khan a5d4133a2c AP_Camera: add MNT log msg for mount's actual and target angles logging 2023-07-26 17:33:18 +10:00
Randy Mackay 75de6c0398 AP_Camera: mount backend implements set_tracking 2023-07-18 21:02:02 +09:00
Andrew Tridgell 4087e0b215 AP_Camera: removed set_blocking_writes 2023-07-12 17:06:02 +10:00
Peter Barker 82b0630c6a AP_Camera: add and use SetFocusResult 2023-07-05 16:28:42 +10:00
Asif Khan 82b709083c AP_Camera: add CAMx_OPTION support for start/stop recording when arm/Disarm 2023-07-05 09:07:53 +10:00
Peter Barker 2975656be5 AP_Camera: add option to disable relay and servorelay libraries 2023-06-20 09:36:39 +10:00
Randy Mackay 63b4b8b7d3 AP_Camera: support camera info and settings 2023-06-16 14:30:46 +10:00
Peter Barker c30cfb00b6 AP_Camera: remove use of AP_Mount.h from headers 2023-05-29 09:08:55 +10:00
Andrew Tridgell 7175318fbb AP_Camera: fixed build on cygwin with conflicting POINT 2023-05-10 17:10:20 +10:00
Randy Mackay 267cbf9a37 AP_Camera: camera state uses Vector2f 2023-05-08 21:26:35 +10:00
Randy Mackay ae09dc7d43 AP_Camera: remove unused tracking_p2 from camera state 2023-05-08 21:26:35 +10:00
Randy Mackay a6cc9f042a AP_Camera: support image tracking 2023-05-08 21:26:35 +10:00
Randy Mackay b2c31f8ad4 AP_Camera: remove unused auto_focus from camera state 2023-05-08 21:26:35 +10:00
Randy Mackay 8131b5bc3b AP_Camera: add comments clarifying mavlink methods purpose 2023-05-08 21:26:35 +10:00
Randy Mackay 2ff89498c5 AP_Camera: set_focus replaces set_manual/auto_focus 2023-04-26 22:55:47 +10:00
Randy Mackay a1ae189b17 AP_Camera: move ZoomType def to separate .h 2023-04-19 17:31:46 +10:00
Randy Mackay 9c72cf2a1e AP_Camera: move some includes to backend
also remove some redundant includes
2023-04-19 17:31:46 +10:00
Randy Mackay a9cc32d304 AP_Camera: reduce camera_state_t scope 2023-04-19 17:31:46 +10:00
Randy Mackay 6603a6c8c5 AP_Camera: set_zoom replaces set_zoom_step 2023-04-19 17:31:46 +10:00
Peter Barker f6fa509443 AP_Camera: add timestamp on parameter conversion function
...so we can remove this stuff more easily over time
2023-04-17 22:05:08 +01:00
Randy Mackay de4b1890f5 AP_Camera: add semaphore to allow multi-threaded access 2023-04-13 07:04:46 +10:00
Randy Mackay f357bc53fe AP_Camera: add scripting backend 2023-04-13 07:04:46 +10:00
Randy Mackay 58b73c3613 AP_Camera: constify get_instance 2023-04-13 07:04:46 +10:00
Randy Mackay 335de9cb88 AP_Camera: MAVLinkCamV2 limits vendor name to 32 chars
model name is also limited
2023-04-06 20:58:22 +10:00
Randy Mackay b328f84260 AP_Camera: add AP_CAMERA_MAVLINKCAMV2_ENABLED definition 2023-04-06 20:58:22 +10:00
Randy Mackay a9d271ff6a AP_Camera: MAVLinkCamV2 driver 2023-04-06 20:58:22 +10:00
Peter Barker 48544e3e70 AP_Camera: correct config boards include
Important to include AP_HAL_Boards.h directly, rather than relying on someone else having done it or getting it transitively
2023-03-19 09:08:41 +11:00
Randy Mackay 227daf31f7 AP_Camera: support mav-cmd-set-camera-zoom from GCS
also support focus and image capture commands
2023-03-16 07:47:01 +09:00
Randy Mackay 267f459c7e AP_Camera: remove unnecessary includes 2023-03-16 07:47:01 +09:00
Randy Mackay 9ccf08a0f8 AP_Camera: add handle_command_long 2023-03-16 07:47:01 +09:00
Peter Barker 2f95c5fa29 AP_Camera: save some bytes 2023-03-09 09:28:19 +11:00
Peter Barker 86930592c4 AP_Camera: add and use AP_CAMERA_SERVO_ENABLED 2023-03-08 19:11:30 +11:00
Peter Barker dea34086ac AP_Camera: add and use AP_CAMERA_RELAY_ENABLED 2023-03-08 19:11:30 +11:00
Peter Barker 5afbaea30b AP_Camera: tidy Solo Camera configuration 2023-03-08 19:11:30 +11:00
Peter Barker 020ef6d33a AP_Camera: add and use AP_CAMERA_MAVLINK_ENABLED 2023-03-08 19:11:30 +11:00
Peter Barker a0d4706643 AP_Camera: add and use AP_CAMERA_MOUNT_ENABLED 2023-03-08 19:11:30 +11:00
Randy Mackay 1977005bd9 AP_Camera: log image number 2023-03-01 18:18:51 +11:00
Randy Mackay 50bcf1f278 AP_Camera: frontend-backend split
logging gets instance and shorten Pitch field name to Pit
2023-03-01 18:18:51 +11:00
Andrew Tridgell 28690d66b2 AP_Camera: make trigger dist a float
the parameters and the callers all use float, we unnecessarily lose
precision here

thanks to D Przybysz for finding the issue
2023-02-08 16:59:45 +11:00
Peter Barker d13a4579e3 AP_Camera: avoid using struct Location
clang reports this could be a problem when compiling under some EABIs.  Remove it from most places as it is just noise, replace with class where we want to avoid including Location.h
2023-02-04 22:51:54 +11:00
Cam84Fr de8fa1a31a AP_Camera: add support for Runcam 2 4k 2023-01-31 17:57:40 +11:00
Andrew Tridgell 3c9452621b AP_Camera: fixed CAM_MIN_INTERVAL
delay the next photo until minimum interval is met, which is what the
documentation says. This fixes a nasty bug with mission plans where an
extra photo can be triggered by a camera trigger in a mission which
results in the number of CAM msgs being more than the number of images
on the microSD, which makes the mapping run unusable
2022-12-05 07:48:39 +11:00
Andy Piper de076ff259 AP_Camera: retry RunCam device info maximum number of times 2022-11-22 10:54:56 +11:00
Andy Piper 537eea76c8 AP_Camera: fix parameter caching with RunCam enablement and setup on 3-pos switch 2022-11-09 18:34:37 +11:00
Peter Barker 9d517f86f5 AP_Camera: set HAL_RUNCAM_ENABLED in minimize_features.inc 2022-11-02 18:40:09 +11:00
Peter Barker 0e0e2b19e5 AP_Camera: remove unneccesary includes of AP_Vehicle_Type.h 2022-11-02 18:35:48 +11:00
jackhong12 4a4f361a17 all: use CLASS_NO_COPY() macro 2022-10-04 11:23:04 +11:00
Randy Mackay 2ffe692706 AP_Camera: add record video zoom and focus 2022-09-30 15:17:29 +09:00
Peter Barker 9b2b21e531 AP_Camera: correct compilation for header changes 2022-09-27 09:26:45 +10:00
Peter Barker a18c87a120 AP_Camera: add and use AP_CAMERA_ENABLED 2022-09-21 11:58:38 +10:00
Iampete1 f3b2de9c15 AP_Camera: params always use set method 2022-08-03 13:43:48 +01:00
Henry Wurzburg 1e7fc17af3 AP_Camera: add note to desc's on how to determine GPIO pin numbers 2022-04-24 08:21:01 +09:00
Peter Barker 6a97056736 AP_Camera: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Peter Barker 1b970545c0 AP_Camera: include cleanups 2022-03-01 11:21:33 +11:00
Peter Barker 84e58c4f7f AP_Camera: rename AP_AHRS::get_position to get_location 2022-01-25 10:47:22 +11:00
Peter Barker 1835a63bfb AP_Camera: don't use stale image number in CAMERA_FEEDBACK 2021-11-17 18:48:00 +11:00
Peter Barker 8f1c255693 AP_Camera: stash information required for camera_feedback message
This means the data sent in the mavlink message is closer to the
information when the picture was taken, rather than when we decide we
have the space to send the mavlink message.  When we process the
deferred request to send the camera feedback message is up to the
vagaries of mavlink scheduling, so the data can become quite out-of-date
2021-11-17 18:48:00 +11:00
Andy Piper 9408c5711d AP_Camera: remove build dependant compile 2021-10-26 11:42:12 +11:00
Peter Barker 919dc26ff6 AP_Camera: use location methods to convert altitudes 2021-10-05 13:54:19 +11:00
Peter Barker 8ce4a1fce7 AP_Camera: use AP_AHRS singleton to get current location and home 2021-09-29 18:33:01 +10:00
Andy Piper cf257074c6 AP_Camera: support RunCam Hybrid correctly 2021-06-09 17:04:27 +10:00
Sebastian Roesner 50cac76e0b AP_Camera: Fix wrong comment in libraries/AP_Camera/AP_RunCam.cpp 2021-05-22 10:15:34 +10:00
Patrick José Pereira 5375980aa6 AP_Camera: Add missing const in member functions
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2021-02-03 18:45:14 +11:00
Josh Henderson d6dc8864db AP_Camera: Privatize AP_Camera 2021-02-02 10:10:17 +11:00
Andy Piper bd6b28e5d9 AP_Camera: if the RunCam supports both 2-key and 5-key control, use 2-key
adjust camera menus for Split4 4k
use power button to start/stop recording on Split4
2020-11-11 18:14:41 +11:00
Andy Piper ab1d0d53f3 AP_Camera: keep trying to initialize RunCam after boot 2020-09-16 18:00:53 +10:00
Andy Piper 88d8cdadb7 AP_Camera: make runcam check for osd menu before entering osd menu 2020-09-09 20:36:42 +10:00
Andy Piper cd60238e3d AP_Camera: make solo gimbal inclusion configurable per-board 2020-08-04 09:18:14 +10:00
Mirko Denecke 2dfc7c4108 AP_Camera: call update in update_trigger 2020-07-15 08:37:28 +09:00
Andy Piper ac5a7275bf AP_Camera: move crc8_dvb_s2 to AP_Math 2020-07-07 18:48:06 +10:00
Peter Barker ea03504af2 AP_Camera: rename 'enum aux_switch_pos_t' to 'enum class AuxSwitchPos' 2020-06-12 08:11:46 +10:00
Peter Barker d012cf8d47 AP_Camera: use new UARTDriver discard_input method 2020-05-26 09:20:32 +10:00
Tatsuya Yamaguchi f23e592057 AP_Camera: move get_channel_pos function to RC_Channels 2020-05-05 10:09:30 +09:00
Andy Piper b8878380d6 AP_Camera: add RunCam device type 2 documentation 2020-04-06 20:27:32 +10:00
Andy Piper e3d22b9d27 AP_Camera: if exiting a RunCam submenu reset the submenu index to the top 2020-04-06 20:15:38 +10:00
Gone4Dirt c97cc71382 AP_Camera: Correct trigger behaviour when cmd is switched off then on again 2020-03-31 10:05:40 +11:00
Andy Piper 387b5e7002 AP_Camera: bug fixes to support 5-key remote RunCams
allow the boot-time recording state to be configured
only process events on state transitions. Simplifies logic and debugging.
support regular Split 2s
allow menu enter/exit in 5-key mode
match betaflight with 5-Key OSD which requires an "enter" key
2020-02-20 19:58:43 +11:00
Matt Lawrence 05b94de9a0 AP_Camera: Make trigger type enum class 2020-02-18 11:13:27 +11:00
Matt Lawrence a2af217adf AP_Camera: Add handling of GoPro mavlink commands 2020-02-18 11:13:27 +11:00
Peter Barker 8b20c82a18 AP_Camera: send mavlink camera feedback message even if no logger 2020-01-27 17:03:06 -07:00
Andrew Tridgell f1dfb2e401 AP_Camera: fixed build on navio 2019-12-30 13:02:04 +11:00
Andrew Tridgell f10adebb10 AP_Camera: made runcam CAM_RC_TYPE an enable parameter 2019-12-30 13:02:04 +11:00
Andy Piper d8a58ebda4 AP_Camera: allow features override. Report OSD support. 2019-12-30 13:02:04 +11:00
Andy Piper 318a23537d AP_Camera: allow roll right to also enter menu 2019-12-30 13:02:04 +11:00
Andy Piper afcbc5ffdb AP_Camera: fixup OSD menu switching and button timings 2019-12-30 13:02:04 +11:00
Andy Piper 86d9cf7249 AP_Camera: better OSD control logic 2019-12-30 13:02:04 +11:00
Andy Piper 7ad9ce0a01 AP_Camera: add RunCam TYPE and CONTROL options for menu/OSD control 2019-12-30 13:02:04 +11:00
Andy Piper 0eddc8b589 AP_Camera: implementation of the RunCam device protocol for RC camera control
Allows control of 2-key and 5-key OSD menus and recording start/stop
OSD is disabled while in the RunCam menu but reinstated on exit
add arming checks to prevent arming while the OSD menu is enabled
2019-12-30 13:02:04 +11:00
Peter Barker 4780dc40b0 AP_Camera: use corrected version of send_to_components 2019-11-26 12:10:12 +11:00
Pierre Kancir 09f0f34fe5 AP_Camera: pass mavlink_message_t by const reference 2019-07-16 20:51:42 +10:00
Peter Barker 41bddf682f AP_Camera: remove unused includes 2019-07-09 12:47:18 +10:00
Peter Barker 01773d9025 AP_Camera: use singletons for relay and ahrs insead of storing references 2019-07-09 09:32:39 +10:00
Michael du Breuil fc3f09c6c0 AP_Camera: fixup includes 2019-04-05 20:12:53 +11:00
Tom Pittenger 58614fd96a AP_Camera: rename dataflash to logger 2019-03-28 16:40:57 +11:00
Dr.-Ing. Amilcar do Carmo Lucas dba80c95d5 AP_Camera: replace location_offset() and get_distance() function calls with Location object member function calls
This allows removing duplicated code
2019-02-28 11:44:09 +11:00