Commit Graph

243 Commits

Author SHA1 Message Date
Randy Mackay 6a0b56ee77 AP_Mount: fix extreme gimbal movements before TX is turned on 2018-12-20 09:02:02 +09:00
Andrew Tridgell 6df5295299 AP_Mount: removed ADC.h include 2018-08-02 12:38:52 +09:00
Peter Barker 9f556197a0 AP_Mount: use ins singleton 2018-03-16 00:37:35 -07:00
Peter Barker 0652c89844 AP_Mount: use dataflash singleton
Closes #7550
2018-03-15 07:57:50 +09:00
Peter Barker ea75dd2d59 AP_Mount: correct compiler warnings
In file included from ../../libraries/AP_Mount/SoloGimbal.cpp:5:
../../libraries/AP_Mount/SoloGimbal.h:122:11: warning: private field
'_yaw_rate_ff_ef_filt' is not used [-Wunused-private-field]
    float _yaw_rate_ff_ef_filt;
          ^
../../libraries/AP_Mount/SoloGimbal.h:140:23: warning: private field
'_chan' is not used [-Wunused-private-field]
    mavlink_channel_t _chan;
                      ^
2 warnings generated.
2018-03-02 09:26:37 +09:00
Peter Barker fb3cba3867 AP_Mount: use GPS singleton 2017-12-27 00:58:02 +00:00
Andrew Tridgell 3d2c81ff05 AP_Mount: 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
Lucas De Marchi 563f9bfe89 AP_Mount: add static create method 2017-09-26 03:01:21 +01:00
Lucas De Marchi b3d8c0fc08 AP_Mount: use DataFlash_Class::instance()
Instead of requiring DataFlash_Class reference to be passed
on the init() function, get it from the singleton directly.
2017-09-26 03:01:21 +01:00
Dr.-Ing. Amilcar Do Carmo Lucas 823bf217d9 AP_Mount: 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
Pierre Kancir 0be022694a AP_Mount: example fix travis warning
missing function declaration
implicit cast
some style fix
2017-04-13 19:56:16 +01:00
Michael du Breuil 7f11cf3ca6 AP_Mount: Remove solo gimbal from the minimal build support 2017-03-06 11:53:08 +11:00
murata 2d32211c81 AP_Mount: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
Andrew Tridgell 4173432542 AP_Mount: adapt to new RC_Channel API 2017-01-12 17:39:37 +11:00
Nacho Carnicero bc9facf608 AP_Mount: Fix Alexmos gimbal Mavlink targeting mode 2017-01-05 02:16:32 +00:00
priseborough 6d086e0c31 AP_Mount: remove EKF1 2016-12-19 08:07:10 +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
murata c808ee2f49 Global: To nullptr from NULL.
RC_Channel: To nullptr from NULL.

AC_Fence: To nullptr from NULL.

AC_Avoidance: To nullptr from NULL.

AC_PrecLand: To nullptr from NULL.

DataFlash: To nullptr from NULL.

SITL: To nullptr from NULL.

GCS_MAVLink: To nullptr from NULL.

DataFlash: To nullptr from NULL.

AP_Compass: To nullptr from NULL.

Global: To nullptr from NULL.

Global: To nullptr from NULL.
2016-11-02 16:04:47 -02: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
Lucas De Marchi ae53920e5b build: don't build examples with old build system
We currently check examples are buildable with waf which doesn't need
the libraries to be specified in a make.inc file.  Having the makefiles
there is misleading since people try to build and realize the build is
broken.
2016-10-11 13:03:08 +11:00
Murilo Belluzzo 077e03678f Global: Adapt Stream class to be used with Ringbuffer 2016-08-03 01:44:02 -03:00
Andrew Tridgell 1f2216982d AP_Mount: fixed typo 2016-07-01 15:35:34 +10:00
Gustavo Jose de Sousa f9cb760691 AP_Mount: use ARRAY_SUBSCRIPT instead of bytes field
That fixed compilation issues and seems more semantically correct. Using array
of length 0 fails compilation because of -Werror=array-bounds in GCC 6.1.
2016-06-23 21:02:05 -03:00
Andrew Tridgell ac8c4d9beb AP_Mount: use zero length flexible arrays in unions 2016-05-25 19:55:49 +10:00
Andrew Tridgell f377787444 AP_Mount: always build with MAVLink2 headers 2016-05-21 15:25:16 +10:00
Andrew Tridgell ec62d8f4ca AP_Mount: use HAVE_PAYLOAD_SPACE() 2016-05-21 15:25:14 +10:00
Andrew Tridgell 0ef5d8995b AP_Mount: support mavlink2 build 2016-05-21 15:25:12 +10:00
Lucas De Marchi 421b9ef54a AP_Mount do not use flexible array in union
We actually don't want a flexible array in this union, but rather a way
to access it byte by byte. This fixes the build for gcc >= 6

In file included from ../../libraries/AP_GPS/AP_GPS_UBLOX.cpp:23:0:
../../libraries/AP_GPS/AP_GPS_UBLOX.h:387:23: error: flexible array member in union
         uint8_t bytes[];
                       ^
compilation terminated due to -Wfatal-errors.

In file included from ../../libraries/AP_Mount/AP_Mount.cpp:9:0:
../../libraries/AP_Mount/AP_Mount_Alexmos.h:291:23: error: flexible array member in union
         uint8_t bytes[];
                       ^
compilation terminated due to -Wfatal-errors.
2016-05-16 13:50:56 -03:00
Ricardo de Almeida Gonzaga fcbed13533 AP_Mount: Fix typos 2016-05-13 19:20:06 -03:00
proficnc 20a569a4d5 AP_Mount: block forwarding of MAVlink by bitmask 2016-05-12 17:44:09 +10:00
dgrat 6d3b491c02 AP_Math: Replace is_equal with a type safe template function
It makes sense to consider also other floating point types.
2016-05-10 11:41:26 -03: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
Lucas De Marchi 3a771bf0e3 AP_Mount: replace header guard with pragma once 2016-03-16 18:40:42 +11:00
Randy Mackay e502e0fc2e SoloGimbal: resolve compiler warning re float comparison 2016-03-01 21:51:43 +09:00
Randy Mackay 438769c8ae SoloGimbal: resolve compiler warning re initialisation order 2016-03-01 21:51:41 +09:00
dgrat 5148e41c1a AP_Math: Cleaned macro definitions
Moved Definitions into a separate header. Replaced PI with M_PI and
removed the M_PI_*_F macros.
2016-02-27 02:51:33 -03:00
Tom Pittenger a9c985bfb3 AP-Mount: compiler warning
ardupilot/libraries/AP_Mount/SoloGimbal_Parameters.cpp:193:107: warning: comparing floating point with == or != is unsafe [-Wfloat-equal]
2016-02-17 14:54:31 -08:00
Peter Barker 09525e8568 AP_Mount: remove redundant include dependant on bad #define 2016-01-30 12:48:05 -02:00
Jonathan Challinger 5b834330cb AP_Mount: merge SoloGimbal from solo master 2016-01-23 10:35:40 +09:00
Jonathan Challinger eabede692e AP_SmallEKF: move to AP_Mount/SoloGimbalEKF and merge solo version 2016-01-23 10:35:38 +09:00
Gustavo Jose de Sousa c2e3f05dbf waf: ardupilotwaf: prefix build context methods with ap_
It helps to distinguish between things from waf and things from ardupilotwaf.
2016-01-22 20:10:29 -02:00
Gustavo Jose de Sousa 3d22490397 waf: examples: use methods from bld instead of ardupilotwaf 2016-01-22 20:10:29 -02:00
Gustavo Jose de Sousa d281067bcc waf: make example binaries be placed in 'examples' dir
This commit makes examples' wscripts use ardupilotwaf.example() instead of
ardupilot.program().
2016-01-15 16:46:41 -02:00
Randy Mackay ccd3725f63 AP_Mount_Servo: remove out of date comment 2016-01-04 11:23:41 +09:00
Jonathan Challinger 62701448ca AP_Mount: fix example build 2015-12-29 10:46:35 -08:00
Lucas De Marchi a096703b06 Global: don't link with AP_Progmem
AP_Progmem is not used anymore.
2015-12-27 15:58:12 -02:00
Don Gagne 964d02065a Mount: add missing RebootRequired to param description 2015-12-26 10:06:14 +09:00
Jonathan Challinger 63caca1d3f AP_Mount: reflect renamed function in AP_AHRS 2015-12-18 18:08:37 +11:00
Lucas De Marchi f1de9c25fe AP_Mount: remove unused AP_ADC_AnalogSource 2015-12-03 13:32:43 +11:00