priseborough
bf4ebcfda1
AP_HAL_AVR_SITL: Add maths for calculation of truth optical flow rates
2015-01-03 14:45:13 +11:00
Andrew Tridgell
70c2aeca42
AP_AHRS: make optflow available via AHRS
...
same pattern as compass and airspeed sensor
2015-01-03 14:16:34 +11:00
Andrew Tridgell
51cd64b3b2
SITL: make velocity and rotmat available to the optical flow simulator
2015-01-03 14:16:34 +11:00
Andrew Tridgell
aff01c6d09
AP_OpticalFlow: fixed reversed timestamp
...
thanks to Randy
2015-01-03 14:16:34 +11:00
Andrew Tridgell
d2634a26bd
SITL: added framework for SITL optical flow sensor
2015-01-03 14:16:34 +11:00
Andrew Tridgell
254aa32d4e
SITL: added SIM_FLOW_ENABLE option
2015-01-03 14:16:34 +11:00
Andrew Tridgell
11ff12dfd3
AP_OpticalFlow: split library into frontend/backend
...
this will make it easier to add a SITL backend
2015-01-03 14:16:33 +11:00
priseborough
a9eec29e45
DataFlash: Update EKF optical flow data logging
2015-01-03 14:09:15 +11:00
priseborough
69e86d3ea4
AP_NavEKF: Update EKF optical flow data logging
2015-01-03 14:09:12 +11:00
priseborough
b651eac48d
AP_NavEKF: Apply timeout to terrain offset validity reporting
...
The terrain offset solution status is usable for a short period of time without state updates so a timeout has been added which prevents the rapid changes in solution status due to short duration sensor read errors.
2015-01-03 14:09:09 +11:00
priseborough
e6474d676e
AP_NavEKF: Report correct horiz vel sol'n status during optical flow nav
2015-01-03 14:09:05 +11:00
priseborough
75201c8968
AP_NavEKF: Prevent divide by zero casued by Tnb_flow.c.z = 0
2015-01-03 14:07:13 +11:00
Andrew Tridgell
6bb4a8c361
AP_Math: make location_path_proportion() and location_passed_point() more efficient
...
the dot product is much more efficient than the trigonometry. Thanks
to Paul for the suggestion
2015-01-03 14:06:59 +11:00
Andrew Tridgell
6993be54b7
HAL_Linux: raise storage size to 16k
...
match PX4 size
2015-01-03 14:06:54 +11:00
Andrew Tridgell
745b739ab7
AP_InertialSensor: make calibrated() function fast enough to call in flight
...
this will be used in plane to make AHRS SYS_STATUS unhealthy if a user
tries to fly with EKF enabled without a full 3D accel cal.
Note that it doesn't rely on using AP_Param load() to detect that a
value has been set, as some users are first doing a 3D cal then later
doing a 1D cal. In that case load() was returning true and would give
a false positive
2015-01-03 14:06:42 +11:00
Randy Mackay
5ba1b20d3b
BattMon: add SMBus to MONITOR param description
2015-01-02 17:20:05 +09:00
Randy Mackay
ffbc3862bd
Compass: update compass orient param description
...
Update rotation 38 to Yaw293Pitch68Roll90
2015-01-02 17:19:12 +09:00
Jonathan Challinger
9e5a30d5ba
AP_Math: change ROTATION_YAW_293_PITCH_68_ROLL_180 to ROLL_90
2015-01-02 17:15:18 +09:00
Andrew Tridgell
ef55a3c6a6
AP_GPS: keep reporting GPS status messages when no GPS at 1Hz
...
to ensure the GCS knows that we have lost the GPS we need to keep
reporting GPS_RAW_INT messages when the GPS disappears. Sending at 1Hz
should be sufficient
Fixes issue #1722
2015-01-02 17:10:23 +11:00
priseborough
8d3940ce1b
AP_NavEKF: Improved use of enumerated type for aiding mode
2015-01-02 12:10:41 +09:00
priseborough
76d1378962
AP_NavEKF: Fix compiler warning messages
2015-01-01 23:39:48 +11:00
priseborough
3e3dd9d695
AP_NavEKF: Fix parenthesis error in EKF status reporting and clean up logic
...
This fixes a bug which could have caused the realative position status to be incorrectly reported under some conditions and also caused a compiler warning message. the logic used to report the filter solution status has been broken down into smaller, easier to understand statements.
2015-01-01 23:39:48 +11:00
priseborough
c06f6e105e
AP_NavEKF: Consistent initialisation of tuning parameters and variables
...
Non user adjustable parameters are now declared as 'const' in the header.
The _ prefix has been removed from non user adjustable tuning parameters.
We use a function call rather than a constructor to initialise variables because it enables the filter to be re-started in flight if necessary.
For consistency some signed integer type declarations have been changed to unsigned where appropriate.
2015-01-01 23:39:31 +11:00
priseborough
f1dfa282dc
AP_NavEKF: Consolidate constant velocity mode decision logic
...
The decision to switch to constant velocity mode during optical flow operation and te decision to switch back were previously being made in two different places in code. Both decisions are now made in the one place which makes the code easier to follow and maintain.
2015-01-01 19:53:21 +11:00
priseborough
9caf2ac895
AP_NavEKF: Make reversion to no GPS mode unambiguous
2015-01-01 19:53:21 +11:00
priseborough
58e9dd5dcd
AP_NavEKF: Enumerate Position and Velocity aiding status
2015-01-01 19:53:21 +11:00
Andrew Tridgell
fb5e53e1e4
AP_Param: cope with older gcc versions
...
Travis-CI uses 4.6.3
2015-01-01 18:55:11 +11:00
Andrew Tridgell
9ae0dd05f8
AP_Param: avoid build warning due to %S format
2015-01-01 18:25:05 +11:00
Andrew Tridgell
f38f86ab8c
AP_Math: added location_path_proportion()
...
this can be used for glide slope calculations
2015-01-01 15:17:10 +11:00
Andrew Tridgell
4e5510c99e
AP_TECS: fixed warning
2015-01-01 15:14:48 +11:00
Andrew Tridgell
f8bce994b5
AP_OpticalFlow: don't write an error message if no flow sensor
...
most users have no flow sensor
2015-01-01 11:02:43 +11:00
Andrew Tridgell
06a72839ed
AP_InertialSensor: fixed error detection on secondary IMUs
...
the break; was preventing error detection on lsm303d/l3gd20
2015-01-01 08:55:57 +11:00
Randy Mackay
022c549339
BattMon_SMBus_I2C: use get_PEC to check reads
2014-12-31 15:23:00 +09:00
Randy Mackay
bf0e5a350c
BattMon_SMBus_I2C: add get_PEC method
2014-12-31 15:22:59 +09:00
Randy Mackay
3951e4d99b
BattMon: example sketch reads from SMBus
2014-12-31 15:22:58 +09:00
Randy Mackay
aecc8aac1f
BattMon: correct typo in monitor type enum
2014-12-31 15:22:57 +09:00
Randy Mackay
909d525206
BattMon: fix example sketch compile error
2014-12-31 15:22:51 +09:00
Randy Mackay
cf36fd55bd
GCS_MAVlink: correct sending of 2nd battery's voltage
2014-12-31 15:22:49 +09:00
Randy Mackay
76a28a962c
BattMon: remove #defines for monitor type
2014-12-31 15:22:47 +09:00
Randy Mackay
f077ecd338
BattMon_PX4: class to read from PX4Firmware via orb
2014-12-31 15:22:46 +09:00
Randy Mackay
3f35dc54fe
BattMon_I2C: smart battery class for APM
2014-12-31 15:22:45 +09:00
Randy Mackay
314db1403d
BattMon_SMBus: smart battery monitor driver
2014-12-31 15:22:45 +09:00
Randy Mackay
4d7df9ed26
BattMon_Analog: move analog features to new class
2014-12-31 15:22:44 +09:00
Randy Mackay
39dbf05c8f
BattMon_Backend: create backend class
2014-12-31 15:22:43 +09:00
Randy Mackay
eec66d8451
BattMon: parent class becomes frontend class
2014-12-31 15:22:42 +09:00
Randy Mackay
c36253b9b2
AC_PosControl: add comments
...
No functional change
2014-12-31 14:03:22 +09:00
Jonathan Challinger
6eab698e85
AC_WPNav: remove various timing hacks
2014-12-31 14:03:20 +09:00
Jonathan Challinger
557d339cf1
AC_PosControl: remove various unnecessary timing hacks
2014-12-31 14:03:18 +09:00
Jonathan Challinger
5438d38df5
AC_WPNav: provide reset_I to init_xy_controller
2014-12-31 14:03:16 +09:00
Jonathan Challinger
d6e455417f
AC_PosControl: change keep_xy_I_terms to a parameter of init_xy_controller
2014-12-31 14:03:13 +09:00
priseborough
b016bae445
AP_NavEKF: Clean up reset of constant velocity mode
...
Move velocity store out of optical flow to velocity and position fusion control as it is a velocity fusion function.
Always clear the previous mode status
2014-12-31 13:16:16 +09:00
priseborough
3d207c316a
AP_NavEKF: Change names for position and velocity hold modes
...
Name change done to avoid confusion with flight modes. modes are now referred to as constant position and constant velocity mode.
2014-12-31 13:16:15 +09:00
priseborough
b650ee51a9
AP_NavEKF: Consolidate arming checks
2014-12-31 13:16:15 +09:00
priseborough
48cae0df15
AP_NavEKF: Fall back to attitude and hgt estimation for copter if GPS lost
2014-12-31 13:16:14 +09:00
priseborough
b21f9daa90
AP_NavEKF: Update solution status reporting
...
This patch makes the reporting of an absolute position solution less abbiguaous and ensures that relative position is always true if absolute position is true
2014-12-31 13:16:13 +09:00
priseborough
b99b3c7b9d
DataFlash: Don't log EKF optical flow data if not required
2014-12-31 13:16:09 +09:00
priseborough
b6d300db19
AP_NavEKF: clean up determination of GPS availability
2014-12-31 13:14:22 +09:00
priseborough
40b02fc19a
AP_NavEKF: Ensure filter doesn't try to use GPS after initialisation
2014-12-31 13:14:20 +09:00
priseborough
bab1a69f1c
AP_NavEKF: make position and velocity resets consistent with GPS usage
2014-12-31 13:14:18 +09:00
priseborough
0dc2356175
AP_NavEKF: Ensure initialisation methods read required sensor data
2014-12-31 13:14:16 +09:00
priseborough
5d1de79f08
AP_NavEKF: Modify initial values to make startup behaviour more consistent
2014-12-31 13:14:14 +09:00
priseborough
a63af34d8f
AP_NavEKF: Allow 10 seconds for the filter to settle after initialisation
...
Filter is declared unhealthy and will not arm for first 10 seconds after initialisation
2014-12-31 13:14:12 +09:00
priseborough
0a5de21dc7
AP_NavEKF: Fix bug in reporting of solution status
...
Because synthetic position measurements at 0,0 are fused during position hold mode, a position timeout cannot be used as the only means of detecting position solution status.
2014-12-31 13:14:09 +09:00
priseborough
92c3026072
AP_NavEKF: Link process noise to arm status, not pos hold mode
2014-12-31 13:14:07 +09:00
priseborough
a535b73a6d
AP_NavEKF: Initialise timeout status to true
...
This status will be cleared when data arrives and is fused successfully
2014-12-31 13:14:04 +09:00
priseborough
363c1e393d
AP_NavEKF: Latch use of position hold mode for duration of flight
...
Required to prevent acquisition of GPS mid flight causing unwanted change in position and velocity
A distinction has been mad between the arm and disarm transition and the decision to use position hold mode (formerly static mode)
2014-12-31 13:14:02 +09:00
priseborough
a0a6c0362f
AP_NavEKF: Relax timeout check applied to optical flow data
...
200 msec was too short and could lead to false positives. 5000 msec is the largest time we can go free inertial.
2014-12-31 13:14:00 +09:00
priseborough
5bd4ee9715
AP_NavEKF: Use compensation for baro delay in position hold mode
2014-12-31 13:13:58 +09:00
priseborough
4dc1ee2d66
AP_NavEKF: Rename static mode to avoid confusion with other non-GPS modes
...
This renames static mode as posHoldMode to make it clearer what this and the other non-GPS modes do
2014-12-31 13:13:54 +09:00
priseborough
b160f4c03b
AP_NavEKF: Compensate optical flow fusion for GPS glitch recovery offset
2014-12-31 13:13:52 +09:00
priseborough
e4c969084d
AP_NavEKF: Improve behaviour recovering from a GPS timeout
...
When regaining GPS after a timeout, an offset is applied when fusing GPS velocity so that GPS velocity and position data as fused by the EKF is kinematically consistent.
This velocity offset is also accounted for when fusing air data so that wind estimates are not corrupted when the GPS position offset is being pulle back to zero.
The intended behaviour is that the EKF position will be pulled back to the GPS position at a rate of 5m/s for planes and 1 m/s for copters. This avoids large deviations in trajectory when GPS is regained.
2014-12-31 13:13:50 +09:00
priseborough
6eb533121c
AP_NavEKF: Add static mode to solution status message
2014-12-31 13:13:48 +09:00
priseborough
5c3a56a087
AP_NavEKF: Fix error in comments
2014-12-31 13:13:46 +09:00
priseborough
3891dada78
AP_NavEKF: remove unnecessary function
2014-12-31 13:13:44 +09:00
priseborough
a16253796f
AP_NavEKF: Fix bug preventing the non-GPS mode being selected externally
...
When on the ground it is likely the flow sensor will be returning data that does not meet the minimum quality requirements selected.
The previous check was for the presence of valid data. This has been loosened to look for the presence of data.
When the vehicle becomes airborne, the quality of flow data normally improves as the image comes into focus.
2014-12-31 13:13:42 +09:00
priseborough
a42100e4c5
AP_NavEKF: Improved handling of no GPS
...
This patch enables indoor operation of the EKF by putting it into static mode if optical flow operation is not enabled and no GPS is available
2014-12-31 13:13:40 +09:00
priseborough
73a06cd0c1
AP_NavEKF: Fix bug causing magnetic field state learning to be forgotten
2014-12-31 13:13:37 +09:00
priseborough
bf89c56e54
AP_NavEKF: Fix comments error in description of flow sensor sign conventions
2014-12-31 13:13:35 +09:00
priseborough
685fa383e4
DataFlash: Log EKF solution status message
...
This message is a bitmasked integer that will be used by control software to determine what data is available from the EKF and decide what control modes are available.
Duplicate static mode message removed. Static mode is now contained in the bitmasked solution status message
2014-12-31 13:13:33 +09:00
priseborough
4eb19c2324
AP_NavEKF: Rationalise health status reporting
...
1) Un-used public methods to report height and position drifting have been removed
2) A time-out has been added to the airspeed innovation consistency check so that if we are relying on airspeed to constrain velocity drift, a filter divergence or other fault that causes the airspeed to be continually rejected will trigger a change in health status.
3) A timeout of velocity, position or height measurements does not cause a filter fault to be reported. Timeouts can be due to sensor errors and do not necessarily indicate that the filter has failed.
4) Time-outs of various measurements are used to present a consolidated bitmask which inidicates which parts of the solution can be used, eg attitude, height, velocity, relative position, absolute position, etc.
2014-12-31 13:13:31 +09:00
priseborough
78b30e4ce5
AP_NavEKF: Increase rate at which GPS glitch offsets are reduced for planes
2014-12-31 13:13:29 +09:00
Andrew Tridgell
e0943851d6
DataFlash: log gyro and accel error counts
2014-12-30 12:16:02 +11:00
Andrew Tridgell
b9adc6e466
AP_InertialSensor: prefer sensors that have zero error counts
...
if a sensor has failed in flight then try not to use it if another
error-free sensor is available
2014-12-29 21:19:35 +11:00
Randy Mackay
4a1ba9b186
AC_WPNav: minor const fix
2014-12-27 13:19:32 +09:00
Randy Mackay
c7192c5eef
Notify: remove Led class
...
This class didn't add any functionality beyond what the NotifyDevice class
already provided so in keeping with our desire to keep things simple we
can remove this class
2014-12-26 13:06:41 +09:00
Randy Mackay
352b52d73f
Notify: remove reliance on Led class
2014-12-26 13:06:24 +09:00
Randy Mackay
d67b4a8d49
Notify: add pre_arm_gps_check flag
...
RGB LED will remain flashing blue when vehicle is disarmed and this
check has failed (i.e. false).
2014-12-26 12:32:34 +09:00
Andrew Tridgell
c93ae67541
DataFlash: don't try and open logfile on failure more than once
...
this prevents a corrupted microSD card from causing a continuous
attempt to open a log file while in flight, which can cause large
scheduler delays
Pair-Programmed-With: Grant Morphett <grant@gmorph.com>
2014-12-21 14:50:42 +11:00
Andrew Tridgell
abd1ece6e3
DataFlash: don't write out parameters if log open fails
2014-12-21 14:50:42 +11:00
priseborough
f2c506339a
AP_NavEKF: Reduce time required to recover from GPS timeouts
...
The time required for GPS to be lost or rejected before vehicles with airspeed sensors either reset to GPS or invoke the zero side-slip assumption to constrain drift has been reduced from 15 to 10 seconds
A duplicate zeroing of the GPS position offset has been removed
If the vehicle is a non hovering vehicle (eg a plane) then the speed at which the GPS offset is pulled back to zero after a reset is increased from 1 to 3 m/s
This also improves recovery from bad inertial data for planes
2014-12-18 21:50:40 +11:00
priseborough
f73816dbb5
AP_NavEKF: Improve robustness to long periods without GPS
2014-12-18 21:07:45 +11:00
Randy Mackay
a44b4b5e87
Mission: allow 15 do-jump commands on Pixhawk
2014-12-18 17:02:48 +09:00
priseborough
3afde0061f
AP_NavEKF: Use named states for velocity reset
...
Readibility improvement
2014-12-18 17:29:50 +11:00
priseborough
f6ce25df2a
AP_NavEKF: Do not reset vertical velocity state from GPS
...
Doing this can cause large height and height rate errors if large GPS velocity errors cause the GPS tn be rejected for long enough to cause a timeout and reset of states.
2014-12-18 17:29:47 +11:00
Andrew Tridgell
597273cfff
AP_TECS: remove lag from height demand in landing
...
this predicts ahead the height demand for landing, where we have a
continuous demanded descent. This removes the effect of the lag
introduced by the height demand filters
2014-12-18 09:58:12 +11:00
Andrew Tridgell
b5a5b71512
GCS_MAVLink: reverse sense of check_and_forward()
...
also increase number of routes on larger systems and improved route
learning logic
2014-12-17 10:32:28 +11:00
Andrew Tridgell
a967a682a4
GCS_MAVLink: added routing test sketch
2014-12-17 10:32:28 +11:00
Andrew Tridgell
7f817502c4
GCS_MAVLINK: implement new routing rules
...
see description in coments
2014-12-17 10:32:28 +11:00
Andrew Tridgell
70f5ec60e8
AP_TECS: added get_land_sinkrate()
2014-12-15 21:51:07 +11:00
Andrew Tridgell
8c1cab84c7
AP_SpdHgtControl: added get_land_sinkrate()
2014-12-15 21:51:07 +11:00
Randy Mackay
21beb26484
Notify: minor event reordering
...
No functional change
2014-12-15 14:10:26 +09:00
Randy Mackay
e68a69e139
ToneAlarm_PX4: remove user_mode_init flag
...
Replaced by an initialised check in the main ArduCopter flight code
2014-12-15 14:10:21 +09:00
Randy Mackay
1c8ab375e2
Notify: rename failsafe_action event
2014-12-15 14:10:15 +09:00
Randy Mackay
972c8e47d2
Notify: rename notify_types to notify_flags_type
2014-12-15 14:10:10 +09:00
Randy Mackay
bfc86ac7c0
ToneAlarm_PX4: add comments
2014-12-15 14:10:06 +09:00
Randy Mackay
c75ab8f3e5
Notify: add comments re events
2014-12-15 14:09:15 +09:00
Jonathan Challinger
3dfcdde6be
AP_Notify: Rework ToneAlarm_PX4 to play tones from local array
2014-12-15 14:09:04 +09:00
priseborough
e2d47f836e
AP_TECS: Fix bug causing plane to fly high on landing approach
...
The introduction of the height rate flare logic caused the demanded height rate to be zero except when a flare manouevre was being performed. This caused the plane to lag behind height changes if the D gain was non-zero, which caused it to fly high during landing approach.
2014-12-14 09:43:46 +11:00
Randy Mackay
b54b7b7448
GCS_MAVLink: fix compiler error
2014-12-11 16:26:26 +09:00
Randy Mackay
e581e81da5
AP_NavEKF: reorder declation to fix compiler warning
...
No functional change
2014-12-11 15:37:56 +09:00
Randy Mackay
ddda0d52ce
Baro: reorder declaration to fix compiler warning
...
No functional change
2014-12-11 13:06:24 +09:00
Andrew Tridgell
ade7f9e1a9
GCS_MAVLink: fixed forwarding of non-targetted messages
2014-12-11 12:32:50 +09:00
Andrew Tridgell
fcf17829cc
GCS_MAVLink: fixed addition to routing table
2014-12-11 12:32:48 +09:00
Andrew Tridgell
079158d4b8
GCS_MAVLink: strip out the old GCS_Class class
...
this is not longer needed as we don't support multiple protocol
classes
2014-12-11 12:32:45 +09:00
Andrew Tridgell
f198cdcf20
GCS_MAVLink: added support for a MAVLink snoop function
...
this can be used to watch messages for different targets
2014-12-11 12:32:32 +09:00
Andrew Tridgell
34be7f808e
GCS_MAVLink: only try to fwd packets to active channels
2014-12-11 12:32:30 +09:00
Andrew Tridgell
411766f45a
AP_Mount: removed use of mavlink_check_target()
2014-12-11 12:32:27 +09:00
Andrew Tridgell
4a9331c505
AP_Camera: removed use of mavlink_check_target()
2014-12-11 12:32:24 +09:00
Andrew Tridgell
f1edd1bafb
GCS_MAVLink: removed use of mavlink_check_target()
...
not needed now we do routing properly, as messages will only be
processed if they are for us
2014-12-11 12:31:06 +09:00
Andrew Tridgell
aa88ba4158
GCS_MAVLink: only call message handler for our own messages
2014-12-11 12:30:59 +09:00
Andrew Tridgell
11f88f0f5d
GCS_MAVLink: added routing object to GCS_MAVLink
2014-12-11 12:30:55 +09:00
Andrew Tridgell
b91529622b
GCS_MAVLink: initial implementation of MAVLink routing object
...
will be used to auto-route packets over all available links
2014-12-11 12:30:50 +09:00
Andrew Tridgell
76c710f596
GCS_MAVLink: removed obsolete headers
2014-12-11 12:30:46 +09:00
Andrew Tridgell
3354cb37d0
AP_GPS: fixed vertical velocity in Replay
...
fixed NavEKF use of velocity velocity
2014-12-09 18:57:17 +11:00
Andrew Tridgell
4a91546ced
HAL_PX4: FRAM does not support fsync
...
the fsync just wastes time reopening /fs/mtd
2014-12-09 14:35:36 +11:00
Randy Mackay
da247bacf8
GCS_MAVLink: add OPTICAL_FLOW to ap_message enum
2014-12-08 14:58:30 +09:00
Randy Mackay
3c23f00e81
OptFlow: remove ADNS3080 image grabber example
2014-12-08 14:58:24 +09:00
Andrew Tridgell
193bda068c
HAL_Linux: run IO processes when we do a stop_clock()
...
this has the effect of allowing logging to progress in Replay where we
are running at much more than realtime speeds
2014-12-08 11:24:39 +11:00
Andrew Tridgell
cb9c518ab8
Revert "AP_NavEKF : Reduce ripple in estimates that can cause copter motor 'pulsing'"
...
This reverts commit 13df6fb1c9
.
This patch was a result of an incorrect merge of the optflow branch
into master. It reintroduced the bug fixed by this commit:
AP_NavEKF : Fix bug in reset of GPS glitch offset
8aa267f75f
2014-12-08 07:53:47 +11:00
Andrew Tridgell
22a7b69260
AP_OpticalFlow: don't build optical flow example
...
broken by library changes
2014-12-06 22:05:42 +11:00
Andrew Tridgell
ed510d4f87
AP_OpticalFlow: run PX4 flow sensor at 10Hz
...
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2014-12-06 18:16:51 +11:00
priseborough
a2bd3b4a42
AP_NavEKF: Add public method returning height above ground level
2014-12-06 18:16:51 +11:00
priseborough
d701cfcb75
AP_NavEKF: Output terrain relative PosD when relying on Optical Flow
2014-12-06 18:16:51 +11:00
priseborough
0156d846f1
AP_NavEKF: Increase height at which nav gain reduction starts
...
Compensates for optical flow induced noise increase with height.
2014-12-06 18:16:51 +11:00
priseborough
12ea1d6e85
AC_AttitudeControl: Scale angle demand noise filter
...
Scales filter frequency using EKF nav gain scaler to take advantage of the reduced nav frequency whichcan tolerate a slower angle response.
This is required to reduce the effect of EKF optical flow noise increase with height.
2014-12-06 18:16:51 +11:00
priseborough
a905432ffe
AP_NavEKF: reduce height at which nav gain reduction starts
2014-12-06 18:16:51 +11:00
priseborough
5785272933
AP_NavEKF: Improve robustness to corrupted flow sensor data
2014-12-06 18:16:51 +11:00
priseborough
b1d44d4dde
AP_NavEKF: Add protection for negative height above ground
2014-12-06 18:16:50 +11:00
priseborough
e80b1c67cd
AC_AttitudeControl: Add EKF optical flow noise gain scaler
...
Allows gains to be adjusted to compensate for optical flow noise
2014-12-06 18:16:50 +11:00
priseborough
11fb51ceba
AC_WPNav: Add nav velocity gain scaler to interfaces
...
Allows gains to be adjusted to compensate for optical flow noise
2014-12-06 18:16:50 +11:00
priseborough
5b8265ad6f
AP_AHRS: Expand EKF speed limit public method to handle control limits
2014-12-06 18:16:50 +11:00
priseborough
d994da0886
AP_NavEKF: Expand EKF speed limit public method to handle control limits
2014-12-06 18:16:50 +11:00
priseborough
5fa0c59310
AC_WPNav: Add EKF ground speed limit to loiter speed control
...
This is required to prevent the speed controller saturating the optical flow sensor during low altitude flying.
2014-12-06 18:16:50 +11:00
priseborough
83775554ea
AP_AHRS: Publish EKF ground speed limit
2014-12-06 18:16:50 +11:00
priseborough
bc2255d6b1
AP_NavEKF: Improve comments in setInhibitGPS public method
2014-12-06 18:16:50 +11:00
priseborough
416eaf4633
AP_NavEKF: Apply single definition of using optical flow
2014-12-06 18:16:50 +11:00
priseborough
b56b68ce10
AP_NavEKF: Add public method reporting horizontal speed limit
...
This is required if using optical flow, as depending on height, the speed must be limited to prevent the sensor saturating
2014-12-06 18:16:50 +11:00
priseborough
c8fb376cc4
AP_NavEKF: Fix bug in bias rate of change limiting
...
This doesn't change the behaviour, but means the result is achieved using the correct parameters, and comments are consistent
2014-12-06 18:16:50 +11:00
priseborough
599e53f3f2
AP_NavEKF: Prevent flow scale factor updating on ground
2014-12-06 18:16:49 +11:00
priseborough
083e22966c
AP_NavEKF: Add public method to report available output data
2014-12-06 18:16:49 +11:00
priseborough
5532750a99
AP_AHRS: Add public method to inhibit GPS useage when using EKF
...
This provides the calling vehicle software the abiity to request the EKF to not use GPS.
An integer is returned that indicates the type of operation available:
0 = request rejected (request will only be accepted if the EKF is in static mode, eg pre-armed)
1 = request accepted, attitude, vertical velocity and position estimates available
2 = request accepted, attitude, height rate, height, horizontal velocity and relative position estimates available
2014-12-06 18:16:49 +11:00
priseborough
e53d28854e
AP_NavEKF: Add public method to inhibit GPS use and clean-up GPS use logic
...
This provides the calling vehicle software the abiity to request the EKF to not use GPS.
An integer is returned that indicates the type of operation available:
0 = request rejected (request will only be accepted if the EKF is in static mode, eg pre-armed)
1 = request accepted, attitude, vertical velocity and position estimates available
2 = request accepted, attitude, height rate, height, horizontal velocity and relative position estimates available
2014-12-06 18:16:49 +11:00
priseborough
8fb1d9cf8d
AP_NavEKF: Fix bug preventing opt flow scale factor estimation
...
Also removes un-used variable declarations
2014-12-06 18:16:49 +11:00
priseborough
a78920761c
AP_NavEKF: Update comments in flow data interface
2014-12-06 18:16:49 +11:00
priseborough
063fb41748
AP_OpticalFlow: Add separate scale factors for X and Y axis.
...
The resolution is also increased to take advantage of the planned introduction of automated calibration methods
2014-12-06 18:16:49 +11:00
priseborough
52c7e56a4a
AP_NavEKF: Add parameter for max valid optical flow rate magnitude
2014-12-06 18:16:49 +11:00
priseborough
6f8971d80a
AP_NavEKF: Speed up flow sensor gyro bias correction
2014-12-06 18:16:49 +11:00
priseborough
d7ad45ebda
AP_NavEKF: Don't fuse flow measurements if too big
2014-12-06 18:16:49 +11:00
priseborough
2dff76394d
AC_PosControl: Add spike and noise filter to demanded angles
...
This has been done to provide a smooth psotion hold when using an optical flow aided EKF which can be noisy.
Signed-off-by: priseborough <p_riseborough@live.com.au>
2014-12-06 18:16:49 +11:00
priseborough
84944fdd4e
AP_NAvEKF: Revert back to 10Hz fusion
2014-12-06 18:16:49 +11:00
priseborough
f4f0dfc45c
AP_OpticalFlow: efficiency improvements to data processing
2014-12-06 18:16:49 +11:00
priseborough
1f78a73cdb
AP_NavEKF: Make flow measurement delay vehicle specific
...
This takes into account the inter-sampling delay between the flow driver and the APM software which depends on the rate at which the dirver is being checked. This is 50Hz for plane and rover, and 200Hz for Copter.
2014-12-06 18:16:49 +11:00
priseborough
5f941655a8
AP_NavEKF: changes to support to 20Hz flow fusion rate
2014-12-06 18:16:48 +11:00
priseborough
0bf991eef9
AP_NavEKF: Fix bug in optical flow fusion smoothing
2014-12-06 18:16:48 +11:00
priseborough
7d27a22f77
DataFlash : Fix EKF optical flow logging bug
2014-12-06 18:16:48 +11:00
priseborough
7ec8dfebcf
AP_OpticalFlow : Remove gyro scale factor user adjustable parameter
...
No longer required because bug in flow sensor has been fixed.
2014-12-06 18:16:48 +11:00
priseborough
2baa1e56ed
Dataflash : Fix bug in EKF opt flow logging
2014-12-06 18:16:48 +11:00
priseborough
df59f3311a
AP_OpticalFlow : Add gyro scale factor correction parameter
2014-12-06 18:16:48 +11:00
priseborough
eec49ce1dd
AP_OpticalFlow : Add parameter for flow rate scale factor correction
2014-12-06 18:16:48 +11:00
priseborough
839b814d12
AP_NavEKF : Inhibit flow and range fusion in static mode
2014-12-06 18:16:47 +11:00
priseborough
9b9934ac06
AP_NavEKF : fix velocity timeout bug during optical flow operation
2014-12-06 18:16:47 +11:00
priseborough
cc8e6dbfad
DataFlash : Add EKF additional fault and timeout logging
2014-12-06 18:16:47 +11:00
priseborough
517026980b
AP_NavEKF : Add fault and timeout logging
2014-12-06 18:16:47 +11:00
priseborough
f640ec30ff
AP_NavEKF : Reset held velocity on arming
...
This held velocity is used to constrain the drift in the optical flow solution before the vehicle is high enough for the optical flow sensor to work.
2014-12-06 18:16:47 +11:00
priseborough
4616721b0d
DataFlash : Update EKF debug logging
2014-12-06 18:16:47 +11:00
priseborough
06c19a3a4d
AP_NavEKF : Update optical flow debug logging
2014-12-06 18:16:47 +11:00
priseborough
1791dec622
AP_NavEKF : Fix velocity hold mode
2014-12-06 18:16:47 +11:00
priseborough
84421e0a35
AP_NavEKF : Adjust initial flow scale factor and limits
2014-12-06 18:16:47 +11:00
priseborough
573633daf7
AP_NavEKF : Fix incorrect use of flow sensor time-stamp
...
flow sensor time stamp is now issued by the flow sensor and is on a different time-base
2014-12-06 18:16:47 +11:00
priseborough
92e9336fe1
AP_OpticalFlow : prevent divide by zero
2014-12-06 18:16:47 +11:00
priseborough
9ea97c1a38
AP_NavEKF : Modify optical flow data interface
...
Sign conventions have changed
2014-12-06 18:16:46 +11:00
priseborough
8faeb190de
AP_NavEKF : Rework logic to cope with bad flow data
2014-12-06 18:16:46 +11:00
priseborough
44e1695d5a
AP_AHRS : Enable EKF start without GPS
2014-12-06 18:16:46 +11:00
priseborough
41f0231cfb
AP_NavEKF : improve logic dealing with lack of flow or range data
2014-12-06 18:16:46 +11:00
priseborough
9ba46ad795
AP_NavEKF : Improve handling of flow sensor failure
2014-12-06 18:16:46 +11:00
priseborough
2ee1c549be
AP_NavEKF : improve criteria used to inhibit scale factor estimation
2014-12-06 18:16:46 +11:00
priseborough
e09ff84218
AP_NavEKF : Don't estimate focal length scale factor without reliable velocity
2014-12-06 18:16:46 +11:00
priseborough
4c92a5f23f
AP_NavEKF : Use GPS velocity if PX4Flow sensor fails
2014-12-06 18:16:46 +11:00
priseborough
283811edcb
AP_NavEKF : stop velocity change when flow measurements drop out
2014-12-06 18:16:46 +11:00
priseborough
9132fcfe43
AP_NavEKF : Change mag fusion to use corrected compass values
...
This enables compass units to be switched in-flight
2014-12-06 18:16:46 +11:00
priseborough
c3be486c29
AP_NavEKF : Enable inhibiting of GPS measurements
2014-12-06 18:16:45 +11:00
priseborough
79698f7742
AP_NavEKF : improvements to range finder fusion
2014-12-06 18:16:45 +11:00
priseborough
1222559da0
AP_NavEKF : Fix bug affecting sonar fusion
2014-12-06 18:16:45 +11:00
priseborough
117bd2a998
AP_NavEKF : Add time based noise to terrain offset state
2014-12-06 18:16:45 +11:00
priseborough
b1d3d5d9a3
AP_NavEKF : Don't update focal length scale factor at low speeds
2014-12-06 18:16:45 +11:00
priseborough
8dd1081f54
AP_NavEKF : Add range measurement to EKF debug message
2014-12-06 18:16:45 +11:00
priseborough
f358d5e20f
DataFlash : Add range measurement to EKF debug message
2014-12-06 18:16:45 +11:00
priseborough
744c72d40b
AP_NavEKF : Updates to range finder fusion
2014-12-06 18:16:45 +11:00
priseborough
a07e402ebf
DataFlash : Update names in EKF optical flow logging
2014-12-06 18:16:45 +11:00
priseborough
a20729f60f
AP_NavEKF : Update names in optical flow debug logging
2014-12-06 18:16:45 +11:00
priseborough
235b3bebda
AP_NavEKF : Add range finder health and enable range finder fusion
...
The 2-state auxiliary filter is also renamed.
2014-12-06 18:16:45 +11:00
priseborough
a4984a1e76
AP_AHRS : Add range finder health status to EKF optical flow data
2014-12-06 18:16:44 +11:00
priseborough
988de2a898
AP_NavEKF : Add smoothing to optical flow fusion
2014-12-06 18:16:44 +11:00
priseborough
70c779dbc2
AP_NavEKF : Optical flow numerical optimisations
2014-12-06 18:16:44 +11:00
priseborough
2a1420171a
AP_NavEKF : reduce minimum accepted flow quality
2014-12-06 18:16:44 +11:00
priseborough
3fbedc9f98
AP_NAvEKF : update comments
2014-12-06 18:16:44 +11:00
priseborough
81b09c9361
AP_NavEKF : temporary mods to test use of flow sensor internal gyro data
2014-12-06 18:16:44 +11:00
priseborough
12b012a00e
AP_AHRS : temporary mods to test use of flow sensor internal gyro data
2014-12-06 18:16:44 +11:00
priseborough
cd418c946c
AP_NavEKF : preliminary implementation for optical flow and range finder fusion
...
Range finder measurements are not input to EKF at this time, however the method for fusing them is
implemented.
2014-12-06 18:16:44 +11:00
priseborough
bc74abcd00
DataFlash : EKF optical flow fusion support preliminary changes
2014-12-06 18:16:44 +11:00
priseborough
7b76fc29fb
AP_AHRS : EKF optical flow fusion support preliminary changes
2014-12-06 18:16:44 +11:00
priseborough
13df6fb1c9
AP_NavEKF : Reduce ripple in estimates that can cause copter motor 'pulsing'
...
This patch reduces the level of 5Hz and 10Hz 'pulsing' heard in motors due to GPS and altimeter fusion which cause a small 5Hz and 10Hz ripple on the output under some conditions. Attitude, velocity and position state corrections from GPS, altimeter and magnetometer measurements are applied incrementally in the interval from receiving the measurement to the predicted time of receipt of the next measurement. Averaging of attitude state corrections is not performed during periods of rapid rotation.
Time stamps are now explicitly initialised to the current IMU time to avoid unwanted activation of timeout logic on filter start and the various calls to the hal.scheduler->millis() object have been consolidated.
Unused variables have been removed
2014-12-06 18:16:43 +11:00
priseborough
dcb252cc05
AP_NavEKF : Fix bug in reset of position and velocity states
...
If the inertial solution velocity or position needs to be reset to the GPS, the stored state history for the corresponding states should also be reset.
Otherwise the next GPS measurement will be compared to an invalid previous state and will be rejected.
The position state should be reset to a GPS position corrected for velocity and measurement latency. This will make a noticeable difference for high speed flight vehicles, eg 11m at 50m/s
2014-12-06 18:16:43 +11:00
priseborough
cb4d5986e0
AP_OpticalFlow : Update PX4Flow interface
...
Interface now uses the integral of flow and body rates
2014-12-06 18:16:43 +11:00
priseborough
0d774d301d
AP_OpticalFlow : Remove support for ADNS3080 sensor
...
It is not compatible with the new interface and data fusion requirements
2014-12-06 18:16:43 +11:00
Randy Mackay
4452aa8448
AP_AHRS_DCM: compile error fix for low speed CPUs
...
Also correct initialisatoin order to remove compiler warning
2014-12-05 19:43:05 +09:00
Jonathan Challinger
bfe71fea82
AC_PosControl: Use blended accelerometer measurement in altitude control
2014-12-05 19:40:10 +09:00
Jonathan Challinger
9261dfdefb
AP_AHRS_NavEKF: overload get_accel_ef and get_accel_ef_blended functions
2014-12-05 19:40:08 +09:00
Jonathan Challinger
4975cefd84
AP_AHRS_DCM: update _accel_ef_blended
2014-12-05 19:40:06 +09:00
Jonathan Challinger
033ee3c900
AP_AHRS: Add get_accel_ef_blended function
2014-12-05 19:40:04 +09:00
Jonathan Challinger
7692761f34
AP_NavEKF: Added getAccelNED function
2014-12-05 19:40:01 +09:00
priseborough
874d0780aa
AP_NavEKF: Reduce vulnerability to ground fixed magnetic interference
...
Re-initialisation of the magnetic field states and yaw angle is now only performed a maximum of two times after start-up.
Once when coming out of static modefor the first time (first arm event)
Again (for copter only) when the altitude gain above the arming altitude exceeds 1.5m
this prevents magnetic interference present at arming (eg arming on a metal roof)from corrupting the magnetic field states enough to cause bad heading errors and toilet bowling on copter
2014-12-05 14:33:04 +11:00
Andrew Tridgell
ede920f293
AP_Mission: ensure location options are zero at start of mavlink conversion
2014-12-03 18:29:43 +11:00
Andrew Tridgell
f98e283091
GCS_MAVLink: re-generate with updated upstream mavlink
2014-12-03 10:08:36 +11:00
Andrew Tridgell
940966f3e3
DataFlash: fixed example sketch build
2014-12-03 08:39:36 +11:00
Andrew Tridgell
86bf02d64c
RC_Channel: update example sketch to copy input to output
2014-12-02 16:27:33 +11:00
Andrew Tridgell
5aabfd4dc4
AP_HAL: added RCInput example sketch
2014-12-02 15:49:50 +11:00
Andrew Tridgell
8e36c1cd60
AP_HAL: fixed RCOutput example
2014-12-02 15:03:59 +11:00
Andrew Tridgell
4ec6a74829
AP_HAL: addex UART_test example sketch
2014-12-02 13:14:03 +11:00
Andrew Tridgell
9e0a7e6631
AP_HAL: fixed printf example build
2014-12-02 13:14:03 +11:00
Andrew Tridgell
c5e4e8f035
SITL: fixed SITL for example sketches
...
cope with no SITL object
2014-12-02 13:14:03 +11:00
Randy Mackay
9e731550fd
AHRS: default EKF on for copter
2014-12-01 17:29:39 +09:00
priseborough
053c5054f3
AP_TECS: Change default landing damp gain to 0.5
2014-11-29 20:03:49 +11:00
priseborough
0912f05e7c
AP_TECS: Add parameter to adjust height rate gain during flare
2014-11-29 20:03:41 +11:00
priseborough
11aefa6858
AP_TECS: Fix bug in parameter label
2014-11-29 20:03:37 +11:00
priseborough
bd97f15d06
AP_TECS: make flare height demand consistent with height rate demand
2014-11-29 20:03:34 +11:00
Holger Steinhaus
ebed80cd2a
AP_GPS: work-around for invalid time reported by PX4 GPS
2014-11-28 13:30:21 +01:00
Holger Steinhaus
df7c4baed9
AP_GPS: check lock type before accepting position and speed information
2014-11-28 13:26:51 +01:00
Andrew Tridgell
38c1b622f3
AP_AHRS: fixed example build on APM2
2014-11-28 17:59:18 +11:00
Andrew Tridgell
48abfcede7
AP_Scheduler: added example sketch
2014-11-28 12:59:47 +11:00
Andrew Tridgell
89cdae62b4
AP_AHRS: fixed example build
2014-11-28 10:40:52 +11:00
Andrew Tridgell
e45522f51d
AP_Baro: fixed example build
2014-11-28 10:40:43 +11:00
Andrew Tridgell
a686494127
AP_Compass: fixed example build
2014-11-28 10:40:34 +11:00
Andrew Tridgell
908ad46e8e
AP_GPS: fixed example build
2014-11-28 10:40:26 +11:00
Andrew Tridgell
7bb56e50aa
AP_InertialSensor: fixed example build
2014-11-28 10:40:19 +11:00
Andrew Tridgell
0811f9c175
AP_Notify: fixed example build
2014-11-27 17:27:56 +11:00
John Williams
d0e467aea0
AP_HAL_Linux: Bypass manual CS assertion for SPI_CS_KERNEL mode
...
Missed from initial patch series
Signed-off-by: John Williams <john@whelanwilliams.net>
2014-11-27 15:57:12 +11:00
Andrew Tridgell
eb22815668
AP_TECS: fixed range values
2014-11-26 19:02:51 +11:00
Staroselskii Georgii
d40011acf3
AP_Notify: added abstract Led and RGBLed classes
2014-11-26 11:16:27 +11:00
Mikhail Avkhimenia
955753f3f0
HAL_Linux: Optimize bandwidth for RCOutput_Navio
...
40% less bytes in I2C transactions for PCA9685.
2014-11-26 11:14:44 +11:00
Mikhail Avkhimenia
50459bdca0
HAL_Linux: Enable external clk for RCOutput_Navio
...
That should fix PWM value drifts.
2014-11-26 11:14:44 +11:00
Andrew Tridgell
d0087c91e9
DataFlash: prevent build errors on non-PX4 targets
2014-11-26 11:14:44 +11:00
Andrew Tridgell
1d0122e6c2
DataFlash: log each ESC separately
...
this saves log space for ESCs that are not initialised (eg. only 3rd
ESC on fixed wing) and is a bit easier to deal with as a user
2014-11-26 11:14:44 +11:00
Holger Steinhaus
294d944cbd
DataFlash: added logging of ESC feedback (currently only available with UAVCAN ESCs)
2014-11-26 11:14:44 +11:00
Andrew Tridgell
4132b53541
HAL_PX4: publish actuator values for UAVCAN ESCs
...
this publishes scaled actuator values so that the uavcan module can
drive ESCs
2014-11-26 11:14:44 +11:00
Andrew Tridgell
e89d380b73
AP_HAL: added set_esc_scaling() RCOutput function
...
this will be used to scale outputs for uavcan ESCs based on throttle
range
2014-11-26 11:14:44 +11:00
Andrew Tridgell
22cb1c8525
HAL_Linux: tidy up SPI debugging a bit
2014-11-26 10:16:39 +11:00
John Williams
0fe3959d7e
AP_HAL_Linux: Add support for in-kernel SPI CS handling
...
Add support for /dev/spidev<bus>.<cs> in-kernel SPI CS handling, and convert
existing SPI devices over.
* Add a new member _subdev to the LinuxSPIDeviceDriver class, and initialiser
in LinuxSPIDevice constructor. Use subdev 0 for GPIO-managed CS
* Extend the _cs_pin to signed 16 bits and define SPI_CS_KERNEL (-1) for
kernel-managed CS
* Move to per-device file descriptors (required for in-kernel CS)
* Extend spidev filenames to include bus and subdevice numbers, possibly
longer than 1 digit each
* Allow support for platforms enumerating /dev/spidevNNN from non-zero bases
* Convert existing users over to the new API
Signed-off-by: John Williams <john@whelanwilliams.net>
2014-11-26 09:55:09 +11:00
Andrew Tridgell
38c5f25c70
AP_Math: fixed example build
2014-11-25 13:22:17 +11:00
Michael Day
b3e693daa4
AP_Mission: Support MAV_CMD_DO_FENCE_ENABLE as a mission item.
2014-11-25 13:02:47 +11:00
Michael Day
b36c1b2c3d
AP_Mission: support for MAV_CMD_CONTINUE_AND_CHANGE_ALT
2014-11-25 10:43:15 +11:00
Michael Day
dca99a9643
GCS_MAVLink: code generation from XML for MAV_CMD_CONTINUE_AND_CHANGE_ALT.
2014-11-25 10:43:15 +11:00
Andrew Tridgell
d5ced15acf
GCS_MAVLink: include units in CONTINUE_AND_CHANGE_ALT
2014-11-25 10:43:14 +11:00
Michael Day
958d8ffacc
GCS_Mavlink: New message def: MAV_CMD_NAV_CONTINUE_AND_CHANGE_ALT
2014-11-25 08:49:13 +11:00
Kirill A. Kornilov
33e4f44434
RC_Channel: added set_radio_trimmed()
...
take into account trim value in set_radio()
2014-11-25 08:19:27 +11:00
Andrew Tridgell
8d54368650
AP_Math: fixed build warning
2014-11-25 08:17:15 +11:00
Andrew Tridgell
09547c40cb
DataFlash: added staticmode to EKF4 message
...
useful when diagnosing logs
2014-11-22 18:27:51 +11:00
Andrew Tridgell
46f601d703
AP_NavEKF: added getStaticMode() function
2014-11-22 18:27:51 +11:00
Andrew Tridgell
8acfbb2ee0
AP_NavEKF: add another health check in the EKF
...
if SV, SP and SH are all off then the most likely cause is divergence
of the EKF. This was done based on a flight log with bad gyro cal
2014-11-22 18:27:51 +11:00
Andrew Tridgell
f84f432ecf
AP_InertialSensor: allow gyro calibration to take up to 30 seconds
...
this gives time for the user time to get their battery hatches on and
hold the model steady. 5 seconds was just far too short
2014-11-22 18:27:51 +11:00
Randy Mackay
20f3f19285
Compass: add new rotation to ORIENT param description
2014-11-22 14:13:25 +09:00
Randy Mackay
503d14428d
AP_Math: add new rotation to example rotation sketch
2014-11-22 14:10:00 +09:00
Randy Mackay
3d2c9910b3
AP_Math: add yaw 293, pitch 68, roll 180 rotation
2014-11-22 14:09:16 +09:00
priseborough
d57c99f1cc
DataFlash: Fix bug in logging of EKF IMU1 Z accel bias
2014-11-18 13:39:42 +11:00
Andrew Tridgell
78db698108
AP_Mount: allow a MOUNT_CONTROL message to reset RC targetting
...
fixes issue #1617
2014-11-18 13:35:11 +11:00
Randy Mackay
73f3b50e2f
RC_Channel: make get_control_mid const
2014-11-17 18:16:12 -08:00
Jonathan Challinger
9375fc8947
RC_Channel: add get_control_mid function
2014-11-17 18:16:09 -08:00
Jonathan Challinger
4d7988b302
RC_Channel: replace long with int32_t
2014-11-17 18:16:08 -08:00
Andrew Tridgell
14467b75a1
AP_Mount: use norm_input_dz()
...
this makes rc targeting much easier without drift
2014-11-18 12:44:29 +11:00
Andrew Tridgell
6b0c15b70f
RC_Channel: added norm_input_dz()
...
normalised input, taking into account dead zone
2014-11-18 12:44:05 +11:00
Andrew Tridgell
ad0e6dccbb
GCS_MAVLink: re-generate headers
2014-11-18 11:20:44 +11:00
Andrew Tridgell
de294277e9
GCS_MAVLink: cope with new mavlink repo change in mavlink_system_t
2014-11-18 11:20:28 +11:00
Andrew Tridgell
abba6395ad
AP_TECS: fixed spelling error
2014-11-18 11:12:57 +11:00
Randy Mackay
8ef2948f27
GCS_MAVLink: generate update to version
2014-11-17 15:59:36 -08:00
Randy Mackay
e46be909a4
GCS_MAVLink: generate after mount_status msg change
2014-11-17 15:59:33 -08:00
Arthur Benemann
9b5684d007
GCS_MAVLink: add MOUNT_STATUS to message enum
2014-11-17 15:59:28 -08:00
Arthur Benemann
f7f9bedc38
AP_Mount: update the status_msg() method to match the new definition
2014-11-17 15:59:23 -08:00
Arthur Benemann
c5b4121fc7
GCS_MAVLink: MOUNT_STATUS to always be reporting the angle of the gimbal
...
This is useful for GCS trying to plot the camera footprint.
2014-11-17 15:59:21 -08:00
Jonathan Challinger
055d3bee1f
GCS_MAVLink: run generate.sh
2014-11-17 14:38:53 -08:00
Jonathan Challinger
a4f994e8f0
GCS_MAVLink: update MAV_FRAME enum
2014-11-17 14:38:51 -08:00
Jonathan Challinger
2cc65dffe0
AC_WPNav: add set_spline_dest_and_vel function
2014-11-17 14:38:46 -08:00
Andrew Tridgell
809ff15b43
AP_GPS: make NMEA driver a bit easier to read
...
thanks to crashpilot100
2014-11-16 14:12:14 +11:00
Andrew Tridgell
b81b9e1bb8
AP_GPS: prevent bad NMEA strings from causing overruns in parser
...
fixes issue #961
thanks to crashpilot100 for spotting this!
2014-11-16 14:08:20 +11:00
Andrew Tridgell
7497b4dfb1
HAL_Linux: fixed Replay with new AP_InertialSensor library
2014-11-16 12:30:50 +11:00
Andrew Tridgell
7c288e020b
AP_InertialSensor: fixed detection of dead IMU
...
if a PX4 sensor does not give new data we need to avoid calling
_rotate_and_offset_*() to avoid marking it as healthy. Otherwise if
the MPU6k dies we won't switch to the LSM303D automatically
2014-11-16 12:30:33 +11:00
Andrew Tridgell
22237f2530
HAL_SITL: fixed handling of SIM_FLOAT_EXCEPT in main thread
2014-11-16 11:05:55 +11:00
Randy Mackay
d9d238cc3c
Relay: param descr match labels for Pixhawk
...
Renamed Pixhawk FMU AUX1 to Pixhawk AUXOUT1 to match labels on case to
make it easier for users to know what value to choose
2014-11-15 12:49:02 -08:00
Randy Mackay
0d3e1131a7
Relay: Pixhawk AUXOUT2 enabled by default
2014-11-15 12:45:12 -08:00
bugobliterator
9d39c0407e
HAL_Linux: added ToneAlarmDriver.h
2014-11-15 21:25:55 +11:00
bugobliterator
485abbac3a
AP_Notify: cleanup use of bool from toneAlarm_init()
2014-11-15 16:59:28 +11:00
bugobliterator
329c1f5190
HAL_Linux:create ToneAlarmDriver as a separate class
...
ToneAlarm is now declared as a separate class instance of which is added as a private member of LinuxUtil
Some minor fixes in this patch include changing return type of tonealarm_init() to bool and use dprintf
2014-11-15 16:59:06 +11:00
bugobliterator
ad460659ad
AP_HAL: make toneAlarm_init() return bool
2014-11-15 16:59:06 +11:00
bugobliterator
f058131140
HAL_Linux Scheduler: reduce the delay inside tonealarm thread
...
Since the tonealarm is now passthrough the delay inside the thread needs to be reduced for precise tune generation
2014-11-15 16:59:06 +11:00
bugobliterator
3b94cb3072
HAL_Linux: make tonealarm generation a passthrough operation
...
get rid of all delays and while loops(that may turn into infinite loop)
2014-11-15 16:59:06 +11:00
bugobliterator
e254b406d0
HAL_Linux: make rtttl tune and tune repeat flag list static members
...
instead of initialising them inside constructor
2014-11-15 16:59:06 +11:00
Andrew Tridgell
c8c822422a
HAL_Linux: give error msg on failure to start toneAlarm
2014-11-15 16:58:58 +11:00
Andrew Tridgell
7718be81cb
AP_Notify: give error msgs on failure to start
2014-11-15 16:58:40 +11:00
Andrew Tridgell
682cf02770
GCS_MAVLink: regenerate after merge
2014-11-14 15:25:06 +11:00
Andrew Tridgell
0dba1b370a
GCS_MAVLINK: merge with upstream XML
2014-11-14 15:24:34 +11:00
Andrew Tridgell
d3b087d2c1
AP_GPS: fixed build on non-PX4 platforms
2014-11-14 14:48:42 +11:00
Andrew Tridgell
e69582aa1c
AP_GPS: added PX4EXPERIMENTAL to GPS type drop down
2014-11-14 14:39:46 +11:00
Holger Steinhaus
abad58874c
AP_GPS: enable GNSS modules handled by PX4 firmware via GPS_TYPE
...
GNSS modules handled by PX4 drivers are not auto-detectable, some are not even
connected to a UART port. The activation is therefore controlled by GPS_TYPE
only. Baud rate and port settings (if applicable) have to be handled by the PX4
firmware.
2014-11-14 14:36:10 +11:00
Holger Steinhaus
442aafbd1e
AP_GPS: add proxy driver for GNSS modules handled by PX4 firmware
2014-11-14 14:36:10 +11:00
John Williams
57d2fc1dd5
HAL_Linux: RCInput support for Zynq
2014-11-14 14:10:35 +11:00
Jason Short
7ee5b58535
AP_Mount: Axis mask speedup
...
Using a simple bit mask to avoid calculating an unneeded ATAN2() for AVR users.
2014-11-14 13:51:16 +11:00
Matthias Badaire
1d3a49e466
AP_HAL_PX4 : make UARTDriver capable to be called from different threads.
...
The modification allows the read and write functions to be called by any thread but the calling thread must be the last one that called the begin() function.
2014-11-14 13:51:16 +11:00
Andrew Tridgell
154bf51279
HAL_PX4: minor tidy up of if statement
2014-11-14 13:51:16 +11:00
Holger Steinhaus
9e9c62d245
HAL_PX4: work-around for periodic enable_ch() calls
2014-11-14 13:51:16 +11:00
Holger Steinhaus
e5549c90a1
HAL_PX4: do not overwrite disabled channels with zeros
...
Fixes #1321
2014-11-14 13:51:16 +11:00
Randy Mackay
d34ea4c124
AC_PosControl: fix to default force_descend param
2014-11-13 18:40:45 -08:00
Jonathan Challinger
e81c1dd5a1
AC_PosControl: add force_descend option to set_alt_target_from_climb_rate
2014-11-13 18:40:38 -08:00
Andrew Tridgell
2270a904ce
RC_Channel: make flaperson range from -4500 to 4500
2014-11-14 11:23:52 +11:00
Jonathan Challinger
cc955b738b
AP_NavEKF: Clean up flight detector logic
2014-11-14 10:34:49 +11:00
priseborough
5359da9c68
AP_NavEKF : Improved Magnetometer Error Handling
...
(Plane Only) If the yaw and GPS heading disagree by more than 45 degrees on takeoff, then the magnetometer is declared as failed. The heading is then reset based on the difference between GPS ground track and stgate velocity vector.
Magnetometer fusion uses corrected data and bias states are initialised to zero. This allows the compass to be switched in flight.
For persistent compass errors that trigger a timeout, the compass is not permanently failed, however for non-forward fly vehicles the compass weighting is reduced.
2014-11-14 10:34:48 +11:00
Staroselskii Georgii
a55db1c25d
AP_HAL_Linux: fixed LinuxGPIO_RPI::read()
2014-11-14 10:28:34 +11:00
Mikhail Avkhimenia
49d3035ee5
HAL_Linux: fix types, remove printfs in GPIO_RPI
2014-11-14 10:28:34 +11:00
Mikhail Avkhimenia
6f993fe64a
HAL_Linux: add prototype RCInput code for Navio
2014-11-14 10:28:34 +11:00
Staroselskii Georgii
ef420a2544
AP_HAL_Linux: changed SPI mode for MPU9250
2014-11-14 10:28:34 +11:00
Staroselskii Georgii
bf860ee41f
AP_HAL_Linux: Ublox SPI stub
2014-11-14 10:28:34 +11:00
Víctor Mayoral Vilches
ce4c4c43dc
AP_HAL_Linux: Scheduler reboot fix
...
exit from the autpilot when reboot is commanded.
The software assumes that the code is being
launched in an infinite loop thereby an exit
will make it reboot.
2014-11-14 10:27:19 +11:00
John Williams
ae87399919
HAL_Linux: Basic Zynq Linux platform support
...
Preliminary support for Zynq/Linux on the 'ZyboPilot' HW platform.
see https://github.com/trjw/ZyboPilot-bsp for the PetaLinux / Vivado project
files.
At this stage CPPM/Pulse in and PWM out work, and in CLI mode the passthru
test works correctly.
The platform has passed minimal smoke testing in HIL mode.
ZYNQ IS NOT FLIGHT TESTED YET! FLY THIS PLATFORM AT YOUR OWN RISK!
Signed-off-by: John Williams <john@whelanwilliams.net>
2014-11-14 10:21:04 +11:00
Andrew Tridgell
adcf994356
AP_HAL: added Zynq platform type
2014-11-14 10:21:04 +11:00
Staroselskii Georgii
7f00dd413f
AP_Compass: fixed HMC5883's initialisation code
2014-11-14 10:21:04 +11:00
Andrew Tridgell
3b6c732b3b
APM_Control: changed default I gain for roll/pitch controllers to non-zero
...
too many people are still not tuning. At least this will give them a
chance to get their aircraft back in a cross-wind
2014-11-13 22:13:25 +11:00
Andrew Tridgell
258542b939
AP_Airspeed: added ARSPD_SKIP_CAL parameter
...
allows airspeed calibration to be skipped for easier startup
2014-11-13 21:12:37 +11:00
Andrew Tridgell
9c631944f7
AP_Airspeed: expose raw pressure for logging
2014-11-13 17:49:04 +11:00
Andrew Tridgell
f04f8e226d
SITL: abort on floating point error
...
this creates a core file
2014-11-13 17:27:20 +11:00
Andrew Tridgell
1fc8116069
AP_L1_Control: update NAV_L1_PERIOD docs
2014-11-13 14:26:42 +11:00
Andrew Tridgell
1552278fa3
AP_TECS: use aparm.stall_prevention
2014-11-13 14:05:33 +11:00
Andrew Tridgell
04b63a61bf
AP_Vehicle: added stall_prevention variable
2014-11-13 14:05:22 +11:00
Andrew Tridgell
3667900e84
AP_SpdHgtControl: added load_factor in update_pitch_throttle()
2014-11-12 13:36:02 +11:00
Andrew Tridgell
bf591b0008
AP_TECS: take load factor into account in min airspeed
...
this will push up minimum airspeed when turning
2014-11-12 13:36:02 +11:00
Andrew Tridgell
d404cc6542
AP_Baro: add set_external_temperature()
...
this allows the use of an external temperature sensor for calibration
purposes, such as the sensor built in to the digital airspeed sensor.
The main affect this has is on the EAS2TAS calculation
The get_calibration_temperature() is used to choose either an external
temperature or an internal one. If an internal one is used then it is
clamped at no higher than 25 degrees C, to prevent hot electronics
on startup affecting altitude scaling and EAS2TAS
2014-11-12 13:36:01 +11:00
Andrew Tridgell
8b794602d1
AP_Baro: make get_temperature() a const function
2014-11-12 13:36:01 +11:00
Andrew Tridgell
986b7bf894
AP_InertialSensor: fixed frequency to 16 bit in LDM303D and L3GD20 drivers
2014-11-11 17:06:22 +11:00
Andrew Tridgell
c750cbebfb
GCS_MAVLink: prevent asan errors in send_text_all
2014-11-11 15:16:26 +11:00
Andrew Tridgell
a566ebe4ec
HAL_SITL: prevent array overruns in RCInput/RCOutput
2014-11-11 15:16:26 +11:00
Randy Mackay
67690553c5
BaroGlitch: add reset method
2014-11-09 13:34:15 -08:00
Andrew Tridgell
2eeec3fabe
AP_RangeFinder: fixed oversized parameter RNGFND2_SETTLE_MS
2014-11-10 08:09:41 +11:00
Andrew Tridgell
ec17c5806e
AP_Param: check parameter tables for bad suffix lengths
2014-11-10 08:09:08 +11:00