Commit Graph

219 Commits

Author SHA1 Message Date
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
Peter Barker caec67762e AP_Camera: move reliance on GCS into .cpp file 2019-02-15 08:15:45 +11:00
Tom Pittenger 7fc4003c69 AP_Camera: unify singleton naming to _singleton and get_singleton() 2019-02-10 19:09:58 -07:00
Peter Barker 6fc76a32af GLOBAL: use AP::logger() and strip redundant Log_ from methods 2019-01-18 18:08:20 +11:00
Peter Barker b47733142f GLOBAL: rename DataFlash_Class to AP_Logger 2019-01-18 18:08:20 +11:00
Peter Barker 4e7d64fd17 AP_Camera: adjust for location flags being moved out of union 2019-01-16 11:45:29 +11:00
Andrew Tridgell c1516da203 AP_Camera: use timestamp from trigger time
this avoids time inaccuracy from loop times in timestamps
2018-11-30 10:12:27 +11:00
ChrisBird d8281f3171 AP_Camera: Adding ability to control the Black Magic Micro Cinema Camera
via SBUS from the flight controller directly.  Handles the flipping of
certain channels.  Relies on change to SRV_Channel to add additional functions.
2018-10-30 11:12:01 +11:00
Peter Barker 049f61c943 AP_Camera: populate camera singleton 2018-08-04 11:34:41 +10:00
Peter Barker fb786b8d56 AP_Camera: add singleton 2018-08-01 12:11:30 +09:00
Michael du Breuil 6925dfb4ae AP_Camera: Remove usage of analogPinToDigitalPin 2018-07-11 23:09:52 -07:00
Michael du Breuil f8e9e57523 AP_Camera: reduce feedback pin timer work, remove unneeded inits 2018-07-09 16:42:17 -07:00
Patrick José Pereira 87c09f98cc AP_Camera: Change from labs to abs for floats
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2018-06-21 17:24:14 +01:00
Jacob Walser c4175be7aa AP_Camera: explicitly specify floats 2018-06-11 15:57:48 -04:00
Michael du Breuil 0e6213a4c6 Camera: Track number of completed events
Closes #3903
2018-03-13 00:00:56 +00:00
murata 5b3a402d36 AP_Camera: delete \n from the log using gcs().send_text 2018-02-02 09:40:05 +09:00
Andrew Tridgell 573a5bf3d0 AP_Camera: removed create() method for objects
See discussion here:

  https://github.com/ArduPilot/ardupilot/issues/7331

we were getting some uninitialised variables. While it only showed up in
AP_SbusOut, it means we can't be sure it won't happen on other objects,
so safest to remove the approach

Thanks to assistance from Lucas, Peter and Francisco
2017-12-14 08:12:28 +11:00
Peter Barker 7258fa81d9 AP_Camera: use GPS singleton 2017-11-16 15:28:37 +00:00
André Kjellstrup 1a63fd85d8 AP_Camera: Option to trig by distance only when in AUTO mode 2017-11-14 00:10:22 +00:00
Lucas De Marchi ddde53f84c AP_Camera: add static create method 2017-09-26 03:01:21 +01:00
Peter Barker bb06b02df6 AP_Camera: add const to some parameters 2017-07-28 14:32:58 +01:00
Peter Barker a94bf851eb AP_Camera: use multiplication in place of division 2017-07-28 14:27:53 +01:00