Commit Graph

14172 Commits

Author SHA1 Message Date
Sriram Sami
379005ebc7 AP_Motors: Fix comment on expected variable range
the move_actuators function in AP_MotorsHeli_Dual previously
indicated incorrect ranges for its input variables.
2017-05-09 17:41:26 +09:00
Andrew Tridgell
46d9a1dcb5 AP_Motors: fixed tricopter tail servo in fwd flight
in quadplane forward flight the with tilt-tricopter tail servo needs to
be at its trim position. Thanks to Marco for noticing this.
2017-05-09 08:59:00 +09:00
Andrew Tridgell
b6568b1c7e AP_AHRS: support set_origin and get_origin for EKF 10 2017-05-08 13:38:10 +10:00
Andrew Tridgell
47b79eb72d SITL: expose home location 2017-05-08 13:38:10 +10:00
Peter Barker
57c0551260 AP_Notify: remove non-required initialisation of variables
These objects are dynamically allocated, and we zero the memory
as we allocate them
2017-05-08 10:29:25 +09:00
Peter Barker
ec37d863bc AP_Notify: simplify scrolling code 2017-05-08 10:29:22 +09:00
Peter Barker
b1ef778215 AP_TemperatureSensor: use HAL_SEMAPHORE_BLOCK_FOREVER macro 2017-05-08 10:23:03 +09:00
Peter Barker
6bb75a730f AP_HAL_QURT: use HAL_SEMAPHORE_BLOCK_FOREVER macro 2017-05-08 10:23:03 +09:00
Peter Barker
7ce353e652 AP_HAL_PX4: use HAL_SEMAPHORE_BLOCK_FOREVER macro 2017-05-08 10:23:03 +09:00
Peter Barker
c78f3b9e78 AP_HAL_Linux: use HAL_SEMAPHORE_BLOCK_FOREVER macro 2017-05-08 10:23:03 +09:00
Peter Barker
e9ce3aa0ce AP_GPS: use HAL_SEMAPHORE_BLOCK_FOREVER macro 2017-05-08 10:23:03 +09:00
Peter Barker
b39da462ec AP_Compass: use HAL_SEMAPHORE_BLOCK_FOREVER macro 2017-05-08 10:23:03 +09:00
Peter Barker
ccc495e4c1 AP_Baro: use HAL_SEMAPHORE_BLOCK_FOREVER macro 2017-05-08 10:23:03 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas
e31ac00f26 AP_GPS: fix spelling in comments 2017-05-08 10:08:31 +09:00
Andrew Tridgell
bdc4320fe8 AP_Motors: added MOT_BOOST_SCALE
this is to support boost motors for copters, such as having a petrol
motor for extra lift on a multicopter

The scaling factor allows the user to control how much of the lift is
generated from the booster and how much from the main multicopter
motors
2017-05-08 11:02:55 +10:00
Andrew Tridgell
2168222d4b SRV_Channel: added throttle_boot output function 2017-05-08 11:02:55 +10:00
Andrew Tridgell
d9223165c7 AP_AHRS: fixed get_accel_ef_blended() for SITL EKF 10 2017-05-07 09:10:44 +10:00
Andrew Tridgell
1f847132d7 AP_Motors: setup limits flags for tailsitters 2017-05-07 09:10:44 +10:00
Andrew Tridgell
3018728f50 AP_UAVCAN: rename macros to avoid conflicts 2017-05-06 15:21:14 +10:00
Andrew Tridgell
db64da7856 AP_TemperatureSensor: rename macros to avoid conflicts
these macros were also defined in NuttX in clock.h
2017-05-06 15:21:14 +10:00
Andrew Tridgell
607220d12b AP_Math: rename macros to avoid conflicts
these macros were also defined in NuttX in clock.h
2017-05-06 15:21:14 +10:00
Andrew Tridgell
e51bbcebec AP_HAL_SITL: rename macros to avoid conflicts
these macros were also defined in NuttX in clock.h
2017-05-06 15:21:14 +10:00
Andrew Tridgell
b72532164b AP_HAL_PX4: rename macros to avoid conflicts
these macros were also defined in NuttX in clock.h
2017-05-06 15:21:14 +10:00
Andrew Tridgell
279c1b9d9c AP_HAL_Linux: rename macros to avoid conflicts
these macros were also defined in NuttX in clock.h
2017-05-06 15:21:14 +10:00
Andrew Tridgell
3687b6bdf0 AP_GPS: rename macros to avoid conflicts
these macros were also defined in NuttX in clock.h
2017-05-06 15:21:14 +10:00
Andrew Tridgell
45f27ceb9c AP_Compass: rename macros to avoid conflicts
these macros were also defined in NuttX in clock.h
2017-05-06 15:21:14 +10:00
Andrew Tridgell
71158e3e74 AP_Common: added #pragma once 2017-05-06 15:21:14 +10:00
Andrew Tridgell
375c7b0f5f AP_Baro: rename macros to avoid conflicts
these macros were also defined in NuttX in clock.h
2017-05-06 15:21:14 +10:00
Andrew Tridgell
7b73004882 AP_Airspeed: added ARSPD_USE=2 for gliders 2017-05-04 22:59:02 -07:00
mirkix
db7cf388f2 AP_Notify: enable display for BeagleBone Blue 2017-05-04 16:25:06 -07:00
Pierre Kancir
67e79a30e8 SRV_Channel: limit pwm_from_angle return to +/-high_out 2017-05-04 21:12:15 +10:00
Andrew Tridgell
9bdf971336 AP_Baro: added set_pressure_correction()
for use by AP_TempCalibration
2017-05-03 20:12:04 +10:00
Andrew Tridgell
99883ffc49 AP_Baro: added temperature sensitivity modelling in SITL 2017-05-03 20:12:04 +10:00
Andrew Tridgell
d50dcb5ad2 SITL: added SIM_TEMP_BFACTOR
for barometer temperature error
2017-05-03 20:12:04 +10:00
Andrew Tridgell
ac82d1a65d HAL_SITL: moved SITL baro to AP_Baro_SITL 2017-05-03 20:12:04 +10:00
Andrew Tridgell
ee4161fa62 AP_Baro: moved SITL baro to standard sensor backend model 2017-05-03 20:12:04 +10:00
Andrew Tridgell
62b826953d AP_InertialSensor: use AP_Math rand_float() 2017-05-03 20:12:04 +10:00
Andrew Tridgell
2fcecaa7c5 AP_Math: added rand_float() 2017-05-03 20:12:04 +10:00
Andrew Tridgell
c1b6684b9f SITL: added temperature control parameters 2017-05-03 20:12:04 +10:00
Andrew Tridgell
7e24be95c9 AP_Param: added macro for var table extension in object 2017-05-03 20:12:04 +10:00
Andrew Tridgell
37166301c9 HAL_PX4: use sensor_config_error() 2017-05-03 11:37:02 +10:00
Andrew Tridgell
cbea29ad71 AP_Baro: use sensor_config_error() 2017-05-03 11:37:01 +10:00
Andrew Tridgell
e32e2f5b5d AP_BoardConfig: added sensor_config_error()
used to notify user of fatal sensor setup error
2017-05-03 11:37:01 +10:00
Randy Mackay
bffc5daeb0 AC_WPNav: unset yaw when setting new origin and destination
This ensures that old yaw targets are not used in the short interval before they are initialised in advance_wp_target_along_track or advance_spline_along_track
2017-05-03 09:15:01 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas
1691a39b36 AP_GPS: spell in comments 2017-05-03 08:45:08 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas
23b7f1e645 AP_NavEKF3: Improve comments, typos 2017-05-03 08:45:01 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas
ce37517268 AP_NavEKF2: Improve comments, typos 2017-05-03 08:44:49 +09:00
Pierre Kancir
a6eb337438 AP_Notify: remove unused variables 2017-05-02 18:14:40 +01:00
Andrew Tridgell
bfd8d151c8 AP_InertialSensor: lower slave rate with fast sampling
On an invensense IMU with fast sampling we need to lower the slave
sample rate for slave sensors such as the built-in AK8963 compass on a
MPU9250.

The slave rate is set as a multiple of the main rate, so it needs to be
much lower for fast sampling. If we leave it high then it greatly
impacts on IMU sample rate.

Without this change a MPU9250 with fast sampling and a compass enabled
will give a gyro rate of around 7200Hz. With this change it gets 7760Hz
2017-05-02 12:11:08 +10:00
Peter Barker
ece0e84ddf AP_Notify: reindent (NFC) 2017-05-02 08:50:41 +10:00
Peter Barker
ce5739f1a0 AP_Notify: remove semaphores protecting pixels
The semaphore-take-forevers were absolutely killing performance.

We can take some random pixel corruption to avoid vehicles crashing.
2017-05-02 08:50:41 +10:00
Andrew Tridgell
519a293af9 AP_InertialSensor: fixed instance usage in set_gyro_oversampling()
thanks Francisco!
2017-05-02 08:27:11 +10:00
Andrew Tridgell
112b22516a AP_InertialSensor: fixed use of accel2_noise
thanks Francisco!
2017-05-02 08:24:50 +10:00
Peter Barker
a3f4a523b2 AP_Notify: convert unknown characters to spaces 2017-05-01 16:21:55 +01:00
Peter Barker
5a02219642 AP_HAL_Linux: use HAL_SEMAPHORE_BLOCK_FOREVER 2017-05-01 15:05:51 +01:00
Peter Barker
3ff4cd8c07 AP_HAL_PX4: use HAL_SEMAPHORE_BLOCK_FOREVER 2017-05-01 15:05:51 +01:00
Peter Barker
b11ca5d538 AP_HAL_QURT: use HAL_SEMAPHORE_BLOCK_FOREVER 2017-05-01 15:05:51 +01:00
Peter Barker
2f79a5bd90 AP_HAL_SITL: use HAL_SEMAPHORE_BLOCK_FOREVER 2017-05-01 15:05:51 +01:00
Peter Barker
85e5de15c4 AP_HAL_VRBRAIN: use HAL_SEMAPHORE_BLOCK_FOREVER 2017-05-01 15:05:51 +01:00
Dr.-Ing. Amilcar Do Carmo Lucas
5b67b33310 AP_GPS: Remove un-used AP_GPS::inject_data_all() function 2017-05-01 13:06:18 +01:00
Dr.-Ing. Amilcar Do Carmo Lucas
5261654756 AP_GPS: Only inject RTCM data to the selected GPS device defined in GPS_INJECT_TO parameter 2017-05-01 13:06:18 +01:00
Michael du Breuil
12f83ecf75 AP_GPS: SBF if RAW_DATA is enabled check that the GPS is succeeding at logging 2017-05-01 13:04:52 +01:00
Peter Barker
ac1484f60e DataFlash: clear format sent mask when backend starts new log 2017-05-01 19:16:47 +10:00
Andrew Tridgell
2876f1467c AP_InertialSensor: converge sensor rate quickly, then slowly
converge fast for the first 60 seconds, then more slowly to reduce
noise
2017-05-01 15:13:56 +10:00
Andrew Tridgell
db25b6e966 AP_InertialSensor: estimate and log sensor rates for all IMUs
this adds IMU.GHz and IMU.AHz log fields so we can see the actual
observed sensor rates of each IMU
2017-05-01 15:06:46 +10:00
Andrew Tridgell
0a83281a29 DataFlash: added logging of actual sensor rates 2017-05-01 15:06:46 +10:00
Andrew Tridgell
49cc0965c0 AP_InertialSensor: separate handling of FIFO and non-FIFO sensors
FIFO sensors produce data at a well known rate, but samples come in
bunches, so we can't use the system clock to calculate deltaT.

non-FIFO sensors produce data when we sample them, but that rate is
less regular due to timing jitter.

For FIFO sensors this changes makes us use a learned sample rate,
which allows for different clock speeds on sensor and system board.

For non-FIFO sensors we use the system clock to measure deltaT

the overall effect is a fix for sensors that produce samples at other
than the claimed datasheet rate.
2017-05-01 15:06:46 +10:00
Andrew Tridgell
74eb7a7243 AP_InertialSensor: make SITL sensor rate match a Pixhawk1
use 760Hz 2nd gyro and 800 Hz 2nd accel
2017-05-01 15:06:46 +10:00
Andrew Tridgell
25cd16a275 AP_InertialSensor: fixed LSM303D registered sample rate
we are running the LSM303D at 1600Hz, and are sampling it at 1kHz. We
need to tell the AP_InertialSensor layer that samples will arrive at 1kHz
2017-05-01 15:06:46 +10:00
Andrew Tridgell
28030dd85c AP_AHRS: use SIM_ODOM_ENABLE to enable visual odom in SITL 2017-05-01 15:06:46 +10:00
Andrew Tridgell
67404e9660 SITL: added SIM_ODOM_ENABLE
for enabling visual odomotry simulated data
2017-05-01 15:06:46 +10:00
Andrew Tridgell
56aa467d60 AP_Scheduler: adjust debug levels
this is more useful for performance analysis of scheduler, using perf
command
2017-05-01 15:02:34 +10:00
Andrew Tridgell
5c62e4f4c2 GCS_MAVLink: don't use more than 1ms sending parameters
this reduces the scheduling misses when fetching parameters initially
2017-05-01 14:37:15 +10:00
Andrew Tridgell
f465c37c65 GCS_MAVLink: added async parameter sending 2017-05-01 14:37:13 +10:00
Andrew Tridgell
5c4ca3bf0b GCS_MAVLink: added send_queued_parameters() 2017-05-01 14:36:52 +10:00
Andrew Tridgell
f778954b84 GCS_MAVLink: split parameter functions into a separate file 2017-05-01 14:36:10 +10:00
Andrew Tridgell
60e4c0eb98 AP_Param: make count_parameters() thread safe 2017-05-01 14:36:10 +10:00
Andrew Tridgell
84114d067a SRV_Channels: added SRV_Channels::enable_by_mask() 2017-05-01 14:32:18 +10:00
Andrew Tridgell
2c4975ba31 AP_Motors: removed cork/push from AP_Motors
should be done by vehicle code if needed, so that AUX servos are sent
at the same time
2017-05-01 14:32:18 +10:00
Andrew Tridgell
5c028897a3 HAL_VRBrain: cope with nested cork/push 2017-05-01 14:32:18 +10:00
Andrew Tridgell
266f99db93 HAL_QURT: cope with nested cork/push 2017-05-01 14:32:18 +10:00
Andrew Tridgell
9bdb6838e6 HAL_PX4: cope with nested cork/push 2017-05-01 14:32:18 +10:00
Andrew Tridgell
9b297ef5a1 HAL_Linux: fixed nested cork/push
don't generate extra pulse sets if we nest
2017-05-01 14:32:18 +10:00
Andrew Tridgell
f257a869ac HAL_SITL: make cork/push safe to call nested 2017-05-01 14:32:18 +10:00
priseborough
2d4eee0cce AP_NavEKF2: documentation update 2017-05-01 14:24:55 +10:00
priseborough
4a898037e9 AP_NavEKF3: documentation update 2017-05-01 14:24:55 +10:00
Andrew Tridgell
a04aff7a7d AP_NavEKF3: added inter-EKF scheduling cooperation
this changes the stragegy for load levelling between EKF cores so it
works between EK2 and EK3, and with future estimators as well.

It allows us to run EK3 and EK2 at the same time with good scheduling
performance
2017-05-01 14:24:55 +10:00
Andrew Tridgell
2de8777669 AP_NavEKF2: added inter-EKF scheduling cooperation
this changes the stragegy for load levelling between EKF cores so it
works between EK2 and EK3, and with future estimators as well.

It allows us to run EK3 and EK2 at the same time with good scheduling
performance
2017-05-01 14:24:55 +10:00
Andrew Tridgell
e62fdad12c AP_InertialSensor: added get_last_update_usec()
this will be used by the inter-EKF scheduling changes
2017-05-01 14:24:55 +10:00
Andrew Tridgell
e78f55ef9b AP_AHRS: change order of EK2/EK3 update
if EK3 is our primary estimator when we want to run the EK3 update
first, so it gets time priority for inter-EKF scheduling.
2017-05-01 14:24:55 +10:00
Andrew Tridgell
4c36c77db1 AP_BoardConfig: split setup of safety switch init init_safety()
this allows it to be called late, so that servo outputs are fully
setup before the safety is disabled when BRD_SAFETYENABLE=0
2017-04-30 21:47:04 +10:00
Randy Mackay
b1bd3f0364 AC_WPNav: yaw points along leash 2017-04-29 11:47:51 +09:00
priseborough
8ead9d6b19 DataFlash: Add logging of average EKF time step min/max 2017-04-29 11:03:44 +10:00
priseborough
0bf50fd56f AP_NavEKF3: Add monitoring of average EKF time step 2017-04-29 11:03:44 +10:00
priseborough
e48f46c98b AP_NavEKF2: Add monitoring of average EKF time step 2017-04-29 11:03:44 +10:00
priseborough
7d777485d8 AP_NavEKF: Add monitoring of average EKF time step 2017-04-29 11:03:44 +10:00
priseborough
3ce81967ae AP_NavEKF3: Improve calculation and use of average EKF time step 2017-04-29 11:03:44 +10:00
priseborough
7abf9997e6 AP_NavEKF3: Correctly initialise dtIMUavg time step and apply LPF 2017-04-29 11:03:44 +10:00
Andrew Tridgell
4ce0a8e24e GCS_MAVLink: time limit GCS update() calls
and add performance counters
2017-04-28 16:09:12 -07:00
priseborough
1301b9797a AP_NavEKF3: Fix solution validity reporting bug
Fixes bug that causes relative position status to report as false when using optical flow and using range finder as the primary height sensor.
2017-04-28 17:19:23 +01:00