Commit Graph

10236 Commits

Author SHA1 Message Date
Andrew Tridgell
57f580fdfc AP_Param: enable param debug by default 2016-01-04 11:14:43 +11:00
Andrew Tridgell
60af7a6087 AP_Math: removed matrix3 parameter support 2016-01-04 11:14:43 +11:00
Andrew Tridgell
1b8cf84801 AP_Param: allow for up to 512 top level vehicle parameters
this will make life a bit easier for copter
2016-01-04 11:14:43 +11:00
Andrew Tridgell
0831661b3c AP_NavEKF2: mark EK2_ENABLE as an ENABLE parameter 2016-01-04 11:14:42 +11:00
Andrew Tridgell
29cb0dcf2c AP_Param: enable variables to be marked as enable variables
used to hide unused subtrees of variables
2016-01-04 11:14:42 +11:00
Andrew Tridgell
37b2e23322 AP_Param: allow objects containing parameters to be dynamically loaded
this makes it possible for objects containing parameters to be
dynamically loaded.
2016-01-04 11:14:42 +11:00
Andrew Tridgell
2dd8a0af74 HAL_SITL: allow visualisation of quad motor speeds in flightgear 2016-01-04 11:09:27 +11:00
Andrew Tridgell
c3829dfb64 AP_Scheduler: allow for arbitrary loop rates
it turns out 300Hz is pretty useful as it allows for triple EKF on
pixhawk
2016-01-04 08:37:31 +11:00
Andrew Tridgell
27b43f4036 AC_PID: fixed example build warning 2016-01-04 08:22:17 +11:00
Andrew Tridgell
1450f33b51 HAL_SITL: support 16 RC input channels in SITL 2016-01-04 08:22:02 +11:00
Andrew Tridgell
0966398d8d SITL: improved realism of fixed wing sim somewhat
still not good, but a bit better for manual flight
2016-01-04 08:03:46 +11:00
Andrew Tridgell
83c8505b3c HAL_SITL: send state to flightgear viewer 2016-01-04 08:02:37 +11:00
Lucas De Marchi
f3ee7a9a85 AP_AccelCal: use union instead of reference
The current approach to access the same memory location by using a
reference is giving this warning:

	../libraries/AP_AccelCal/AccelCalibrator.cpp: In constructor ‘AccelCalibrator::AccelCalibrator()’:
	../libraries/AP_AccelCal/AccelCalibrator.cpp:34:64: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
	 _param_struct(*reinterpret_cast<struct param_t *>(&_param_array))
									^
	../libraries/AP_AccelCal/AccelCalibrator.cpp: In member function ‘void AccelCalibrator::run_fit(uint8_t, float&)’:
	../libraries/AP_AccelCal/AccelCalibrator.cpp:336:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
	     struct param_t &fit_param(*reinterpret_cast<struct param_t *>(&param_array));
                                                                               ^
Using a union allows us to get rid of the warning, make sure the sizes of the
different structs match and have a more elegant solution.
2016-01-02 10:04:16 +11:00
Tom Pittenger
841f34effa AP_Arming: add param for accel error threshold
This is the threshold error to determine inconsistent accelerometers.
2016-01-02 10:01:46 +11:00
Andrew Tridgell
b2745bb545 AP_InertialSensor: we only need peak hold for negative X for now 2016-01-02 09:58:32 +11:00
Tom Pittenger
3aaf2b1d2b AP_InertialSensor: add pos/neg peak detector
new functions that get a filtered min/max accel peaks on each axis with fixed 500ms timeout:
    Vector3f get_accel_peak_hold_pos()
    Vector3f get_accel_peak_hold_neg()

This allows slower mechanisms, such as is_flying, to detect accel spikes which would indicate ground or object impacts. Vibe is too filtered. Independent positive and negative peaks are available
2016-01-02 09:58:31 +11:00
Andrew Tridgell
b052959c61 GCS_MAVLink: re-generated headers 2016-01-02 08:44:49 +11:00
Jonathan Challinger
c2b4235662 GCS_MAVLink: merge mavlink-solo 2016-01-02 08:42:33 +11:00
Jonathan Challinger
41c881cc9e GCS_MAVLink: temporarily remove GIMBAL_ and GOPRO_ messages pending solo sync 2016-01-02 08:42:33 +11:00
Jonathan Challinger
2a3fe35731 GCS_MAVLink: run xmlpretty.py on ardupilotmega.xml 2016-01-02 08:42:33 +11:00
Andrew Tridgell
22873ee687 SITL: reduced drag in plane model 2016-01-01 18:40:22 +11:00
Andrew Tridgell
619a4c0925 SITL: use common dynamics code for QuadPlane 2016-01-01 17:20:30 +11:00
Andrew Tridgell
33998a58ac SITL: prevent aircraft going below ground level 2016-01-01 17:01:23 +11:00
Andrew Tridgell
d425965f6d SITL: expose home yaw to FDMs 2016-01-01 17:00:57 +11:00
Andrew Tridgell
630d4410d4 SITL: removed debug code from QuadPlane 2016-01-01 15:48:56 +11:00
Andrew Tridgell
8a98ce427c SITL: moved to common code for attitude/pos update 2016-01-01 15:12:33 +11:00
Andrew Tridgell
e6555aae6d HAL_SITL: added quadplane model 2016-01-01 14:35:15 +11:00
Andrew Tridgell
d0896a1fb2 HAL_SITL: fixed init of channel 8 out in plane and rover
should be low
2016-01-01 14:35:15 +11:00
Andrew Tridgell
f2c8193f8b SITL: added a QuadPlane model 2016-01-01 14:35:15 +11:00
Andrew Tridgell
6f9e9d761f SITL: move calculations into multicopter frame class
this will enable a QuadPlane model
2016-01-01 14:35:15 +11:00
Andrew Tridgell
c6b6d7137d HAL_SITL: added plane simulator 2016-01-01 12:41:06 +11:00
Andrew Tridgell
16e0a6d7b0 AP_Math: fixed angle between two vector3s 2016-01-01 12:41:05 +11:00
Andrew Tridgell
fcfd11ef53 SITL: very simple fixed wing simulator
useful for debugging
2016-01-01 12:41:05 +11:00
Randy Mackay
bea69521c8 AC_PrecLand: velocity PI controller into parent class 2015-12-31 15:30:33 +09:00
Andrew Tridgell
8e4586b4a2 AP_Param: allow for nested groups without subclassing
this allows for param tables containing other unrelated objects
2015-12-31 15:30:31 +09:00
Tom Pittenger
4e4c1831f0 AP_ADSB: added guided mode handling 2015-12-31 15:36:49 +11:00
Randy Mackay
4e9f82a0e7 Notify: fix parameter description 2015-12-31 11:33:02 +09:00
pepevalbe
0d5e59eaa3 AP_Notify: configurable RGB LED brightness 2015-12-31 11:32:59 +09:00
Lucas De Marchi
180359d6dd AP_Math: fix unit test
For ROTATION_ROLL_90_PITCH_68_YAW_293 consider the angles as 90, 68.8
and 293.3 degrees to pre-calculate rotation. This matches the rotation
matrix used in code.

While at it, check not only the values are close enough but also the
length of the vector.
2015-12-30 20:22:28 -02:00
Lucas De Marchi
ba3325ffd3 AP_Math: rename rotation
The rotations are supposed to follow the name of the enum, in order. The
ROTATION_YAW_293_PITCH_68_ROLL_90 was added with the name of an
intrinsic 321 rotation, but the matrix is actually a 123 rotation,
following the other rotations already present.

Change the name to follow the other names.
2015-12-30 20:22:27 -02:00
Jonathan Challinger
bae16a61e2 AP_InertialSensor: fix segfault 2015-12-29 23:10:56 -08:00
Jonathan Challinger
83d5a6664a AP_Math: minor changes to matrix_alg in response to review 2015-12-29 22:57:21 -08:00
Jonathan Challinger
0a3c2774e9 AP_InertialSensor: fixes in response to review 2015-12-29 22:55:04 -08:00
Jonathan Challinger
24e413c6af AP_AccelCal: fixes in response to review 2015-12-29 22:55:04 -08:00
Jonathan Challinger
660d9e86d5 AP_AccelCal: basic sanity check on fit parameters 2015-12-29 11:00:20 -08:00
Jonathan Challinger
1482614a7d AP_Arming: add accel cal requires reboot 2015-12-29 10:46:35 -08:00
Jonathan Challinger
137ace473d AP_InertialSensor: add accel_cal_requires_reboot 2015-12-29 10:46:35 -08:00
Jonathan Challinger
f6a41a8936 AP_InertialSensor: ensure that accel calibration object isn't allocated more than once 2015-12-29 10:46:35 -08:00
bugobliterator
1a4b4fa85e AP_Math: add inverse matrix test to check if inverse(mat)*mat = I
where I is an identity matrix (a matrix with diagonal elements = 1)
2015-12-29 10:46:35 -08:00
Jonathan Challinger
65915bbe71 StorageManager: fix example build 2015-12-29 10:46:35 -08:00
Jonathan Challinger
027e622a3c RC_Channel: fix example build 2015-12-29 10:46:35 -08:00
Jonathan Challinger
2c0657f326 GCS_MAVLink: fix example build 2015-12-29 10:46:35 -08:00
Jonathan Challinger
b85631bec3 DataFlash: fix example build 2015-12-29 10:46:35 -08:00
Jonathan Challinger
94543d55bb AP_Scheduler: fix example build 2015-12-29 10:46:35 -08:00
Jonathan Challinger
780d0de4bb AP_RangeFinder: fix example build 2015-12-29 10:46:35 -08:00
Jonathan Challinger
b0de3957ea AP_OpticalFlow: fix example build 2015-12-29 10:46:35 -08:00
Jonathan Challinger
99636b3e8b AP_Notify: fix example build 2015-12-29 10:46:35 -08:00
Jonathan Challinger
62701448ca AP_Mount: fix example build 2015-12-29 10:46:35 -08:00
Jonathan Challinger
b803907163 AP_Motors: fix example build 2015-12-29 10:46:35 -08:00
Jonathan Challinger
30a563044e AP_Mission: fix example build 2015-12-29 10:46:35 -08:00
Jonathan Challinger
f376510524 AP_HAL_PX4: fix example build 2015-12-29 10:46:35 -08:00
Jonathan Challinger
ac152b564f AP_HAL_FLYMAPLE: fix example build 2015-12-29 10:46:35 -08:00
Jonathan Challinger
d7639ce03a AP_HAL: fix example build 2015-12-29 10:46:35 -08:00
Jonathan Challinger
04dc7130f5 AP_GPS: fix example build 2015-12-29 10:46:35 -08:00
Jonathan Challinger
9b5644fdb6 AP_Compass: fix example build 2015-12-29 10:46:35 -08:00
Jonathan Challinger
a3789542cd AP_BattMonitor: fix example build 2015-12-29 10:46:35 -08:00
Jonathan Challinger
dcfc95fadf AP_Baro: fix example build 2015-12-29 10:46:35 -08:00
Jonathan Challinger
a1c7b32387 AP_Airspeed: fix example build 2015-12-29 10:46:35 -08:00
Jonathan Challinger
5cb7331095 AP_AHRS: fix example build 2015-12-29 10:46:35 -08:00
Jonathan Challinger
9e6be648b9 AC_PID: fix example build 2015-12-29 10:46:35 -08:00
bugobliterator
fe62a049bd AP_Math: implement LU decomposition based matrix inverse
Replaces previous matlab generated code, which was giving imprecise results
2015-12-29 10:46:34 -08:00
Siddharth Bharat Purohit
a0c3cbffee AP_Math: add inverse matrix test example
fix example build
2015-12-29 10:46:34 -08:00
Siddharth Bharat Purohit
5af0cc8eaf AP_Math: add inverse rotate example function 2015-12-29 10:46:34 -08:00
Jonathan Challinger
7ed8b3814f AP_Math: add rotate_inverse to Vector3 2015-12-29 10:46:34 -08:00
Jonathan Challinger
492223cb84 AP_InertialSensor: support AP_AccelCal 2015-12-29 10:46:34 -08:00
bugobliterator
d24b5023f4 AP_AccelCal: Add separate lib for accel calibration 2015-12-29 10:46:34 -08:00
Andrew Tridgell
f70d9d26ba HAL_QURT: fixed README formatting 2015-12-29 19:23:14 +11:00
Andrew Tridgell
70877ebd50 HAL_QURT: fixed open of new storage file 2015-12-29 19:20:51 +11:00
Andrew Tridgell
aae7dd952c HAL_QURT: document command line options 2015-12-29 19:15:47 +11:00
Andrew Tridgell
f832f29bfb HAL_QURT: allow cmdline to specify UART, RCin and RCout paths 2015-12-29 19:12:17 +11:00
Andrew Tridgell
dafc9b4c6b AP_HAL: allow getopt_cpp on QURT
avoid using stderr
2015-12-29 19:10:46 +11:00
Andrew Tridgell
ea1e3f4928 HAL_QURT: pass argc and argv into main thread 2015-12-29 18:53:05 +11:00
Andrew Tridgell
bd2f548130 AP_HAL: allow argc and argc on QURT 2015-12-29 18:52:17 +11:00
Lucas De Marchi
97022a4161 AP_HAL: RingBuffer: fix macro expansion
Fix warning that reveals a real bug:

In file included from libraries/AP_HAL_Linux/UARTDriver.cpp:25:0:
libraries/AP_HAL_Linux/UARTDriver.cpp: In member function 'virtual bool Linux::UARTDriver::tx_pending()':
libraries/AP_HAL/utility/RingBuffer.h:21:35: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
 #define BUF_EMPTY(buf) buf##_head == buf##_tail
                                   ^
libraries/AP_HAL_Linux/UARTDriver.cpp:355:13: note: in expansion of macro 'BUF_EMPTY'
     return !BUF_EMPTY(_writebuf);

The problem is when there's a ! operator: without the parenthesis we would actually be doing

    return !_write_buf_head == _write_buf_tail

which is not what we want.
2015-12-28 21:50:27 -02:00
Andrew Tridgell
fe8070bd51 DataFlash: move lock to protect just buffer IO 2015-12-29 09:10:28 +11:00
Lucas De Marchi
1a0f613a0f AP_Curve: remove unused library 2015-12-28 10:23:23 -02:00
Lucas De Marchi
8d252955f5 AP_Motors: don't link unused AP_Curve library 2015-12-28 10:23:23 -02:00
Lucas De Marchi
326e74f64f AP_Mission: don't link unused AP_Curve library 2015-12-28 10:23:23 -02:00
Lucas De Marchi
5d3a519277 APM_PI: remove unused library 2015-12-28 10:23:23 -02:00
Lucas De Marchi
8cee02cde7 AP_PerfMon: remove unused library 2015-12-28 10:23:23 -02:00
Jonathan Challinger
a2999ece54 AP_AHRS_NavEKF: add setTakeoffExpected, setTouchdownExpected 2015-12-28 13:51:24 +09:00
Andrew Tridgell
c90d7dd86e AP_HAL: fixed vprintf segfault 2015-12-28 08:44:40 +11:00
Andrew Tridgell
fa2a39f6c6 HAL_QURT: small cleanups
thanks to Lucas for finding these
2015-12-28 06:42:11 +11:00
Julien BERAUD
e46f23f538 RCOutput_Bebop: Increase max_rpm on Bebop 2
Bebop 2 can go as high as 12200 rpm. Use get_hw_arm32 method to see
if we are on a bebop or bebop 2
2015-12-27 16:11:36 -02:00
Julien BERAUD
b6f51233db AP_HAL_Linux: Make RPI get_hw method public
Valid also on Bebop
2015-12-27 16:11:36 -02:00
Julien BERAUD
cadef09542 AP_HAL_Linux: Fix comment and panic on Bebop 2015-12-27 16:11:36 -02:00
Lucas De Marchi
3a8bd7b829 AP_Progmem: remove unused library 2015-12-27 15:58:12 -02: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
Lucas De Marchi
52ef8c10a5 AP_Param: stop using Progmem.h 2015-12-27 15:58:12 -02:00
Lucas De Marchi
360855f109 StorageManager: stop using Progmem.h 2015-12-27 15:58:12 -02:00