Andrew Tridgell
a2e92c4054
AP_BoardConfig: increase uavcan bus settle time to 2s
...
needed to ensure zubax mag has time to come up
2016-11-29 12:51:16 +11:00
Peter Barker
2c8a0a9123
DataFlash: rotate files when vehicle is disarmed
2016-11-28 09:42:09 -08:00
Peter Barker
fc79fb4ab4
DataFlash: know about armed state of vehicle
2016-11-28 09:42:09 -08:00
Randy Mackay
bac5deed43
AP_IRLock: health reporting based on successful I2C transfer
...
This change is required because sync messages are only sent if a target is visible
2016-11-28 12:08:36 +09:00
Andrew Tridgell
28b3de91cf
AP_Compass: fixed orientation of internal i2c compass for FMUv1
...
thanks to Peter for noticing
2016-11-28 13:02:15 +11:00
Andrew Tridgell
40bd3a8861
HAL_PX4: tidy up thread wait code
...
use the same method for all threads. Makes for tidier top output
2016-11-28 10:28:01 +11:00
Andrew Tridgell
f039a37971
HAL_PX4: set names on all bus threads
2016-11-28 10:18:52 +11:00
Andrew Tridgell
00ccacb2ab
AP_HAL: expose device bus number
2016-11-28 10:18:32 +11:00
Andrew Tridgell
f04b186879
HAL_PX4: fixed bug in instantiation of I2C bus threads
...
we ended up with a thread per device instead of a thread per bus!
2016-11-28 09:53:19 +11:00
Andrew Tridgell
12e0c840e8
HAL_PX4: set thread names for main threads
2016-11-28 09:47:49 +11:00
Andrew Tridgell
c62b64a600
AP_IRLock: improved sync protocol for IRLock I2C driver
2016-11-28 08:39:06 +11:00
Andrew Tridgell
50db4d362d
AC_PrecLand: use new in-tree IRLock driver
2016-11-28 08:26:58 +11:00
Andrew Tridgell
c6ea451c56
AP_IRLock: new in-tree IRLock driver on I2C
2016-11-28 08:26:58 +11:00
Andrew Tridgell
22717f23be
AP_OpticalFlow: apply yaw for flow in all drivers
2016-11-28 08:26:57 +11:00
Andrew Tridgell
06dfbc3e09
AP_OpticalFlow: added common driver for PX4Flow
...
used on Linux and NuttX boards
2016-11-28 08:26:57 +11:00
Andrew Tridgell
52715c5d16
AP_OpticalFlow: fixed default pixart flow scaling
2016-11-28 08:26:57 +11:00
Andrew Tridgell
9b93e12bbb
AP_OpticalFlow: retry config register write up to 5 times
2016-11-28 08:26:57 +11:00
Andrew Tridgell
ea462d80e6
AP_OpticalFlow: added _applyYaw method to backend
...
for common handling of yaw correction
2016-11-28 08:26:57 +11:00
Andrew Tridgell
abc42c737c
AP_OpticalFlow: added update function for Pixart flow driver
2016-11-28 08:26:57 +11:00
Andrew Tridgell
0be1b1aac2
AP_OpticalFlow: give access to AHRS from all backends
2016-11-28 08:26:56 +11:00
Andrew Tridgell
def6e014cf
HAL_SITL: removed old optflow simulation
2016-11-28 08:26:56 +11:00
Andrew Tridgell
42435e700b
SITL: expose height above ground to all models
2016-11-28 08:26:56 +11:00
Andrew Tridgell
2e2f8ad8cf
AP_OpticalFlow: added SITL flow driver as normal driver
...
move away from HAL_SITL embedded drivers
2016-11-28 08:26:56 +11:00
Andrew Tridgell
a96ed8c188
AP_HAL: added virtual destructor for Semaphores
2016-11-28 08:26:56 +11:00
Andrew Tridgell
0889b25afa
AP_OpticalFlow: initial code for Pixart optical flow chip
2016-11-28 08:26:56 +11:00
Randy Mackay
54a87ad35c
AP_Proximity: set minimum boundary distance
...
AC_Avoidance will not stop if it thinks the vehicle is on or outside the polygon. Setting a minimum distance ensures the vehicle is always within the polygon.
2016-11-27 15:05:48 +09:00
Randy Mackay
57ae14ab4c
AP_Proximity: add get distances, distance_max, distance_min
...
These are used to send distance-sensor messages to the ground station
2016-11-27 15:05:45 +09:00
Randy Mackay
b46cc623a0
AC_Avoidance: adjust_velocity_polygon accepts body-frame points
2016-11-27 15:05:42 +09:00
Randy Mackay
55d79d9a32
AC_Avoidance: proximity sensor method re-uses polygon fence boundary code
2016-11-27 15:05:41 +09:00
Randy Mackay
cdee68174d
AC_Avoidance: rename adjust_velocity_polygon_fence
2016-11-27 15:05:39 +09:00
Randy Mackay
79280036de
AC_Avoidance: rename adjust_velocity_circle_fence method
2016-11-27 15:05:38 +09:00
Randy Mackay
40c4e75ae7
AC_Avoidance: remove unnecessary const float arguments
2016-11-27 15:05:36 +09:00
Randy Mackay
6293fa1595
AP_Proximity: add boundary points for object avoidance
...
This returns a fence which can be used for object avoidance by AC_Avoidance
2016-11-27 15:05:35 +09:00
Randy Mackay
26332251f5
AP_Proximity: add ignore areas
...
Only SF40c uses these ignore areas for now at least.
It is safe to increase the eeprom locations for the 2nd proximity instance because we only define a single instance.
2016-11-27 15:05:27 +09:00
Randy Mackay
87dea46f5d
AP_Proximity: add get_closet_object for use in pre-arm checks
2016-11-27 12:03:06 +09:00
Randy Mackay
a56c9545bd
AP_Proximity: SITL driver filles in backend sector data
2016-11-27 12:03:04 +09:00
Randy Mackay
f594a5a7d6
AP_Proximity: move sectors to backend
...
This prepares for sectors to be re-used by the SITL driver
2016-11-27 12:03:01 +09:00
Andrew Tridgell
f9845c93b1
AP_InertialSensor: keep transfers nicely setup for DMA on stm32
...
this avoids using stack based bounce buffers which may not support DMA
on stm32
2016-11-27 11:26:10 +11:00
Andrew Tridgell
37a9a78725
HAL_PX4: avoid bounce buffers for SPI when possible
2016-11-27 11:10:18 +11:00
Andrew Tridgell
f3d401abb9
HAL_PX4: fixed FMUv1 build
2016-11-27 07:45:54 +11:00
Andrew Tridgell
df60b4252a
HAL_PX4: reduced noise in PX4 console
2016-11-26 19:06:15 +11:00
Andrew Tridgell
771cedca3d
AP_InertialSensor: reduced number of SPI transfers
...
use cached copy of temperature in MPU6000 and MPU9250 to detect FIFO
error when possible
2016-11-26 19:02:22 +11:00
Andrew Tridgell
fdc94ec28a
AP_HAL: fixed frequency init for register checking
2016-11-26 18:36:36 +11:00
Tom Pittenger
40777e9e74
AP_Mission: move jump_to_landing_sequence() to AP_Mission
2016-11-25 19:07:30 -08:00
Tom Pittenger
d4d186058d
AP_Landing: move jump_to_landing_sequence() to AP_Mission
2016-11-25 19:07:30 -08:00
Tom Pittenger
1a70e2f353
AP_Landing: new param LAND_TYPE to split current behavior into AP_Landing_Slope.cpp
2016-11-25 19:07:30 -08:00
Tom Pittenger
c7bbb6998a
TECS: set landing params as private and use accessors
2016-11-25 19:07:30 -08:00
Tom Pittenger
fe4cd7bbbd
AP_Landing: set landing params as private and use accessors
2016-11-25 19:07:30 -08:00
Tom Pittenger
98ae77d6a3
AP_Landing: Migrate the rest of "LAND_" params from Plane to AP_Landing
2016-11-25 19:07:30 -08:00
Tom Pittenger
d53b177877
AP_Landing: migrate aparm "LAND_" params from plane to AP_Landing
2016-11-25 19:07:30 -08:00
Tom Pittenger
9035dcbbc5
AP_TECS: migrate aparm "LAND_" params from plane to AP_Landing
2016-11-25 19:07:30 -08:00
Tom Pittenger
15ec551990
AP_Vehicle: migrate aparm "LAND_" params from plane to AP_Landing
2016-11-25 19:07:30 -08:00
Tom Pittenger
8f36fe7705
AP_Landing: migrate aparm "LAND_" params from plane to AP_Landing
2016-11-25 19:07:30 -08:00
Tom Pittenger
fc84c61672
AP_Landing: add const to all possible vars in function calls
2016-11-25 19:07:30 -08:00
Tom Pittenger
fc2f518f31
Plane: revert auto_state.checked_for_autoland back to Plane
2016-11-25 19:07:30 -08:00
Tom Pittenger
3814b5a38b
AP_Landing: resorted functions so they line up with plane/landing for easier compare
2016-11-25 19:07:30 -08:00
Tom Pittenger
75e625fd30
AP_landing: port the rest of plane/landing.cpp
2016-11-25 19:07:30 -08:00
Tom Pittenger
9a79b79f1e
AP_Landing: port more from plane
2016-11-25 19:07:30 -08:00
Tom Pittenger
10027b21d6
Plane/AP_Landing: port setup_landing_glide_slope()
2016-11-25 19:07:30 -08:00
Tom Pittenger
f556f705e6
Plane: move various g params to aparms
2016-11-25 19:07:30 -08:00
Tom Pittenger
d2376b7c8b
Plane: migrate two helper functions to AP_Landing
...
- move functions restart_landing_sequence() and jump_to_landing_sequence() to AP_Landing
- NOTE: jump_to function can not set mode, so it is now done externally in vehicle
2016-11-25 19:07:30 -08:00
Tom Pittenger
896b931a7c
Plane: Move auto_state variables to AP_landing members
2016-11-25 19:07:30 -08:00
Tom Pittenger
61b02cb41d
AP_Landing: add new library for fixed wing landing abstraction
2016-11-25 19:07:30 -08:00
Tom Pittenger
ce8db1fdba
Plane: move struct Rangefinder_State to AP_Vehicle
2016-11-25 19:07:30 -08:00
Andrew Tridgell
eaf378cbf0
GCS_MAVLink: updated optical flow send
2016-11-26 12:27:41 +11:00
Andrew Tridgell
f2246326bb
AP_Baro: added MS5611 probing, and support 3 baros on Pixhawk2
...
this adds sensor probing for barometers, simplifies the MS5611 driver,
and adds support for the I2C external barometers on Pixhawk2
2016-11-25 21:40:11 +11:00
Andrew Tridgell
954728c9e9
AP_HAL: added set_chip_select() API
...
for devices with unusual timings
2016-11-25 21:26:27 +11:00
Andrew Tridgell
638e89bd1d
HAL_PX4: implement set_chip_select for SPI
2016-11-25 21:24:10 +11:00
Andrew Tridgell
60801314e0
HAL_PX4: added different modes for external SPI
...
and lower bus speed to 1MHz
2016-11-25 21:24:10 +11:00
Andrew Tridgell
bcb6663187
HAL_PX4: added table of actual bus speeds for SPI
2016-11-25 20:31:43 +11:00
Andrew Tridgell
27605b0258
AP_InertialSensor: run invensese reg checking at low speed
...
config register read/write should be at low bus speed.
also change to check every 20 calls to reduce checking cost
2016-11-25 20:31:40 +11:00
Andrew Tridgell
7100272f14
AP_HAL: default to register checking every 10th call
...
this saves having this in nearly all callers
2016-11-25 20:31:36 +11:00
Andrew Tridgell
0e793e1214
HAL_PX4: lower SPI bus speed on invensense devices
...
now we are using DMA we don't need such high bus speed, and this makes
SPI reliable with a wider range of devices.
2016-11-25 18:32:19 +11:00
Andrew Tridgell
7d57f00ca0
AP_Compass: removed debug line
...
this is now common when using in-tree drivers
2016-11-25 18:23:53 +11:00
Andrew Tridgell
0f984290c3
AP_InertialSensor: enable fast sampling by default on some boards
2016-11-25 17:59:54 +11:00
Andrew Tridgell
f62972d966
AP_Compass: fixed build on bhat
...
enable both compasses if found
2016-11-25 17:50:24 +11:00
Andrew Tridgell
1f403b02ef
AP_Compass: switch to continuous 155Hz mode for LIS3MDL
2016-11-25 17:50:24 +11:00
Andrew Tridgell
62805f59fa
AP_Compass: added AK09916 driver
...
yet another magnetometer!
2016-11-25 17:50:24 +11:00
Andrew Tridgell
17a117b324
AP_Compass: be a bit less verbose in startup
2016-11-25 17:50:23 +11:00
Andrew Tridgell
0e4b8781b2
AP_Compass: auto-detect LIS3MDL compass
2016-11-25 17:50:23 +11:00
Andrew Tridgell
b6b2919126
AP_Compass: don't panic on too many compasses
...
just use the first ones found. Panicing because you have too many
isn't useful
2016-11-25 17:50:23 +11:00
Andrew Tridgell
40ef68f104
AP_Compass: added a LIS3MDL compass driver
2016-11-25 17:50:23 +11:00
Andrew Tridgell
f3a778f980
AP_InertialSensor: fixed freeing of fifo buffer
2016-11-25 17:50:19 +11:00
Andrew Tridgell
6f28c61c8d
AP_InertialSensor: changed SIZE to LEN
...
thanks to Lucas for suggestion
2016-11-25 17:50:19 +11:00
hiro2233
cb7f46d653
AP_InertialSensor: fixed handling of user_ctrl register
...
with aux bus implementations
2016-11-25 17:50:18 +11:00
Andrew Tridgell
29bbee421e
HAL_PX4: enable sharing of SPI bus with PX4 with DMA
2016-11-25 17:50:18 +11:00
Andrew Tridgell
9b4c588c09
AP_InertialSensor: adapt drivers for SPI-DMA capable systems
...
no longer need accumulate() transfers with SPI enabled DMA on stm32
2016-11-25 17:49:58 +11:00
Andrew Tridgell
3fad5ca065
HAL_PX4: implement DMA allocation routines
2016-11-25 17:49:58 +11:00
Andrew Tridgell
e42bb20052
AP_HAL: added dma allocation routines to hal.util
2016-11-25 17:49:58 +11:00
Andrew Tridgell
28daddaaf2
AP_InertialSensor: don't use accumulate approach on Linux or I2C
2016-11-25 17:49:57 +11:00
Andrew Tridgell
d9c8db7024
AP_InertialSensor: implement a new strategy for fast sampling
...
this moves to using a 1p filter on the high rate data, followed by
averaging down to 1kHz then a 2p filter to apply configured cutoff
frequency.
It also fixes the FIFO reset to not cause data corruption. We need to
disable all FIFO channels before doing the reset, and wait for the
FIFO to stop in the sensor.
Finally it moves sampling of the MPU6000 and MPU9250 into the main
thread. That significantly improves scheduling performance as we no
longer get long FIFO SPI transfers happening during other tasks. All
transfers happen at the start of the fast loop. That makes timing much
more predictable.
Thanks to Leonard and Paul for help with this design!
2016-11-25 17:49:57 +11:00
Andrew Tridgell
b165e025d9
Filter: added new constructor for 1p filter
...
allow both sample rate and cutoff to be specified in constructor
2016-11-25 17:49:57 +11:00
Andrew Tridgell
7220dc15f9
HAL_PX4: adjusted bus speeds on invensense sensors
2016-11-25 17:49:57 +11:00
Andrew Tridgell
5934a099a4
AP_HAL: added support for more SRXL varients
...
based on work by Roman Seb <roman-29188@gmx.de>
2016-11-24 22:54:23 +11:00
priseborough
0a177d04fd
AP_NavEKF2: Simply core switch implementation
...
Functionally equivalent
2016-11-24 19:58:10 +09:00
priseborough
7d48054e6f
AP_NavEKF2: Group GPS innovation tests when compiling error score
2016-11-24 19:58:07 +09:00
Randy Mackay
e9ea06bd10
AP_NavEKF2: minor comment fix
2016-11-24 19:58:03 +09:00
Randy Mackay
a32068a973
AC_WPNav: remove ekf position reset handler
...
This has been migrated to the position control library
2016-11-24 19:58:00 +09:00
Randy Mackay
1012333eef
AC_PosControl: add ekf position reset handling
...
Previously this was in AC_WPNav and used only for loiter but it should work for any flight modes that use horizontal or vertical position control
2016-11-24 19:57:56 +09:00
Randy Mackay
c615bac1cd
AP_AHRS: add getLastPosDownReset accessor
2016-11-24 19:57:53 +09:00