jinchengde@gmail.com
efd0f0b832
modify NavEKF2 for AHRS Test
2016-12-05 17:10:23 -08:00
murata
d619d33374
AP_HAL_PX4: UARTDriver: Delete the condition that does not hold.
2016-12-05 16:53:36 -08:00
Andrew Tridgell
eea7758a63
AP_Baro: added GND_EXT_BUS option
...
this is needed to enable probing for a MS5611 on external I2C bus. The
MS5611 looks the same as a MS5525 airspeed sensor, so we can't just
auto-probe. Users will need to enable external barometers
2016-12-05 16:51:49 -08:00
Andrew Tridgell
43bac678cd
AP_Airspeed: Added MS5525 airspeed driver
...
also improved averaging in MS4525 driver
2016-12-05 16:51:49 -08:00
Andrew Tridgell
04731dccd6
AP_Airspeed: rename MS4525 driver
...
ready for new driver types
2016-12-05 16:51:49 -08:00
Andrew Tridgell
e2192d5b4d
HAL_PX4: report user bus number not system bus number
2016-12-05 16:51:49 -08:00
Andrew Tridgell
c657ad449b
AP_HAL: added get_bus_address()
...
used to report sensor probing results in drivers
2016-12-05 16:51:49 -08:00
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
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
Randy Mackay
6406e34016
AC_WPNav: remove unused _loiter_step member
2016-11-24 19:57:50 +09:00
priseborough
0df45703f1
AP_NavEKF2: Fix errors in position reset delta publishing
2016-11-24 19:57:47 +09:00
priseborough
f6021c959d
AP_NavEKF2: capture and publish vertical position reset deltas
...
Calculate the change in vertical position due to a internal EKF state reset or a EKF core switch
2016-11-24 19:57:45 +09:00
priseborough
e62863f9a1
AP_NavEKF2: Reduce unnecessary EKF core switching
...
1) Do not switch to a core until its states have been updated.
2) Distinguish between mandated switches required for health failure and optional switches required due to innovation checks failing.
3) Apply hyseresis to innovation check levels
2016-11-24 19:57:41 +09:00
murata
de153ce1d7
AP_NavEKF: Correct the setting process of variable dAngBiasSigma.
2016-11-24 03:24:18 +00:00
murata
ec42ddfb4e
AP_NavEKF: style changes (tab to spaces, etc.)
...
AP_NavEKF: style changes (tab to spaces, etc.)
AP_NavEKF: style changes (tab to spaces, etc.)
2016-11-24 03:24:18 +00:00
ShingoMatsuura
e9feb7bdda
AP_RangeFilnder: moved the const buffer definition to the header and changed from '8' to 'sizeof(send_request_buffer)'
2016-11-23 10:28:38 -08:00
ShingoMatsuura
f97ede9865
AP_RangeFilnder: change send_request_buffer member variable to const and other fixes
2016-11-23 10:28:38 -08:00
ShingoMatsuura
e8ff156fa6
AP_RangeFilnder: add clear buffer at INIT state and change send_buffer to member variable to reduce CRC computation for sending request
2016-11-23 10:28:38 -08:00
ShingoMatsuura
c1c643e56e
AP_RangeFinder: remove clear buffer in send_request
2016-11-23 10:28:38 -08:00
Leonard Hall
ea0e413b04
AC_AttControl: do not limit rate if ATC_ACCEL_MAX param is zero
2016-11-23 14:43:29 +09:00
murata
ae927e1775
DataFlash: Adjust the return value to the type of the method.
...
DataFlash: Adjust the return value to the type of the method.
2016-11-22 10:07:16 -08:00
Lucas De Marchi
f9b0f9164a
AP_HAL_Linux: add TODO to AnalogIn_Raspilot
...
This is especially bad for raspilot since it has a spi bus shared for
all the peripherals.
2016-11-21 18:11:31 -02:00
Lucas De Marchi
87c6d5da13
AP_InertialSensor: replace panic() with return
...
When blocking forever there's no reason to call panic later since it
will never going to be reached. This reduces binary size in a few bytes
since the message isn't required anymore.
2016-11-21 18:04:10 -02:00
Andrew Tridgell
c2125a0078
AP_Baro: wait forever for semaphore on startup
2016-11-21 18:04:10 -02:00
Andrew Tridgell
6f82ec0642
HAL_Linux: convert RASPilot drivers to thread per bus
2016-11-21 18:04:10 -02:00
Andrew Tridgell
6129b1abb6
AP_InertialSensor: wait forever for semaphore on startup
...
some boards take a silly amount of time to get semaphore on startup
2016-11-21 17:57:21 -02:00
Julien Beraud
d50fd3a6cd
AP_OpticalFlow: fix onboard init
...
mistake in patch to avoid segfault which enabled
AP_OpticalFlow_Linux instead of AP_OpticalFlow_Onboard.
Store a reference to ahrs in order to execute init later, when
ahrs is initialized.
2016-11-21 16:38:59 -02:00
Michael du Breuil
d97861d685
AP_GPS: Ublox: Skip SBAS request if we don't want to alter it
2016-11-21 14:15:19 +09:00
Randy Mackay
b7f95d9c25
AP_RangeFinder: remove serial.end and begin
...
Also some formatting changes
2016-11-21 14:07:01 +09:00
Randy Mackay
99fafcb495
RangeFinder: add uLanding to TYPE parameter description
2016-11-21 13:52:15 +09:00
Ricardo de Almeida Gonzaga
148fa03d6b
AP_RangeFinder: support MaxBotix Serial rangefinders
...
This has been tested with LV-MaxSonar®-EZ1 MB1010
2016-11-21 11:21:56 +09:00
Randy Mackay
44c5fee90d
AP_RangeFinder: formatting fixes for uLanding
2016-11-21 11:07:41 +09:00
davidaroyer
69bc4c42c9
AP_RangeFinder: Add support for Aerotenna uLanding radar altimeter
2016-11-21 11:07:41 +09:00
davidaroyer
faa534cf64
AP_SerialManager: Add support for Aerotenna uLanding radar altimeter
2016-11-21 11:07:41 +09:00
Jonathan Challinger
22517422f9
AP_Motors: add option to disable motor PWM output while disarmed
2016-11-21 10:49:21 +09:00
Andrew Tridgell
6c09758447
AP_RangeFinder: removed momentary spikes in PulsedLight I2C Lidar
2016-11-21 10:30:04 +11:00
Andrew Tridgell
252f90ba36
HAL_PX4: drop I2C speed to 100kHz
...
reduce I2C errors on long cables for all sensors
2016-11-21 10:29:52 +11:00
Andrew Tridgell
b3ac4fcb72
GCS_MAVLINK: speed up USB log download
...
makes it about 2x as fast on Pixhawk
2016-11-20 18:41:25 +11:00
Lucas De Marchi
504de3ea9e
AP_HAL_Linux: RCInput_RPI: fix whitespaces
...
Also add/change some minor coding style issues, reducing scope of
variables.
2016-11-19 14:05:22 -02:00
Lucas De Marchi
aadc1643fc
AP_HAL_Linux: reduce speed of MPU* devices
...
After introducing the temperature check we are resetting the fifo
several times due to difference in temperature.
2016-11-19 14:05:22 -02:00
Lucas De Marchi
8d3361cef4
AP_HAL_Linux: RCInput_RPI: fix using Util class on constructor
...
Program received signal SIGSEGV, Segmentation fault.
0x000b8760 in Linux::UtilRPI::get_rpi_version() const ()
(gdb) bt
#0 0x000b8760 in Linux::UtilRPI::get_rpi_version() const ()
#1 0x000b57ac in Linux::RCInput_RPI::RCInput_RPI() ()
#2 0x0000acfc in _GLOBAL__sub_I__ZN9HAL_LinuxC2Ev ()
#3 0x000e1600 in __libc_csu_init ()
#4 0x76cad228 in __libc_start_main (main=0x7efff774, argc=1994186752,
argv=0x76cad228 <__libc_start_main+168>, init=0xe15b4 <__libc_csu_init>,
fini=0xe1614 <__libc_csu_fini>, rtld_fini=0x76fdf464 <_dl_fini>,
stack_end=0x7efff774) at libc-start.c:246
#5 0x0000afa4 in _start ()
2016-11-19 14:05:22 -02:00
Lucas De Marchi
bc476e1987
AP_ADC: fix ADS1115 instantiation
...
This can't be called on constructor since hal may not be initialized at
that time.
2016-11-19 14:05:22 -02:00
Andrew Tridgell
216cf53922
AP_InertialSensor: handle FIFO overflow for MPU6k and 9250
...
this prevents temporary corruption of INS data on FIFO overflow
2016-11-19 12:54:22 +11:00
Lucas De Marchi
c6b0a71c47
AP_Compass: Calibrator: use inplace initializer on array
2016-11-18 20:03:30 -02:00
Siddharth Bharat Purohit
b36ee10e7c
AP_Compass: fix wrong memset in compass calibrator
2016-11-18 20:03:30 -02:00
Siddharth Bharat Purohit
451c2f146d
AP_AccelCal: fix bug preventing accel cal fit to run more than one iteration
...
The check for fitness being smaller than the last value should use the
absolute value, to mean the fitness isn't changing since last iteration.
It's currently always quiting the function after the first iteration.
However for Gauss Newton we anyway want to run as many iterations as we
can, because there are ups and downs along the iteration so we might get
say best result where before and after iterations were bad. The lines
above takes care that sane and the best is selected.
2016-11-18 20:03:30 -02:00
Tom Pittenger
11229d2588
SITL: fix whitespace
2016-11-18 10:42:10 -08:00
ori ganoni
631b5c3ebc
adding turbulance to SITL
2016-11-17 20:06:35 -08:00
Andrew Tridgell
18d4286166
AP_InertialSensor: fixed pixfalcon 9250 detection
2016-11-18 14:24:39 +11:00
Peter Barker
fd5f79b238
AC_PrecLand: a pure-ArduPilot simulated SITL precision land backend
2016-11-18 09:41:56 +09:00
Peter Barker
4df4ba1956
AC_PrecLand: make SITL_Gazebo an alternate backend
...
Preprocessor directives were used to hack in the use
of AP_IRLock_SITL. Instead, make it a full backend itself.
2016-11-18 09:41:56 +09:00
Peter Barker
d2285ace6c
AC_PrecLand: remove unneeded empty handle_msg
2016-11-18 09:41:56 +09:00
Peter Barker
03710beb18
AC_PrecLand: make handle_msg impure and do nothing
2016-11-18 09:41:56 +09:00
Peter Barker
1eca4e128d
AC_WPNav: method to retrieve current desired pilot accels
2016-11-18 09:41:56 +09:00
Andrew Tridgell
cb1a5d4c74
AP_InertialSensor: take semaphore for update of accumulators
...
this fixes a race in update of delta angle and delta velocity between
backend and frontend
2016-11-18 06:32:17 +11:00
Pierre Kancir
84aaca7c6e
SITL: add missing break
2016-11-17 13:46:10 +00:00
Peter Barker
cf5ed25c9e
AP_HAL_Linux: do not attempt realtime when compiling Replay
2016-11-16 22:25:18 -02:00
Julien Beraud
ac3f49b06f
RPIOUART_Driver: fix warning
...
cast PKT_MAX_REGS to uint32_t to be able to compare without a warning
2016-11-16 17:37:15 -02:00
Julien Beraud
dc86a53862
OpticalFlow: move onboard alloc to init()
...
No reason to keep it in the constructor
2016-11-16 20:38:00 +11:00
Andrew Tridgell
f3f1f6b0b6
AP_InertialSensor: fixed gyro orientation on l3gd20H on pixhawk
2016-11-16 20:33:56 +11:00
Michael Oborne
fbeafa0d0a
Update AP_BoardConfig.cpp
2016-11-16 16:00:12 +11:00
Michael Oborne
e7e3478a58
AP_BoardConfig: add extra uavcan options
...
this enables the display of dynamic id assignment, which prevents the need for a serial connection to the esc, for first config.
2016-11-16 16:00:12 +11:00
Peter Barker
37c2c0a822
AP_Stats: fix variable reset time bug
...
Use Jan 1st 2016 as epoch time rather than Unix epoch.
PixHawk's 32-bit floats can't store a 32-bit timestamp.
2016-11-16 09:14:01 +09:00
Andrew Tridgell
6af00027ab
AP_InertialSensor: removed unused variables
...
thanks to Francisco for noticing
2016-11-16 08:41:06 +11:00
Pierre Kancir
86c8145bd9
SITL: Change Flighgear port with instance number
2016-11-16 08:27:48 +11:00
Pierre Kancir
c4b5bd4bd9
SITL: revert fg view to activate by default and use flag to disable it
2016-11-16 08:27:48 +11:00
Pierre Kancir
e2b939df39
SITL: rename simin to rcin for better readability
2016-11-16 08:27:48 +11:00
Pierre Kancir
59c84c637e
SITL: make fg view optional
2016-11-16 08:27:48 +11:00
Francisco Ferreira
bfbb275577
AP_InertialSensor: on accel cal failure don't save values to zero
...
When the accel calibration fails leave the previous values saved but set them to defaults (scale default is ones, not zeros) and notify the GCS
This fixes an arithmetic exception when doing a second accel cal after the first one failed
2016-11-15 11:42:54 -08:00
Francisco Ferreira
a3fcebc501
AP_Param: add set_and_notify to vectors
2016-11-15 11:42:54 -08:00
Francisco Ferreira
e763896b6a
AP_AccelCal: send and receive MAV_CMD_ACCELCAL_VEHICLE_POS
...
Message is sent at a maximum of 1Hz
Status text is sent, but if command is received it stops and only uses commands
2016-11-15 11:42:54 -08:00
Francisco Ferreira
7463d4c8f7
GCS_MAVLink: add function to send command requesting vehicle position during accel cal
2016-11-15 11:42:54 -08:00
Francisco Ferreira
bc661f013e
AP_AccelCal: use vehicle position values from MAVLink enum
2016-11-15 11:42:54 -08:00
Francisco Ferreira
c07f377eb1
AP_AccelCal: make collect_sample responsible for state changes
...
Also only set the snoop if the step has changed
2016-11-15 11:42:54 -08:00
Andrew Tridgell
624178f3be
AP_InertialSensor: added INS_FAST_SAMPLE parameter
...
this allows enable/disable of fast sampling per IMU, making
experimentation easier.
It also fixes the fast sampling to always average over 8 samples, and
fixes the 9250 to use the correct accumulator when not doing fast
sampling
2016-11-15 21:16:40 +11:00
Andrew Tridgell
c0303ffe8a
AP_InertialSensor: temporarily disable fast sampling
...
a problem has been found with the filtering with fast sampling on
ICM-20608 and MPU9250. Disable until it is solved.
2016-11-14 18:18:17 +11:00
Andrew Tridgell
ae2dc5570e
AP_Proximity: added SITL proximity backend
...
using fence points for avoidance
2016-11-14 15:53:43 +09:00
Andrew Tridgell
b16226dddf
AP_Baro: fixed a bug with corrupted conversions in MS5611 driver
...
the datasheet says that if you get back zero in an ADC read that the
next value can be corrupt. I have seen this happen on the FMUv1,
leading to bad altitude readings
2016-11-13 17:08:06 +11:00
Andrew Tridgell
ac4b100ae4
AP_BoardConfig: use in-tree drivers for FMUv1
2016-11-13 16:21:17 +11:00
Andrew Tridgell
14a26bee6c
AP_HAL: fixed ms5611 address on FMUv1
2016-11-13 16:21:05 +11:00
Andrew Tridgell
00938f7dbb
HAL_PX4: fixed enabled channels in init
...
now this is called from AP_BoardConfig we need to not clear enabled
channels
2016-11-13 13:16:22 +11:00
Andrew Tridgell
0502eca7fc
HAL_PX4: removed unused variable
2016-11-13 13:16:22 +11:00
Andrew Tridgell
c794ad9ee8
AP_InertialSensor: use smaller FIFO buffers
...
this allows for reading multiple chunks from the fifo per callback
2016-11-13 13:16:22 +11:00
Michael Oborne
c62050dc1b
AP_GPS_SBF: fix accuracy reported by driver
2016-11-12 16:42:35 +09:00
Andrew Tridgell
5f3c14ea01
AP_RangeFinder: fixed tabs -> spaces
2016-11-12 14:18:15 +11:00
Andrew Tridgell
41018feb3a
HAL_PX4: split I2C transfers
...
this avoids SCL low with a stop condition, which doesn't work with
some devices
2016-11-12 14:18:14 +11:00
Andrew Tridgell
0c7dd99d7e
AP_RangeFinder: support LidarLite V2 using in-tree driver
...
needs to run in continuous mode
2016-11-12 14:18:14 +11:00
Andrew Tridgell
fd7b313e34
AP_RangeFinder: removed pwm_input_main
...
thanks to Francisco
2016-11-11 15:49:53 +11:00
Andrew Tridgell
a69ff34c80
AP_RangeFinder: try bus 0 and 1 for PulsedLightI2C rangefinder
2016-11-11 15:49:53 +11:00
Andrew Tridgell
516141edf3
AP_RangeFinder: start PX4 rangefinder drivers on demand
2016-11-11 15:49:53 +11:00
Andrew Tridgell
0fb959a309
AP_RPM: make pwm_input driver start on demand
2016-11-11 15:49:53 +11:00
Andrew Tridgell
08f770125e
AP_BoardConfig: moved optional sensor startup out of AP_BoardConfig
2016-11-11 15:49:53 +11:00
Andrew Tridgell
8d19808152
AP_InertialSensor: fixed missing checked register goto
...
thanks to Francisco for spotting
2016-11-11 08:08:56 +11:00
Andrew Tridgell
49856c37f2
AP_InertialSensor: reduce checked register count
...
thanks to Francisco for spotting this
2016-11-11 08:08:56 +11:00
Andrew Tridgell
4be8f05ad4
AP_InertialSensor: added register checking for LSM9DS0
2016-11-11 08:08:56 +11:00
Andrew Tridgell
77a83c091a
AP_InertialSensor: added register checking for MPU6000/ICM20608
2016-11-11 08:08:56 +11:00
Andrew Tridgell
95a849f472
AP_InertialSensor: added register checking for MPU9250
2016-11-11 08:08:56 +11:00
Andrew Tridgell
3289e90134
AP_InertialSensor: added error count increments in drivers
2016-11-11 08:08:55 +11:00
Andrew Tridgell
bc614de4b3
AP_HAL: added checked registers interface
...
allow drivers to easily monitor and correct critical registers
2016-11-11 08:08:55 +11:00
Andrew Tridgell
4ebf3309f7
AP_InertialSensor: auto-handle invensense sensor changes
...
some boards swap out MPU6000 for MPU9250 or ICM20608
2016-11-11 08:08:55 +11:00
Andrew Tridgell
8e61b15384
HAL_PX4: added ICM20608_EXT SPI device
2016-11-11 08:08:55 +11:00
Andrew Tridgell
e4454c5056
AP_Compass: setup for new PX4 board IDs
2016-11-11 08:08:55 +11:00
Andrew Tridgell
41b132e576
AP_Baro: setup for new board PX4 IDs
2016-11-11 08:08:55 +11:00
Andrew Tridgell
4f50d67790
AP_BoardConfig: added board type auto-detection
...
using SPI probing
2016-11-11 08:08:55 +11:00
Andrew Tridgell
c565c9df35
AP_HAL: added ICM20608 external SPI name
2016-11-11 08:08:55 +11:00
Andrew Tridgell
af0ec41652
AP_InertialSensor: fixed accel clip detection with fast sampling
...
we need to check on every sample at the full rate
2016-11-10 13:39:17 +11:00
Andrew Tridgell
0eac781559
AP_Compass: don't run the AK8963 on the external MPU9250
...
this saves us one mag slot for another external mag, and leaves the
primary MPU9250 undisturbed by the mag traffic on the bus
2016-11-10 13:05:22 +11:00
Andrew Tridgell
70c27a85de
AP_InertialSensor: on PH2 run the first MPU9250 at 8kHz
2016-11-10 13:04:15 +11:00
Andrew Tridgell
73122adb78
AP_BoardConfig: removed unused startup functions for Pixracer
2016-11-10 12:55:22 +11:00
Andrew Tridgell
3d5c57c5dc
AP_Compass: fixed orientation of PH2 in-tree compass drivers
2016-11-10 11:44:52 +11:00
Andrew Tridgell
4ba00720aa
AP_Compass: make init() private
...
not called from frontend
2016-11-10 11:44:52 +11:00
Andrew Tridgell
1ea4c6938c
AP_InertialSensor: allow auxiliary bus with fast sampling
2016-11-10 11:44:52 +11:00
Andrew Tridgell
8da42b7a8b
AP_InertialSensor: fixed temperature for fast sampling case
2016-11-10 11:44:52 +11:00
Andrew Tridgell
cb70bae167
AP_InertialSensor: use in-tree drivers for PH2SLIM
2016-11-10 11:44:52 +11:00
Andrew Tridgell
c68a6451cb
AP_Compass: use in-tree drivers for PH2SLIM
2016-11-10 11:44:52 +11:00
Andrew Tridgell
d716bbedee
AP_Baro: use in-tree drivers for PH2SLIM
2016-11-10 11:44:52 +11:00
Andrew Tridgell
e7a9de9b41
AP_BoardConfig: use in-tree drivers for PH2SLIM
2016-11-10 11:44:52 +11:00
Andrew Tridgell
fea7040aff
AP_Baro: don't panic when we can't find MS5611
...
this makes booting a PH2 without its sensor hat on much easier
2016-11-10 11:44:51 +11:00
Andrew Tridgell
e27a76e460
AP_InertialSensor: fixed auxiliary bus with FIFO enabled
...
make sure fifo reset doesn't check I2C master enable
2016-11-10 11:44:51 +11:00
Andrew Tridgell
46785e8ecf
AP_InertialSensor: improved method for FIFO integrity checking
...
check temperature every 255 samples against FIFO data
2016-11-10 11:44:51 +11:00
Andrew Tridgell
8a3f6a8902
AP_InertialSensor: use FIFO and implement fast sampling for MPU9250
2016-11-10 11:44:51 +11:00
Andrew Tridgell
f94e4b4375
Filter: allow 1P LowPassFilter to work without alpha recalc per sample
...
this makes the 1P filter optionally syntax compatible with the 2P
filter and much more CPU efficient.
2016-11-10 11:43:29 +11:00
murata
f9add59b58
Global: Aggregate the same definitions.
...
Global: Aggregate the same definitions.
2016-11-09 11:46:55 -03:00
Lucas De Marchi
c1647b13eb
AP_HAL_Linux: fix leaking strings
2016-11-09 11:44:05 -03:00
Andrew Tridgell
e25a391a8f
AP_InertialSensor: fixed typo
2016-11-09 17:08:15 +11:00
Andrew Tridgell
d2f6a514b9
AP_InertialSensor: catch FIFO alignment errors using temperature reading
...
Two cases of what seems to be FIFO alignment errors have been seen on
a Pixracer-beta board with a ICM-20608. At a cost of 2 extra bytes per
transfer we can catch these by looking for sudden temperature changes
caused by bad data in the temperature registers.
2016-11-09 17:08:15 +11:00
Andrew Tridgell
4602b4d679
AP_Compass: improve init and calibration of hmc5843
2016-11-09 17:08:15 +11:00
Andrew Tridgell
d248b33104
AP_InertialSensor: simplify config of MPU6000
...
use zero sample rate divider on both MPU6000 and ICM20608
2016-11-09 17:08:14 +11:00
Andrew Tridgell
7137d5c6f2
AP_InertialSensor: switch pixracer to always use in-tree drivers
2016-11-09 17:08:14 +11:00
Andrew Tridgell
3d48a72f59
AP_C0mpass: switch pixracer to always use in-tree drivers
2016-11-09 17:08:14 +11:00
Andrew Tridgell
b8c789cf35
AP_Baro: switch pixracer to always use in-tree drivers
2016-11-09 17:08:14 +11:00
Andrew Tridgell
b0b93f8928
AP_BoardConfig: switch pixracer to always use in-tree drivers
2016-11-09 17:08:14 +11:00
Andrew Tridgell
84c3e29891
AP_InertialSensor: use AP_HAL rotations for MPU6000
2016-11-09 17:08:14 +11:00
Andrew Tridgell
fd8955a737
AP_HAL: define default rotations for mpu6000 based boards
2016-11-09 17:08:14 +11:00
Andrew Tridgell
2f01dfe81c
AP_InertialSensor: fixed from review by Lucas
2016-11-09 17:08:13 +11:00
Andrew Tridgell
81b933d9d0
AP_InertialSensor: use int32_t summation for fast sampling
...
very slightly faster
2016-11-09 17:08:13 +11:00
Andrew Tridgell
b00fd95725
AP_Math: define Vector3l for += op
2016-11-09 17:08:13 +11:00
Andrew Tridgell
565f1986e0
AP_Baro: fixed FMUv1 baro and enable in-tree driver for PHMINI
2016-11-09 17:08:13 +11:00
Andrew Tridgell
fcf0a4ea59
AP_BoardConfig: use in-tree drivers for PHMINI
2016-11-09 17:08:13 +11:00
Andrew Tridgell
b363a65c2e
AP_Compass: enable in-tree drivers for PHMINI
2016-11-09 17:08:13 +11:00
Andrew Tridgell
03b7bc9e65
AP_InertialSensor: use internal drivers for PHMINI
...
this gets us fast sampling
2016-11-09 17:08:12 +11:00
Andrew Tridgell
af1c5fd6d3
AP_InertialSensor: always use FIFO on MPU6000
...
and enable fast sampling on ICM20608 if on SPI
2016-11-09 17:08:12 +11:00
Andrew Tridgell
96e42696b7
HAL_PX4: added icm20608-am SPI device
2016-11-09 17:08:12 +11:00
Andrew Tridgell
d778ee2db0
AP_HAL: define device for icm20608 on ACCEL_MAG CS line on px4
...
for PHMINI
2016-11-09 17:08:12 +11:00
Andrew Tridgell
b34ab2956b
HAL_PX4: added access to external SPI connector on FMUv2
2016-11-09 17:08:12 +11:00
Andrew Tridgell
fde80a9408
AP_InertialSensor: modify LSM303D settings to match PX4 driver
...
this allows existing accel calibration to be used
2016-11-09 17:08:12 +11:00
Andrew Tridgell
875fa60452
AP_Compass: fixed external I2C HMC5983 rotation on pixhawk
2016-11-09 17:08:11 +11:00
Andrew Tridgell
01fadb6e90
HAL_PX4: added per-device perf counter for I2C devices
2016-11-09 17:08:11 +11:00
Andrew Tridgell
a9a5e50bd1
AP_InertialSensor: removed timer callback for MPU6000
...
Thanks to Lucas for pointing out this is not needed
2016-11-09 17:08:11 +11:00
Andrew Tridgell
42f242a07b
HAL_PX4: fixed build on PX4-v1
2016-11-09 17:08:11 +11:00
Andrew Tridgell
bd8867be38
AP_Compass: cope with NULL dev pointer in driver probe functions
2016-11-09 17:08:11 +11:00
Andrew Tridgell
ba9b475782
AP_HAL: added MS5611 on I2C for px4-v1
2016-11-09 17:08:11 +11:00
Andrew Tridgell
4cf6dd1818
HAL_Linux: removed panic on bad SPI device
2016-11-09 17:08:11 +11:00
Andrew Tridgell
20cd165476
HAL_PX4: allow for missing SPIDevice table entries
...
removed panic
2016-11-09 17:08:10 +11:00
Andrew Tridgell
bd84e592f8
AP_InertialSensor: check for NULL device pointer in probe()
...
handle missing devices
2016-11-09 17:08:10 +11:00
Andrew Tridgell
3b53caad87
AP_Compass: keep old hmc5843 ID
...
prevent re-use. thanks to Lucas
2016-11-09 17:08:10 +11:00
Andrew Tridgell
02c2ba1331
AP_Compass: fixed dup semaphore bug
...
thanks to Lucas for spotting this!
2016-11-09 17:08:10 +11:00
Andrew Tridgell
f31a017ace
AP_Compass: changes to HMC5843 driver
...
this makes the HMC5843 use single-shot mode, which makes it more
robust to bus resets. It also adds WHOAMI checking and enables
automatic temperature compensation.
Unfortunately this makes existing calibration values incompatible, so
a re-cal is required. The device ID has been changed to reflect the
driver change.
2016-11-09 17:08:10 +11:00
Andrew Tridgell
f62851f780
GCS_MAVLink: added remote device operations
...
this makes debugging devices much easier. You can even write a
primitive SPI or I2C device driver over mavlink.
Support for this is in the devop MAVProxy module
2016-11-09 17:08:10 +11:00
Andrew Tridgell
922d5a74f7
HAL_PX4: print msg when I2C device is closed
2016-11-09 17:08:09 +11:00
Andrew Tridgell
da7ed73051
GCS_MAVLlink: added handle_common_message()
...
this will make it easier to add common functions for mavlink messages
without having to do a commit for each vehicle
2016-11-09 17:08:09 +11:00
Andrew Tridgell
e5a4dd4e56
HAL_PX4: added perf counter on SPI devices
2016-11-09 17:08:09 +11:00
Andrew Tridgell
8bca8545a2
HAL_PX4: removed unused devname field in SPIDevice
2016-11-09 17:08:08 +11:00
Andrew Tridgell
05769640d1
AP_Compass: support rotations on AK8963
2016-11-09 17:08:08 +11:00
Andrew Tridgell
2716ab8408
AP_Compass: added support for per-instance rotations
2016-11-09 17:08:08 +11:00
Andrew Tridgell
fac895b0e6
AP_Compass: setup read flag for SPI transfers
2016-11-09 17:08:08 +11:00
Andrew Tridgell
18df213069
HAL_PX4: fixed initial SPI bus speed and report new SPI instances
2016-11-09 17:08:08 +11:00
Andrew Tridgell
3d7d773883
AP_InertialSensor: added support for ICM20608 on Pixracer
2016-11-09 17:08:08 +11:00
Andrew Tridgell
4dc5dc87b5
HAL_PX4: added ICM20608 to SPI table
2016-11-09 17:08:08 +11:00
Andrew Tridgell
ea74f8c12c
AP_HAL: added ICM20608 INS name
2016-11-09 17:08:07 +11:00
Andrew Tridgell
2c1e9024f1
AP_InertialSensor: detect missing accels or gyros
2016-11-09 17:08:07 +11:00
Andrew Tridgell
106a91c64c
AP_InertialSensor: use init_gyro() on startup
...
this saves the calibration parameters which should be done on
calibration
2016-11-09 17:08:07 +11:00
Andrew Tridgell
408593465f
AP_InertialSensor: fixed rotation for mpu9250 on pixracer
2016-11-09 17:08:07 +11:00
Andrew Tridgell
790dd4769b
AP_InertialSensor: simplify rotations for MPU9250
2016-11-09 17:08:07 +11:00
Andrew Tridgell
38a1f51b53
AP_HAL: define rotations for the MPU9250 in board/linux.h
2016-11-09 17:08:07 +11:00
Andrew Tridgell
147b253e65
AP_Compass: make device IDs match PX4 drivers
...
match in-tree drivers to PX4Firmware drivers
2016-11-09 17:08:06 +11:00
Andrew Tridgell
aa4025bdf9
AP_InertialSensor: make INS sensor IDs match for PX4
...
in-tree driver IDs now match PX4Firmware driver IDs on Pixhawk2
2016-11-09 17:08:06 +11:00
Andrew Tridgell
76b2759317
AP_OpticalFlow: fixed shadowed variable build warning
2016-11-09 17:08:06 +11:00
Andrew Tridgell
9e7e1b2f01
AP_InertialSensor: fixed merge conflicts with patches from Lucas
2016-11-09 17:08:06 +11:00
Andrew Tridgell
1990aa96e1
AP_HAL: added get_bus_id_devtype()
...
used to do versioning on device types
2016-11-09 17:08:06 +11:00
Lucas De Marchi
104e29acf2
AP_InertialSensor: MPU6000: change accel scale to 16G
...
Also change the ID of MPU6000 so previous calibration values are not
considered valid.
2016-11-09 17:08:06 +11:00
Lucas De Marchi
dc09661b9e
AP_InertialSensor: MPU6000: save driver version
...
When registering accel and gyro we use the upper 16bits of the id to
store the driver version. When changing the driver behavior in
non-compatible ways, changing this version will trigger a request for
calibration.
2016-11-09 17:08:06 +11:00
Lucas De Marchi
0d3adef8b2
AP_InertialSensor: MPU6000: remove TODO leftover
...
This will never be done as blindly changing speed is not the way to fix
communication issues.
2016-11-09 17:08:05 +11:00
Andrew Tridgell
0a1616cc71
AP_InertialSensor: use correct device IDs on PX4 driver
2016-11-09 17:08:05 +11:00
Lucas De Marchi
469efb00f6
AP_InertialSensor: save id for gyro and accel instances
...
This allows each sensor to be uniquely identified in the system by using
either the index inside the backend or for those that use the Device
interface, to use the bus type, location, and device id.
We leave 16-bit for each sensor to be able to change its own
identification in future, which allows them to be changed in an
incompatible manner forcing a re-calibration.
2016-11-09 17:08:05 +11:00
Lucas De Marchi
bbb9bfa95e
AP_InertialSensor: save only gyro calibration
...
When we are initializing the gyro and then saving the calibration we are
also saving the calibration values for the accelerometers. Right now
this is non-problematic, but we want to check that the ID of the
accelerometer corresponds to the ID of the sensor detected. If we also
save accel calibrations we would actually override the ID of the
accelerometer.
Rename the method to _save_gyro_calibration() and save only on gyro
values.
2016-11-09 17:08:05 +11:00
Lucas De Marchi
f81dba2100
AP_InertialSensor: add doc to get_id() of backend
...
This is different from get_id() of Device and ultimately from each
sensor this this is identifying the backend, not the sensor.
2016-11-09 17:08:05 +11:00
Lucas De Marchi
6b88f3367b
AP_Common: remove AP_PRODUCT_ID_* macros
...
These are not used anymore.
2016-11-09 17:08:05 +11:00
Lucas De Marchi
ace61087a1
AP_InertialSensor: remove product_id
...
We only leave the parameter there for backward-compatibility. However
product id on the inertial sensor is not much useful since it's only
kept for the first instance.
A better implementation per-gyro and per-accel is needed in order to
avoid problems with sensors taking the offsets configured for another
sensor.
2016-11-09 17:08:05 +11:00
Andrew Tridgell
a6ac02b61f
HAL_Linux: implement device IDs for I2C and SPI
2016-11-09 17:08:04 +11:00
Andrew Tridgell
de7913e8e9
AP_Compass: implement device IDs for compass drivers
2016-11-09 17:08:04 +11:00
Andrew Tridgell
64a5d3938c
AP_InertialSensor: implement device IDs for MPU6000 and MPU9250 AuxilaryBus
2016-11-09 17:08:04 +11:00
Andrew Tridgell
ac2c25539b
AP_InertialSensor: implement device IDs for AuxilaryBus
2016-11-09 17:08:04 +11:00
Andrew Tridgell
16489d2a13
HAL_PX4: implement device IDs for I2C and SPI
2016-11-09 17:08:04 +11:00
Andrew Tridgell
3d48b6bb3a
AP_HAL: added device id tuples to Device class
...
this allows a bus connection and device type tuple to be identifed as
a 24 bit number for use in user visible device IDs. Every bus
connection has a unique device ID.
2016-11-09 17:08:04 +11:00
Andrew Tridgell
4ef92b5e39
AP_InertialSensor: enable all 3 IMUs on PH2
2016-11-09 17:08:04 +11:00
Andrew Tridgell
e08babb7df
HAL_PX4: added new SPI devices for PH2
2016-11-09 17:08:03 +11:00
Andrew Tridgell
26ca2dd392
AP_HAL: added more px4 SPI device names
2016-11-09 17:08:03 +11:00
Andrew Tridgell
ac0ea12b42
AP_Compass: enable HMC5843 on SPI for PH2
2016-11-09 17:08:03 +11:00
Andrew Tridgell
88e24dd8bd
AP_BoardConfig: added board type 103
...
for PH2 in-tree drivers
2016-11-09 17:08:03 +11:00
Andrew Tridgell
66026100c3
AP_Baro: enable dual baro on PH2
2016-11-09 17:08:03 +11:00
Andrew Tridgell
4df9b093c3
AP_Baro: fixed missed samples in ms5611 driver
2016-11-09 17:08:03 +11:00
Andrew Tridgell
7c36e14524
AP_ADC: fixed thread usage in AP_ADC_ADS1115
2016-11-09 17:08:03 +11:00
Andrew Tridgell
dbd192971f
AP_Notify: fixed threading on toshibaled i2c
2016-11-09 17:08:02 +11:00
Andrew Tridgell
a9cb03ad74
AP_Notify: fixed threading in two notify backends
2016-11-09 17:08:02 +11:00
Andrew Tridgell
6e2fbf1988
AP_OpticalFlow: fixed threading in opticalflow for linux
2016-11-09 17:08:02 +11:00
Andrew Tridgell
5cf768ced2
AP_InertialSensor: fixed missing return
2016-11-09 17:08:02 +11:00
Andrew Tridgell
4f231f9355
AP_BattMonitor: fixed thread usage for SMBus_I2C
2016-11-09 17:08:02 +11:00
Andrew Tridgell
e88519364f
AP_RangeFinder: fixed maxbotix I2C semaphore and bus usage
2016-11-09 17:08:02 +11:00
Andrew Tridgell
bedee31f61
AP_Baro: fixed semaphore and thread usage in baro drivers
2016-11-09 17:08:02 +11:00
Andrew Tridgell
38ff8b3536
AP_InertialSensor: removed unused product_id function in L3G4200D
2016-11-09 17:08:01 +11:00
Andrew Tridgell
1c631ea037
AP_Compass: cleanup use of backend semaphores
...
fixed drivers that didn't protect accumulation counters
2016-11-09 17:08:01 +11:00
Andrew Tridgell
9afd51350e
AP_Compass: use thread per bus in more drivers
...
and removed use of timer suspend
2016-11-09 17:08:01 +11:00
Andrew Tridgell
974827aa82
AP_Compass: enabled AK8963 on PX4
2016-11-09 17:08:01 +11:00
Andrew Tridgell
a06137bb68
AP_HAL: define 9250 devices
2016-11-09 17:08:01 +11:00
Andrew Tridgell
4bc5b715bf
HAL_PX4: define 9250 and fix SPI bus speeds
2016-11-09 17:08:01 +11:00
Andrew Tridgell
a5c5e033d2
AP_InertialSensor: fixed threading and locking in remaining backends
...
use a backend semaphore for shared data and use thread per bus where
available
2016-11-09 17:08:01 +11:00
Andrew Tridgell
2e4151d14e
AP_Compass: enable lsm303d mag on FMUv2
2016-11-09 17:08:00 +11:00
Andrew Tridgell
36190ba545
AP_Compass: use thread per bus for lsm303d mag
2016-11-09 17:08:00 +11:00
Andrew Tridgell
b92c48548a
AP_InertialSensor: added per-instance rotation for LSM9DS0
2016-11-09 17:08:00 +11:00
Andrew Tridgell
2df6ed08c2
AP_InertialSensor: added optional per-instance orientation
...
this is needed for multi-sensor boards to get orientation right for
each sensor
2016-11-09 17:08:00 +11:00
Andrew Tridgell
ac2572384d
AP_InertialSensor: added start() method for LSM9DS0
...
needed to get sensor ordering right on multi-sensor boards
2016-11-09 17:08:00 +11:00
Andrew Tridgell
b9e1490740
AP_BoardConfig: added px4io auto-update to AP_BoardConfig
2016-11-09 17:08:00 +11:00
Andrew Tridgell
7e803df221
AP_BoardConfig: startup core peripherals for PX4
2016-11-09 17:07:59 +11:00
Andrew Tridgell
84f93439ca
HAL_PX4: delay peripheral starup
...
moved to AP_BoardConfig
2016-11-09 17:07:59 +11:00
Andrew Tridgell
497b87fa65
AP_Airspeed: switched to in-tree I2C driver for all boards
2016-11-09 17:07:59 +11:00
Andrew Tridgell
0c13c73aa0
AP_BoardConfig: removed PX4 airspeed drivers
2016-11-09 17:07:59 +11:00
Andrew Tridgell
7832f1a1b6
AP_InertialSensor: allow for in-tree drivers for PX4
2016-11-09 17:07:58 +11:00
Andrew Tridgell
7bd52eb112
AP_Compass: allow for in-tree drivers for PX4
2016-11-09 17:07:58 +11:00
Andrew Tridgell
72c2e3a4d5
AP_Baro: select in-tree vs PX4 drivers at runtime
2016-11-09 17:07:58 +11:00
Andrew Tridgell
ce174489c3
AP_BoardConfig: added get_board_type() for PX4
...
used to decide what drivers to start
2016-11-09 17:07:58 +11:00
Andrew Tridgell
e91b1318fb
HAL_PX4: reformat
2016-11-09 17:07:58 +11:00
Andrew Tridgell
1bb450c722
HAL_PX4: moved to common DeviceBus class for thread management in I2C and SPI
2016-11-09 17:07:58 +11:00
Andrew Tridgell
972f85c490
HAL_PX4: go direct to NuttX for SPI transfers
2016-11-09 17:07:58 +11:00
Andrew Tridgell
bf0b0c1773
AP_HAL: fixed HAL_SEMAPHORE_BLOCK_FOREVER to be zero
...
all implementations assume this
2016-11-09 17:07:57 +11:00
Andrew Tridgell
c7bef33ab7
HAL_PX4: fixed lsm303d SPI name
2016-11-09 17:07:57 +11:00
Andrew Tridgell
b697c978e6
AP_HAL: fixed lsm303d SPI name
2016-11-09 17:07:57 +11:00
Andrew Tridgell
919aa61918
AP_InertialSensor: support AuxiliaryBus without register_periodic_callback()
2016-11-09 17:07:57 +11:00
Andrew Tridgell
e79b4f1c11
AP_HAL: added defines for ms5611 on other SPI buses
2016-11-09 17:07:57 +11:00
Andrew Tridgell
5db65cdb6d
AP_HAL: added subtype for PX4 FMUv4
2016-11-09 17:07:57 +11:00
Andrew Tridgell
254b71468c
HAL_PX4: added ms5611_int SPI descriptor
2016-11-09 17:07:57 +11:00
Andrew Tridgell
0a28a3a83a
HAL_PX4: run SPI priority above boost prioriity
...
otherwise ins sample wait can end up waiting on blocked SPI
2016-11-09 17:07:56 +11:00
Andrew Tridgell
3aa36185e4
HAL_PX4: drop mpu6000 speed to 11MHz
...
match previous driver
2016-11-09 17:07:56 +11:00
Andrew Tridgell
2b66df68a1
AP_InertialSensor: use thread-per-bus for lsm303d and mpu6000
2016-11-09 17:07:56 +11:00
Andrew Tridgell
ed6df09d12
HAL_PX4: added lsm9ds0 entries to SPI table
2016-11-09 17:07:56 +11:00
Andrew Tridgell
3927994905
AP_HAL: added SPI device names to px4
2016-11-09 17:07:56 +11:00
Andrew Tridgell
c2c7284a94
HAL_PX4: implement SPIDevice code for PX4
...
with thread per bus
2016-11-09 17:07:56 +11:00
Andrew Tridgell
90dc9e3327
AP_InertialSensor: dummy implementation of register_periodic_callback()
...
for AuxiliaryBus
2016-11-09 17:07:55 +11:00
Andrew Tridgell
96adfccae3
AP_Compass: switch hmc5983 driver to use periodic callback on the bus
...
this does not yet work with the mpu6000 auxiliary bus
2016-11-09 17:07:55 +11:00
Andrew Tridgell
4d5562764a
AP_HAL: provide default hmc5983 i2c bus address
2016-11-09 17:07:55 +11:00
Andrew Tridgell
0b27478d7b
AP_RangeFinder: use thread per bus for LightWareI2C driver
2016-11-09 17:07:55 +11:00
Andrew Tridgell
88df9c7029
HAL_PX4: added thread-per-bus implementation for I2C
2016-11-09 17:07:55 +11:00
Mathieu OTHACEHE
60ba91aead
Disco: add buzzer support
...
Use ToneAlarm class to handle Disco buzzer.
2016-11-07 18:02:21 -03:00
floaledm
60c59bea4d
AP_Frsky_Telem: make frsky_telemetry available to GCS_MAVLINK
2016-11-08 07:42:39 +11:00
floaledm
9f8d2f0506
GCS_MAVLink: send status_text messages to Frsky lib queue
2016-11-08 07:42:39 +11:00
Mathieu OTHACEHE
37237a5735
Disco_LED: Do not alloc PWM_Sysfs_Bebop objects
...
Using PWM_Sysfs_Base::init method, we don't need anymore to alloc memory
for PWM_Sysfs_Bebop objects.
2016-11-07 14:59:31 -02:00
Mathieu OTHACEHE
0fa441a8a5
PWM_Sysfs: add an init method to do hal dependent stuff.
...
When PWM_Sysfs_Base constructor is called, global variable hal may not
have been initialized resulting in NULL dereferencing error.
Move hal dependent stuff from contructor to init method.
2016-11-07 14:59:31 -02:00
Lucas De Marchi
91c4bf470f
AP_InertialSensor: add O_CLOEXEC in places missing it
...
By opening with O_CLOEXEC we make sure we don't leak the file descriptor
when we are exec'ing or calling out subprograms. Right now we currently
don't do it so there's no harm, but it's good practice in Linux to have
it.
2016-11-07 12:37:30 -03:00
Lucas De Marchi
b7e5f56bd7
AP_Gripper: add O_CLOEXEC in places missing it
...
By opening with O_CLOEXEC we make sure we don't leak the file descriptor
when we are exec'ing or calling out subprograms. Right now we currently
don't do it so there's no harm, but it's good practice in Linux to have
it.
2016-11-07 12:37:30 -03:00
Lucas De Marchi
4936fd8623
AP_Terrain: add O_CLOEXEC in places missing it
...
By opening with O_CLOEXEC we make sure we don't leak the file descriptor
when we are exec'ing or calling out subprograms. Right now we currently
don't do it so there's no harm, but it's good practice in Linux to have
it.
2016-11-07 12:37:30 -03:00
Lucas De Marchi
f6d475c1e6
AP_HAL_SITL: add O_CLOEXEC in places missing it
...
By opening with O_CLOEXEC we make sure we don't leak the file descriptor
when we are exec'ing or calling out subprograms. Right now we currently
don't do it so there's no harm, but it's good practice in Linux to have
it.
2016-11-07 12:37:30 -03:00
Lucas De Marchi
c9eff28c44
DataFlash: add O_CLOEXEC in places missing it
...
By opening with O_CLOEXEC we make sure we don't leak the file descriptor
when we are exec'ing or calling out subprograms. Right now we currently
don't do it so there's no harm, but it's good practice in Linux to have
it.
2016-11-07 12:37:30 -03:00
Lucas De Marchi
932d1ae244
AP_RangeFinder: add O_CLOEXEC in places missing it
...
By opening with O_CLOEXEC we make sure we don't leak the file descriptor
when we are exec'ing or calling out subprograms. Right now we currently
don't do it so there's no harm, but it's good practice in Linux to have
it.
2016-11-07 12:37:30 -03:00
Lucas De Marchi
7968736b1c
AP_HAL: add O_CLOEXEC in places missing it
...
By opening with O_CLOEXEC we make sure we don't leak the file descriptor
when we are exec'ing or calling out subprograms. Right now we currently
don't do it so there's no harm, but it's good practice in Linux to have
it.
2016-11-07 12:37:30 -03:00
Lucas De Marchi
490841a814
AP_HAL_Linux: add O_CLOEXEC in places missing it
...
By opening with O_CLOEXEC we make sure we don't leak the file descriptor
when we are exec'ing or calling out subprograms. Right now we currently
don't do it so there's no harm, but it's good practice in Linux to have
it.
2016-11-07 12:37:30 -03:00
Lucas De Marchi
2e4c1818a3
AP_Common: add missing O_CLOEXEC definition
...
O_CLOEXEC is not available on Nuttx, nor it makes sense there. Define it
as 0, so we can use it in code.
2016-11-07 12:37:30 -03:00
Holger Steinhaus
5b66062f85
AP_GPS_PX4: unsubscribe on driver destruction.
2016-11-07 08:00:57 -03:00
Shingo Matsuura
ceaa9474ed
AP_RangeFinder: change enum name, add "state" word
2016-11-06 05:22:30 -08:00
Shingo Matsuura
4329cdbf2c
AP_RangeFinder: change comment about fall through LEDDARONE_MODBUS_INIT case
2016-11-06 05:22:30 -08:00
Shingo Matsuura
3b8d36314c
AP_RangeFinder: add comment about no break at LEDDARONE_MODBUS_INIT case
2016-11-06 05:22:30 -08:00
Shingo Matsuura
0eeca3ee0b
AP_RangeFinder: remove case indent
2016-11-06 05:22:30 -08:00
Shingo Matsuura
4ca1eefd50
AP_RangeFinder: change magic numbers to define
2016-11-06 05:22:30 -08:00
Shingo Matsuura
6254787186
AP_RangeFinder: remove break in LEDDARONE_MODOBUS_INIT case and and use () around (read_len == 0) for clarity
2016-11-06 05:22:30 -08:00
Shingo Matsuura
5e5a806979
AP_RangeFinder: modified regarding to advices from @magicrub - san.
2016-11-06 05:22:30 -08:00
Shingo Matsuura
4b127edd5e
AP_RangeFinder: fixed LeddarOne busy wait
2016-11-06 05:22:30 -08:00
Florent Martel
530955c15f
AP_Frsky_Telem: remove arming check for transmitting params
...
Otherwise, on Plane, if ARMING REQUIRED is set to 0 (automatically
armed), no parameters are transmitted.
2016-11-04 23:11:00 -07:00
Randy Mackay
039d12bd55
AP_Gripper: add parameter unit and remove print on grab or release
2016-11-05 10:36:06 +09:00
Peter Barker
d9cbcd9487
SITL: a simulator for the EPM grabber
2016-11-05 10:20:43 +09:00
Peter Barker
7200692137
RC_Channel: make EPM a subclass of AP_Gripper_Backend
2016-11-05 10:20:41 +09:00
Peter Barker
48cd35609c
AP_Gripper: make EPM a subclass of AP_Gripper_Backend
2016-11-05 10:20:38 +09:00
Peter Barker
15b271ec13
AP_EPM: rename in preparation of becoming a AP_Gripper backend
2016-11-05 10:20:35 +09:00
Peter Barker
d2e798d549
RC_Channel: alias k_epm to k_kgripper
2016-11-05 10:20:31 +09:00
Peter Barker
d439bbe5bf
SITL: SIM_Gripper_Servo, a simulated servo gripper
2016-11-05 10:20:29 +09:00
Peter Barker
a8435de65a
AP_Gripper: a general gripper frontend
2016-11-05 10:20:27 +09:00
Florent Martel
5a96db5a44
AP_Frsky_Telem: replaced timer cond > with >=
2016-11-04 12:17:40 -07:00
Florent Martel
e43b2a73da
AP_Frsky_Telem: increase sending params priority
...
If there's a lot of messages in the queue, params would not be
transmitted for a while, until the queue is empty, which can take a bit
of time during init.
2016-11-04 12:17:40 -07:00
Florent Martel
75905be376
AP_Frsky_Telem: simplified set_is_flying and moved to header file
2016-11-04 12:00:02 -07:00
Florent Martel
bc4ab70c1c
AP_Frsky_Telem: added const to some declarations
2016-11-04 11:18:28 -07:00
floaledm
68b10979c3
AP_Frsky_Telem: added extra parentheses around pointed to values for readability
...
As suggested by tridge
2016-11-04 11:18:28 -07:00
Florent Martel
328e6d6886
AP_Frsky_Telem: removed sending redundant VSpd, Alt, and VFAS sensor values, which can now be handled by OpenTX
2016-11-04 11:10:09 -07:00
Ralf Ramsauer
530d3230df
Linux: Scheduler: don't ignore return values
...
Several return values in the constructor of the scheduler were ignored
before, while they should be respected.
I found that bug while strac'ing ardupilot as it failed at some later
point.
Signed-off-by: Ralf Ramsauer <ralf.ramsauer@othr.de>
2016-11-03 17:27:37 -03:00
Lucas De Marchi
3ff965a0c0
DataFlash: remove infinite loop from loop() method
...
Remove the while() loop inside loop() method so the new signal handlers
correctly notify the mainloop to exit.
This makes SIGTERM/SIGINT work again.
2016-11-02 16:28:20 -02:00
Lucas De Marchi
2b5f9fdd6b
AP_HAL_Linux: teardown scheduler threads
2016-11-02 16:28:20 -02:00
Lucas De Marchi
89420e4b2d
AP_HAL_Linux: add signal handler for normal termination
...
This allows to terminate the flight stack nicely, ensuring it returns 0
so init system can check by return code if it terminated nicely or if it
was due to a crash.
2016-11-02 16:28:20 -02:00
Lucas De Marchi
fa540429f9
AP_HAL_Linux: allow to teardown bus threads
...
Add code to teardown all bus threads. This can be called while exiting
to wait for threads to finalize.
2016-11-02 16:28:20 -02:00
Lucas De Marchi
312a27dd20
AP_HAL: RCInput: rename deinit() to teardown()
2016-11-02 16:28:20 -02:00
Lucas De Marchi
89599f7bea
AP_HAL_Linux: add unit tests for Thread implementations
2016-11-02 16:28:20 -02:00
Lucas De Marchi
992abd170d
AP_HAL_Linux: allow to join threads
2016-11-02 16:28:20 -02:00
Lucas De Marchi
3b2de6de46
AP_HAL_Linux: allow PeriodicThread to stop
...
This takes the simplest approach of just waiting for the next time we
will process events.
2016-11-02 16:28:20 -02:00
Lucas De Marchi
20650e14b7
AP_HAL_Linux: allow PollerThread to stop
2016-11-02 16:28:20 -02:00
Lucas De Marchi
da65a5c349
AP_HAL_Linux: allow to wakeup pollable
...
This allows to wakeup the thread that is sleeping on Poller::poll()
[ which in our case is an epoll_wait() call ]. This is usually achieved
by using a special signal and using the pwait() variant of the sleeping
function (or using signalfd). However integrating the signal in the
Thread class is more complex than simply use the eventfd syscall which
can serve our needs.
2016-11-02 16:28:20 -02:00
Lucas De Marchi
efe819e21e
AP_HAL_Linux: Poller: allow to fail constructor
2016-11-02 16:28:20 -02:00
Lucas De Marchi
e5003c3116
AP_HAL_Linux: Poller: add some documentation
2016-11-02 16:28:20 -02:00
Lucas De Marchi
da821e69eb
AP_HAL_Linux: Thread: allow to use Thread from stack
...
Up until now we rely on Thread objects and variants thereof to be allocated
on heap or embedded in another object that's zero'ed on initialization.
However sometimes it's convenient to be able to use them on stack as
will be the case when writting unit tests.
Initialize all relevant fields to allow them to be used on stack. While
at it, prefer C++11 initialization on Poller since it's only setting the
default (invalid) value.
2016-11-02 16:28:20 -02:00
murata
c808ee2f49
Global: To nullptr from NULL.
...
RC_Channel: To nullptr from NULL.
AC_Fence: To nullptr from NULL.
AC_Avoidance: To nullptr from NULL.
AC_PrecLand: To nullptr from NULL.
DataFlash: To nullptr from NULL.
SITL: To nullptr from NULL.
GCS_MAVLink: To nullptr from NULL.
DataFlash: To nullptr from NULL.
AP_Compass: To nullptr from NULL.
Global: To nullptr from NULL.
Global: To nullptr from NULL.
2016-11-02 16:04:47 -02:00
floaledm
5386edb791
AP_Frsky_Telem: fix setting of land_complete flag
...
When is_flying is true, land_complete should be set to 0, and
conversely.
2016-11-02 10:26:50 +11:00
floaledm
1aab5eec38
AP_Frsky_Telem: send ap_status only once initialized
...
Same as what is found in GCS_MAVLink.cpp for copter
2016-11-02 08:31:35 +11:00
murata
e15c234a4f
AP_ADSB: Set in the sprintf method.
2016-11-01 08:36:52 -07:00
murata
0028bd7b3c
AP_ADSB: Set in the sprintf method.
2016-11-01 08:36:52 -07:00
Peter Barker
b9dcf1108d
AP_ADSB: do not transmit by default
...
In various countries transmitting on the ADSB frequencies is a
federal offence.
Let's not have our users do that be default.
2016-11-01 14:21:07 +09:00
Michael Oborne
c5f8d8a695
AP_GPS_SBF: change reported altitude from geoid to MSL
2016-11-01 13:06:59 +09:00
Andrew Tridgell
df23c4857e
AP_RangeFinder: disabled LeddarOne driver
...
this driver is broken and could cause a vehicle to crash. It does busy
waits on a UART from the main thread.
It will be re-enabled when fixed
2016-10-31 13:40:49 +11:00
Randy Mackay
aeb1de08f5
AP_GPS: fix MAV compile error
2016-10-29 16:45:00 +09:00
Peter Barker
1997a4e044
SITL: include mass of sprayer payload in vehicle mass
2016-10-29 15:02:56 +09:00
Peter Barker
0cea47ae54
AC_Sprayer: disentangle ENABLED from permission-to-run
2016-10-29 15:02:52 +09:00
Peter Barker
bae89d43fa
AC_Sprayer: correct HOWTO, minor cleanups (NFC)
2016-10-29 15:02:50 +09:00
Peter Barker
a7867603a0
SITL: SIM_Sprayer: a simulated sprayer
2016-10-29 15:02:48 +09:00
Peter Barker
1bd96ae558
AP_Stats: ability to reset statistics
2016-10-29 14:53:25 +09:00
Peter Barker
e6adbceb3e
AP_Stats: runtime
2016-10-29 14:53:25 +09:00
Peter Barker
77064852c4
AP_Stats: AP_Stats flighttime
2016-10-29 14:53:25 +09:00
Peter Barker
be13de79a4
AP_Stats: a periodic update function, flttime and runtime
2016-10-29 14:53:25 +09:00
Peter Barker
7eff99b053
AP_Stats: keeps track of vehicle usage statistics
2016-10-29 14:53:25 +09:00
Randy Mackay
9290ee65cc
AP_GPS: MAV driver uses existing baud rates
...
GPS_INPUT messages can arrive through any mavlink serial port so we shouldn't be modifying any port's baud rates.
2016-10-29 14:33:44 +09:00
Peter Barker
066d066048
AP_BoardConfig: correct parameter metadata
2016-10-27 09:15:03 -07:00
Peter Barker
dee3bdbae9
AP_SerialManager: correct parameter metadata
2016-10-27 09:15:03 -07:00
Peter Barker
58a03b83ca
AP_Terrain: add missing parameter metadata
2016-10-27 09:15:03 -07:00
Peter Barker
daf9a45efd
AP_TECS: correct parameter metadata
...
Correct incomplete Description of LAND_PDAMP
Add DisplayName for LAND_PDAMP
2016-10-27 09:15:03 -07:00
Peter Barker
c1f455f904
AP_RangeFinder: correct parameter metadata
2016-10-27 09:15:03 -07:00
Peter Barker
ecd061dad5
AP_RPM: add missing parameter metadata
2016-10-27 09:15:03 -07:00
Peter Barker
06b616f761
AP_Motors: add missing parameter metadata
2016-10-27 09:15:03 -07:00
Peter Barker
9d0d451c48
AP_Mission: add missing parameter metadata
2016-10-27 09:15:03 -07:00
Peter Barker
755e76ced9
AP_L1_Control: add missing parameter metadata
2016-10-27 09:15:03 -07:00
Peter Barker
7b75a4ec09
AP_GPS: add missing parameter metadata
2016-10-27 09:15:03 -07:00
Peter Barker
e4001e67e2
AP_Compass: add missing parameter metadata
2016-10-27 09:15:03 -07:00
Peter Barker
a660ffa3fc
AP_BoardConfig: add missing parameter metadata
2016-10-27 09:15:03 -07:00
Peter Barker
dbecb1bc25
AP_Baro: add missing parameter metadata
2016-10-27 09:15:03 -07:00
Peter Barker
42f3f7195b
AP_Airspeed: add missing parameter metadata
2016-10-27 09:15:03 -07:00
Peter Barker
9a8d3d6e7c
AP_AHRS: add missing parameter metadata
2016-10-27 09:15:03 -07:00
Peter Barker
71e42a4eac
APM_Control: add missing parameter metadata
2016-10-27 09:15:03 -07:00
Peter Barker
2e2d39e628
AC_AttitudeControl: add missing parameter metadata
2016-10-27 09:15:03 -07:00
floaledm
7045013933
AP_Frsky_Telem: use airspeed value w/o constraints of ground speed and AHRS_WIND_MAX
2016-10-27 11:11:38 -03:00
hiro2233
cdfd057690
AP_HAL_LINUX: Added urus macro RCInput_RPI
2016-10-27 11:51:53 -02:00
hiro2233
cae0c11720
AP_HAL_Linux: Added URUS Macro to Util_RPI
2016-10-27 11:51:32 -02:00
hiro2233
37877f1530
AP_HAL_Linux: Added URUS macro to Scheduler
2016-10-27 11:51:32 -02:00
hiro2233
7000124f6a
AP_HAL_Linux: Added URUS Macro for GPIO_RPI and UtilRPI
2016-10-27 11:51:32 -02:00
hiro2233
a7b79dc0e2
AP_HAL_Linux: GPIO_RPI: Added URUS Macro.
2016-10-27 11:51:32 -02:00
hiro2233
3742c3b243
AP_HAL: Added subtype board URUS.
...
This is a linux system based with Raspberry Pi B+, it's a automated
domotic system using APM framework.
2016-10-27 11:51:31 -02:00
Lucas De Marchi
473add51f7
AP_HAL_Linux: RPIOUARTDriver: remove dma mention
...
There's no dma going on here, it's just a normal SPI transfer.
2016-10-27 10:35:01 -03:00
Lucas De Marchi
d3b5089a12
AP_HAL_VRBRAIN: UARTDriver: remove commented out code
...
This is not working and there's no reason to keep it around.
2016-10-27 10:35:01 -03:00
Lucas De Marchi
a3140df24a
AP_HAL_PX4: UARTDriver: remove commented out code
...
This is not working and there's no reason to keep it around.
2016-10-27 10:35:01 -03:00
Lucas De Marchi
ec4d1eefca
AP_HAL_PX4: UARTDriver: fix trailing whitespaces
2016-10-27 10:35:01 -03:00
Lucas De Marchi
d60b4842b6
AP_HAL_Linux: reduce scope of dummy buffer
2016-10-27 10:35:01 -03:00
Lucas De Marchi
76f1e4243a
AP_HAL_Linux: remove double assignment
...
_dma_packet_tx.crc is already assigned below, we don't neet to set it to
0 before. While at it move the assignment to .crc up and fix coding
style.
2016-10-27 10:35:01 -03:00
Lucas De Marchi
c898b28962
AP_HAL_Linux: use MIN where possible
2016-10-27 10:35:01 -03:00
Lucas De Marchi
05a7eef1a2
RingBuffer: use explict "if" and return early
...
Remove confusing use of ternary operator together with assign + load.
No change in behavior.
2016-10-27 10:35:01 -03:00
Andrew Tridgell
82365f8670
AP_NavEKF2: save some memory in the position offsets in EKF2
...
we don't need to copy that vector3f for every sample. A uint8_t does
the job
2016-10-27 17:09:06 +11:00
Andrew Tridgell
a05d216ce4
AP_NavEKF: make posOffset const ref for optflow
2016-10-27 15:45:40 +11:00
Andrew Tridgell
772209b3f3
AP_AHRS: make posOffset a const reference
2016-10-27 15:45:24 +11:00
Andrew Tridgell
703ef0ca0e
AP_RangeFinder: added get_primary() API
2016-10-27 15:45:07 +11:00
Andrew Tridgell
afe2c31ae7
AP_Inertial_Sensor: use const reference
2016-10-27 15:06:11 +11:00
Andrew Tridgell
af332cb336
AP_GPS: use const reference
2016-10-27 15:05:58 +11:00
Andrew Tridgell
27cdf220de
AP_RangeFinder: use const reference
2016-10-27 14:59:10 +11:00
Andrew Tridgell
047a09c391
AP_OpticalFlow: use const reference
...
saves stack space and cpu
2016-10-27 14:58:59 +11:00
priseborough
f722ddf615
AP_RangeFinder: Update parameter documentation
...
Add brief description of body frame conventions.
2016-10-27 14:54:45 +11:00
priseborough
1bde180f98
AP_OpticalFlow: Update parameter documentation
...
Add brief description of body frame conventions.
2016-10-27 14:54:45 +11:00
priseborough
1dec6dd9b0
AP_GPS: Update parameter documentation
...
Add brief description of body frame conventions.
2016-10-27 14:54:45 +11:00
priseborough
7460d97c9a
AP_InertialSensor: Update parameter documentation
...
Add brief description of body frame conventions.
2016-10-27 14:54:45 +11:00
priseborough
470f5c4562
AP_InertialSensor: Correct SITL IMU1 accel for position in body frame
2016-10-27 14:54:45 +11:00
priseborough
d830f68901
SITL: Add angular acceleration to simulator states
...
The calculation used is an approximation to work around the lack of angular acceleration in the interface with the flight dynamics model.
2016-10-27 14:54:44 +11:00
priseborough
747f3a8cfd
AP_HAL_SITL: Simulate range finder position offset
2016-10-27 14:54:44 +11:00
priseborough
a9f63abc6f
AP_HAL_SITL: simulate effect of GPS antenna offset
2016-10-27 14:54:44 +11:00
priseborough
3afe2b1694
AP_HAL_SITL: simulate optical flow sensor body frame position offset
2016-10-27 14:54:44 +11:00
priseborough
27dab27565
SITL: Add parameters for sensor position offsets in body frame
2016-10-27 14:54:44 +11:00
priseborough
4499ed437c
AP_RangeFinder: remove space before preprocessor directive
2016-10-27 14:54:44 +11:00
priseborough
3ca6c12344
AP_RangeFinder: Improve consistency of parameter naming
2016-10-27 14:54:44 +11:00
priseborough
c93c3d54f3
AP_NavEKF2: Don't correct for zero IMU position offset
...
The IMU offset correction involves a significant number of floating point operations and most users will leave the offset parameter at zero.
2016-10-27 14:54:44 +11:00
priseborough
1890bbdafa
AP_NavEKF2: Don't correct GPS for zero position offset
2016-10-27 14:54:44 +11:00
priseborough
f025c96e63
AP_NavEKF2: Don't correct range finder for zero position offset
2016-10-27 14:54:43 +11:00
priseborough
9a0ce1d5eb
AP_NavEKF2: Don't correct flow sensor for zero position offset
2016-10-27 14:54:43 +11:00
priseborough
b40016db62
AP_NavEKF2: Fix documentation errors
2016-10-27 14:54:43 +11:00
priseborough
54a431a51d
AP_InertialSensor: Update position offset parameter documentation
...
Notify users of the potential for velocity noise when using larger offset values..
Specific advice in terms of values has not been provided because it is highly dependent on Gyro noise levels.
2016-10-27 14:54:43 +11:00
priseborough
13ca62b1c7
AP_NavEKF2: Correct velocity and position outputs for IMU offset
...
This can improve position hold performance where it is not practical to have the IMU located at the centroid.
Although this enables the effect of IMU position offsets to be corrected, users will still need to be instructed to place the IMU as close to the vehicle c.g. as practical as correcting for large offsets makes the velocity estimates noisy.
2016-10-27 14:54:43 +11:00
priseborough
21dcf42c27
AP_NavEKF2: Add missing documentation
2016-10-27 14:54:43 +11:00
priseborough
8922861359
AP_NavEKF2: Correct optical flow data for sensor position offset
...
Correction requires the body rates averaged across the flow sensor sampling interval. This data has been added to the sensor buffer.
The body rate data from the flow sensor driver does not contain the Z component, so an equivalent value sampled from the navigation IMU has been used instead.
The variable omegaAcrossFlowTime has been moved out of the class and into the only function that uses it.
2016-10-27 14:54:43 +11:00
priseborough
16f021c466
AP_NavEKF2: Correct range finder data for body frame position offset
2016-10-27 14:54:43 +11:00
priseborough
e884e9cc6e
AP_NavEKF2: Correct GPS data for antenna body frame offset
2016-10-27 14:54:43 +11:00
priseborough
064a106808
AP_NavEKF2: Get IMU accelerometer body position offset data
2016-10-27 14:54:42 +11:00
priseborough
397033b7c3
AP_NavEKF2: Add flow sensor body position offset to data buffer
2016-10-27 14:54:42 +11:00
priseborough
92c086b40e
AP_NavEKF2: Add rangefinder body position offset to data buffer
2016-10-27 14:54:42 +11:00
priseborough
3148ad4623
AP_NavEKF2: Add GPS antenna position offset data to data buffer
2016-10-27 14:54:42 +11:00
priseborough
fd905c23e1
AP_NavEKF2: Add body position offset to optical flow interface
2016-10-27 14:54:42 +11:00
priseborough
8160eca47e
AP_NavEKF: update flow sensor interface
...
Adds a position offset which is not used by the backend
2016-10-27 14:54:42 +11:00
priseborough
6069c37b19
AP_AHRS: add position offset to optical flow interface
2016-10-27 14:54:42 +11:00
priseborough
9c7ab639a1
AP_OpticalFlow: Add parameters for flow sensor position offset
2016-10-27 14:54:41 +11:00
priseborough
24f9e7365d
AP_RangeFinder: Add parameters defining sensor position offset
2016-10-27 14:54:41 +11:00
priseborough
6db93d8a21
AP_InertialSensor: Add parameters defining accelerometer position offset
2016-10-27 14:54:41 +11:00
priseborough
b51c9dea6c
AP_GPS: Add parameters defining antenna offset in body frame
2016-10-27 14:54:41 +11:00
Murilo Belluzzo
a91da2e803
DataFlash: Change ::bufferspace_available return type
...
from 'uint16_t' to 'uint32_t' to avoid overflow (possible in at least
two implementations: Block and File).
2016-10-27 14:24:11 +11:00
Murilo Belluzzo
3f1896b9b7
RingBuffer: Remove 'old style' version
2016-10-27 14:24:10 +11:00
Murilo Belluzzo
c112e1c889
DataFlash: Make use of ByteBuffer class
...
This patch replaces the 'old style' ringbuffer by the ByteBuffer class.
An effort was made to keep the exchange as close as possible from a
drop-in replacement to minimize the risk of introducing bugs.
Although the exchange opens opportunities for improvement and
simplification of this class.
2016-10-27 14:24:10 +11:00
Lucas De Marchi
80cf1207b7
AP_HAL_VRBRAIN: UARTDriver: fix writting with failures
...
When the buffer wraps and we do it in 2 steps, we can't actually do the
second part if it fails or if we wrote less bytes than we intended,
otherwise we will corrupt the data being sent.
2016-10-27 14:23:43 +11:00
Lucas De Marchi
68fc08fe52
AP_HAL_VRBRAIN: fix resetting TX buffer
...
We can't give the TX buffer 16 bytes more since next time begin() is
called it will compare the buffer size to the value the caller is trying
to set. In this case we would free and alloc the buffer again each time
begin was called.
2016-10-27 14:23:43 +11:00
Murilo Belluzzo
e8bfcf02a0
VRBRAIN UARTDriver: Make use of ByteBuffer class
...
This patch replaces the 'old style' ringbuffer by the ByteBuffer class.
An effort was made to keep the exchange as close as possible from a
drop-in replacement to minimize the risk of introducing bugs.
Although the exchange opens opportunities for improvement and
simplification of this class.
While at it, just like in the write case, explain why we are stopping.
2016-10-27 14:23:43 +11:00
Lucas De Marchi
4df627693d
AP_HAL_PX4: UARTDriver: fix writting with failures
...
When the buffer wraps and we do it in 2 steps, we can't actually do the
second part if it fails or if we wrote less bytes than we intended,
otherwise we will corrupt the data being sent.
While at it, just like in the write case, explain why we are stopping.
2016-10-27 14:23:43 +11:00
Lucas De Marchi
4346f1dd83
AP_HAL_PX4: fix resetting TX buffer
...
We can't give the TX buffer 16 bytes more since next time begin() is
called it will compare the buffer size to the value the caller is trying
to set. In this case we would free and alloc the buffer again each time
begin was called.
2016-10-27 14:23:43 +11:00
Murilo Belluzzo
c7a65a026c
AP_HAL_PX4: UARTDriver: Make use of ByteBuffer class
...
This patch replaces the 'old style' ringbuffer by the ByteBuffer class.
An effort was made to keep the exchange as close as possible from a
drop-in replacement to minimize the risk of introducing bugs.
Although the exchange opens opportunities for improvement and
simplification of this class.
2016-10-27 14:23:43 +11:00
Lucas De Marchi
26650049c0
AP_HAL_Linux: UARTDriver: fix writting/reading with failures
...
When the buffer wraps and we do it in 2 steps, we can't actually do the
second part if it fails or if we wrote less bytes than we intended,
otherwise we will corrupt the data being sent.
2016-10-27 14:23:42 +11:00
Murilo Belluzzo
ce81c45f80
AP_HAL_Linux: UARTDriver: Make use of ByteBuffer class
...
This patch replaces the 'old style' ringbuffer by the ByteBuffer class.
An effort was made to keep the exchange as close as possible from a
drop-in replacement to minimize the risk of introducing bugs.
Although the exchange opens opportunities for improvement and
simplification of this class.
2016-10-27 14:23:42 +11:00
Murilo Belluzzo
8526b25654
RingBuffer: Add a faster method to read a single byte
2016-10-27 14:23:42 +11:00
Michael du Breuil
deec4ec6af
Compass: Rework compass calibrator
...
Summary of significant changes:
-Autsave doesn't depend on STREAM_EXTRA3
-Don't risk only saving one compass on copter if CAL_ALWAYS_REBOOT is set
-Only calibrate compasses that are both health and marked for use (there was a inconsistency in handling the mask)
-Fix incorrect failure reporting on DO_ACCEPT_MAG_CAL with a mask of 0 if a channel was specifically not started
-Fix not starting the buzzer if the delay is set to 0 seconds
-Always send MAG_CAL_REPORT until its acknowledged
-Correct the field in MAG_CAL_REPORT for autosave to indicate if the compass had actually been saved, rather then being scheduled to be saved
-Remmove unused public interfaces
2016-10-27 14:04:33 +11:00
floaledm
6869dace08
AP_Frsky_Telem: moved msg queueing of fw string
2016-10-26 09:49:30 -07:00
floaledm
56432f04d3
AP_Frsky_Telem: fixed airspeed; now same as VFR_HUD
2016-10-26 09:36:22 -07:00
Mathieu OTHACEHE
5e42800b5e
Disco: add LED support
...
Use RGBLed generic implementation to support Disco LED.
2016-10-26 11:56:11 -03:00
Leonard Hall
42672de606
AC_PosControl: set Alt_Hold filter for PID not just D
...
We normally don't use the D term here so setting the filter for PID not
just D lets us smooth the throttle response.
2016-10-26 21:00:43 +09:00
Francisco Ferreira
5a7f9a38fe
DataFlash: fix RCIN and RCOU structure types
2016-10-26 10:10:19 +09:00
murata
762a66c9e5
AP_GPS_SBF: Adjust the initial value of HDOP
2016-10-26 09:54:59 +11:00
Peter Barker
2bd13af43d
AP_Param: unhide groups when generating parameters in autotest
2016-10-26 09:53:14 +11:00
Peter Barker
dd7d41b1f3
SITL: unhide groups when generating parameters in autotest
2016-10-26 09:53:14 +11:00
Andrew Tridgell
d2287caf1c
HAL_SITL: removed old servo slew rate code
2016-10-25 20:39:38 +11:00
Andrew Tridgell
5e03358b0b
SITL: added servo filtering
...
SIM_SERVO_SPEED is servo time constant in seconds
2016-10-25 20:39:38 +11:00
Lucas De Marchi
539b727e5e
AP_HAL_Linux: Remove misleading constant
...
The constant passed to cflag is BOTHER, meaning the actual baud is set
in the other specific members. Don't define B* constants as they are
misleading here and this is why it doesn't work with e.g.
cfset[io]speed()... that function expect a B* constant which in Linux
is not the speed, but an index to an array with speeds.
2016-10-25 16:55:33 +11:00
Francisco Ferreira
3a89421c70
AP_BattMonitor: remove Bebop fixed capacity
...
Bebop, Bebop2 and Disco all use this class but it was always setting the capacity to the Bebop one, overriding the parameter
2016-10-24 09:24:11 -03:00
Martin Evans
0e19b8c9a0
AP_HAL_Linux: Set initial rotation on Dark to None
2016-10-24 10:00:24 -02:00
Martin Evans
6f6112d7c2
AP_HAL_Linux: Add setting for GPIO for Dark board
...
Just like other RPI-based boards.
2016-10-24 10:00:24 -02:00
Martin Evans
d2d3119b66
AP_HAL_Linux: PCA9685: Add quinary address
2016-10-24 10:00:06 -02:00
Martin Evans
37b85fd3cd
AP_HAL: Add Dark Linux board
2016-10-24 09:59:02 -02:00
Mathieu OTHACEHE
152edf7189
Global: remove mode line from headers
...
Using a global .dir-locals.el file is a better alternative than
reincluding the same emacs header in every file of the project.
2016-10-24 09:42:01 -02:00
Peter Barker
d188504b8b
AC_Fence: remove unused variable _boundary_revalidate
2016-10-24 08:57:56 -02:00
Peter Barker
6e72c899d1
AP_GPS: AP_GPS_GSOF: remove unused variable
2016-10-24 08:57:56 -02:00
Peter Barker
216a6493c9
AP_Compass: AP_Compass_LSM9DS1: remove unused variable
2016-10-24 08:57:56 -02:00
Peter Barker
64154feaef
DataFlash: remove unused semaphore variables
2016-10-24 08:57:56 -02:00
Peter Barker
c664eec93b
AC_WPNav: remove unused variable _last_update
2016-10-24 08:57:56 -02:00
Peter Barker
6f200cdc3d
SITL: SIM_Rover: remove unused variables
2016-10-24 08:57:55 -02:00
Peter Barker
e17a71c6cc
AP_GPS: AP_GPS_NOVA: remove unused variables
2016-10-24 08:57:55 -02:00
Peter Barker
d3422d1653
SITL: SIM_Tracker: remove unused variable
2016-10-24 08:57:55 -02:00
Peter Barker
5dad8745d5
DataFlash: remove bogus function declaration
2016-10-24 08:57:55 -02:00
Andrew Tridgell
9d6a5c6f04
HAL_PX4: make ready_to_arm state latching
...
this fixes a race condition in the handling of the px4io safety switch
2016-10-24 13:36:04 +11:00
Peter Barker
17883f6683
AP_InertialSensor: fix INS_generic example (call BoardConfig.init())
2016-10-24 11:00:22 +09:00
Andrew Tridgell
2a44e6a7d7
HAL_PX4: cope with no px4io on FMUv2
...
don't open px4fmu twice
2016-10-23 17:15:32 +11:00
Andrew Tridgell
68f0777dac
AP_Param: fixed bug with deeply nested parameter trees
...
enumeration could loop forever if the IDs overlapped due to 8 bit
masking
2016-10-23 15:27:42 +11:00
Andrew Tridgell
7bf81c44b0
AP_BoardConfig: allow programmatic setting of default safety mask
2016-10-21 11:53:34 +11:00
Andrew Tridgell
0bd3b8ecbd
AP_BoardConfig: fixed bug in fmu safety mask set
2016-10-21 09:10:55 +11:00
Andrew Tridgell
c825c7b4cc
HAL_PX4: disable FMU outputs again on re-engaging of safety switch
2016-10-21 09:10:55 +11:00
Andrew Tridgell
8cb93ae7c3
AP_BoardConfig: call PWM_SERVO_IGNORE_SAFETY on fmu as well
2016-10-21 09:10:55 +11:00
Andrew Tridgell
07c09ad6dc
AP_BoardConfig: expanded bitmask to 14 channels for safety mask
2016-10-21 09:10:55 +11:00
Andrew Tridgell
d2e4b73eda
Revert "GCS_MAVLink: default to MAVLink2 enabled"
...
Reverting change to MAVLink2 by default until SiK radio firmware issue
with ECC is sorted out
2016-10-21 07:55:02 +11:00
Andrew Tridgell
1171b33419
AP_TECS: added TECS_SYNAIRSPEED parameter
...
this allows for the synthetic airspeed estimate to be used in TECS
2016-10-20 13:22:39 +11:00
Andrew Tridgell
7ee42d3a7e
AP_TECS: fixed missing doc comment
2016-10-20 13:22:22 +11:00
priseborough
9779511425
AP_NavEKF2: Fix bug in median filter code
2016-10-19 19:45:00 +09:00
priseborough
d0ba259d0d
AP_NavEKF: Fix bug in median filter code
2016-10-19 19:44:58 +09:00
Peter Barker
6ccf36439d
AP_Frsky_Telem: actually set _ap.value flags based in is_flying
...
Closes #5017
2016-10-18 22:17:07 -07:00
Randy Mackay
e6e6e36da7
AP_GPS_MAV: fix hdop conversion
2016-10-18 20:24:55 +09:00
Andrew Tridgell
a847520da8
GCS_MAVLink: send RC_CHANNELS_RAW if using MAVLink1
...
this fixes issue #5010
2016-10-18 18:16:16 +11:00
Julien Beraud
20dcd6e082
RCOutput_Bebop: fix motor order
...
Accidentally pushed in commit 298f7bffb9
The order of the motors shouldn't have been changed on version 5 because
it is specific to older versions of the ESC controller firmware
2016-10-17 20:55:49 +11:00
Georacer
54c1efe5e1
Connection to last_letter once again successful
2016-10-17 09:37:23 +11:00
Andrew Tridgell
24d3399fd5
AP_Module: report loaded hooks on startup
...
useful for debugging
2016-10-17 09:31:51 +11:00
Andrew Tridgell
33bff3c79c
HAL_Linux: fixed transmitter failsafe with SBUS RCInput
2016-10-17 06:53:33 +11:00
Andrew Tridgell
8f88d7c784
AP_HAL: fixed comment on XPlus channels
...
thanks for Francisco for noticing
2016-10-17 06:49:40 +11:00
Andrew Tridgell
110355f14e
HAL_Linux: fixed SRXL and DSM
...
fixed default decoder state and fixed mic-recognition of SRXL as DSM
2016-10-16 21:31:37 +11:00
Andrew Tridgell
4d44591e62
AP_HAL: fixed decoding of XPlus channels
2016-10-16 19:05:19 +11:00
Andrew Tridgell
e9633553fb
HAL_Linux: update for changed SRXL API
2016-10-16 19:05:19 +11:00
Andrew Tridgell
ec8c22f26e
AP_HAL: support up to 20 channels on SRXL
...
tested with 18 channels on a DSM18 transmitter with a AR7700 receiver
with SRXL port
2016-10-16 19:05:19 +11:00
Andrew Tridgell
ece0a8721f
AP_HAL: added standalone test program for dsm
...
useful for debugging
2016-10-16 19:05:19 +11:00
Andrew Tridgell
03f9496549
HAL_Linux: lock onto a single decoder on the 115200 port
2016-10-16 19:05:19 +11:00
Andrew Tridgell
513156a4cc
HAL_Linux: make 115200 R/C decoders return a bool
2016-10-16 19:05:19 +11:00
Andrew Tridgell
710d08da6d
HAL_Linux: support SRXL R/C input
2016-10-16 19:05:19 +11:00
Andrew Tridgell
7b3d0234d1
AP_HAL: added an SRXL protocol decoder
...
SRXL ports are commonly found on newer spektrum receivers like the AR7700
2016-10-16 19:05:18 +11:00
murata
bb1a787852
AP_Scheduler: To add a comment to _loop_rate_hz variable.
2016-10-16 00:02:40 -07:00
Andrew Tridgell
f9dd31b6e5
RC_Channel: support automatic servo trimming
2016-10-16 15:20:47 +11:00
Lucas De Marchi
e6d5bac527
AP_Param: don't used reserved word in macros
...
`class` is a reserved word and should not be used as macro arguments.
It's very common in C++ to use "clazz" instead in these cases.
2016-10-15 15:19:17 -03:00
Andrew Tridgell
792f3b8a15
GCS_MAVLink: added handle_rc_bind()
2016-10-15 21:42:38 +11:00
murata
ba60cce0c1
AP_HAL: simplify the processing of milliseconds from the time
2016-10-15 18:33:54 +09:00
Andrew Tridgell
f01f711ff6
GCS_MAVLink: added accept_packet() hook
...
this will allow vehicles to control whether packets are accepted by
GCS sysid or not
2016-10-15 17:11:01 +11:00
Andrew Tridgell
992bf2368e
RC_Channel: cope with SERVO_RNG_ENABLE changing while booted
...
this prevents a one second throttle up on scaled ESCs when
enabling/disabling the servo output mapping
2016-10-15 16:59:37 +11:00
Andrew Tridgell
4a9ddf52e0
RC_Channel: constrain output to servo range
...
don't allow servos past configured range in any mode
2016-10-15 16:59:36 +11:00
Andrew Tridgell
2ceddddd3b
RC_Channel: don't call output() in SRV_Channel
...
we may need to run another mixer
2016-10-15 16:59:36 +11:00
Andrew Tridgell
78ef3b77c6
RC_Channel: added disable_passthrough() method
2016-10-15 16:59:36 +11:00
Andrew Tridgell
2ec439d7e3
RC_Channel: added set_esc_scaling() to SRV_Channels
2016-10-15 16:59:36 +11:00
Andrew Tridgell
73b9123495
RC_Channel: added set_trim() API to SRV_Channels object
2016-10-15 16:59:35 +11:00
Andrew Tridgell
c7f8b255e7
RC_Channel: added SRV_Channels object for remapping output channels
...
this allows for decoupling RC input ranges from servo output ranges
2016-10-15 16:59:35 +11:00
Andrew Tridgell
fea7903aa8
RC_Channel: added get_radio_out_normalised()
2016-10-15 16:59:35 +11:00
Andrew Tridgell
96c7d9dde8
RC_Channel: make output_trim() go via _radio_out
...
this ensures that _radio_out always contains the value that would be
output to the channel. This will be used by the SRV_Channels object
2016-10-15 16:59:35 +11:00
Leonard Hall
bead957a78
AP_MotorsMulticopter: limit hover throttle
2016-10-15 11:27:53 +09:00
Peter Barker
e71c71fcac
AP_HAL: correct casting of get_system_clock_ms
2016-10-14 18:41:56 +11:00
Jonathan Challinger
8df4add729
AC_PrecLand: trust initial velocity less
2016-10-14 10:46:22 +09:00
Jonathan Challinger
ec73f563ad
AC_PrecLand: do not fuse EKF velocity
2016-10-14 10:46:16 +09:00
Jonathan Challinger
7405f82d61
AC_PrecLand: add ekf to estimate vehicle-relative target velocity
2016-10-14 10:46:05 +09:00
Jonathan Challinger
5a8db4f271
AC_PosControl: add interface to override horizontal velocity process variable
2016-10-14 10:46:01 +09:00
Jonathan Challinger
25a14fe0dc
AP_AHRS: add interface to retrieve corrected delta velocities in NED frame
2016-10-14 10:45:58 +09:00
Andrew Tridgell
c1bf23e090
GCS_MAVLink: fixed comment
2016-10-14 11:40:36 +11:00
Randy Mackay
4808664fb6
AC_Avoidance: allow use of AP_Proximity
2016-10-13 20:21:07 +09:00
Randy Mackay
c3087edbe8
AP_Proximity: add library and SF40C driver
2016-10-13 20:21:07 +09:00
Randy Mackay
cc0bfcddcb
AP_SerialManager: add Lidar360 to protocol list
...
This is used for the proximity sensor
2016-10-13 20:21:07 +09:00
Andrew Tridgell
53260969bb
GCS_MAVLink: removed deprecated RC_CHANNELS_RAW and use RC_CHANNELS only
2016-10-13 21:23:39 +11:00
Andrew Tridgell
e78651e8f2
HAL_PX4: fixed DSM bind on Pixracer
2016-10-13 19:58:00 +11:00
Andrew Tridgell
5e829e7720
GCS_MAVLink: most users don't have signing keys
...
prevent noise on startup
2016-10-13 19:58:00 +11:00
Randy Mackay
9722c3a1c3
DataFlash: fix logging of ekf core
2016-10-13 15:22:59 +09:00
John Hsu
fc13efa673
SITL: update SIM_Gazebo SITL interface servo packet to have 16 floats, matching sitl_input struct.
2016-10-13 12:03:20 +11:00
John Hsu
a8cf38b366
SITL: implement Gazebo SITL for IRLock tracking.
2016-10-13 12:03:20 +11:00
Jonathan Challinger
e20687fbce
AP_AHRS: cache trim rotation
2016-10-13 10:02:14 +11:00
Jonathan Challinger
80d9092993
AP_Math: remove rotateXY and rotateXYinv
2016-10-13 10:02:14 +11:00
Jonathan Challinger
dac59cb5da
AP_NavEKF2: use exact matrix for trim rotation
2016-10-13 10:02:14 +11:00
Jonathan Challinger
3eba985afd
AP_NavEKF: use exact matrix for trim rotation
2016-10-13 10:02:13 +11:00
Jonathan Challinger
5ff78b8e47
AP_AHRS: fix rotation of acceleration into earth frame
2016-10-13 10:02:13 +11:00
Jonathan Challinger
a03fa2d3cf
AP_AHRS: use exact matrix for trim rotations
2016-10-13 10:02:13 +11:00
Andrew Tridgell
7f09d20e3b
HAL_Linux: implement cork and push for remaining RCOutput backends
2016-10-13 10:00:04 +11:00
Andrew Tridgell
c8179a0887
HAL_Linux: implement cork/push for RCOutput_AioPRU
2016-10-13 10:00:04 +11:00
Andrew Tridgell
e356797888
AP_HAL: make cork() mandatory in RCOutput
2016-10-13 10:00:04 +11:00
Andrew Tridgell
0640b6539c
HAL_Linux: implement cork()/push() for Raspilot
2016-10-13 10:00:04 +11:00
Andrew Tridgell
1d6e4673da
HAL_Empty: add cork() and push() for RCOutput
2016-10-13 10:00:04 +11:00
Andrew Tridgell
7ea75aaf95
HAL_QURT: implement cork() and push() for RCOutput
2016-10-13 10:00:04 +11:00
Andrew Tridgell
5530e3782d
HAL_VRBrain: fixed cork() for RCOutput
2016-10-13 10:00:04 +11:00
Andrew Tridgell
c493ba81e4
HAL_PX4: fixed cork() for RCOutput
2016-10-13 10:00:04 +11:00
Andrew Tridgell
a80eea5de4
HAL_Linux: implement cork()/push() for HAL_Linux RCOutput_Sysfs
2016-10-13 10:00:04 +11:00
Andrew Tridgell
97d0553938
HAL_SITL: implement cork() on RCOutput
2016-10-13 10:00:04 +11:00
Andrew Tridgell
7cd7f03d56
AP_Motors: fixed use of trim on heli servos
...
this was broken by the servo range 0 to 1 changes
2016-10-13 09:34:48 +11:00
Andrew Tridgell
0cd3054a4c
HAL_Linux: document the Disco PWM pinout
2016-10-12 21:41:49 +11:00
Andrew Tridgell
c64a020384
GCS_MAVLink: default to MAVLink2 enabled
...
this changes the default to enable MAVLink2 on USB and the primary
telemetry port. Note that unless signing is enabled it won't send a
MAVLink2 packet until the GCS sends a MAVLink2 packet
2016-10-12 11:35:50 +11:00
ShingoMatsuura
8432c5fb4a
AP_RangeFinder: remove number_detections member variable and add number_detections reference argument to parse_response
2016-10-11 07:56:37 -03:00
ShingoMatsuura
43f2482abd
AP_RangeFinder: modify spelling and change C type cast to static_cast
2016-10-11 07:56:37 -03:00
ShingoMatsuura
6123fad124
AP_RangeFinder: change error and ok status defines to LeddarOne_Status enum
2016-10-11 07:56:37 -03:00
Jonathan Challinger
77dbf99cee
AC_PosControl: fix bug related to ekfNavVelGainScaler
2016-10-11 15:25:59 +09:00
Lucas De Marchi
ae53920e5b
build: don't build examples with old build system
...
We currently check examples are buildable with waf which doesn't need
the libraries to be specified in a make.inc file. Having the makefiles
there is misleading since people try to build and realize the build is
broken.
2016-10-11 13:03:08 +11:00
Gustavo Jose de Sousa
06c3102701
SITL: SIM_Calibration: bring angular velocity controller back
...
And fix header documentation.
2016-10-11 12:58:37 +11:00
Andrew Tridgell
9caf44b494
AP_GPS: update drivers for changed inject_data() API
...
need 16 bit length
2016-10-11 11:00:35 +11:00
Andrew Tridgell
500df1edf2
AP_GPS: support GPS_RTCM_DATA fragmented MAVLink message
...
support re-assembly of RTCM data packets
2016-10-11 11:00:35 +11:00
Michael du Breuil
cf5e79f80e
AP_GPS: ublox support user controlled rate updates
...
Also corrects accepting bad nav rates as configured, and fixes a incorrect
index as to which GPS is being updated
2016-10-11 10:44:51 +11:00
Michael du Breuil
86c2b1d84a
AP_GPS: u-blox Remove 5Hz warning
...
The warnings test case is better covered by the rest of the driver
while it is performing the normal settings audit.
2016-10-11 10:44:51 +11:00
Michael du Breuil
3e3f539a6a
AP_GPS: Raise target baud of u-blox devices
...
A knockon effect is that we need less config strings as raw logging
on u-blox will use the same baud rates
2016-10-11 10:44:50 +11:00
floaledm
49e47fd679
AP_Frsky_Telem: airspeed scaling factor fix
2016-10-10 15:29:49 -07:00
Leonard Hall
0a56d69d54
AP_MotorsMulticopter: Use same throttle value used by motors
2016-10-10 16:40:08 +09:00
priseborough
5d09c78f34
AP_NavEKF2: Always perform optical flow takeoff check when receiving data
...
A specialised takeoff check is now always performed when we receive new flow data as the default behaviour is to try and use flow data whenever it is received, rather than limit its use to a use to a flow-only mode of operation that had to be selected via user parameter.
2016-10-10 14:49:48 +09:00
priseborough
a75a383ef2
AP_NavEKF2: Update protection for out of focus flow data
2016-10-10 14:49:41 +09:00
priseborough
635826c056
AP_NavEKF2: Fix reporting of terrain estimator innovations
...
Terrain height is relevant whenever optical flow data is present
2016-10-10 14:49:35 +09:00
priseborough
b0072b587c
AP_NavEKF2: fix reporting of optical flow use status
2016-10-10 14:49:24 +09:00
priseborough
ed9ecb28fb
AP_NavEKF2: Enable entry into relative position mode on start-up
2016-10-10 14:49:21 +09:00
priseborough
e0b8c54194
AP_NavEKF: Update GPS type parameter description
2016-10-10 14:49:18 +09:00
priseborough
f9018fcc1b
AP_NavEKF2: Enable simultaneous optical flow and GPS use
...
Enables simultaneous use of GPS and optical flow data with automatic fallback to relative position mode if GPS is lost and automatic switch-up to absolute position status if GPS gained/re-gained.
2016-10-10 14:49:02 +09:00
priseborough
ab55991b33
AP_NavEKF2: Report position jumps due to lane switches
...
Also moves code required to update reset data due to lane switches into separate functionscto improve readability.
2016-10-10 11:56:14 +09:00
murata
36b5d43efb
AC_Avoid: delete variable that is only used once in a simple calculation
2016-10-05 16:25:57 +09:00
Andrew Tridgell
2fab15dcd5
AP_TECS: added use_synthetic_airspeed() API
...
used by quadplane during transitions
2016-10-05 11:52:34 +11:00
Andy Little
0d113b265c
Examples: fix examples for px4
...
The change to use AP_BoardConfig messed up the examples. Here are some
updated but there are plenty more to do.
2016-10-04 12:50:47 -03:00
Murilo Belluzzo
0b86532b5c
Global: Remove '\r' character from all source code files
2016-10-03 22:13:27 -03:00
Julien Beraud
714c8fd318
AP_InertialSensor_MPU6000: Add support for fsync bit for Bebop
...
Already present on Disco
2016-10-03 12:20:03 -03:00
Andy Little
4b2eedac05
AP_HAL: Split the AP_HAL_Boards.h header into per board sub headers for legibility
2016-09-29 08:26:50 -03:00
Tom Pittenger
3adf8c3e51
AC_AttitudeControl: comment odd math in get_att_target_euler_cd
...
degree(100) = 1 float multiplicaiton
vector3f * degree(100.0f) = 4 float multiplications
degree(vector3f) * 100.0f = 6 float multiplications and needs new degree(vector3f) function
degree(vector3f * 100.0f) = 6 float multiplications and needs new degree(vector3f) function
These all come to the same conclusion but the one that is faster appears to be a bug but is mathematically correct.
2016-09-27 17:04:53 -07:00
floaledm
602b81a4d7
AP_Frsky_Telem: add ekf_status check
2016-09-27 09:20:32 -07:00
floaledm
27e977289a
AP_AHRS: add the get_variances method found in AP_AHRS_NavEKF to AP_AHRS
2016-09-27 09:20:32 -07:00
Peter Barker
a10cde35f5
DataFlash: stop logging before filling SD card on PX4
...
Filling the SD card causes NuttX to have conniptions, including
data loss and failure to boot
2016-09-26 14:02:58 -07:00
Jonathan Challinger
25bee93fcc
DataFlash: fix EKF5 message
2016-09-26 13:42:00 -07:00
Tom Pittenger
99d48d8bbd
AP_FrSky_Telem: cleanup, non-functional change
2016-09-26 13:12:42 -07:00
floaledm
fcfaa98bb6
AP_Frsky_Telem: reworked _statustext_queue.empty() check
2016-09-26 13:07:18 -07:00
Tom Pittenger
8001cc403b
AP_Frsky_Telem: fix is_flying assignment
2016-09-26 13:00:33 -07:00
floaledm
5e022bf631
AP_Frsky_Telem: fix *_ap.value issue for Plane
...
set_is_flying does operations on a nullptr, plus we loose the ability to
update ap_status accordingly for Plane
2016-09-26 12:35:47 -05:00
Francisco Ferreira
42cd8e9721
AP_NavEKF2: Handle yaw jumps due to core switches
...
Based on work from Paul Riseborough (priseborough)
2016-09-25 18:24:11 -07:00
Francisco Ferreira
8da22e441b
Revert 3 commits about yaw reset core switch
...
Revert "AP_NavEKF2: Fix bug in published yaw reset value found during code review"
commit 175faf1e41
.
Revert "AP_NavEKF2: use a struct for all yaw step class variables"
commit 77fad065d1
.
Partially revert "AP_NavEKF2: Handle yaw jumps due to core switches"
commit 885bfd1b4e
.
2016-09-25 18:24:11 -07:00
floaledm
ff0d0b1aa5
AP_Frsky_Telem: use ringbuffer for Frsky message queueing
2016-09-25 18:11:45 -07:00
murata
d58c193c90
AP_RangeFinder: To define the OK status to LEDDARONE status.
2016-09-25 17:46:22 -07:00
Tom Pittenger
b3d5375aa0
AP_Frsky_Telem: simplify init by assuming everything is nullptr
...
- also always queue the firmware message regardless of protocol type
2016-09-25 10:42:02 -07:00
Tom Pittenger
6991ca53b3
AP_Frsky_Telem: allow default arguments in init() to set things to nullptr
2016-09-25 10:42:02 -07:00
floaledm
94aa6c4cfb
AP_Frsky_Telem: consolidate into a single frsky.init()
2016-09-25 10:42:02 -07:00
Michael du Breuil
9c4b3ec1e1
AP_GPS: Fix incorrect incrementing of last_baud rate
...
This is a revert of 7c3b8dceb
which tried to start at index 0 of the
array of baudrates, however because of the way last_baud is used
this lead to a GPS always being reported as being 1 index off which
lead to users getting reports of baud rates that their GPS wasn't
configured for
Also renames last_baud to be current_baud as that is how it's
actuallly used and should reduce future confusion
And fixed some tabs/vs space issues around where the last_baud rate
was incremented.
2016-09-25 08:50:47 -07:00
Andrew Tridgell
36ea946cf5
AP_Compass: use board defined compass ofs max in calibrator
2016-09-23 10:53:00 +10:00
Andrew Tridgell
e7656fb7ac
AP_HAL: raise compass offset max again for Disco
...
values of 1600 happen on Z axis
2016-09-23 10:52:55 +10:00
Jonathan Challinger
17fb7dc88f
AP_Compass: initialize offset before beginning sphere fit
2016-09-23 10:52:51 +10:00
Jonathan Challinger
419f1bc00e
AP_Compass: change fixed point format for more range
2016-09-23 10:52:46 +10:00
Jonathan Challinger
0652d71a72
AP_Compass: correct wrapping behavior in conversion to fixed point
2016-09-23 10:52:44 +10:00
murata
3a1cd20f11
AP_RangeFinder: To move to the place that use the variable definition for the first time.
2016-09-22 08:41:21 +09:00
Tom Pittenger
8eb7a062c7
AP_Frsky_Telem: tiny text change in statusText
2016-09-21 16:11:04 -07:00
floaledm
9e0cfc81ea
AP_Frsky_Telem: updated sensor_status messages according to what is found in Mission Planner
...
added "NO RC Receiver" and "Bad Logging"
2016-09-21 15:51:04 -07:00
floaledm
5125846ac0
AP_Frsky_Telem: Plane support
2016-09-21 12:12:37 -07:00
floaledm
b2b6c88edf
AP_Frsky_Telem: renamed vars and funcs for consistency/clarity
2016-09-21 11:32:21 -07:00
Andrew Tridgell
3eb8b5e99f
HAL_Linux: added RCInput_Multi
...
this allows for multiple RCInput methods on one board. On Disco it
combines RCInput_115200 with RCInput_SBUS
2016-09-21 10:33:15 -03:00
Andrew Tridgell
5909552f67
HAL_Linux: added RCInput_115200
...
this is a RCInput module for multiple R/C uart protocols running at
115200 baud 8-bit. We can decode multiple protocols in parallel with
this module, relying on frame timing and CRCs to get the right
protocol
2016-09-21 10:33:15 -03:00
Andrew Tridgell
2edd914634
AP_HAL: added st24 R/C protocol decoder
...
with thanks to the PX4 project
2016-09-21 10:33:15 -03:00
Andrew Tridgell
9a7af89b30
AP_HAL: added sumd decoder
...
with thanks to the PX4 project
2016-09-21 10:33:15 -03:00
Andrew Tridgell
e913b9a8f7
HAL_Linux: fixed incorrect include
2016-09-21 10:33:15 -03:00
Randy Mackay
2ebb81b02f
AP_NavEKF2: switching compass message to GCS downgraded to INFO
2016-09-21 21:42:44 +09:00
Andrew Tridgell
79ed5c7091
AP_BattMonitor: fixed typo
2016-09-21 17:37:32 +10:00
Andrew Tridgell
06cccd6d3b
AP_BattMonitor: update disco battery lookup table
2016-09-21 13:48:53 +10:00
Tom Pittenger
5512b6de02
AP_RangeFinder: Cleanup and added comments
...
- uart->available(); returns uint32 but was stored locally as int32 and treated as uint32. Now stored correctly as uint32
- some variables were set to zero at start of function, then reset to zero before being used. wasted work
2016-09-21 10:45:25 +09:00
Tom Pittenger
e928e20b11
AP_RangeFinder: Ensure no divide by zeros in LeddarOne
...
Having a critical divide by value as a class member that could change external to the function using it is fragile. It was not very obvious that a divide by zero was not possible in the current design, now it's very obvious and safer in case the code changes later.
2016-09-21 10:45:23 +09:00
priseborough
b6867e085d
AP_NavEKF2: Don't report range finder variance on mavlink if not required
2016-09-21 10:41:21 +09:00
Andrew Tridgell
95db9f61cc
AP_Module: added velocity_ned to AHRS state
2016-09-20 17:34:39 +10:00
Michael Oborne
11c376588d
AP_GPS_NOVA: support tersus/novatel/comnav gps
2016-09-20 10:53:49 +10:00
Peter Barker
8f376944aa
DataFlash: immediately restart logging after erasing logs
2016-09-19 17:57:59 +09:00
Randy Mackay
f94f7e2aa0
AP_RangeFinder: add leddarone to TYPE parameter description
...
No functional change
2016-09-19 14:35:41 +09:00
ShingoMatsuura
3123bd6d7d
AP_RangeFinder: add LeddarOne support
2016-09-19 13:25:35 +09:00
Andrew Tridgell
c275e7c61d
SITL: added SIM_SPEEDUP parameter
...
allows changing speed of simulation while running
2016-09-19 07:45:24 +10:00
murata
13fe8cb4d0
AP_OpticalFlow: Changed short boundary the i2c_integral_frame.
2016-09-17 01:04:06 -03:00
Matthew Brener
06388b0417
Global: Fix typos
2016-09-17 00:36:36 -03:00
Andrew Tridgell
a4c1bc3fd3
HAL_Linux: avoiding setting the SPI mode on every transfer
...
This was causing the Disco kernel to print a debug message on every
SPI transfer, which makes for a very noisy kernel and large kernel logs
2016-09-17 00:35:00 -03:00
Andrew Tridgell
52caf8419e
SITL: fixed sense of wind direction
...
wind direction is where wind is coming from, not going to
2016-09-16 10:59:27 +10:00
Andrew Tridgell
66073413a8
GCS_MAVLink: announce MAVLink2 capability
2016-09-16 09:47:55 +10:00
Andrew Tridgell
8f35305496
SITL: added a simpler compass cal simulation
...
just output 1250 to servo5 and it will go through lots of rotations
2016-09-16 08:59:43 +10:00
Andrew Tridgell
f82827ce79
AP_Compass: removed disco special compass offsets
...
not needed any more with newer hardware
2016-09-14 19:06:06 +10:00
Andrew Tridgell
bb65f4df76
AP_Arming: use HAL defined compass offset max if available
2016-09-14 11:53:13 +10:00
Andrew Tridgell
bf67d4277d
AP_HAL: define a larger compass offset max for Disco
2016-09-14 11:52:55 +10:00
Randy Mackay
ba5db0c5d8
Compass: add CAL_FIT parameter description values
...
No functional change
2016-09-14 09:57:52 +09:00
priseborough
cb1d3c7ed2
AP_NavEKF2: Allow for terrain gradient when using range finder for height
2016-09-13 17:45:03 +09:00
priseborough
60d8adcca0
AP_NavEKF2: Fix height drift on ground using range finder without GPS
2016-09-13 17:44:59 +09:00
priseborough
8797714203
AP_NavEKF2: Fix bug in handling of invalid range finder data
2016-09-13 17:44:43 +09:00
priseborough
175faf1e41
AP_NavEKF2: Fix bug in published yaw reset value found during code review
2016-09-13 17:35:18 +09:00
priseborough
77fad065d1
AP_NavEKF2: use a struct for all yaw step class variables
2016-09-13 17:35:16 +09:00
priseborough
885bfd1b4e
AP_NavEKF2: Handle yaw jumps due to core switches
2016-09-13 17:35:14 +09:00
murata
c78dfd4aa4
AC_Sprayer: Change the comment of the variables in the form of doxygen.
2016-09-13 13:37:35 +09:00
Peter Barker
fce798bc7a
DataFlash: avoid integer underflow
...
Thanks to mbelluzzo: f44b1b3556
2016-09-13 13:32:09 +09:00
Peter Barker
95d4475d45
DataFlash: avoid time going backwards in logs
...
WriteBlockCheckStartupMessages returned true if finished writing out
all startup messages. However, that may have allowed the caller to
then write out their message - but the timestamp on that message would
almost certainly be lower than the messages we've just written out.
2016-09-13 13:32:06 +09:00
William Liu
cc28c8e6ee
AP_Airspeed: AP_Airspeed_I2C: get the right status according to datasheet
2016-09-09 10:32:14 -07:00
William Liu
b1a62d6c8e
AP_HAL_Linux: RCOutput_Bebop: fixed potential deadlock
2016-09-09 09:59:17 -07:00
Andrew Tridgell
aa4cde1aae
AP_BoardConfig: work around issues with bad components on some FMUv4 boards
...
some pixracer copies have poor components which can cause sensor bus
brownout on boot. This resets the sensor bus for 20ms on boot to try
to get clean sensor startup
2016-09-08 13:18:13 +10:00
Benoit Tran
9b89b4f561
AP_HAL: Correct HAL_PARAM_DEFAULTS_PATH for Parrot Disco
2016-09-08 13:05:25 +10:00
Randy Mackay
b63666d188
AP_Motors: increase MOT_THST_HOVER parameter description range
...
No functional change
2016-09-07 15:28:49 +09:00
Niti Rohilla
cadd95fdd8
GCS_MAVLink: Added sanity check for DO_JUMP command on mission load.
2016-09-06 00:40:47 -07:00
floaledm
4d03be94cf
AP_Frsky_Telem: removed reliance on home_distance and home_bearing which are only in copter
2016-09-06 11:42:32 +10:00
floaledm
33bd359463
AP_Frsky_Telem: LANDCOMPLETE switched to to ISFLYING flag
2016-09-06 11:23:29 +10:00
floaledm
4dc98faa48
AP_Frsky_Telem: transmit airspeed instead of groundspeed, if available
2016-09-06 11:15:11 +10:00
floaledm
8deba69715
AP_Frsky_Telem: added 1 to control_mode passed on Frsky link
2016-09-06 11:14:48 +10:00
floaledm
4f8cea6844
AP_Frsky_Telem: simplified constructor
2016-09-06 11:14:48 +10:00
Michael du Breuil
7a18d59099
GCS_MAVLink: On mission_set_current report the requested item if the set was a success
...
The problem with reporting the mission index, is that the mission index will be walked
forward until its referring to a nav target, which means that if a DO_ command was
requested, the requesting mavlink device had no way to validate the command was
accepted, it would have to make a infrence from it's copy of the mission
2016-09-06 08:55:04 +10:00
Leonard Hall
fdcdcb0033
AC_PosControl: check Z-axis accel imax can always overpower hover throttle
...
This removes the possibility of the vehicle constantly climbing if the hover throttle becomes a very large value
2016-09-05 14:19:43 +09:00
Andrew Tridgell
aafd1512e4
HAL_PX4: limit IMU target temperature to 65
2016-09-05 12:59:50 +10:00
Andrew Tridgell
c0d21c5730
AP_Module: added gyro_bias to AHRS structure
2016-09-05 12:56:52 +10:00
Andrew Tridgell
334db0a1a5
AP_AHRS: added get_primary_accel_index() and get_primary_gyro_index()
2016-09-05 12:56:36 +10:00
Andrew Tridgell
902daff3a3
AP_Module: added FSYNC state to raw accel report
2016-09-05 12:55:52 +10:00
Andrew Tridgell
6f9530ebaa
AP_InertialSensor: added optional FSYNC external sync bit
...
used to synchronise with image sensor on Disco
2016-09-05 12:55:32 +10:00
Andrew Tridgell
c62fc336cb
AP_AHRS: use current EKF2 IMU core in gyro estimate
...
The EKF2 implementation uses one IMU per EKF2 core. When reporting the
gyro estimate, accel_ef estimate and gyro bias estimate we need to use
the values associated with the current IMU index being used by the
current EKF2 core. Otherwise we will have an inconsistency between the
gyro estimate and attitude estimate
This affects all multi-IMU systems using EKF2
2016-09-05 12:54:53 +10:00
Andrew Tridgell
dd812cfc0c
AP_NavEKF2: added getPrimaryCoreIMUIndex()
...
needed for correct AHRS gyro estimate
2016-09-05 12:53:53 +10:00
Andrew Tridgell
cfd7268bd5
GCS_MAVLink: check the signing key magic on load
...
or we end up with a bad key when MAVLink2 is first enabled
2016-09-04 19:28:48 +10:00
Andrew Tridgell
b9c4a948d1
AP_BoardConfig: fixed startup ordering change in canbus vs external mag
2016-09-04 18:48:26 +10:00
Gustavo Jose de Sousa
5c5ddc9d4a
AP_HAL: reformat AP_HAL_Boards.h
...
The definitions for each board haven't been reformatted here. They need a
little more thinking on how to format them in order to provide better
readability.
2016-09-03 01:03:17 -03:00
José Roberto de Souza
13287f61e3
AP_Compass: Make COMPASS_AERO probe BMM150
2016-09-03 01:03:17 -03:00
Gustavo Jose de Sousa
68fe536da3
AP_InertialSensor: use BMI160 for Intel Aero
2016-09-03 01:03:07 -03:00
Gustavo Jose de Sousa
025082b280
AP_HAL_Linux: add port to Intel Aero
...
Contributions from:
- Gustavo Jose de Sousa <gustavo.sousa@intel.com>
- José Roberto de Souza <jose.souza@intel.com>
- Lucas De Marchi <lucas.demarchi@intel.com>
- Patrick J.P <patrick.pereira@intel.com>
2016-09-03 01:03:07 -03:00
José Roberto de Souza
0b0be31a29
AP_HAL: add defines for Intel Aero
2016-09-03 01:03:07 -03:00
Gustavo Jose de Sousa
b6c0e11200
AP_InertialSensor: BMI160: convert it to use Device periodic callback
...
Some notes:
- The only place that made sense to use
suspend_timer_procs()/resume_timer_procs() calls were where we registered
the timer process. Now there's no need for that anymore. Remove those calls
from other place in the source too.
- There's no need to acquire the device lock now that we are running as a
periodic callback.
2016-09-03 01:03:07 -03:00
Gustavo Jose de Sousa
b259356703
AP_Compass: BMM150: convert it to use Device periodic callback
2016-09-03 01:03:07 -03:00
Lucas De Marchi
667fca60f5
AP_Compass: BMM150: reduce lock region
...
Use a semaphore to update the accumulated values instead of using the
timer semaphore.
2016-09-03 01:03:07 -03:00
Patrick J.P
c32dc3bc37
AP_HAL_Linux: Add AeroIO communication module
...
Signed-off-by: Patrick J.P <patrick.pereira@intel.com>
2016-09-03 01:03:07 -03:00
Randy Mackay
4858afae6c
AP_Motors: param description update that MOT_SPIN_MIN should be higher than MOT_SPIN_ARM
2016-09-03 11:12:31 +09:00
Andrew Tridgell
bf1e0e1536
AP_AHRS: fixed EKF GPS arming check for fixed wing
...
when in a quadplane mode we set fly_forward to zero. We need to ensure
the GPS checks for EKF health are applied when doing arming checks, so
we use the checks always when disarmed
2016-09-02 11:12:19 +10:00
Andrew Tridgell
232347569f
AP_RPM: use RPM_SCALING in SITL
...
useful for testing low RPM warning in a GCS
2016-09-02 11:12:18 +10:00
Andrew Tridgell
acbeb29fbe
AP_Frsky_Telem: use const references where possible
...
save some stack space
2016-09-02 11:12:18 +10:00
Randy Mackay
44830be172
AC_AttControl: add parameter check of throttle mix
2016-09-02 09:27:15 +09:00
Randy Mackay
535158e0d8
AC_AttControl: move var_info declaration
...
No functional change
2016-09-02 09:27:12 +09:00
Randy Mackay
38b3d3ff3a
AP_GPS_MAV: initialise location while handling_msg
...
This reduces a covarity warning but it likely not really an issue because we always initialise newly allocated memory to zero anyway
2016-09-01 12:01:14 +09:00
murata
59796aaf9c
AP_OpticalFlow: The first value of the register to the value of the definition.
2016-08-31 01:01:59 -03:00
Ralf Ramsauer
71212942da
AP_HAL: AP_HAL_Linux: align I2CDevice::read_registers_multiple()
...
25c7e8b
changed the logic of transfer(). Align
I2CDevice::read_registers_multiple() in the same way.
Signed-off-by: Ralf Ramsauer <ralf.ramsauer@othr.de>
2016-08-31 00:18:50 -03:00
Randy Mackay
e7020b218a
AC_Fence: revert param Enable to be FLAG_ENABLE
...
This reverts commit 5e811b8463
.
2016-08-31 08:55:31 +09:00
Ralf Ramsauer
5b81920737
AP_HAL: AP_HAL_Linux: add comment to I2CDevice::transfer()
...
If I2CDevice::transfer() has to do nothing it returns false. This can be
misleading, as this might feel contradictory.
Let's spend a comment on that.
Signed-off-by: Ralf Ramsauer <ralf.ramsauer@othr.de>
2016-08-29 15:20:14 -03:00
Ralf Ramsauer
25c7e8bf60
AP_HAL: AP_HAL_Linux: perfect I2CDevice::transfer()
...
According to man 3 ioctl, ioctl returns other values than -1 on success.
So loop while ioctl returns -1.
Furthermore, there is no necessity to initialise r with -EINVAL,
Signed-off-by: Ralf Ramsauer <ralf.ramsauer@othr.de>
2016-08-29 15:20:14 -03:00
Matt
9eca21c26a
AP_Compass: Removed duplicate code
2016-08-29 10:38:41 -03:00
Lucas De Marchi
833f565f09
AP_HAL_Linux: prefix threads with ap
...
This makes it consistent with bus threads and easier to grep from a `ps`
call.
2016-08-29 10:27:36 -03:00
Lucas De Marchi
e1ab44f4a3
Global: remove get_fd() from Device API
...
This was there for compatibility with I2CDriver and SPIDriver. We don't
use them anymore so we can remove the compat method.
2016-08-29 10:27:36 -03:00
Lucas De Marchi
ead01855df
AP_HAL: remove default params for minlure
...
We are currently not using them.
2016-08-29 10:27:36 -03:00
Andrew Tridgell
e9e3a3f491
AP_Motors: added get_pwm_type()
2016-08-29 15:52:21 +10:00
Peter Barker
fd87a4f180
DataFlash: fix unused result warning
2016-08-25 15:53:47 +10:00
Andrew Tridgell
a4ca4dbd9e
AP_FrSky_Telem: use a constant string for firmware version
2016-08-25 11:00:17 +10:00
Andrew Tridgell
62388fc991
AP_FrSky_Telem: use constant strings in message queueing
2016-08-25 10:29:57 +10:00
Andrew Tridgell
183283ba07
AP_FrSky_Telem: make _msg non-static
...
there are no calls to this from outside the library. If we do add some
then we can change the API as needed
2016-08-25 10:23:03 +10:00
floaledm
2f54e67996
AP_FrSky_Telem: fixed sending last message chunk
...
Was sent only once, now sent 3 times (as planned)
2016-08-25 10:16:20 +10:00
Andrew Tridgell
185ef73684
AP_Frsky_Telem: fixed usage of sensor error bits
...
using these asyncronously via pointers is error prone as the updates
to these masks is not atomic relative to the IO callback in
AP_Frsky_Telem
2016-08-25 10:16:19 +10:00
Andrew Tridgell
f4d59d720a
AP_FrSky_Telem: removed use of pointer to control_mode
...
it is an enum, and it is invalid to take a pointer to an enum as a
uint8_t*
2016-08-25 10:16:19 +10:00
Andrew Tridgell
ab77fdfa02
AP_FrSky_Telem: removed dependency on inertialnav
...
the AP_InertialNav library is deprecated in favor of AP_AHRS. We
should not introduce a new dependency on it
2016-08-25 10:16:19 +10:00
floaledm
b71e0d73b9
AP_FrSky_Telem: added SPort passthrough protocol
2016-08-25 10:16:19 +10:00
floaledm
50eecf58a4
AP_SerialManager: added SPort passthrough protocol
2016-08-25 10:16:18 +10:00
floaledm
ec157bd4c2
AP_BattMonitor: Get pack_capacity_mah function
2016-08-25 10:16:18 +10:00
floaledm
a9b01b470c
AP_FrSky_Telem: cosmetic changes
2016-08-25 10:16:17 +10:00
floaledm
5066a5bc73
AP_SerialManager: syntax and minor lib rework
2016-08-25 10:16:17 +10:00
floaledm
de2a7013b4
AP_FrSky: simplified lib rework
2016-08-25 10:16:17 +10:00
Leandro Pereira
bf3f8c05e7
GCS_Mavlink: Correctly check if a channel is streaming
...
In GCS_MAVLINK::stream_trigger(), chan_is_streaming would be checked
with a bitwise OR, instead of a bitwise AND. This way, the condition
would always be true if chan_is_streaming were to be non-zero.
2016-08-24 10:47:12 -03:00
Andrew Tridgell
3aba0d8359
SITL: fixed rover altitude
...
thanks to Grant for noticing this
2016-08-24 13:29:45 +10:00
mirkix
a4d0ad8571
AP_InertialSensor: Fix name of sensor
2016-08-23 11:25:59 +09:00
Andrew Tridgell
25f1dbd8c2
HAL_SITL: allowed SITL to reopen uart connections
2016-08-23 09:30:17 +10:00
Andrew Tridgell
49b82b767f
SITL: added RPM for heli sim
2016-08-23 09:30:14 +10:00
Andrew Tridgell
c87fa13e77
AC_WPNav: added WP_RFND_USE parameter
...
allows disable of rangefinder use for terrain following
2016-08-23 09:27:39 +10:00
Tom Pittenger
330c63b010
AP_Avoidance: handle condition where avoid is disabled while avoiding
2016-08-17 22:38:54 -07:00
Tom Pittenger
c06b63b4cd
AP_Avoidance: provide different default params for copter vs plane
...
copter is unchanged, plane has larger distances
2016-08-17 22:38:54 -07:00
Tom Pittenger
1612110d16
AP_ADSB: fixed signed int compare compile warning/error and reject >24bit ICAO
...
- The value is only 24bits anyway so sign conversion does not matter
- also reject ICAO values > 24bits
2016-08-16 18:49:48 -07:00
Tom Pittenger
78e7acf25c
AP_ADSB: do not detect, and thus avoid, yourself
2016-08-16 17:29:34 -07:00
Tom Pittenger
b6810006eb
AP_ADSB: move mavlink msg handling into library
2016-08-16 16:33:36 -07:00
Andrew Tridgell
3ecf2850a8
SITL: fixed send of MAVLink2 pkt
2016-08-16 16:33:36 -07:00
Tom Pittenger
19ac9bce48
SITL: add Ping2020 simulated device
2016-08-16 16:33:36 -07:00
Andrew Tridgell
38fff6d43d
RC_Channel: expanded docs for RCn_FUNCTION
2016-08-16 16:16:09 +10:00
Andrew Tridgell
62f3818b83
RC_Channel: added k_throttle
...
for secondary throttle on planes
2016-08-16 16:14:34 +10:00
Andrew Tridgell
c1480315f5
AP_AdvancedFailsafe: update AFS_TERMINATE on GCS on termination
2016-08-16 12:56:13 +10:00
Andrew Tridgell
cee1e37391
AP_AdvancedFailsafe: make relationship to OBC clearer in comment
2016-08-16 12:56:12 +10:00
Andrew Tridgell
838728348f
AP_AdvancedFailsafe: re-work for use as vehicle derived class
2016-08-16 12:55:50 +10:00
Andrew Tridgell
8163db1adb
AP_AdvancedFailsafe: cleanups for new naming
2016-08-16 12:55:50 +10:00
Andrew Tridgell
cef4635ad9
AP_AdvancedFailsafe: rename from APM_OBC
2016-08-16 12:55:50 +10:00
Andrew Tridgell
636188014d
APM_OBC: make the ENABLE flag control presence of the parameters
2016-08-16 12:55:50 +10:00
Andrew Tridgell
119e312cd3
AP_BoardConfig: wait up to 0.4s for safety to be off on boot
2016-08-16 12:53:34 +10:00
Andrew Tridgell
dddaded8d4
HAL_PX4: fixed a race condition in force_safety_on/off
...
the status update from IO may not have come through if we force safety
on and then off in quick succession, such as for plane mixer load
this forces the ioctl to be sent at least once
2016-08-16 12:53:34 +10:00
Andrew Tridgell
1fa137caad
GCS_MAVLink: added handle_preflight_reboot()
2016-08-16 12:53:33 +10:00
Lee Hicks
51e8d8a294
AP_GPS: Don't send config blob to GPS unless AUTO_CONFIG=1
...
All GPS types will recieve startup up blob config. For
some recievers this will cause them to hang. This commit
only allows sending of blobs if AUTO_CONFIG=1. Fixes #2622
2016-08-16 10:56:37 +10:00
Lee Hicks
7c3b8dceb9
AP_GPS: Fixed GPS serial speeds starting at 1 instead of 0
...
The counting of this will increment the counter before
selecting the baud speed, skipping the first baud rate.
2016-08-16 10:56:36 +10:00
Lee Hicks
3dd4f30460
AP_GPS: Adding 19200 as serial speed for GPS
...
APM supports baud speeds of 19200, but GPS baud rates
don't support it. This commit adds it to follow APM supported
baud rates.
2016-08-16 10:56:36 +10:00
Leonard Hall
29d4790fc7
AC_AttControl: reduce max_rate_step based on hover throttle
...
This changes reduces AutoTune's twitch size based on the hover throttle
This method is only used by AutoTune
2016-08-12 22:29:53 +09:00
Peter Barker
8d253dec8e
DataFlash: support for mavlink SENSOR message
2016-08-11 17:48:44 -03:00
Grant Morphett
30bcea73cc
PX4: Added detection for MPU6000 on px4slim.
2016-08-11 08:39:16 +10:00
LukeMike
38150a5544
AP_BoardConfig: defined and managed VRBRAIN board type and all functions for sensors startup
2016-08-11 07:52:40 +10:00
LukeMike
e6c8653302
AP_IRLock_PX4: enabled sensor driver startup on bus2 if don't start on bus1
2016-08-11 07:52:39 +10:00
LukeMike
316e5acaec
AP_OpticalFlow_PX4: enabled sensor driver startup for all VR boards
2016-08-11 07:52:39 +10:00
Andrew Tridgell
38ebe582cc
AP_BoardConfig: fixed for VRBrain build
...
needs access to driver start function
2016-08-10 20:43:03 +10:00
Andrew Tridgell
eaa88b1223
AP_BoardConfig: FMUv1 does not have pwm_input driver
2016-08-10 19:54:01 +10:00
Andrew Tridgell
39676d686c
AP_BoardConfig: FMUv1 does not have an L3GD20
2016-08-10 19:54:01 +10:00
Andrew Tridgell
7da89c611d
AP_BoardConfig: use a STATUSTEXT to show better in MP
...
this makes it easier to see why it won't boot
2016-08-10 19:54:01 +10:00
Andrew Tridgell
78b2924c00
AP_OpticalFlow: auto-start px4flow driver if enabled
2016-08-10 19:54:01 +10:00
Andrew Tridgell
74182b6b3d
AP_Notify: auto-start oreoled driver if enabled
2016-08-10 19:54:00 +10:00
Andrew Tridgell
e24cebec33
AP_IRLock: auto-start batt_smbus driver if enabled
2016-08-10 19:54:00 +10:00