Commit Graph

13159 Commits

Author SHA1 Message Date
Andrew Tridgell 60c29417f1 AP_HAL: added uint16 access functions 2016-12-05 16:51:49 -08:00
Andrew Tridgell bc33c19f21 AP_IRLock: fixed build 2016-12-05 16:51:49 -08:00
Andrew Tridgell 8b8837ab72 GCS_MAVLink: fixed build 2016-12-05 16:51:49 -08:00
Andrew Tridgell bdc41446ae AP_OpticalFlow: fixed build 2016-12-05 16:51:49 -08:00
Andrew Tridgell 14a1f559c7 AP_Airspeed: added ARSPD_TYPE and use standard driver backend methods
this will allow for new sensor types
2016-12-05 16:51:49 -08:00
Tom Pittenger b614b41d6d AP_TECS: fixed compiler warning
- AP_Landing _landing was declared out-of-order
2016-12-05 16:46:55 -08:00
Tom Pittenger 725a9c40a6 AP_Landing: fixed compiler warnings
- init variable out of order, callbacks were declared first
2016-12-05 16:15:20 -08:00
Pierre Kancir 79a9e8dfad AP_Math: Matrix_alg fix implicite cast from bool to float 2016-12-05 12:39:31 -08:00
Pierre Kancir f54cf6e097 AP_NavEKF: storeIndex remove second initialisation 2016-12-05 12:39:31 -08:00
Pierre Kancir de05e6ba29 InertialSensor : MPU9250 utilize an explicit type cast to avoid the loss of a fractional part 2016-12-05 12:39:30 -08:00
Pierre Kancir 13c16e187f InertialSensor: MPU6000 utilize an explicit type cast to avoid the loss of a fractional part 2016-12-05 10:59:45 -08:00
Pierre Kancir a5161edc97 SITL: remove duplicate 2016-12-05 10:59:45 -08:00
Pierre Kancir 421524951f AC_PosControl: remove unnecessary parentheses 2016-12-05 10:59:45 -08:00
Pierre Kancir fb7a00799f AP_Math: quaternion fix missing return 2016-12-05 10:33:41 -08:00
Florent Martel abc2cdb61b AP_FrSky_Telem: fixed sign of vertical velocity (+ve up) 2016-12-04 15:05:16 -08:00
Pierre Kancir f9c8827809 SITL: Scheduler correct misplaced parenthese && switch to do while loop 2016-12-04 18:28:14 +00:00
murata 86e495f415 AP_Arming: Do not set check results each time. 2016-12-03 20:39:33 +00:00
Francisco Ferreira 202c33491e RangeFinder: remove useless returns and update comment 2016-12-03 17:44:06 +00:00
murata a99bde9dad RangeFinder: Change type determination from if state to switch state. 2016-12-03 17:33:01 +00:00
mirkix 7e33ba04a9 AP_HAL: Add BBBmini PX4FLOW I2C bus number 2016-12-03 21:07:07 +11:00
Tom Pittenger 608da33d80 AP_Landing: merged GCS text for aborted landing 2016-12-02 17:40:01 -08:00
murata 5f41b09fde HAL_PX4: Add input parameter check. 2016-12-02 17:09:47 -08:00
Tom Pittenger 3a9ad24907 AP_Landing: compute wind_alignment and half of head-wind
Determine how aligned heading_deg is with the wind. Return result
is 1.0 when perfectly aligned heading into wind, -1 when perfectly
aligned with-wind, and zero when perfect cross-wind. There is no
distinction between a left or right cross-wind. Wind speed is ignored
2016-12-02 15:35:28 -08:00
Peter Barker 0e2b3781ae AP_Gripper: a valid() method 2016-12-02 12:52:53 +11:00
Peter Barker 4a1439ca0b AP_Gripper: add grabbed and released method 2016-12-02 12:52:53 +11:00
Peter Barker 20b83861e9 AP_Mission: support for NAV_CMD_PLACE
AP_Mission: check return values of mission fetches
2016-12-02 12:52:50 +11:00
Peter Barker 20b86605fa SITL: gripper closes faster, vary load carried by gripper
If gripper is closed on ground it is considered to be carrying
something
2016-12-02 12:04:05 +11:00
Peter Barker b751f836bb SITL: attach a string with a mass on the end to servo gripper 2016-12-02 12:04:05 +11:00
Peter Barker f8918d15b1 SITL: add a hagl method to aircraft 2016-12-02 12:04:05 +11:00
Peter Barker f1c23dc9be SITL: remove argument to on_ground
This was always the current position
2016-12-02 12:04:05 +11:00
Peter Barker e24f3f9419 SITL: correct on-ground correction
Using the cached ground_height_difference may mean
you end up at the wrong height if you were near
the edge of an SRTM square and had high horizontal
velocity
2016-12-02 12:04:05 +11:00
Peter Barker 319cfa766b RC_Channel: add method to get current radio out for a function 2016-12-02 12:04:05 +11:00
Andrew Tridgell 23480a92ad HAL_PX4: only include parts needed for build
allow for external USE_FLASH_STORAGE define in build
2016-12-02 09:58:36 +11:00
Andrew Tridgell 6bc0c76d54 HAL_PX4: update for new AP_FlashStorage API
allow flash sector erase while disarmed
2016-12-02 09:49:40 +11:00
Andrew Tridgell bfd137e36a AP_FlashStorage: added erase_ok callback
this allows for simpler operation when application wants to allow
erase while disarmed.
2016-12-02 09:49:40 +11:00
Andrew Tridgell 0e00c3cf9b AP_FlashStorage: reduced sector size for example
allows it to fit in SRAM on PX4
2016-12-02 09:49:40 +11:00
Andrew Tridgell a66924422f HAL_PX4: implement optional flash backend for storage
this allows the last two flash sectors to be used as storage for
parameters, waypoints etc.

A change to the bootloader to not erase the last two sectors is needed
2016-12-02 09:49:39 +11:00
Andrew Tridgell b0832e6c15 HAL_PX4: factor out storage functions
ready for multiple backends
2016-12-02 09:49:39 +11:00
Andrew Tridgell d4f679f954 HAL_PX4: removed support for old storage files on microSD 2016-12-02 09:49:39 +11:00
Andrew Tridgell 4cfd63c30a HAL_PX4: refactor storage to use bitmask class 2016-12-02 09:49:39 +11:00
Andrew Tridgell 6adad11e2f AP_Common: added simple bitmask class 2016-12-02 09:49:39 +11:00
Andrew Tridgell ed8f9b444a HAL_PX4: fixed whitespace 2016-12-02 09:49:38 +11:00
Andrew Tridgell 7ba957b946 HAL_SITL: flush stdout on panic 2016-12-02 09:49:38 +11:00
Andrew Tridgell fc21e0f16f AP_FlashStorage: a flash storage driver
this will allow for a storage backend using flash sectors in a log
structure
2016-12-02 09:49:38 +11:00
Andrew Tridgell a1bce2b54d AP_Compass: use get_random16() 2016-12-02 09:49:38 +11:00
Andrew Tridgell a8d10e8c2c AP_Math: added get_random16() 2016-12-02 09:49:38 +11:00
Andrew Tridgell cd57422eed AP_Baro: set retries high during init of MS5611 on I2C 2016-12-02 09:47:51 +11:00
Andrew Tridgell 4f1f6ec019 AP_Compass: added retries during init for i2c devices
higher in init, lower for run
2016-12-02 09:47:51 +11:00
Andrew Tridgell 28a318145c AP_HAL: move set_retries() up to Device class
we really need set_retries() high during init for nearly all i2c
devices, and as many are written against the generic device class
moving it to the Device class makes this a lot easier. It is a NOP on
SPI.
2016-12-02 09:47:51 +11:00
Georgii Staroselskii e735a56c82 AP_BattMonitor: add default PM definitions for Navio boards
As it turns out we haven't had default PM defs for power modules
intended to be used with Navio boards.
2016-12-01 05:41:37 -08:00
Przemek Lekston 6d65b351cd AP_Mount: allow computation of gps point target in earth fixed frame 2016-12-01 18:42:48 +09:00
Randy Mackay fc5f4c20cd AP_NavEKF2: remove redundant check of beacon nullptr
thanks to muramura for spotting this
2016-12-01 14:53:26 +09:00
Randy Mackay 08619a96be AP_Beacon: remove debug and editor settings
thanks to muramura for spotting this
2016-12-01 14:53:16 +09:00
murata 292257eaf2 AP_Beacon: checksum check uses XOR 2016-12-01 13:54:34 +09:00
murata bcdd836820 AC_AttControl: remove unnecessary check of thr-mix-min
Checks directly above ensure this check can never be true
2016-12-01 13:52:04 +09:00
priseborough 665ba1c009 AP_NavEKF2: Fix bug in reporting of vertical position reset
Fixes a bug that allows the last reported reset time to to wind back and an out of date reset delta to be reported if a switch to a core that has previously been reset occurs.
Allows multiple consumers provided they access on the same frame.
2016-12-01 10:35:38 +09:00
priseborough 7f347e39dd AP_NavEKF2: Fix bug in reporting of horizontal position reset
Fixes a bug that allows the last reported reset time to to wind back and an out of date reset delta to be reported if a switch to a core that has previously been reset occurs.
Allows multiple consumers provided they access on the same frame.
2016-12-01 10:35:38 +09:00
priseborough 656d9bb2c4 AP_NavEKF2: Fix bug in reporting of yaw reset
Fixes a bug that allows the last reported reset time to to wind back and an out of date reset delta to be reported if a switch to a core that has previously been reset occurs.
Allows multiple consumers provided they access on the same frame
2016-12-01 10:35:38 +09:00
Georgii Staroselskii 865ff753f3 AP_Compass: use LSM9DS1 as primary for Navio 2
This compass has been proved to work better on Navio boards. Users also
don't like high offsets (even though, they don't really mean much in
this context) reported by AK8963 in MPU9250 on Navio 2.
2016-11-30 12:04:53 -08:00
Alexey Bulatov 96db31635d AP_Compass: set orientation ROLL_180 for LSM9DS1 on Navio2 2016-11-30 12:04:04 -08:00
Alexey Bulatov 163fa07ac0 AP_Compass: make orientation of LSM9DS1 compass configurable 2016-11-30 12:02:07 -08:00
Randy Mackay a517db4b5e AP_OpticalFlow: resolve compiler warning 2016-11-30 18:00:15 +09:00
Randy Mackay dfd58cc57b AP_InertialSensor: fix build warning for MPU9250 2016-11-30 18:00:14 +09:00
Randy Mackay 699279ed1f AP_InertialSensor: fix build warning for MPU6000 2016-11-30 18:00:13 +09:00
Randy Mackay 5009e83b6d AP_Compass: fix build warning for HMC5843 2016-11-30 18:00:12 +09:00
priseborough 431a74e0b4 DataFlash: log range beacon fusion data 2016-11-30 17:56:53 +09:00
priseborough bbdf3982c6 DataFlash: remove Log_Write_EKF 2016-11-30 17:56:52 +09:00
Randy Mackay 66a9093cd0 AP_NavEKF2: getRangeBeaconDebug returns false on failure to get beacon data 2016-11-30 17:56:51 +09:00
priseborough 0ec8f0932a AP_NavEKF2: Prevent output of NaN's in range beacon debug output
This can happen if this accessor function is called before the EKF states are initialised
2016-11-30 17:56:50 +09:00
Randy Mackay fbecda7eeb AP_NavEKF2: change order of variable initialisation
No functional change, this modifies the init order to match the declaration order.
2016-11-30 17:56:49 +09:00
Randy Mackay 82854953e7 AP_NavEKF2: minor comment fix 2016-11-30 17:56:48 +09:00
Randy Mackay 14a73e499a AP_NavEKF2: initialise two range beacon structures 2016-11-30 17:56:47 +09:00
priseborough 2ee8250807 AP_NavEKF2: Changes from code review by @muramura 2016-11-30 17:56:46 +09:00
Randy Mackay 1f4606e48a AP_NavEKF2: protect against null beacon 2016-11-30 17:56:45 +09:00
Randy Mackay 51ccfca31c AP_NavEKF2: fix format of statustext for beacon init 2016-11-30 17:56:44 +09:00
priseborough ef03a85cd3 AP_NavEKF2: add range beacon interface and fusion method 2016-11-30 17:56:43 +09:00
priseborough b4961971e0 AP_AHRS: add beacon object to ahrs 2016-11-30 17:56:42 +09:00
priseborough 4482743af5 AP_Beacon: Improve simulator testing of beacons 2016-11-30 17:56:41 +09:00
Randy Mackay 1225e18898 AP_Beacon: add sitl testing parameter file 2016-11-30 17:56:40 +09:00
Andrew Tridgell 5b83fa3a77 AP_Beacon: added SITL backend 2016-11-30 17:56:39 +09:00
Randy Mackay 821fc516fb AP_Beacon: library to accept distances from beacons 2016-11-30 17:56:37 +09:00
Randy Mackay c4aa37525e SerialManager: add beacon to list of protocols 2016-11-30 17:56:35 +09:00
Leonard Hall 8af192ed9d AC_AttControl: allow MOT_THR_MIX_MAX to be 2.0
The parameter description maximum of 0.9 should keep most users from
setting this parameter above 0.9 but there are rare cases for very high powered copters with low hover-throttle values where setting as high as 2.0 improves attitude control
2016-11-30 17:56:34 +09:00
Andrew Tridgell 8468add63e AP_Motors: mark PWM_TYPE as reboot required 2016-11-30 10:53:26 +11:00
Andrew Tridgell ce5ed66b45 HAL_PX4: auto-scale brushed output with ESC output range 2016-11-30 10:53:26 +11:00
Andrew Tridgell ce517384e1 AP_Motors: support MODE_PWM_BRUSHED16KHZ 2016-11-30 10:53:26 +11:00
Andrew Tridgell b3286c3da0 HAL_PX4: support MODE_PWM_BRUSHED16KHZ 2016-11-30 10:53:25 +11:00
Andrew Tridgell fac8f1db03 AP_HAL: added MODE_PWM_BRUSHED16KHZ 2016-11-30 10:53:25 +11:00
Peter Barker bc45ab5409 DataFlash: add a heartbeat for the io thread in DataFlash_File 2016-11-29 15:14:09 -08:00
Peter Barker e11c276b35 DataFlash_File: stop trying to stuff a uint64_t into a uint32_t 2016-11-29 15:14:09 -08:00
Peter Barker fff2068a5a AP_Arming: add arming check for logging actually started 2016-11-29 15:14:09 -08:00
Peter Barker 5776b3fddb AP_Arming: check CardInserted in AP_Arming 2016-11-29 15:14:09 -08:00
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