Commit Graph

27344 Commits

Author SHA1 Message Date
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 58861eb51c Sub: use common send_queued_parameters() 2017-05-01 14:36:10 +10:00
Andrew Tridgell 2706c9d57a Plane: use common send_queued_parameters() 2017-05-01 14:36:10 +10:00
Andrew Tridgell 22791b7272 Copter: use common send_queued_parameters() 2017-05-01 14:36:10 +10:00
Andrew Tridgell 37585f213a Rover: use common send_queued_parameters() 2017-05-01 14:36:10 +10:00
Andrew Tridgell 005797c327 AntennaTracker: use common send_queued_parameters() 2017-05-01 14:36:10 +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 49b18819ce Copter: enable channels in ESC calibration 2017-05-01 14:32:18 +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 2ba6e7af35 Copter: fixed aux servos in RC failsafe
we should always output to channels
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
Andrew Tridgell 351304ebcb Plane: don't set fly-forward when transitioning
when quad motors are providing assistance don't see the fly-forward
flag in the AHRS. This will lower the chance of EKF yaw confusion
2017-05-01 14:27:45 +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 36a633bc7a Sub: call BoardConfig.init_safety() at end of startup
this fixes a bug where motors can start on soft reboot
2017-04-30 21:47:04 +10:00
Andrew Tridgell 3eeff938b0 Plane: call BoardConfig.init_safety() at end of startup
this fixes a bug where motors can start on soft reboot
2017-04-30 21:47:04 +10:00
Andrew Tridgell 10b89db498 Copter: call BoardConfig.init_safety() at end of startup
this fixes a bug where motors can start on soft reboot
2017-04-30 21:47:04 +10:00
Andrew Tridgell c5d17a9d92 Rover: call BoardConfig.init_safety() at end of startup
this fixes a bug where motors can start on soft reboot
2017-04-30 21:47:04 +10:00
Andrew Tridgell f151fd3691 AntennaTracker: call BoardConfig.init_safety() at end of startup
this fixes a bug where motors can start on soft reboot
2017-04-30 21:47:04 +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
Peter Barker ca5bf02d7c autotest: quote words as they go into generated ritw file 2017-04-29 11:31:26 +10:00
Andrew Tridgell 55ac480e91 Tools: added decode_devid.py 2017-04-29 10:13:23 +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
Mark Whitehorn dc10675965 ArduPlane: suppress differential thrust when throttle is zero
this prevents motors from spinning when disarming in FBWA
2017-04-28 16:08:50 -07:00