Andrew Tridgell
840c9e65bb
AP_Baro: don't notify the GCS of new pressure reference too often
2015-11-09 14:34:07 +11:00
Andrew Tridgell
e873ff1e5f
AP_Param: copter with vectors when sending parameters
2015-11-09 14:28:20 +11:00
Peter Barker
1b13315092
AP_Baro: notify GCS of calibration
2015-11-09 09:23:20 +11:00
Peter Barker
5f9b1c5f4e
AP_Param: provide facility to notify GCS of param set
2015-11-09 09:23:20 +11:00
Peter Barker
046b008889
AP_Param: send saved param values to all GCS
2015-11-09 09:23:20 +11:00
Peter Barker
368363531f
GCS_MAVLink: provide facilities to send param values to all GCS
2015-11-09 09:23:20 +11:00
Tom Pittenger
73c5234633
AP_Terrain: cache status
...
instead of computing the terrain status on-demand, assign it in update() and cache the result. Then external tasks that check the status won't be doing terrain intensive calculations in their thread. All the calculations needed for the status were being performed in update already so this is an optimization.
2015-11-09 08:36:41 +11:00
Paul Riseborough
f08a4af751
AP_NavEKF2: Remove redundant if statement
...
Thank you to OXINARF for picking up this one
2015-11-08 17:06:57 +11:00
Paul Riseborough
0f8cfa02ab
AP_NavEKF: Remove redundant if statement
...
Thank you to OXINARF for picking up this one
2015-11-08 17:06:57 +11:00
Paul Riseborough
2243f95074
AP_NavEKF: Enable clean entry into GPS aiding whilst in-flight
...
Ensures that the latest GPS data is used to reset the states.
Separates the logic used to set the origin from the logic used to determine when to reset states and commence GPS aiding
2015-11-08 17:06:49 +11:00
Paul Riseborough
9efc2152fc
AP_NavEKF2: Fix comment
2015-11-08 16:26:04 +11:00
Paul Riseborough
a8983d075f
AP_NavEKF2: Enable clean entry into GPS aiding in-flight
...
The setting of the EKF origin and the entry into GPS aiding mode have been separated to make the logic clear.
The order of operations has been changed to ensure that when a reset to GPS is performed, a valid GPS measurement is available in the buffer
Declaration of GPS availability is not made unless the GPS data has been entered into the buffer
2015-11-08 16:26:04 +11:00
Paul Riseborough
f99dbc70f9
AP_NavEKF2: Don't return ready to use GPS true if user has inhibited GPS
2015-11-08 16:26:04 +11:00
Paul Riseborough
d6f7156f4e
AP_NavEKF2: Fix timing offset in position reset calculation
...
the correction for GPS latency now uses the correct time for that observation
2015-11-08 16:26:04 +11:00
Paul Riseborough
803817821d
AP_AHRS: Support changes to EKF2 interfaces that specify the instance
...
An instance of -1 is specified which causes data for the primary instance to be returned.
2015-11-08 15:37:28 +11:00
Paul Riseborough
138315af21
DataFlash: Add logging for second NKF instance
2015-11-08 15:37:28 +11:00
Paul Riseborough
0b64ad0123
AP_NavEKF2: Enable EKF instance to be specified when requesting public data
...
Only applied to interfaces required for data logging.
If an invalid instance is requested, the data for the primary instance is returned. This allows the primary data to be returned by calling with a -1 instance value.
2015-11-08 15:37:28 +11:00
Paul Riseborough
dfdacf2ddc
GCS_MAVLink: Accommodate change to EKF2 interface
...
Return euler angles for primary instance
2015-11-08 15:37:28 +11:00
Paul Riseborough
5b1d6f2aa2
DataFlash: accomodate change in EKF2 interface
2015-11-08 15:37:28 +11:00
Paul Riseborough
243888e923
GCS_MAVLink: accomodate change in EKF2 interface
2015-11-08 15:37:28 +11:00
Paul Riseborough
6c2dc3ccf8
AP_NavEKF2: Publish the number of instances
2015-11-08 15:37:27 +11:00
Paul Riseborough
46e4c45537
DataFlash: Only log EKF messages when enabled
2015-11-08 15:37:27 +11:00
Paul Riseborough
624f169b9b
AP_NavEKF: Publish enabled status
2015-11-08 15:37:27 +11:00
Paul Riseborough
65e4a4ab94
AP_NavEKF2: Use correct casting of integers when printing
...
Changes in response to review comments
2015-11-08 15:37:27 +11:00
Paul Riseborough
987d261109
DataFlash: Update logging of EKF2 primary core index
...
Changes made in response to review comments
2015-11-08 15:37:27 +11:00
Paul Riseborough
2dcaeb0304
AP_NavEKF2: Update publishing of primary core index
...
Changes made in response to review comments
2015-11-08 15:37:27 +11:00
Paul Riseborough
1858da8307
AP_NavEKF2: Better switching in response to faults
...
Make selection sticky
If fault detected or unhealthy, then switch to healthy core with lowest fault score.
If no healthy core found, do not switch.
2015-11-08 15:37:27 +11:00
Paul Riseborough
5f6d1d8d25
AP_NavEKF2: Add fault score calculation
2015-11-08 15:37:27 +11:00
Paul Riseborough
4884b2d38a
DataFlash: Log the primary EKF2 index
2015-11-08 15:37:27 +11:00
Paul Riseborough
b24507d33c
AP_NavEKF2: Publish the primary EKF index
2015-11-08 15:37:27 +11:00
Paul Riseborough
04165a60a7
AP_NavEKF2: Reduce false positive on EKF health check
...
Apply filtering to baro innovation check and and don't apply innovation checks once aiding has commenced because GPS and baro disturbances on the ground and during launch could generate a false positive
2015-11-08 15:37:27 +11:00
Paul Riseborough
49f9ea317c
AP_NavEKF: Update console message and param descriptions for multiple EKF's
2015-11-08 15:37:26 +11:00
Paul Riseborough
2340e18fdc
AP_NavEKF2: Offset the fusion time horizon between multiple instances
...
Prevents frame over-runs due to simultaneous fusion of measurements on each instance.
The offset is only applied if less than 5msec available between frames
2015-11-08 15:37:26 +11:00
Paul Riseborough
3eeff8dbc6
AP_NavEKF2: Remove unused code
...
This method of correcting for the fusion time horizon delay was too computationally expensive for our application and did not smooth fusion noise.
2015-11-08 15:37:26 +11:00
Paul Riseborough
d48454ee2d
AP_NavEKF2: Use nominated IMU unless unavailable
...
We now run a separate instance of the EKF for each IMU, so input data fusion of IMU's is no longer required.
2015-11-08 15:37:26 +11:00
Siddharth Bharat Purohit
392fce76b2
AP_NavEKF: define getGpsGlitchStatus function
2015-11-08 12:55:58 +09:00
Andrew Tridgell
2ffabe9e05
AP_BoardConfig: fixed PX4v1 build
2015-11-06 17:10:08 +11:00
Andrew Tridgell
d52279af27
AP_NavEKF2: don't try to allocate last bytes of memory to EKF2
2015-11-06 10:42:58 +11:00
Andrew Tridgell
ee78e2d618
AP_NavEKF2: set primary to first healthy core
2015-11-06 10:42:58 +11:00
Andrew Tridgell
2ab2afc86a
AP_NavEKF2: added EK2_IMU_MASK for multiple IMUs
...
no voting between multiple IMUs yet
2015-11-06 10:42:58 +11:00
Andrew Tridgell
56909ce973
AP_NavEKF: split EKF1 into frontend and backend
...
this allows the primary EKF to be allocated dynamically, allowing for
experiments with EKF2 with multi-IMU support
2015-11-06 10:42:57 +11:00
Andrew Tridgell
c334bd0ddf
AP_BoardConfig: added BRD_CAN_ENABLE option
...
this allows uavcan to be enabled/disabled at boot. When it is disabled
we save about 25k of memory, allowing for more options for things like
multiple EKF
2015-11-06 10:23:37 +11:00
Lucas De Marchi
e9c6702269
AP_HAL_VRBRAIN: fix typo using comma operator
...
We want to return mallinfo().fordblks, not the struct using the comma
operator with a non-existing fordblks variable.
2015-11-05 15:48:32 -02:00
Lucas De Marchi
0d95a9c41d
AP_OpticalFlow: reduce lock region
...
Release the lock as soon as we can.
2015-11-05 16:12:03 +09:00
Lucas De Marchi
70edf31ca6
AP_OpticalFlow: make error path common
2015-11-05 16:12:00 +09:00
Lucas De Marchi
7b726d824d
AP_OpticalFlow: remove num_errors increment due to busy bus
...
num_errors should be used to detect bad bus transfers, not if we
actually read something. Since we are using i2c_sem->take_nonblocking()
failing here is more likely if the bus is shared.
2015-11-05 16:11:58 +09:00
Lucas De Marchi
41ddb67712
AP_OpticalFlow: pack struct passed to I2C layer
...
We pass "sizeof(i2c_integral_frame)" to hal.i2c->readRegisters(). Since
we have a padding in i2c_integral_frame we actually read 3 bytes more
than we should. Add PACKED to the struct so this is fixed.
i2c_frame doesn't have a padding (or hole) so there isn't this problem,
but since it's also used to calculate the frame size, use PACKED there
too.
2015-11-05 16:11:56 +09:00
Andrew Tridgell
49799257ea
GCS_MAVLink: handle available memory of over 64k in mavlink
2015-11-05 16:09:00 +11:00
Andrew Tridgell
883ac59e4a
HAL_Linux: always report 256k of available memory
2015-11-05 16:09:00 +11:00
Andrew Tridgell
567ea0e420
HAL_VRBRAIN: make available_memory() uint32_t
2015-11-05 16:09:00 +11:00
Andrew Tridgell
81e34006a5
HAL_SITL: make available_memory() uint32_t
2015-11-05 16:09:00 +11:00
Andrew Tridgell
ac1c0bba15
HAL_PX4: make available_memory() uint32_t
2015-11-05 16:09:00 +11:00
Andrew Tridgell
8a4c0593f2
AP_HAL: make available_memory() uint32_t
2015-11-05 16:09:00 +11:00
Andrew Tridgell
a3ca732403
AP_Airspeed: show health status in examples
2015-11-05 16:09:00 +11:00
Andrew Tridgell
75d2aed6e1
HAL_SITL: added help for uart command line checks
2015-11-04 14:26:55 +11:00
Víctor Mayoral Vilches
d5d1bfae8c
AP_HAL_Linux: Adapt code to common RPI layer
2015-11-04 13:58:25 +11:00
Víctor Mayoral Vilches
b1a53c383c
AP_HAL_Linux: Add AnalogIn_ADS1115, common code
...
This commit provides a single abstraction for both
Erle-Brain 2 and Navio boards.
2015-11-04 13:58:24 +11:00
Víctor Mayoral Vilches
47d43c64ef
AP_HAL_Linux: Add RCInput_RPI, merge common code
2015-11-04 13:58:24 +11:00
Víctor Mayoral Vilches
4a2fe12652
AP_Notify: Add support for Erle-Brain 2
2015-11-04 13:58:24 +11:00
Víctor Mayoral Vilches
b54b8aa8af
AP_HAL_Linux: AP_BoardLED add support for Erle-Brain 2
2015-11-04 13:58:24 +11:00
Víctor Mayoral Vilches
30faf7e92a
AP_InertialSensor: Add Erle-Brain 2 support
2015-11-04 13:58:24 +11:00
Víctor Mayoral Vilches
739fc0df35
AP_HAL_Linux: UtilRPI, add Erle-Brain 2
2015-11-04 13:58:24 +11:00
Víctor Mayoral Vilches
30153b6eac
AP_HAL_Linux: Scheduler, add Erle-Brain 2
2015-11-04 13:58:24 +11:00
Víctor Mayoral Vilches
8ae8f47538
AP_HAL_Linux: SPIDriver, add Erle-Brain 2
2015-11-04 13:58:24 +11:00
Víctor Mayoral Vilches
68c92eab25
AP_HAL_Linux: GPIO, add Erle-Brain 2
2015-11-04 13:58:24 +11:00
Víctor Mayoral Vilches
90a00553cb
AP_HAL: Boards, add Erle-Brain 2
2015-11-04 13:58:24 +11:00
Lucas De Marchi
dd784189a1
AP_AHRS: remove comment about avr-libc
2015-11-04 12:14:16 +11:00
Lucas De Marchi
1a9b57da1f
AP_GPS: remove check for GPS_SKIP_SIRF_NMEA
2015-11-04 12:14:15 +11:00
Lucas De Marchi
c32d323cd6
GCS_MAVLink: remove check for GPS_RTK_AVAILABLE
2015-11-04 12:14:15 +11:00
Lucas De Marchi
e31595c60c
AP_GPS: remove check for GPS_RTK_AVAILABLE
2015-11-04 12:14:15 +11:00
Lucas De Marchi
c75c1d84d9
AP_GPS: remove check for GPS_MAX_INSTANCES
...
All supported boards may have more than 1 GPS instance.
2015-11-04 12:14:15 +11:00
Lucas De Marchi
c74b1a660d
DataFlash: remove DATAFLASH_NO_CLI
...
This is not used anymore since the removal of AVR CPUs.
2015-11-04 12:14:15 +11:00
Lucas De Marchi
2a91d2169e
RC_Channel: remove check for AVR CPUs
...
Remove the checks for HAL_CPU_CLASS > HAL_CPU_CLASS_16 and
HAL_CPU_CLASS >= HAL_CPU_CLASS_75. Corresponding dead code will be
removed on separate commits.
2015-11-04 12:14:14 +11:00
Lucas De Marchi
45c472205b
GCS_MAVLink: remove check for AVR CPUs
...
Remove the checks for HAL_CPU_CLASS > HAL_CPU_CLASS_16 and
HAL_CPU_CLASS >= HAL_CPU_CLASS_75. Corresponding dead code will be
removed on separate commits.
2015-11-04 12:14:14 +11:00
Lucas De Marchi
1e839f97ed
DataFlash: remove check for AVR CPUs
...
Remove the checks for HAL_CPU_CLASS > HAL_CPU_CLASS_16 and
HAL_CPU_CLASS >= HAL_CPU_CLASS_75. Corresponding dead code will be
removed on separate commits.
2015-11-04 12:14:14 +11:00
Lucas De Marchi
ca4ae1c9e0
AP_Motors: remove check for AVR CPUs
...
Remove the checks for HAL_CPU_CLASS > HAL_CPU_CLASS_16 and
HAL_CPU_CLASS >= HAL_CPU_CLASS_75. Corresponding dead code will be
removed on separate commits.
2015-11-04 12:14:14 +11:00
Lucas De Marchi
fb28f426da
AP_Math: remove check for AVR CPUs
...
Remove the checks for HAL_CPU_CLASS > HAL_CPU_CLASS_16 and
HAL_CPU_CLASS >= HAL_CPU_CLASS_75. Corresponding dead code will be
removed on separate commits.
2015-11-04 12:14:14 +11:00
Lucas De Marchi
255e04a841
AP_HAL: remove check for AVR CPUs
...
Remove the checks for HAL_CPU_CLASS > HAL_CPU_CLASS_16 and
HAL_CPU_CLASS >= HAL_CPU_CLASS_75. Corresponding dead code will be
removed on separate commits.
2015-11-04 12:14:14 +11:00
Lucas De Marchi
4cef751aef
AP_GPS: remove check for AVR CPUs
...
Remove the checks for HAL_CPU_CLASS > HAL_CPU_CLASS_16 and
HAL_CPU_CLASS >= HAL_CPU_CLASS_75. Corresponding dead code will be
removed on separate commits.
2015-11-04 12:14:14 +11:00
Lucas De Marchi
8eef58a8c2
AP_Baro: remove check for AVR CPUs
...
Remove the checks for HAL_CPU_CLASS > HAL_CPU_CLASS_16 and
HAL_CPU_CLASS >= HAL_CPU_CLASS_75. Corresponding dead code will be
removed on separate commits.
2015-11-04 12:14:14 +11:00
Lucas De Marchi
da86e29c27
AP_AHRS: remove check for AVR CPUs
...
Remove the checks for HAL_CPU_CLASS > HAL_CPU_CLASS_16 and
HAL_CPU_CLASS >= HAL_CPU_CLASS_75. Corresponding dead code will be
removed on separate commits.
2015-11-04 12:14:14 +11:00
Lucas De Marchi
bdf92e8c79
StorageManager: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1
2015-11-04 12:14:13 +11:00
Lucas De Marchi
2847af905e
RC_Channel: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1
2015-11-04 12:14:13 +11:00
Lucas De Marchi
039f42d916
GCS_MAVLink: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1
2015-11-04 12:14:13 +11:00
Lucas De Marchi
7cc96f3845
GCS_Console: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1
2015-11-04 12:14:13 +11:00
Lucas De Marchi
0dfeae2556
DataFlash: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1
2015-11-04 12:14:13 +11:00
Lucas De Marchi
3ba00feda4
AP_SerialManager: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1
2015-11-04 12:14:13 +11:00
Lucas De Marchi
8d9dfcab27
AP_Relay: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1
2015-11-04 12:14:13 +11:00
Lucas De Marchi
8d86d79c0b
AP_RangeFinder: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1
2015-11-04 12:14:13 +11:00
Lucas De Marchi
0c6b47e331
AP_Parachute: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1
2015-11-04 12:14:12 +11:00
Lucas De Marchi
d2c18a5c7b
AP_Notify: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1
2015-11-04 12:14:12 +11:00
Lucas De Marchi
d00c8e3a34
AP_NavEKF: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1
2015-11-04 12:14:12 +11:00
Lucas De Marchi
e0e7b73ceb
AP_NavEKF2: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1
2015-11-04 12:14:12 +11:00
Lucas De Marchi
ad094b9073
AP_Mount: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1
2015-11-04 12:14:12 +11:00
Lucas De Marchi
3941bb7347
AP_Mission: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1
2015-11-04 12:14:12 +11:00
Lucas De Marchi
c7871d1bca
AP_Math: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1
2015-11-04 12:14:12 +11:00
Lucas De Marchi
266bb3b759
AP_L1_Control: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1
2015-11-04 12:14:12 +11:00
Lucas De Marchi
3142f21363
AP_InertialSensor: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1
2015-11-04 12:14:12 +11:00
Lucas De Marchi
cf8203c08b
AP_HAL_SITL: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1
2015-11-04 12:14:12 +11:00
Lucas De Marchi
8e65e88d06
AP_HAL: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1
2015-11-04 12:14:11 +11:00