Tom Pittenger
af93c8da4e
GCS_MAVLink: new mavlink msg ADSB_VEHICLE
2015-11-23 19:45:40 +11:00
Siddharth Purohit and Paul Riseborough
3014eb4001
AP_NavEKF2: Rework measurement buffer refactor
...
These changes were pair coded an tested by Siddharth Purohit and Paul Riseborough
Fix indexing errors
Move buffer code into a separate file
Split observer and IMU/output buffers and remove duplicate sample time
Optimise observation buffer search
Reduce maximum allowed fusion age to 100 msec
2015-11-23 19:42:06 +11:00
Siddharth Bharat Purohit
b3c8dcee34
AP_NavEKF2: measurement buffer refactor
2015-11-23 19:34:50 +11:00
Andrew Tridgell
77a67d73e7
SITL: fill in RPM from JSBSim
2015-11-23 14:30:47 +11:00
Andrew Tridgell
45ea2a9b68
AP_RPM: added a SITL RPM backend
2015-11-23 14:30:42 +11:00
Andrew Tridgell
223ce2b6aa
SITL: allow FDM models to provide voltage, current and RPM
2015-11-23 13:46:27 +11:00
Andrew Tridgell
7a5c4ec65d
HAL_SITL: use battery info from FDM if available
2015-11-23 13:31:29 +11:00
Andrew Tridgell
8b456be8c6
SITL: added battery voltage and rpm to SITL state
2015-11-23 13:31:09 +11:00
Andrew Tridgell
585e6dabb8
SITL: FDM structure is no longer a network protocol structure
...
remove unused fields and change comments
2015-11-23 13:25:00 +11:00
Andrew Tridgell
a6ef064950
HAL_SITL: removed support for the old FDM protocol
...
we are now fully converted to the new C++ based SITL system
2015-11-23 13:21:33 +11:00
Andrew Tridgell
9cdd5f3944
AP_InertialSensor: catch NAN errors in accel and gyro filters
2015-11-22 17:30:29 +11:00
Andrew Tridgell
5b7f2a3de3
Filter: added reset method on vector filters
2015-11-22 17:30:29 +11:00
Andrew Tridgell
b3e6129fd4
AP_AHRS: added EKF type 10 for SITL
...
this bypasses all attitude and position estimators and uses the SITL
state directly. It can be used for when the SITL backend cannot
provide perfect sensor data
2015-11-22 17:30:28 +11:00
Andrew Tridgell
7b38f2185f
AP_AHRS: use the right DCM matrix for right EKF
...
this fixes a bug where the EKF2 DCM matrix would be used for
get_dcm_matrix() when EKF1 was active
2015-11-20 18:34:08 +11:00
Caio Marcelo de Oliveira Filho
01665282f7
AP_HAL_VRBRAIN: Remove unused extern declaration for HALs
2015-11-20 16:32:57 +09:00
Caio Marcelo de Oliveira Filho
bb165d8a4c
AP_HAL_SITL: Remove unused extern declaration for HALs
2015-11-20 16:32:45 +09:00
Caio Marcelo de Oliveira Filho
c43474fbf4
AP_HAL_PX4: Remove unused extern declaration for HALs
2015-11-20 16:32:32 +09:00
Caio Marcelo de Oliveira Filho
6773e18bc4
AP_HAL_Linux: Remove unused extern declaration for HALs
2015-11-20 16:32:17 +09:00
Caio Marcelo de Oliveira Filho
d9a3876851
AP_HAL_FLYMAPLE: Remove unused extern declaration for HALs
2015-11-20 16:32:00 +09:00
Caio Marcelo de Oliveira Filho
ee542aac8b
AP_HAL_Empty: Remove unused extern declaration for HALs
...
These are "left-overs" from how things worked before commit
"AP_HAL: make code not depend on concrete HAL
implementations". The real declaration now lives inside get_HAL() function.
Use the opportunitiy to change the files to use "#pragma once".
2015-11-20 16:30:45 +09:00
Andrew Tridgell
1ee7963edb
AP_ADC: fixed example build
2015-11-20 17:33:17 +11:00
Andrew Tridgell
7375f395f9
AP_RPM: added optional PWM logging
2015-11-20 17:02:46 +11:00
Caio Marcelo de Oliveira Filho
cbaa57c7be
AP_HAL_VRBRAIN: remove unused functions
2015-11-20 12:36:54 +09:00
Caio Marcelo de Oliveira Filho
783db23a0f
AP_HAL_SITL: remove unused functions
2015-11-20 12:36:42 +09:00
Caio Marcelo de Oliveira Filho
1de0e0a5a6
AP_HAL_PX4: remove unused functions
2015-11-20 12:36:34 +09:00
Caio Marcelo de Oliveira Filho
e0a6d83457
AP_HAL_LINUX: remove unused functions
2015-11-20 12:36:25 +09:00
Caio Marcelo de Oliveira Filho
f3cc27e04a
AP_HAL_FLYMAPLE: remove unused functions
2015-11-20 12:36:18 +09:00
Caio Marcelo de Oliveira Filho
420dfc7ce2
AP_HAL_Empty: remove unused functions
2015-11-20 12:36:10 +09:00
Caio Marcelo de Oliveira Filho
c5fc0deee9
AP_HAL_Scheduler: remove unused functions
...
Getting the time elapsed and panic are now functions in AP_HAL, so
remove them from HAL class interface and it's implementations.
2015-11-20 12:36:00 +09:00
Caio Marcelo de Oliveira Filho
d343bfdc6c
SITL: use millis/micros/panic functions
2015-11-20 12:35:50 +09:00
Caio Marcelo de Oliveira Filho
e839892524
PID: use millis/micros/panic functions
2015-11-20 12:35:42 +09:00
Caio Marcelo de Oliveira Filho
a096c2b72c
GCS_MAVLink: use millis/micros/panic functions
2015-11-20 12:35:34 +09:00
Caio Marcelo de Oliveira Filho
51a6455ac0
Filter: use millis/micros/panic functions
2015-11-20 12:35:25 +09:00
Caio Marcelo de Oliveira Filho
578b31e7f8
AP_DataFlash: example uses millis/micros/panic functions
2015-11-20 12:35:17 +09:00
Caio Marcelo de Oliveira Filho
753956bd77
AP_Dataflash: use millis/micros/panic functions
2015-11-20 12:35:00 +09:00
Caio Marcelo de Oliveira Filho
0aa520a273
AP_Terrain: use millis/micros/panic functions
2015-11-20 12:34:53 +09:00
Caio Marcelo de Oliveira Filho
c70dda526c
AP_TECS: use millis/micros/panic functions
2015-11-20 12:34:46 +09:00
Caio Marcelo de Oliveira Filho
7c9a5dc1b9
AP_ServoRelayEvents: use millis/micros/panic functions
2015-11-20 12:34:39 +09:00
Caio Marcelo de Oliveira Filho
81186e5416
AP_Scheduler: use millis/micros/panic functions
2015-11-20 12:34:17 +09:00
Caio Marcelo de Oliveira Filho
82a14b183d
AP_RangeFinder: use millis/micros/panic functions
2015-11-20 12:34:10 +09:00
Caio Marcelo de Oliveira Filho
5344d95ef5
AP_Rally: use millis/micros/panic functions
2015-11-20 12:34:04 +09:00
Caio Marcelo de Oliveira Filho
9639add306
AP_RPM: use millis/micros/panic functions
2015-11-20 12:33:57 +09:00
Caio Marcelo de Oliveira Filho
26c06ae3a9
AP_PerfMon: use millis/micros/panic functions
2015-11-20 12:33:33 +09:00
Caio Marcelo de Oliveira Filho
d186704724
AP_Parachute: use millis/micros/panic functions
2015-11-20 12:33:26 +09:00
Caio Marcelo de Oliveira Filho
5b06924779
AP_OpticalFlow: use millis/micros/panic functions
2015-11-20 12:33:19 +09:00
Caio Marcelo de Oliveira Filho
daee8e8e76
AP_Notify: use millis/micros/panic functions
2015-11-20 12:33:13 +09:00
Caio Marcelo de Oliveira Filho
8d882b06dd
AP_NavEKF2: use millis/micros/panic functions
2015-11-20 12:32:41 +09:00
Caio Marcelo de Oliveira Filho
e3c317b96b
AP_NavEKF: use millis/micros/panic functions
2015-11-20 12:32:31 +09:00
Caio Marcelo de Oliveira Filho
0b2184b818
AP_Mount: use millis/micros/panic functions
2015-11-20 12:32:24 +09:00
Caio Marcelo de Oliveira Filho
513f4fe986
AP_Motors: example uses millis/micros/panic functions
2015-11-20 12:32:16 +09:00
Caio Marcelo de Oliveira Filho
01e4265ce1
AP_Mission: example uses millis/micros/panic functions
2015-11-20 12:32:09 +09:00
Caio Marcelo de Oliveira Filho
f20a4e413c
AP_Mission: use millis/micros/panic functions
2015-11-20 12:32:03 +09:00
Caio Marcelo de Oliveira Filho
8257e6ab89
AP_Math: examples use millis/micros/panic functions
2015-11-20 12:31:55 +09:00
Caio Marcelo de Oliveira Filho
5292bc0054
AP_HAL: example uses millis/micros/panic functions
2015-11-20 12:31:48 +09:00
Caio Marcelo de Oliveira Filho
d7601095fa
AP_InertialSensor: use millis/micros/panic functions
2015-11-20 12:31:41 +09:00
Caio Marcelo de Oliveira Filho
87b9b4463e
AP_IRLock: use millis/micros/panic functions
2015-11-20 12:31:35 +09:00
Caio Marcelo de Oliveira Filho
2314578f6f
AP_HAL_VRBRAIN: use millis/micros/panic functions
2015-11-20 12:31:28 +09:00
Caio Marcelo de Oliveira Filho
85d12efbef
AP_HAL_SITL: use millis/micros/panic functions
2015-11-20 12:31:20 +09:00
Caio Marcelo de Oliveira Filho
a76c9e0051
AP_HAL_PX4: use millis/micros/panic functions
2015-11-20 12:31:13 +09:00
Caio Marcelo de Oliveira Filho
7675913d5b
AP_HAL_Linux: use millis/micros/panic functions
2015-11-20 12:31:04 +09:00
Caio Marcelo de Oliveira Filho
f03eec59d6
AP_HAL_FLYMAPLE: use millis/micros/panic functions
2015-11-20 12:30:55 +09:00
Caio Marcelo de Oliveira Filho
c33b86a783
AP_GPS: use millis/micros/panic functions
2015-11-20 12:30:48 +09:00
Caio Marcelo de Oliveira Filho
2b982d6391
AP_FrSkyTelem: use millis/micros/panic functions
2015-11-20 12:30:41 +09:00
Caio Marcelo de Oliveira Filho
032acaaee4
AP_EPM: use millis/micros/panic functions
2015-11-20 12:30:34 +09:00
Caio Marcelo de Oliveira Filho
0ae2fe6fcd
AP_Declination: example uses millis/micros/panic functions
2015-11-20 12:30:27 +09:00
Caio Marcelo de Oliveira Filho
cd7cfdef91
AP_Compass: examples use millis/micros/panic functions
2015-11-20 12:30:20 +09:00
Caio Marcelo de Oliveira Filho
86954cda0e
AP_CompassCalibrator: use millis/micros/panic functions
2015-11-20 12:30:14 +09:00
Caio Marcelo de Oliveira Filho
0d3fbbdd37
AP_Compass: use millis/micros/panic functions
2015-11-20 12:30:05 +09:00
Caio Marcelo de Oliveira Filho
89d6acaeaa
AP_BoardConfig: use millis/micros/panic functions
2015-11-20 12:29:58 +09:00
Caio Marcelo de Oliveira Filho
3b4e18043b
AP_BattMonitor: examples use millis/micros/panic functions
2015-11-20 12:29:52 +09:00
Caio Marcelo de Oliveira Filho
9eb945d24f
AP_BattMonitor: use millis/micros/panic functions
2015-11-20 12:29:45 +09:00
Caio Marcelo de Oliveira Filho
8cce3067f4
AP_Baro: examples use millis/micros/panic functions
2015-11-20 12:29:38 +09:00
Caio Marcelo de Oliveira Filho
5a280838f8
AP_Baro: use millis/micros/panic functions
2015-11-20 12:29:31 +09:00
Caio Marcelo de Oliveira Filho
b8f0beab83
AP_Arming: use millis/micros/panic functions
2015-11-20 12:29:24 +09:00
Caio Marcelo de Oliveira Filho
410bbe4c26
AP_Airspeed: examples use millis/micros/panic functions
2015-11-20 12:29:16 +09:00
Caio Marcelo de Oliveira Filho
2b10e0fac0
AP_Airspeed: use millis/micros/panic functions
2015-11-20 12:29:07 +09:00
Caio Marcelo de Oliveira Filho
3a17c858e3
AP_AHRS: use millis/micros/panic functions
2015-11-20 12:29:00 +09:00
Caio Marcelo de Oliveira Filho
4ea45b8df1
AP_AHRS_NavEKF: use millis/micros/panic functions
2015-11-20 12:28:53 +09:00
Caio Marcelo de Oliveira Filho
55e61538b3
AP_AHRS_DCM: use millis/micros/panic functions
2015-11-20 12:28:45 +09:00
Caio Marcelo de Oliveira Filho
b293fb150c
AP_ADC: use millis/micros/panic functions
2015-11-20 12:28:36 +09:00
Caio Marcelo de Oliveira Filho
b331ffdd91
APM_OBC: use millis/micros/panic functions
2015-11-20 12:28:28 +09:00
Caio Marcelo de Oliveira Filho
fe718a6ce8
APM_Control: use millis/micros/panic functions
2015-11-20 12:28:20 +09:00
Caio Marcelo de Oliveira Filho
e867a06383
AC_WPNav: use millis/micros/panic functions
2015-11-20 12:28:13 +09:00
Caio Marcelo de Oliveira Filho
70d0ea9151
AC_Sprayer: use millis/micros/panic functions
2015-11-20 12:28:04 +09:00
Caio Marcelo de Oliveira Filho
ccd03bcf60
AC_Fence: use millis/micros/panic functions
2015-11-20 12:27:11 +09:00
Caio Marcelo de Oliveira Filho
ea08b6115d
AC_AttControl: use millis/micros/panic functions
2015-11-20 12:27:03 +09:00
Caio Marcelo de Oliveira Filho
7662c2e73f
AP_HAL_VRBRAIN: implement new AP_HAL functions
...
Implement the new AP_HAL functions and use them in the Scheduler when
possible.
2015-11-20 12:25:42 +09:00
Caio Marcelo de Oliveira Filho
79721feb14
AP_HAL_FLYMAPLE: implement new AP_HAL functions
...
Implement the new AP_HAL functions and use them in the Scheduler when
possible.
Because the functions are in a namespace, there's no need to do the
define/undef trick and avoid the globals millis() and micros() provided
by libmaple.
2015-11-20 12:25:41 +09:00
Caio Marcelo de Oliveira Filho
8db8b9b355
AP_HAL_PX4: implement new AP_HAL functions
...
Implement the new AP_HAL functions and use them in the Scheduler when
possible.
2015-11-20 12:25:40 +09:00
Caio Marcelo de Oliveira Filho
ff016c4b5a
AP_HAL_Linux: implement new AP_HAL functions
...
Implement the new AP_HAL functions and use them in the Scheduler when
possible.
The '_sketch_start_time' was renamed and moved as a detail of
implementation of the functions code. It allows the code to return time
starting from zero.
The 'stopped_clock_usec' was renamed to follow convention in the file
and add a getter so that AP_HAL functions can reach it. It's not a
problem this getter is public because in practice, regular code
shouldn't even access the Linux::Scheduler directly -- only code that
should is from Linux implementation.
2015-11-20 12:25:39 +09:00
Caio Marcelo de Oliveira Filho
3ef77617fd
AP_HAL_SITL: implement new AP_HAL functions
...
Implement the new AP_HAL functions and use them in the Scheduler when
possible.
The '_sketch_start_time' was renamed and moved as a detail of
implementation of the functions code. It allows the code to return time
starting from zero.
The 'stopped_clock_usec' was renamed to follow convention in the file
and add a getter so that AP_HAL functions can reach it. It's not a
problem this getter is public because in practice, regular code
shouldn't even access the SITLScheduler directly -- only code that
should is from SITL itself.
2015-11-20 12:25:38 +09:00
Caio Marcelo de Oliveira Filho
efbc7648b1
AP_HAL: create AP_HAL namespace and use for some HAL functionality
...
For certain basic functionality, there aren't much benefit to be able to
vary the implementation easily at runtime. So instead of using virtual
functions, use regular functions that are "resolved" at link time. The
implementation of such functions is provided per board/platform.
Examples of functions that fit this include: getting the current
time (since boot), panic'ing, getting system information, rebooting.
These functions are less likely to benefit from the indirection provided
by virtual interfaces. For more complex hardware access APIs the
indirection makes more sense and ease the testing (when we have it!).
The idea is that instead of calling
hal.scheduler->panic("on the streets of london");
now use
AP_HAL::panic("on the streets of london");
A less important side-effect is that call-site code gets
smaller. Currently the compiler needs to get the hal, get the scheduler
pointer, get the right function pointer in the vtable for that
scheduler. And the call must include an extra parameter ("this"). Now it
will be just a function call, with the address resolved at link time.
This patch introduces the first functions that will be in the namespace,
further patches will implementations for each board and then switch the
call-sites. The extra init() function allow any initial setup needed for
the functions to work.
2015-11-20 12:25:24 +09:00
Jonathan Challinger
f9c7f15052
AC_WPNav: WPNAV_LOIT_SPEED WPNAV_LOIT_MAXA take effect immediately
2015-11-18 22:12:39 +09:00
Paul Riseborough
ff2782b790
AP_NavEKF2: Parameter changes to reduce noise on gyro bias estimates
2015-11-18 20:17:03 +09:00
Paul Riseborough
2193103586
AP_NavEKF: Reduce time to switch after an IMU fault
...
This revised threshold value is still double the maximum that has been observed in flight logs so far with healthy sensors
The previous value was too slow to switch for sudden IMU gyro faults
We can afford an ocasional false trigger becasue the front end will only select another instance if it is healthy and has lower errors
2015-11-18 20:17:00 +09:00
Paul Riseborough
20798316e1
AP_NavEKF2: fix bug in performance timer
2015-11-18 20:16:58 +09:00
Randy Mackay
c9340dbeb6
AC_PosControl: run velocity controller z-axis at 400hz
2015-11-18 13:31:21 +09:00
Randy Mackay
dbc8ce1d69
AC_PosControl: default z-axis controller to 400hz
...
No functional change as vehicle code always sets it explicitely
2015-11-18 13:31:20 +09:00
Randy Mackay
323a527734
AC_PosControl: velocity controller uses feed-forward althold
2015-11-18 13:31:19 +09:00
Randy Mackay
4b41710261
AC_AttControl: minor comment fix
2015-11-18 13:31:18 +09:00