Commit Graph

214 Commits

Author SHA1 Message Date
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
Peter Barker
9390539231 AP_Camera: tidy up usage of trigger_pic 2017-07-28 14:27:53 +01:00
Peter Barker
84ef63edc7 AP_Camera: camera is responsible for taking distance-based-images and logging 2017-07-28 14:27:53 +01:00
Peter Barker
31ffc83f64 AP_Camera: eliminate GCS_MAVLINK::send_statustext_all 2017-07-11 23:53:53 +01:00
Dr.-Ing. Amilcar Do Carmo Lucas
67620e87f0 AP_Camera: Improve the PWM parameters descriptions 2017-06-06 11:06:26 +10:00
Dr.-Ing. Amilcar Do Carmo Lucas
41a9402175 AP_Camera: Use SI units conventions in parameter units
Follow the rules from:
http://physics.nist.gov/cuu/Units/units.html
http://physics.nist.gov/cuu/Units/outside.html
and
http://physics.nist.gov/cuu/Units/checklist.html
one further constrain is that only printable (7bit) ASCII characters are allowed
2017-05-17 18:07:25 +10:00