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 *>(¶m_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
Lucas De Marchi
5f26c951d8
GCS_MAVLink: stop using Progmem.h
2015-12-27 15:58:12 -02:00
Lucas De Marchi
5d07e5bdbf
DataFlash: stop using Progmem.h
2015-12-27 15:58:12 -02:00
Lucas De Marchi
eb9fd96d5c
AP_Scheduler: remove trailing whitespace
2015-12-27 15:58:12 -02:00
Lucas De Marchi
3375b6b01c
AP_Scheduler: stop using Progmem.h
2015-12-27 15:58:12 -02:00
Lucas De Marchi
25c289b74c
AP_Menu: stop using Progmem.h
2015-12-27 15:58:12 -02:00
Lucas De Marchi
502077d763
AP_Math: stop using Progmem.h
2015-12-27 15:58:12 -02:00
Lucas De Marchi
520b0384fd
AP_HAL: remove unused in_progmem flag to print_vprintf
2015-12-27 15:58:12 -02:00
Lucas De Marchi
8e0c125f56
AP_HAL: print_vprintf: follow coding style
...
- Use 4 spaces to indent
- Add braces to control statements
- Don't use tabs
2015-12-27 15:58:12 -02:00
Lucas De Marchi
c35730058a
AP_HAL: print_vprintf: stop using Progmem.h
...
Remove the unused support to data from progmem, including the unused %S
format specifier.
2015-12-27 15:58:12 -02:00
Lucas De Marchi
5bb4e3eda9
AP_GPS: stop using Progmem.h
...
Besides the trivial convertions, while reading
initblob_state[instance].blob we need to be sure to read only one byte
like we were before.
2015-12-27 15:58:12 -02:00
Lucas De Marchi
88319f52f7
AP_Declination: remove line continuation slashes
...
These are not necessary and only clutter the code.
2015-12-27 15:58:12 -02:00
Lucas De Marchi
3ae0082f52
AP_Declination: stop using Progmem.h
...
Since the headers were re-ordered we also had to add inttypes.h to
AP_Declination.h following a include-what-you-use approach.
2015-12-27 15:58:12 -02:00
Lucas De Marchi
cfb5bbeb9f
APM_Control: stop using Progmem.h
2015-12-27 15:58:12 -02:00
Lucas De Marchi
29ed01189d
AP_HAL: ftoa_engine: replace tabs with spaces
2015-12-27 15:58:12 -02:00
Lucas De Marchi
e751d632e6
AP_HAL: ftoa_engine: stop using Progmem.h
2015-12-27 15:58:12 -02:00
Andrew Tridgell
6a5c5969fa
AP_AHRS: fixed example build
2015-12-27 14:57:32 +09:00
Andrew Tridgell
3fb0b8f69d
AP_InertialSensor: fixed example build
2015-12-27 14:57:30 +09:00
Andrew Tridgell
23cef70846
AP_NavEKF2: use get_loop_delta_t() from INS
2015-12-27 14:57:17 +09:00
Andrew Tridgell
28a684ea03
AP_NavEKF: use get_loop_delta_t() from INS
2015-12-27 14:57:14 +09:00
Andrew Tridgell
17fc58f3cd
AP_InertialSensor: re-work for more flexible main loop rates
2015-12-27 14:57:12 +09:00
Andrew Tridgell
93ef881109
AP_InertialSensor: added get_loop_delta_t() API
2015-12-27 14:57:10 +09:00
Andrew Tridgell
1b1be7e4a2
AP_Scheduler: switch to Hz based scheduler config
2015-12-27 14:57:06 +09:00
Andrew Tridgell
6bc19cd44c
HAL_QURT: added README.md
2015-12-27 16:21:26 +11:00
Andrew Tridgell
bc8ee8af36
AP_GPS: added QURT GPS
2015-12-27 16:21:26 +11:00
Andrew Tridgell
b967140572
DataFlash: enable minimal file mode
...
This adds a "minimal" dataflash mode with a board specific macro. The
QURT port uses this to avoid problematic system calls that are buggy
in the QURT RTOS
With some pending updates to QURT we may be able to remove some (or
all) of this
2015-12-27 16:21:26 +11:00
Andrew Tridgell
a042845da8
AP_NavEKF: avoid an optimiser bug in clang
2015-12-27 16:21:26 +11:00
Andrew Tridgell
493ab96b29
AP_Compass: added QURT driver
2015-12-27 16:21:26 +11:00
Andrew Tridgell
6639c23685
AP_InertialSensor: added QURT driver
2015-12-27 16:21:26 +11:00
Andrew Tridgell
ff44a63007
AP_Baro: added QURT driver
2015-12-27 16:21:25 +11:00
Andrew Tridgell
285294a9cd
AP_Common: added debug code for qurt
...
and disable some warnings for clang++ on qurt
2015-12-27 16:21:25 +11:00
Andrew Tridgell
7c431b40f2
AP_HAL: enable HAL_QURT
2015-12-27 16:21:25 +11:00
Andrew Tridgell
0816937ab1
HAL_QURT: initial implementation
...
this provides RC onput, RC output, scheduling, storage, UARTs and all
necessary support routines to fly ArduPilot on QURT
2015-12-27 16:12:28 +11:00
Andrew Tridgell
3b546bb242
AP_Compass: added qflight driver
2015-12-27 16:12:27 +11:00
Andrew Tridgell
1f4e503d91
AP_Baro: added qflight driver
2015-12-27 16:12:27 +11:00
Andrew Tridgell
28230556bb
AP_InertialSensor: added qflight driver
2015-12-27 16:12:27 +11:00
Andrew Tridgell
0bbf4362e0
HAL_Linux: added qflight README.md
2015-12-27 16:12:27 +11:00
Andrew Tridgell
dc8a3bbf92
HAL_Linux: added qflight board subtype
2015-12-27 16:12:27 +11:00
Andrew Tridgell
cfd54c5683
AP_HAL: moved dsm implementation into AP_HAL/utility
2015-12-27 16:12:27 +11:00
Andrew Tridgell
fec9ffd1a0
AP_HAL: support UARTs on timer thread
...
This adds a macro for boards that need to have UARTs on the timer
thread instead of their own thread. This is needed for the qflight
port due to restrictions in the RPC API
2015-12-27 16:12:27 +11:00
Andrew Tridgell
ac1e75ae77
AP_HAL: added qflight linux subtype
2015-12-27 16:12:27 +11:00
Andrew Tridgell
e1c890eb58
RC_Channel: added RC_UART example
...
useful for UART -> ESCs
2015-12-27 16:12:27 +11:00
Don Gagne
605fedc1c0
AP_TECS: fix invalid Range meta data
2015-12-27 16:10:44 +11:00
Don Gagne
34d5dd0257
AP_NavEKF: fix invalid Range meta data
2015-12-27 16:10:44 +11:00
Don Gagne
8573245963
AP_NavEKF2: fix invalid Range meta data
2015-12-27 16:10:44 +11:00
Don Gagne
ed7cd8d3f4
AP_Motors: fix invalid Range meta data
2015-12-27 16:10:44 +11:00
Don Gagne
e891ae8a89
AP_L1_Control: fix invalid Range meta data
2015-12-27 16:10:44 +11:00
Don Gagne
47586dae07
AP_InertialSensor: fix invalid Range meta data
2015-12-27 16:10:44 +11:00
Don Gagne
2b1bc22b2a
AP_BoardConfig: fix invalid Range meta data
2015-12-27 16:10:44 +11:00
Don Gagne
964d02065a
Mount: add missing RebootRequired to param description
2015-12-26 10:06:14 +09:00
Jonathan Challinger
bde9a9421d
AP_Param: panic on failure to load defaults file
2015-12-24 14:40:00 +11:00
Julien BERAUD
0ffba07ec8
AP_HAL: Set default params for Bebop
2015-12-23 10:24:04 -02:00