Andrew Tridgell
520727e5bd
AP_InertialSensor: fixed example build
2014-10-24 12:10:39 +11:00
Andrew Tridgell
dbcd02f2be
AP_InertialSensor: converted MPU9150 driver
...
untested conversion
2014-10-24 12:10:38 +11:00
Andrew Tridgell
ff5f791343
AP_InertialSensor: converted flymaple driver to new API
2014-10-24 12:10:38 +11:00
Andrew Tridgell
a42af0f2f1
AP_InertialSensor: use common AP_InertialSensor driver for PX4 and VRBRAIN
2014-10-24 12:10:38 +11:00
Andrew Tridgell
3ce7667e5a
AP_InertialSensor: tidy up MPU6000 driver
2014-10-24 12:10:37 +11:00
Andrew Tridgell
2d47a07480
AP_InertialSensor: ported L3G4200D driver to new API
2014-10-24 12:10:37 +11:00
Andrew Tridgell
deafcd6ddc
AP_InertialSensor: improved timing in all drivers
2014-10-24 12:10:37 +11:00
Andrew Tridgell
ff6d87f145
AP_InertialSensor: minor tidy up for HIL driver
2014-10-24 12:10:37 +11:00
Andrew Tridgell
85686c22ec
AP_InertialSensor: converted the APM1/Oilpan driver to new API
2014-10-24 12:10:37 +11:00
Andrew Tridgell
dcef9bb3b8
AP_InertialSensor: converted the MPU9250 driver to new API
2014-10-24 12:10:37 +11:00
Andrew Tridgell
d48beb0c0f
AP_InertialSensor: converted PX4 driver to new API
2014-10-24 12:10:37 +11:00
Andrew Tridgell
0ce5c99c26
SITL: update for new AP_InertialSensor API
2014-10-24 12:10:37 +11:00
Andrew Tridgell
ec11417705
AP_InertialSensor: converted HIL backend, which gets SITL working
2014-10-24 12:10:36 +11:00
Andrew Tridgell
448efc70a3
AP_InertialSensor: first steps in frontend/backend split
...
This converts the MPU6000 driver to a frontend/backend structure, and
disables all other drivers. They will be progressively re-enabled as
each is converted
2014-10-24 12:10:36 +11:00
Randy Mackay
04eb1073e8
DataFlash: log baro climbrate
2014-10-22 17:29:27 +09:00
Andrew Tridgell
e6c6fe095f
AP_Terrain: fixed a warning
2014-10-22 18:27:20 +11:00
Andrew Tridgell
b495905da5
AP_TECS: fixed some warnings
2014-10-22 18:27:18 +11:00
Andrew Tridgell
59610ebe88
AP_L1_Control: fixed some warnings
2014-10-22 18:27:16 +11:00
Andrew Tridgell
b8e73a737a
HAL_AVR: fixed warning
2014-10-22 18:26:45 +11:00
Randy Mackay
e80328d3a5
AC_WPNav: bug fix sanity check of set_speed_xy
...
This corrects a bug that allowed the waypoint speed to be set to zero
2014-10-21 22:10:22 +09:00
Randy Mackay
39c8535223
AHRS_DCM: sanity check AHRS_RP_P and AHRS_YAW_P
2014-10-21 21:41:41 +09:00
priseborough
2bc74934b8
AP_NavEKF: Track baro alt when pre-armed
...
This will help prevent spurious alt disparity warning messages for copter
2014-10-21 20:58:59 +09:00
Randy Mackay
a1cfd03c9b
AC_PosControl: bug fix dt calculation
...
fixes issue in which now could be earlier than _last_update_xy_ms
leading to a large dt value and a sudden lean on takeoff
2014-10-21 11:40:47 +09:00
Randy Mackay
0e11189c35
AP_InertialNav: add comments
2014-10-20 11:12:54 +09:00
Jonathan Challinger
5e381280dc
AP_InertialNav: update properly if home position moves
2014-10-20 10:59:50 +09:00
Andrew Tridgell
d84c1cd3e4
AP_OpticalFlow: fixed example build
2014-10-20 08:42:51 +11:00
Andrew Tridgell
15a661e17a
AP_Mission: fixed logic in jump_to_landing_sequence()
...
see comments on drones-discuss
2014-10-20 08:36:20 +11:00
Andrew Tridgell
8c6b875dcc
AP_Mission: avoid the AP_AHRS cast
...
get_position() is now const
2014-10-20 08:36:20 +11:00
Andrew Tridgell
270bac4472
AP_AHRS: make get_position() const
...
This allows use from within AP_Mission
2014-10-20 08:36:20 +11:00
Michael Day
ea91f4d47b
AP_Mission: Added support for MAV_CMD_DO_LAND_START
2014-10-20 08:36:19 +11:00
Michael Day
d62b9a7044
GCS_MAVLink: re-generated headers
2014-10-20 08:36:19 +11:00
Andrew Tridgell
e1a88a13a7
GCS_MAVLink: added MAV_CMD_DO_LAND_START
...
see discussion on drones-discuss
2014-10-20 08:36:19 +11:00
Andrew Tridgell
7636cc6971
GCS_MAVLink: merged upstream changes
2014-10-20 08:36:19 +11:00
Jonathan Challinger
1c75ce88f2
AP_Buffer: change pop_front to return a bool if successful
2014-10-20 08:26:14 +11:00
Jonathan Challinger
ceef10cc41
AP_Buffer: Add peek_mutable function allowing in-place modification of buffered objects
2014-10-20 08:26:14 +11:00
Jonathan Challinger
630a87d9a9
AP_Buffer: remove scalar assignment so that non-scalars can be buffered
2014-10-20 08:26:14 +11:00
Jonathan Challinger
cdd2199138
AP_Math: expand frame transformation test case for quaternions
2014-10-20 06:24:33 +11:00
Jonathan Challinger
3befe74afa
AP_Math: change quaternion class to use const references where optimal
2014-10-20 06:24:30 +11:00
Jonathan Challinger
70845882a7
AP_Math: fix up rotation test suite
2014-10-20 06:24:27 +11:00
Jonathan Challinger
6076f3fa22
AP_NavEKF: Quaternion::to_euler now uses references instead of pointers
2014-10-20 06:24:25 +11:00
Jonathan Challinger
1f7e393e38
AP_Math: refactor quaternion library
2014-10-20 06:24:22 +11:00
Andrew Tridgell
ef0eca4835
AP_Airspeed: fixed airspeed in Replay
2014-10-19 19:42:15 +11:00
Andrew Tridgell
7db0244dac
AP_Compass: added some comments
2014-10-19 17:02:45 +11:00
Jonathan Challinger
9054dd3f9a
AP_Compass: use apply_correction_function to eliminate duplication
2014-10-19 17:02:45 +11:00
Randy Mackay
677f6cce7f
AP_Motors: reduce slow-start increment for fast CPUs
2014-10-18 20:54:08 +09:00
Randy Mackay
542ec29e49
Parachute: set servo or relay to off position on every update
...
This resolves the issue of the parachute servo's position not being
initialised to the off position due to an ordering problem of the
auxiliary servos being initialised after the parachute object.
2014-10-18 17:26:23 +09:00
Randy Mackay
eed6a1ce61
OptFlow: fix example sketch so it compiles
2014-10-16 13:52:07 +09:00
Randy Mackay
a476a914b0
OptFlow_PX4: check healthy before updating
2014-10-15 16:36:40 +09:00
Randy Mackay
f504ea7b30
OptFlow_ADNS3080: check healthy before updating
2014-10-15 16:36:38 +09:00
Randy Mackay
d238f48dda
OptFlowPX4: fix compile error for APM
2014-10-15 16:36:33 +09:00
Randy Mackay
a9cfbb71b8
OptFlowPX4: use ORB to pull data from sensor
...
This change is required because PX4Firmware has changed the method used
to pull data from the sensor.
2014-10-15 16:36:25 +09:00
Randy Mackay
ec4581b35a
OptFlow: add ground_distance_m
2014-10-15 16:35:48 +09:00
Randy Mackay
4b0548973a
OptFlow: add PX4Flow support
2014-10-15 16:35:33 +09:00
Randy Mackay
3c4be75487
OptFlow: reorganise ADNS3080 to simplified interface
2014-10-15 16:35:31 +09:00
Randy Mackay
b64f9ed964
OptFlow: rename and restructure OpticalFlow class
...
AP_OpticalFlow.h becomes simply a file that includes all other optical
flow header files.
OpticalFlow class simplified to only return surface quality, raw output
and velocity vector.
2014-10-15 16:35:29 +09:00
Andrew Tridgell
4ad643b233
AP_AHRS: use a common function for updating the CD values
...
this ensures the wrapping of yaw is consistent between the 3 use cases
2014-10-15 13:18:08 +11:00
Andrew Tridgell
eec5cd5add
AP_AHRS: restore DCM attitude before update()
...
The DCM drift correction code uses the current attitude to calculate
error values to update its gyro drift correction. If we were using EKF
then without this patch the DCM code running as an alternative AHRS
source would be using the EKF attitude for calculating the error
value, leading to very bad gyro drift estimation
2014-10-15 11:15:33 +11:00
Andrew Tridgell
63c06ea2af
AP_AHRS: fixed calls to DCM in parent class
...
use_compass() and reset() are common to AP_AHRS_DCM and
AP_AHRS_NavEKF. As AP_AHRS_NavEKF is a child of AP_AHRS_DCM, when we
call use_compass() from within AP_AHRS_DCM we actually end up calling
AP_AHRS_NavEKF::use_compass().
This has the effect of disabling the compass in DCM when EKF is active
and EKF has decided not to use the compass. That means that the DCM
yaw (and in fact the whole attitude) can get badly off while EKF is
enabled, making DCM an ineffective fallback if EKF fails.
The fix is to call the specific class versions of use_compass() and
reset()
2014-10-15 10:12:50 +11:00
Andrew Tridgell
b437977547
AP_Compass: added set_offsets() interface
...
this will be used by Replay to prevent the need for saving parameters
2014-10-15 09:16:31 +11:00
Randy Mackay
6690aff305
AC_Motors: param description addition
2014-10-14 12:43:22 +09:00
Randy Mackay
d09faa0015
BattMon: minor param description additions
2014-10-14 12:42:57 +09:00
Randy Mackay
45e0e48e54
BattMon: minor param description update
2014-10-14 12:42:45 +09:00
Randy Mackay
3a81732721
Baro: minor param description updates
2014-10-14 12:42:27 +09:00
Randy Mackay
be1621877f
Mission: support GUIDED_ENABLE and GUIDED_LIMITS
...
This replaces the ardupilot only NAV_GUIDED command.
Also remove support for NAV_VELOCITY mission command which will be
replaced by SET_POSITION_TARGET non-mission command.
2014-10-13 21:40:23 +09:00
Andrew Tridgell
3c7cc5f40c
AP_RangeFinder: auto-update PX4 ll40ls max/min distance
...
this allows the range of the Lidar to be set by the user using
RNGFND_MAX_CM and RNGFND_MIN_CM
2014-10-13 19:07:38 +11:00
Jonathan Challinger
4a397a8d67
AC_PosControl: Protect from divide-by-zero in get_stopping_point_xy
2014-10-10 21:17:12 +09:00
Randy Mackay
023b2c0d6b
AP_InertialNav: fixed use of ahrs.get_velocity with EKF disabled
2014-10-09 16:43:24 +09:00
Andrew Tridgell
7b02d326f6
AP_InertialNav: fixed use of _ahrs.get_relative_position_NED() with EKF disabled
...
this prevents a floating point error caused by using an uninitialised
vector3 when switching between DCM and EKF control in AP_InertialNav
Pair-Programmed-With: Randy Mackay <rmackay9@yahoo.com>
2014-10-09 18:30:20 +11:00
Andrew Tridgell
39fadad7d6
HAL_Linux: fixed build warnings
2014-10-09 16:49:23 +11:00
Andrew Tridgell
b3894e8b10
HAL_VRBRAIN: reduce the number of times we split up UART reads and writes
2014-10-09 12:29:25 +11:00
Andrew Tridgell
10b0ca7ea8
HAL_PX4: reduce the number of times we split up UART reads and writes
2014-10-09 12:29:25 +11:00
Andrew Tridgell
c834589daa
HAL_Linux: reduce the number of times we split up UART reads
2014-10-09 12:29:25 +11:00
Andrew Tridgell
076bb1294e
HAL_Linux: improved UDP packetisation and add flow control reporting
...
report we have flow control on UDP and TCP
2014-10-09 12:29:25 +11:00
Randy Mackay
834f2bea07
INS: add gyro_calibrated_ok_all method
...
This returns true if the gyros have been calibrated successfully
2014-10-09 10:00:07 +09:00
Andrew Tridgell
70ca87c4e6
AP_RangeFinder: handle all I2C rangefinder types on PX4 in PX4Firmware
2014-10-09 11:06:16 +11:00
Andrew Tridgell
cebfef3ead
HAL_Linux: don't accept less than 5 input channels
2014-10-09 09:19:35 +11:00
Andrew Tridgell
a3fee16604
HAL_Linux: added DSM/Spektrum RCInput support
...
this decodes DSM using the RCIN pulses from the PRU
2014-10-08 12:50:50 +11:00
Andrew Tridgell
3e3f87188b
HAL_Linux: enable DSM power pin
2014-10-08 12:50:50 +11:00
Andrew Tridgell
50e5ae6f7a
HAL_Linux: added low level DSM decoder
...
based on dsm.c from PX4 project
2014-10-08 12:50:50 +11:00
Andrew Tridgell
9b207d029d
HAL_Linux: change ring buffer to 300 entries
2014-10-07 14:57:34 +11:00
Andrew Tridgell
b1845ed00d
HAL_Linux: initial support for parallel SBUS and PPM-SUM decoding
2014-10-07 14:57:34 +11:00
Andrew Tridgell
42e9dc3c31
HAL_Linux: added SBUS decoder from PX4 project
...
thanks Lorenz!
2014-10-07 14:57:34 +11:00
Andrew Tridgell
809b6cc855
AP_AHRS: added get_yaw_rate_earth()
...
used to estimate course correction on takeoff
2014-10-07 07:17:46 +11:00
Craig Elder
be352e9471
AP_GPS: Removed CFG-DAT message from 3DR-Ublox-NEO7
...
CFG-DAT is generated by U-Center but no longer used by the receiver.
2014-10-06 11:21:42 -07:00
Andrew Tridgell
e0e534628b
HAL_Linux: support direct UDP output from UART drivers
...
this allows safe operation over WiFi links without MAVProxy
2014-10-06 15:13:03 +11:00
Randy Mackay
1754cacf3c
AC_PosControl: remove completed to-do comments
2014-10-04 23:49:24 +09:00
Randy Mackay
f65e81cb07
AC_AttControl: remove some old comments
2014-10-04 23:49:21 +09:00
Randy Mackay
793ed20534
CoaxCopter: set throttle upper and lower flags
2014-10-04 23:49:19 +09:00
Randy Mackay
57f6d0ff60
SingleCopter: set throttle upper and lower flags
2014-10-04 23:49:16 +09:00
Randy Mackay
85fb4b122a
MotorsMatrix: _min_throttle interpreted as 0 ~ 1000 range for throttle_lower flag
...
Also trigger throttle_upper flag when throttle in reaches 1000
2014-10-04 23:49:14 +09:00
Randy Mackay
91e5201439
Tri: _min_throttle interpreted as 0~1000 range for throttle_lower flag
...
limit.throttle_lower flag becomes true when the throttle passed into the
motors lib (which is in the 0 ~ 1000 range) is below _min throttle.
This makes the interpretation of the THR_MIN parameter consistent
between the main code (which uses 0 ~ 1000 range) and the motors lib
(which previously used the RC3_MIN ~ RC3_MAX range).
The remaining problem however is that the output of the motors continues
to use THR_MIN as if it were a pwm. I don't believe this is a dangerous
problem however.
2014-10-04 23:49:11 +09:00
Craig Elder
7367ea04a7
AP_GPS: Adding support for the NEO7 GPS
2014-10-03 03:21:28 -07:00
priseborough
8aa267f75f
AP_NavEKF : Fix bug in reset of GPS glitch offset
...
The GPS glitch offset was being zeroed during position resets. This caused the filter to reject subsequent GPS measurements if the GPS error persisted long enough to invoke a timeout and a position reset.
2014-10-03 09:17:03 +10:00
Randy Mackay
b3bbec24e4
RangeFinder: TYPE param description to PX4-I2C
2014-10-02 20:24:14 +09:00
Randy Mackay
8ce4893180
RangeFinder: TYPE param description to PX4-MaxbotixI2C
...
This hopefully reduces confusion for PX4/Pixhawk users with MaxBotix I2C
sonar
2014-10-02 16:49:15 +09:00
Randy Mackay
85eee31510
AHRS: rename ekfNotStarted method to initialised
...
Also created default implementation in AP_AHRS class so AP_AHRS_DCM does
not need to implement it.
2014-10-02 14:40:54 +09:00
priseborough
7cea7c6a18
AP_AHRS : add method to report if EKF is waiting to start
2014-10-02 14:38:29 +09:00
Andrew Tridgell
60aa017e11
GCS_MAVLink: added handle_set_mode() function
2014-10-01 14:19:04 +10:00
Randy Mackay
7caa611eb1
Compass_HIL: use instance specific orient and external
2014-10-01 13:02:03 +10:00
Randy Mackay
86aac4f40c
Compass_HMC5843: use instance specific orient and external
2014-10-01 13:02:03 +10:00
Randy Mackay
900896977c
Compass_VRBrain: use instance specific orient and external
2014-10-01 13:02:03 +10:00
Randy Mackay
85e82a0399
Compass_PX4: use instance specific orient and external
2014-10-01 13:02:03 +10:00
Randy Mackay
023b6afe8b
Compass: add ORIENT2 and EXTERNAL2 params
2014-10-01 13:02:03 +10:00
Randy Mackay
16058cb730
Compass_VRBrain: primary compass based on use_for_yaw
2014-10-01 13:02:02 +10:00
Randy Mackay
01fa4ba619
Compass_PX4: primary compass based on use_for_yaw
2014-10-01 13:02:02 +10:00
Randy Mackay
798cc36e64
Compass: use_for_yaw for each compass
2014-10-01 13:02:02 +10:00
Randy Mackay
84d792216e
Compass: use_for_yaw to use primary compass health
...
This allows the internal compass to be used if the external compass
fails.
2014-10-01 13:02:02 +10:00
Andrew Tridgell
d6c56b8f7a
AP_NavEKF: make it clear that all sat counts are covered
2014-10-01 12:55:29 +10:00
Andrew Tridgell
a1f5be5b9e
AP_NavEKF: simplify variable handling in EKF
...
use named state variables instead of states[] array where possible.
2014-10-01 12:55:29 +10:00
priseborough
8223a0d193
AP_NavEKF : Explicitly initialise gpsNoiseScaler to default value
2014-10-01 12:55:29 +10:00
priseborough
b61a6c64d7
AP_NavEKF : Reduce weighting on GPS when not enough satellites
...
GPS measurement variance is doubled if only 5 satellites, and quadrupled if 4 or less.
The GPS glitch rejection thresholds remain the same
This will reduce the impact of GPS glitches on attitude.
2014-10-01 12:55:29 +10:00
priseborough
7370e07c8d
AP_AHRS : Prevent EKF starting if GPS sats less than AHRS_GPS_MINSATS
2014-10-01 12:55:29 +10:00
priseborough
f99f5759f5
AP_NavEKF : Fix bug in GPS innovation variance growth calculation
...
The uncertainty in acceleration is currently only scaled using horizontal accelerations, however during vertical plane aerobatics and high g pullups, misalignment in angles can cause significant horizontal acceleration error.
The scaling now uses the 3D acceleration vector length to better work during vertical plane high g maneouvres.
This error was found during flight testing with 8g pullups
2014-10-01 12:55:29 +10:00
priseborough
f0ee11e951
AP_NavEKF : Fix bug in reset of position, height and velocity states
...
If the inertial solution velocity or position needs to be reset to the GPS or baro, the stored state history for the corresponding states should also be reset.
Otherwise the next GPS or baro measurement will be compared to an invalid previous state and will be rejected. This is particularly a problem if IMU saturation or timeout has occurred because the previous states could be out by a large amount
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-10-01 12:55:28 +10:00
Randy Mackay
e7b4a02d26
GPS: fix SIRF set-binary message
...
This fixes an issue in which the the update rate for the mediatek, which
uses a similar protocol, was not being set correctly
2014-10-01 11:42:31 +09:00
Andrew Tridgell
f6cc8ce5bc
GCS_MAVLink: fixed log erase and log request end
2014-10-01 11:45:51 +10:00
Randy Mackay
47c135c4e1
GCS_MAVLink: add comments around checking target
2014-09-30 15:18:35 +10:00
Randy Mackay
0322a876eb
GCS_MAVLink: check target before erasing log
2014-09-30 15:18:31 +10:00
Randy Mackay
dbe1c55666
AC_WPNav: add shift_wp_origin_to_current_pos for takeoff
...
This shifts the origin to the vehicle's current position and should be
called just before take-off to ensure there are no sudden roll or pitch
moves on takeoff.
2014-09-29 15:26:18 +09:00
Randy Mackay
0803d79701
INS: param descriptions for ACC2, GYR2
2014-09-27 21:05:33 +09:00
Randy Mackay
e14ae0c0b1
Compass: param descriptions for OFS2, MOT2
2014-09-27 17:59:26 +09:00
Randy Mackay
5ca3c4baf6
Mission: fix CHANGE_ALT to store climb rate in lat param
...
The slightly confusing storage of climb rate in the lat field led to a
bug fix a few months ago that actually created a bug.
2014-09-26 23:23:04 +09:00
Andrew Tridgell
5eee51b5a4
APM_OBC: added heartbeat() method
...
this is used for when the plane is calibrating sensors, to ensure
heartbeat is continued to the failsafe board
2014-09-24 12:02:38 +10:00
Randy Mackay
c2c5807ec7
Compass: always default devid to zero
2014-09-23 20:35:18 +09:00
Randy Mackay
cf3b2be99c
AC_PosControl: 4hz filter on z-axis velocity error
2014-09-22 13:40:01 +09:00
Randy Mackay
665f353416
AC_PosControl: 2hz filter on accel error
...
Replaced hard-coded filter with LowPassFilter class allowing the
filter's to be 2hz on both APM and Pixhawk
2014-09-21 17:53:55 +09:00
Randy Mackay
cf35bd3f42
LowPassFilter: add div by zero check
2014-09-21 17:33:59 +09:00
Jason Short
b57539a9ad
AP_Motors: throttle_pass_through accepts pwm
2014-09-19 22:21:45 +09:00
Randy Mackay
765420ee04
AC_WPNav: add loiter_soften_for_landing method
...
This resets the position target to the current location.
2014-09-19 16:43:10 +09:00
Randy Mackay
ad37fc0408
AC_WPNav: WP_SPEED_DN parameter range to 0~500
...
Previous permissible descent speed of 10m/s was unnecessarily lenient.
Users can still bypass the suggested range through the MP's full
parameter list if they really want a very high descent speed.
2014-09-18 10:44:33 +09:00
Randy Mackay
6da1420541
HAL_VRBrain: implement force_safety_on
2014-09-18 09:58:48 +09:00
Randy Mackay
ffcd259b4e
HAL_PX4: implement force_safety_on
2014-09-18 09:58:46 +09:00
Randy Mackay
033b14db16
AP_HAL: add force_safety_on method
2014-09-18 09:58:44 +09:00
Randy Mackay
1ce8e453c2
Mission: add support for DO_GRIPPER
2014-09-17 21:14:17 +09:00
Randy Mackay
1de89804e5
GCS_MAVLink: version update after adding DO_GRIPPER
2014-09-17 21:14:14 +09:00
Randy Mackay
064e214992
GCS_MAVLink: generate after adding DO_GRIPPER
2014-09-17 21:14:12 +09:00
Randy Mackay
b3bce13bdf
GCS_MAVLink: add MAV_CMD_DO_GRIPPER
2014-09-17 21:14:09 +09:00
Randy Mackay
cffc904671
GCS_MAVLink: version update after generate
2014-09-17 21:14:06 +09:00
Randy Mackay
6b38547fc2
GCS_MAVLink: generate after move of PARACHUTE_ACTION
2014-09-17 21:13:54 +09:00
Randy Mackay
868f1a777d
GCS_MAVLink: version updates after generate
2014-09-17 21:13:52 +09:00
Randy Mackay
69fd7b80aa
GCS_MAVLink: generate run on master
2014-09-17 21:13:50 +09:00
Randy Mackay
d09bbd1d91
EPM: add params for pwm levels add re-grab feature
...
Also include some minor commenting changes
2014-09-17 21:13:37 +09:00
Randy Mackay
1401ee4077
EPM: add support for ver2, remove support ver 1
2014-09-17 21:13:32 +09:00
Randy Mackay
79f95efb71
RC_Channel_aux: add epm to servo function enum
2014-09-17 21:13:30 +09:00
priseborough
f71aeea61d
AP_NavEKF : Reduce sensitivity on filter divergence check
...
Flying aerobatics with Trad Heli has shown that the divergence check can be false triggered when large magnetometer errors and GPS dropouts are present.
This can also happen with multi rotors if large yaw rates are present.
This was an unintended consequence of the ekfsmoothing patch which improved filter stability during high rate manoeuvres, but made the divergence test more sensitive.
2014-09-17 10:22:55 +09:00
priseborough
36bf304f29
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.
2014-09-17 10:22:49 +09:00
priseborough
5b72cb7610
AP_NavEKF : Clean up time stamps
...
Time stamps are now explicitly initialised to the current IMU time to avoid unwanted activation of timeout logic on filter start and various calls to the hal.scheduler->millis() object have been consolidated.
2014-09-17 10:22:45 +09:00
Andrew Tridgell
b69262b054
GCS_MAVLink: rebuild MAVLink headers
2014-09-11 20:16:27 +10:00
Andrew Tridgell
25f6dc2549
GCS_MAVLink: mavlink XML updates from upstream
2014-09-11 20:15:44 +10:00
Andrew Tridgell
593a97afd6
HAL_VRBRAIN: fixed storage bug in VRBRAIN too
2014-09-11 18:58:54 +10:00
Andrew Tridgell
d238ff7c5d
HAL_Linux: fixed storage bug in Linux too
2014-09-11 18:58:54 +10:00
Andrew Tridgell
74525cad89
HAL_PX4: fixed dirty_mask calculation in FRAM storage
...
this could lead to a number of bytes on 512 byte boundaries not being
written when changed in ram, so they would revert on next boot
2014-09-11 18:58:54 +10:00
Andrew Tridgell
9d846d5f2a
DataFlash: allow use of a smaller writebuf for PX4v1
...
this fixes logging on PX4v1
2014-09-09 17:32:44 +10:00
Randy Mackay
3e1bd04c94
TradHeli: update AttControl params to match multicopters
2014-09-09 14:41:57 +09:00
Andrew Tridgell
d3347e528d
AP_Relay: added RELAY_DEFAULT parameter
...
this is useful when using a Pixhawk with an external relay, as it
allows you to cope with the pullup on the PWM pins
2014-09-04 16:48:33 +10:00
Andrew Tridgell
15470bd81b
AP_GPS: added GPS_MIN_ELEV parameter
...
allows setting of satellite elevation mask in degrees
2014-09-04 14:46:10 +10:00
Andrew Tridgell
840a4dee1e
AP_GPS: added GPS_SBAS_MODE parameter
...
allows SBAS to be enabled/disabled
2014-09-04 14:46:10 +10:00
Andrew Tridgell
cd50fe82b6
AP_GPS: fixed GPS time in HIL
...
account for 10 year difference in epoch between unix time and GPS time
2014-09-04 06:37:42 +10:00
Andrew Tridgell
effccacf46
AP_Mission: fixed acceptance radius outgoing
...
this needs to match incoming
2014-09-03 21:15:56 +10:00
Andrew Tridgell
3a5e960fe5
AP_Mission: revert APM_BUILD_TYPE change
2014-09-03 13:28:17 +10:00
Andrew Tridgell
c09c86868f
AP_Vehicle: make APM_BUILD_TYPE() valid under arduino IDE
2014-09-03 13:28:04 +10:00
Andrew Tridgell
36b854fa98
AP_Mission: fixed build for arduino IDE
2014-09-03 13:20:31 +10:00
Andrew Tridgell
c4f84232e2
AP_Mission: make cmd.p1 be radius on plane for NAV_WAYPOINT
2014-09-03 12:38:30 +10:00
Randy Mackay
74553e523d
INS: add get_accel_health_all and get_gyro_health_all
...
Returns true only if all available accels or gyros are healthy
2014-09-03 11:22:46 +09:00
Randy Mackay
50ae5b2519
InertialSensor: reorder .cpp file to match .h
...
No functional changes
2014-09-03 11:19:36 +09:00
Randy Mackay
102b71cde3
InertialNav: add credit to Tony Lambregts
2014-08-31 13:23:03 +09:00
Emile Castelnuovo
25d2ec1dea
AP_HAL_VRBRAIN: enable 2nd GPS for VRBRAIN 5
2014-08-31 10:56:58 +09:00
Emile Castelnuovo
7a70c0132d
AP_HAL: VRBRAIN corrected EEPROM size and added terrain folder on MicroSD
2014-08-31 10:56:56 +09:00
Emile Castelnuovo
4a5c31fe74
AP_relay: added default relay pin for VRBRAIN
2014-08-31 10:56:52 +09:00
Emile Castelnuovo
8e42b21bab
AP_HAL_VRBRAIN: added management for external relay 1 and 2
2014-08-31 10:56:48 +09:00
Andrew Tridgell
a6ca11facf
AP_TECS: allow zero throttle in flare for landing
2014-08-30 05:14:57 +10:00
Andrew Tridgell
6c1eed0a20
AP_TECS: bring in flare sink rate more slowly
...
this should reduce pitch overshoot in the flare
2014-08-30 05:13:18 +10:00
Randy Mackay
1c6606cc58
AC_WPNav: resolve twitch when passing spline waypoints
...
The target positions target velocity was being reset to zero as we
passed through a spline waypoint.
2014-08-28 11:00:51 +09:00
Andrew Tridgell
7547cd45f5
AP_TECS: bring the flare height rate demand in slowly
...
bring it in over 0.5s to give less of a bounce
2014-08-27 20:13:01 +10:00
Andrew Tridgell
500e20b08d
AP_TECS: make TECS aware of LAND_PITCH_CD
...
this makes the flare a bit smoother
2014-08-27 20:11:48 +10:00
Andrew Tridgell
fb4ef0b5c6
AP_Vehicle: added land_pitch_cd for fixed wing
2014-08-27 20:11:03 +10:00
Andrew Tridgell
46ac52bccc
HAL_Linux: removed retry loop on UART open
...
this was there for HAL_PX4 only, and makes no sense on Linux
2014-08-27 18:31:38 +10:00
Randy Mackay
d6aa868cac
Mission: start next nav cmd immediately after prev completes
2014-08-27 18:05:49 +10:00
Andrew Tridgell
68dd61c7c7
AP_TECS: added TECS_LAND_TCONST
...
this allows control of the time constant for landing in TECS. A lower
time constant gives tighter altitude control on landing approach
2014-08-27 17:14:19 +10:00
Andrew Tridgell
5da5360dde
HAL_SITL: fixed sonar correction for attitude
2014-08-27 17:14:19 +10:00
Andrew Tridgell
6b893a5865
GCS_MAVLink: slow down parameter send a lot with no flow control
2014-08-25 22:19:30 +10:00
priseborough
0f62dbf6ed
AP_NavEKF : Clear compass fail on transition between armed and disarmed
...
This allows a compass that has been declared failed, possibly because of
external disturbances (eg movement of hatches, proximity of tools, etc)
to be given a second chance when the vehicle is armed.
2014-08-25 19:29:07 +10:00
Ju1ien
1c96bf0b1d
AP_Mount.cpp - correct units in description
...
That should be corrected also in MP as the current code is expecting
degrees, not centidegrees.
2014-08-25 15:55:07 +09:00
Andrew Tridgell
eeb04ba1b8
AP_Terrain: fetch more terrain data around waypoints
...
this ensures we have data for a wide region (1km) around each waypoint
2014-08-25 14:55:15 +10:00
Andrew Tridgell
e9a9e33280
AP_AHRS: use EKF use_compass() if EKF enabled
...
this allows magfailed status to show on console via SYS_STATUS health
bits
2014-08-24 21:00:56 +10:00
Andrew Tridgell
5d40ec8014
AP_NavEKF: make use_compass() public
2014-08-24 21:00:24 +10:00
Randy Mackay
5a66ff1ef9
AC_AttControl: bug fix for ef target during acro
2014-08-23 22:17:54 +09:00
Randy Mackay
3e0b573dfe
AC_AttControl: remove debug message
2014-08-22 22:58:48 +09:00
Randy Mackay
f6e12bda06
AC_AttControlHeli: integrate div-by-zero check for bf-to-ef conversion
2014-08-22 22:56:18 +09:00
Randy Mackay
c45338f080
AC_AttControl: div-by-zero check for bf-to-ef conversion
2014-08-22 22:56:15 +09:00
Andrew Tridgell
024d3b71e7
HAL_Linux: use a semaphore in suspend_timer_procs()
...
this is the start of multi-core aware code
2014-08-22 21:13:11 +10:00
Andrew Tridgell
dcdb53584b
AP_InertialSensor: use lockless structures in MPU9250 driver
...
this avoids suspending timers when transferring data between main
thread and SPI read thread
2014-08-22 21:13:11 +10:00
Andrew Tridgell
7343de2893
AP_Notify: avoid suspend_timer_procs() by using atomic updates in ToshibaLED_PX4
2014-08-22 21:13:11 +10:00
Randy Mackay
691a3d8126
AC_AttControlHeli: add passthrough_bf_roll_pitch_rate_yaw
2014-08-22 16:28:57 +09:00
Robert Lefebvre
7d3e22af59
AC_AttitudeControl_Heli: Add use_flybar_passthrough accessor function.
2014-08-22 16:28:45 +09:00
Robert Lefebvre
9b1d9e3cf0
AC_AttitudeControl_Heli: Add passthrough_to_motor_roll_pitch function.
2014-08-22 16:28:42 +09:00
Robert Lefebvre
5c04af6d20
AC_AttitudeControl_Heli: Create Flybar Passthrough flag which will be used for control pass-through.
2014-08-22 16:28:38 +09:00
Andrew Tridgell
43e8b36e5b
AP_RangeFinder: removed use of hrt_absolute_time()
2014-08-20 09:10:25 +10:00
Andrew Tridgell
5c9e5fbc11
AP_InertialSensor: removed use of hrt_absolute_time()
2014-08-20 09:10:24 +10:00
Andrew Tridgell
e143acd8bf
HAL_VRBRAIN: minimise use of hrt_absolute_time()
2014-08-20 09:10:24 +10:00
Andrew Tridgell
48247b6adc
HAL_PX4: minimise usage of hrt_absolute_time()
2014-08-20 09:10:24 +10:00
Andrew Tridgell
9f6d1f987b
AP_Compass: removed use of hrt_absolute_time()
2014-08-20 08:41:28 +10:00
Andrew Tridgell
5280d8936d
AP_Baro: remove usage of hrt_absolute_time()
...
use a single time base in all code
2014-08-20 08:41:15 +10:00
Andrew Tridgell
a14f8dbd0a
AP_InertialSensor_MPU9250: use micros64() and millis64()
2014-08-20 08:02:34 +10:00
Andrew Tridgell
071323a736
HAL_VRBRAIN: added millis64() and micros64()
2014-08-20 08:01:44 +10:00
Andrew Tridgell
1241da466b
HAL_PX4: added millis64() and micros64()
2014-08-20 08:01:06 +10:00
Andrew Tridgell
ead82ee581
HAL_Linux: implement millis64() and micros64()
2014-08-20 08:00:21 +10:00
Andrew Tridgell
6450c84987
HAL_Empty: added dummy millis64() and micros64()
2014-08-20 07:59:21 +10:00
Andrew Tridgell
5a55101703
HAL_SITL: added millis64() and micros64()
2014-08-20 07:57:45 +10:00
Andrew Tridgell
7439d34a5d
AP_HAL: add millis64() and micros64() on faster boards
...
this can be used for much simpler scheduling, without any wrap
handling
2014-08-20 07:55:19 +10:00
Andrew Tridgell
d01fa3bfbd
AP_Baro: prevent reading the MS5611 too fast
...
setup the timer start after we've started the conversion to prevent
reading faster than the MS5611 is able to produce values
2014-08-19 21:16:13 +10:00
Andrew Tridgell
b9dc2335ee
HAL_Linux: run timer thread at average 1kHz without drift
...
this avoids drift in the 1kHz timer, to avoid bias in the IMU
filtering
2014-08-19 20:03:34 +10:00
Andrew Tridgell
3c2ab31415
AP_InertialSensor: get rid of data_ready for MPU9250
...
when running off a 1kHz timer and reading at 1kHz it is better to
double sample than it is to skip a sample, as skipping samples will
throw the filter off, whereas a double sample will have minimal effect
2014-08-19 20:03:33 +10:00
Andrew Tridgell
9e01c657e5
AP_InertialSensor: update MPU9250 driver for 1kHz operation
...
use a time base sample wait, with 1kHz sampling
2014-08-19 20:03:33 +10:00
Andrew Tridgell
532e9aace4
AP_InertialSensor: fixed timer bug in HIL sensors
2014-08-19 20:03:33 +10:00
Andrew Tridgell
8f280d212b
HAL_Linux: don't use usleep() in suspend_timer_procs()
...
usleep can cause a large delay with PREEMPT kernel
2014-08-19 20:03:33 +10:00
Andrew Tridgell
94e14f5dcb
HAL_Linux: split off RCOutput class to be specific to PXF and ERLE
...
this fixes the Replay tool
2014-08-19 20:03:33 +10:00
Andrew Tridgell
2ce219aeb8
HAL_Linux: split RCInput class into generic and PRU implementations
...
this will make it easier for other boards (such as NAVIO) to implement
their own RCInput mechanism
2014-08-19 20:03:33 +10:00
Andrew Tridgell
12239de00d
AP_InertialSensor: fix data_ready return for L3GD20
2014-08-19 10:14:20 +10:00
Andrew Tridgell
21ff578cb0
HAL_VRBrain: prevent read past end of buffer
2014-08-19 10:08:17 +10:00
Andrew Tridgell
0a20d0db60
HAL_PX4: prevent read past end of buffer
2014-08-19 10:08:17 +10:00
Andrew Tridgell
b4be93113c
HAL_Linux: prevent read past end of buffer
2014-08-19 10:08:17 +10:00
Andrew Tridgell
7286e7acd2
AP_InertialSensor: fixed build errors on APM2
2014-08-19 10:08:17 +10:00
Andrew Tridgell
b40bd479c4
HAL_Linux: moved FRAM vs FS choice into HAL_Linux headers
2014-08-19 10:08:17 +10:00
Andrew Tridgell
9fccb5f5ed
HAL_Linux: clear more UART flags
...
this fixes a major timing issue caused by bad UART flags (I suspect
the echo flags) and the GPS auto detection code
2014-08-19 10:08:17 +10:00
Andrew Tridgell
c87b0adc29
HAL_Linux: the MS5611 seems to be a bit happier at higher speed
...
still getting some bogus data, but less
2014-08-19 10:08:17 +10:00
Andrew Tridgell
41e65c2415
AP_Compass: fixed default orientation for PXF
2014-08-19 10:08:17 +10:00
Andrew Tridgell
50068a7c6a
AP_InertialSensor: fixed default orientation for PXF board MPU9250
2014-08-19 10:08:16 +10:00
Andrew Tridgell
226b67d357
AP_HAL: make PXf default to MPU9250
2014-08-19 10:08:16 +10:00
Andrew Tridgell
6cc304e486
HAL_Linux: RCOutput should default to 50Hz on all boards
2014-08-19 10:08:16 +10:00
Andrew Tridgell
9d948d5a26
HAL_Linux: fixed name space collision in RCOutput
2014-08-19 10:08:16 +10:00
Andrew Tridgell
721d349922
HAL_Linux: fixed build of BusTest
2014-08-19 10:08:16 +10:00
Andrew Tridgell
a4ef512f10
SPIDriver: fixed handling of 0 based SPI bus numbers
2014-08-19 10:08:16 +10:00
Andrew Tridgell
5fb2ad0068
HAL_Linux: fixed safety of RCInput code
...
don't loop forever waiting for pulses
2014-08-19 10:08:16 +10:00
Víctor Mayoral Vilches
5e5319e23b
AP_InertialSensor: MPU9250 cleaning
2014-08-19 10:08:16 +10:00
bugobliterator
ac11d282b5
HAL_Linux: Add support for PPM input to HAL_Linux
...
rcin thread continuously scans for values inside ring buffer maintained by pru with rcinpru0 firmware.
2014-08-19 10:08:16 +10:00
bugobliterator
072c39ea6a
AP_HAL: Add option to select Storage type AP_HAL_Boards.h
...
user can set HAL_STORAGE as USE_FS or USE_FRAM inside AP_HAL_Boards.h as per his/her choice or board setup
2014-08-19 10:08:16 +10:00
bugobliterator
4b2f7cd163
HAL_Linux: Add FRAM HAL driver support for non-volatile storage
...
Support for File System starage mode is retained, appropriate Storage
mode can be set by defining USE_FS_STORAGE for File System storage
aand US_FRAM_STORAGE for FRAM storage. Note: FS storage and FRAM
storage are never synced as of now.
2014-08-19 10:08:16 +10:00
Victor Mayoral Vilches
8a71fdf092
HAL_Linux: minor syntax fix in UARTDriver
...
Typo noticed by @hcervino.
2014-08-19 10:08:16 +10:00
Silvia
b6baf78e73
HAL_Linux:duplicate #include <sys/types<
deleted
2014-08-19 10:08:16 +10:00
Silvia
7fd0e8345d
HAL_Linux: Duplicate #include <unistd.h>
deleted
2014-08-19 10:08:16 +10:00
Víctor Mayoral Vilches
37793cd7fa
AP_HAL_Namespace: Change LSM9DS0 into two different devices.
2014-08-19 10:08:15 +10:00
Víctor Mayoral Vilches
df1de4efd6
AP_InertialSensor: Driver added for the LSM303D
2014-08-19 10:08:15 +10:00
Víctor Mayoral Vilches
8968647873
AP_InertialSensor: INS_generic example, add support L3GD20
2014-08-19 10:08:15 +10:00
Víctor Mayoral Vilches
0f908a8ccd
HAL_Linux: Add L3GD20 to the AP_InertialSensor header
2014-08-19 10:08:15 +10:00
Víctor Mayoral Vilches
e272ed8d96
AP_HAL: Add support for L3GD20
2014-08-19 10:08:15 +10:00
Víctor Mayoral Vilches
556d46a4ef
AP_InertialSensor: L3GD20 driver added
...
L3GD20 gyro userspace sensor added. The driver constructs
over the implementation of the PX4 Dev Team at
https://github.com/diydrones/PX4Firmware .
2014-08-19 10:08:15 +10:00
Víctor Mayoral Vilches
bfacf08c30
HAL_Linux: LSM9DS0 legacy driver moved to AP_InertialSensor/LSM9DS0/
...
The new LSM9DS0 driver will consist of the AP_InertialSensor_L3GD20 and
the AP_InertialSensor_LSM303D. For that reason the old LSM9DS0
(consisting of gyro and accel+mag implemented on a single class) has
been moved to a folder.
Legacy LSM9DS0 didn't probe to receive "correct" data.
2014-08-19 10:08:15 +10:00
Víctor Mayoral Vilches
82186a3961
HAL: Add two new SPI devices
...
SPIDevice_LSM303D and SPIDevice_L3GD20 added to the enum.
The code has also been formated.
2014-08-19 10:08:15 +10:00
Andrew Tridgell
60e501d5ab
AP_GPS: moved UBX log headers to DataFlash
...
headers were not always being written
2014-08-19 10:08:15 +10:00