Commit Graph

36 Commits

Author SHA1 Message Date
Andrew Tridgell 86e8731fc5 AP_Mount: fixed longitude subtraction 2021-07-04 08:19:11 +10:00
Peter Barker 7b9fbe3b30 AP_Mount: support MAV_MOUNT_MODE_HOME_LOCATION to point at HOME 2020-12-25 12:17:27 +11:00
Andy Piper f7f5880179 AP_Mount: make mount/gimbal inclusion configurable per-board and disable Solo gimbal on all 1MB boards 2020-08-04 09:18:14 +10:00
Randy Mackay 8ad9a49900 AP_Mount: ignore rc trim when calculating desired mount angles 2020-02-25 17:38:24 +09:00
Peter Barker 7b32f2876e AP_Mount: change type of roi_target_set to boolean 2019-11-12 07:52:22 +08:00
Peter Barker c649fd1468 AP_Mount: support sysid targetting 2019-11-12 07:52:22 +08:00
Peter Barker 7139c1121f AP_Mount: correct use of disparate altitude frames in AP_Mount 2019-11-05 19:55:45 +11:00
Peter Barker 47ad331135 AP_Mount: use AHRS singleton to get current position 2019-11-05 19:55:45 +11:00
Michael du Breuil 2d161e3594 AP_Mount: Remove unneeded headers 2019-04-05 20:12:53 +11:00
Peter Barker bdcb48d835 AP_Mount: use enum class for AltFrame enumeration 2019-03-19 10:31:18 +11:00
Peter Barker 2f3237143f AP_Mount: adjust for Location_Class and Location unification 2019-01-16 11:45:29 +11:00
Peter Barker 828317860a AP_Mount: adjust for location flags being moved out of union 2019-01-16 11:45:29 +11:00
Randy Mackay 9767c74311 AP_Mount: angle_input uses norm_input 2018-12-06 08:00:18 +09:00
Randy Mackay 5046c7fb91 AP_Mount: fix gimbal move to extreme before TX turned on 2018-12-06 08:00:18 +09:00
Andrew Tridgell 8f709b7a34 AP_Mount: fixed build warning 2018-11-11 07:08:59 +11:00
Peter Barker 178d26f8e3 AP_Mount: add general function for handling mavlink messages
AP_Mount: const parameters, add overrides, remove bad virtual declarations

AP_Mount: use AHRS singleton

AP_Mount: make status_msg pure-virtual and add override keyword

AP_Mount: handle deprecated mavlink control and configure msgs

AP_Mount: handle MAV_CMD_DO_MOUNT_CONFIGURE

AP_Mount: rename status_msg method to send_mount_status
2018-10-30 17:19:14 +11:00
Peter Barker c73beffe1b AP_Mount: factor out a rate_input_rad, const various functions 2018-10-30 11:07:53 +11:00
Peter Barker 2489234fcf AP_Mount: use rc() method to get rc singleton 2018-08-01 12:11:30 +09:00
Andrew Tridgell 4173432542 AP_Mount: adapt to new RC_Channel API 2017-01-12 17:39:37 +11:00
Przemek Lekston 6d65b351cd AP_Mount: allow computation of gps point target in earth fixed frame 2016-12-01 18:42:48 +09:00
Mathieu OTHACEHE 152edf7189 Global: remove mode line from headers
Using a global .dir-locals.el file is a better alternative than
reincluding the same emacs header in every file of the project.
2016-10-24 09:42:01 -02:00
dgrat 41661f815f AP_Math: Replace the pythagorous* functions with a variadic template
The new function can deal with a variable number of function parameters.
Additionally, I renamed the functions to norm(), because this is the
standard name used in several other projects.
2016-05-10 11:41:26 -03:00
skyscraper 8b9c96814b AP_Mount: Fix up after RC_Channels refactor
Further to refactor of RC_Channel class which included
adding get_xx set_xx methods, change reads and writes to the public members
to calls to  get and set functionsss

old public member(int16_t)   get function -> int16_t     set function (int16_t)
(expression where c is an object of type RC_Channel)
c.radio_in                     c.get_radio_in()           c.set_radio_in(v)
c.control_in                   c.get_control_in()         c.set_control_in(v)
c.servo_out                    c.get_servo_out()          c.set_servo_out(v)
c.pwm_out                      c.get_pwm_out()            // use existing
c.radio_out                    c.get_radio_out()          c.set_radio_out(v)
c.radio_max                    c.get_radio_max()          c.set_radio_max(v)
c.radio_min                    c.get_radio_min()          c.set_radio_min(v)
c.radio_trim                   c.get_radio_trim()         c.set_radio_trim(v);

c.min_max_configured() // return true if min and max are configured

Because data members of RC_Channels are now private and so cannot be written directly
 some overloads are provided in the Plane classes to provide the old functionality

new overload Plane::stick_mix_channel(RC_Channel *channel)
which forwards to the previously existing
void stick_mix_channel(RC_Channel *channel, int16_t &servo_out);

new overload Plane::channel_output_mixer(Rc_Channel* , RC_Channel*)const
which forwards to
(uint8_t mixing_type, int16_t & chan1, int16_t & chan2)const;

Rename functions

 RC_Channel_aux::set_radio_trim(Aux_servo_function_t function)
    to RC_Channel_aux::set_trim_to_radio_in_for(Aux_servo_function_t function)

 RC_Channel_aux::set_servo_out(Aux_servo_function_t function, int16_t value)
    to RC_Channel_aux::set_servo_out_for(Aux_servo_function_t function, int16_t value)

 Rationale:

        RC_Channel is a complicated class, which combines
        several functionalities dealing with stick inputs
        in pwm and logical units, logical and actual actuator
        outputs, unit conversion etc, etc
        The intent of this PR is to clarify existing use of
        the class. At the basic level it should now be possible
        to grep all places where private variable is set by
        searching for the set_xx function.

        (The wider purpose is to provide a more generic and
        logically simpler method of output mixing. This is a small step)
2016-05-10 16:21:15 +10:00
Randy Mackay fa0aa6f5c9 Mount: remove support for do-mount-configure as command long
Also fix bug in do-mount-control so that do-mount-control can switch mount into retract mode

Also removes ability to set which axis are stabilized through
ardupilotmega mount_configure message
2015-09-06 16:01:18 +09:00
squilter cc58ec917c Mount: add support for do_mount_control via command_long 2015-09-06 16:01:12 +09:00
Gustavo Jose de Sousa 8011579c5a AP_Mount: standardize inclusion of libaries headers
This commit changes the way libraries headers are included in source files:

 - If the header is in the same directory the source belongs to, so the
 notation '#include ""' is used with the path relative to the directory
 containing the source.

 - If the header is outside the directory containing the source, then we use
 the notation '#include <>' with the path relative to libraries folder.

Some of the advantages of such approach:

 - Only one search path for libraries headers.

 - OSs like Windows may have a better lookup time.
2015-08-11 16:38:20 +10:00
Grant Morphett 84ac8abc42 AP_Mount: Fixed a bug with wrapping of panning angles. 2015-06-22 09:32:26 +09:00
Randy Mackay 44d2ae06fb Mount: unix style line endings 2015-04-17 22:59:34 +09:00
Randy Mackay 8a3a7bdcd1 Mount: add set_angle_target method 2015-03-21 21:52:22 +09:00
Randy Mackay b3362d5829 Mount: calc_angle_to_location returns vehicle relative yaw 2015-03-21 05:56:16 +09:00
Andrew Tridgell 81f60bde06 AP_Mount: fill in all Location flags in ROI pointing 2015-02-03 09:49:17 +11:00
Andrew Tridgell 75b1330843 AP_Mount: fixed radians to degrees error 2015-02-03 09:49:17 +11:00
Andrew Tridgell 79cad28a25 AP_Mount: simplify some uses of frontend 2015-01-29 17:23:33 +11:00
Randy Mackay 72fec52f0f Mount_Backend: move set_roi_target, configure to backend 2015-01-29 14:05:07 +11:00
Randy Mackay 9d4210b82a Mount_Backend: move RC target handling to backend 2015-01-29 14:05:07 +11:00
Randy Mackay b3044ced1f Mount_Backend: move calc_angle_to_lcoation to backend 2015-01-29 14:05:07 +11:00