Commit Graph

7975 Commits

Author SHA1 Message Date
Andrew Tridgell f40c96de9d SITL: add 'quad' and 'copter' as aliases for quadcopter 2015-05-11 09:19:53 +10:00
Andrew Tridgell 2a47cc3c81 HAL_SITL: cleanup command line handling 2015-05-11 08:48:42 +10:00
Andrew Tridgell bab94c8a04 SITL: close high fds before launching JSBSIM 2015-05-11 08:06:10 +10:00
Andrew Tridgell 414f4125de AP_HAL: use FD_CLOEXEC to prevent sockets being inherited in SITL 2015-05-11 08:05:51 +10:00
Andrew Tridgell 7692889248 SIM_JSBSim: added elevon and vtail support 2015-05-10 21:57:39 +10:00
Andrew Tridgell aa9853179c SITL: fixed startup yaw 2015-05-10 21:57:19 +10:00
Andrew Tridgell 5687adbdba HAL_SITL: support JSBSim backend 2015-05-10 21:02:20 +10:00
Andrew Tridgell 692fc18698 AP_HAL: protect Socket.h from double include 2015-05-10 21:02:04 +10:00
Andrew Tridgell c136d65c25 SITL: added initial JSBSim simulator backend 2015-05-10 21:01:49 +10:00
Andrew Tridgell 8ec98a5ec9 SITL: make it possible to connect two SITL instances together
this adds --client to set uartC as a tcp client rather than a TCP
server
2015-05-10 15:36:18 +10:00
Andrew Tridgell 3991e0c476 DataFlash: fixed sign of sv in GRAW message 2015-05-10 12:15:04 +10:00
Andrew Tridgell 3529e02675 AP_AHRS: if we have 3 gyros then only use first two
the 3rd gyro on a PH2 has a lot more noise as it is not vibration
isolated
2015-05-09 21:00:49 +10:00
Paul Riseborough cb59570938 AP_NavEKF: Remove bug preventing external selection of optical flow mode 2015-05-09 18:31:18 +10:00
Randy Mackay 3390d9932e AP_AHRS: fix example sketch 2015-05-09 12:23:05 +09:00
Tom Pittenger 2deb0e08ea AP_NavEKF: replace fabs() with fabsf() 2015-05-09 09:57:27 +10:00
Tom Pittenger 79605de8f5 AP_Mission: replace fabs() with fabsf() 2015-05-09 09:57:27 +10:00
Tom Pittenger e20ffa8c75 AP_Math: replace fabs() with fabsf() 2015-05-09 09:57:27 +10:00
Tom Pittenger 1c8efb25a8 AP_HAL_SITL: replace fabs() with fabsf() 2015-05-09 09:57:26 +10:00
Tom Pittenger 4b6d0d8e24 AP_HAL: replace fabs() with fabsf() 2015-05-09 09:57:26 +10:00
Tom Pittenger 9d74f57ed3 AP_PID: replace fabs() with fabsf() 2015-05-09 09:57:26 +10:00
Tom Pittenger 70bef20a29 AC_AttitudeControl: replace fabs() with fabsf() 2015-05-09 09:57:26 +10:00
Andrew Tridgell 1127b716c4 SITL: lower the default noise
prevents problems calibrating the gyro
2015-05-09 07:22:37 +10:00
Andrew Tridgell 2552acbf12 AP_Arming: fixed accel cal test in arming
use a per-imu time of last cal pass, and triple accel threshold for
IMU3. Raise threshold to 0.5 for IMU1/IMU2
2015-05-08 21:01:52 +10:00
Tom Pittenger d94c95a6ef GCS_MAVLink: return true if mission recieve is complete
when handing a mission item, and that is the last item, return true so that whoever is handling this knows we have a new mission list. From here we can log a new mission
2015-05-08 21:01:51 +10:00
Paul Riseborough a232606fc9 AP_NavEKF: Prevent EKF yaw errors due to fast yaw spins
Prolonged yaw rotations with gyro scale factor errors can cause yaw errors and gyro bias estimation errors to build up to a point where EKF health checks fail.
This patch introduces the following protections:

1) The assumed yaw gyro error is scaled using a filtered yaw rate and an assumed 3% scale factor error (MPU6000 data sheet)
2) When the filtered yaw rate magnitude is greater than 1 rad/sec, the Z gyro bias process noise is zeroed and the state variance set to zero to inhibit modification of the bias state
3) When the filtered yaw rate magnitude is greater than 1 rad/sec, the magnetometer quaternion corrections are scaled by a factor of four to maintain tighter alignment with the compass
2015-05-08 16:47:31 +09:00
Paul Riseborough 08382373f1 AP_NavEKF: Reduce likelihood of in-air switch to GPS with a bad heading
Increases magnetometer weighting on yaw corrections when there there is no other aiding to constrain yaw drift.
Prevents switch to GPS if magnetometer data is failing innovation checks which indicates a bad yaw angle
2015-05-08 16:47:29 +09:00
Randy Mackay 3781f133d7 AC_AttControlHeli: remove unused definitions 2015-05-08 14:50:38 +09:00
Randy Mackay bef5633ed5 AC_AttControlHeli: use params from parent class 2015-05-08 14:50:36 +09:00
Randy Mackay 7951346d72 AC_AttControl: bf_feedfoward_save made more concise 2015-05-08 14:29:49 +09:00
Randy Mackay 3d9a6a69e2 MotorsHeli: COLYAW to float 2015-05-08 14:14:36 +09:00
Randy Mackay edfa206bb8 Motors_Heli: nest heli params 2015-05-08 14:14:35 +09:00
Randy Mackay 68b05a4ca2 AP_Motors: is_throttle_mix_min returns bol 2015-05-08 14:14:32 +09:00
Leonard Hall cf45a1cf3a AC_AttitudeControl: add get accel and save ff 2015-05-08 14:14:30 +09:00
Leonard Hall 1900cc7582 AC_AttitudeControl: Enable FF by default 2015-05-08 14:14:21 +09:00
Leonard Hall 0f894ac1a8 AP_Motors: Rename and move Throttle Mix / Comp 2015-05-08 14:14:17 +09:00
Jonathan Challinger 142e018a18 AP_NavEKF: fix bug causing takeoff to fail 2015-05-08 09:15:45 +09:00
Randy Mackay fa4ba456b4 GPS: fix example sketches 2015-05-07 14:01:14 +09:00
Andrew Tridgell afc9812d0b AP_InertialSensor: update VibTest after moving messages info DataFlash 2015-05-07 13:25:37 +10:00
Andrew Tridgell 7d90033a36 AP_InertialSensor: support raw accel and gyro dataflash logging 2015-05-07 12:08:30 +10:00
Andrew Tridgell 21d805422d DataFlash: added defines for raw accel and gyro logging 2015-05-07 12:08:04 +10:00
Andrew Tridgell f5140e25b0 AP_InertialSensor: updated VibTest for latest PX4 interfaces 2015-05-07 10:51:52 +10:00
Andrew Tridgell cbdc9f0706 SITL: fixed autotest SITL 2015-05-06 10:09:43 +10:00
Andrew Tridgell 2369e06815 AP_HAL: fixed SITL build on windows 2015-05-06 09:07:03 +10:00
Andrew Tridgell b09fcfc20e HAL_Linux: cope with systems without I2C_RDRW_IOCTL_MAX_MSGS
such as my ubuntu 14.04 laptop :-)
2015-05-05 21:42:46 +10:00
Andrew Tridgell 6a8da06d19 HAL_SITL: hook in CRRCSim backend 2015-05-05 21:42:46 +10:00
Andrew Tridgell 93d5101bf9 SITL: added CRRCSim simulation connection 2015-05-05 21:42:45 +10:00
Andrew Tridgell 4c11002976 AP_HAL: added HAL_OS_SOCKETS define
used for systems with BSD sockets
2015-05-05 21:34:19 +10:00
Andrew Tridgell 08b9ed3342 AP_HAL: added socket handling class 2015-05-05 21:34:19 +10:00
Randy Mackay 9dede2f0ec Math: remove duplicate HALF_SQRT_2 definition 2015-05-05 14:23:14 +09:00
Randy Mackay 151707cb0a Filter: replace 2*M_PI_F with M_2PI_F 2015-05-05 14:22:52 +09:00
Peter Barker 463270e0ee AP_AHRS: avoid FPE when we don't have a compass reading 2015-05-05 15:02:35 +10:00
Andrew Tridgell 77a2b4acf6 AP_Math: removed fast_atan 2015-05-05 13:57:22 +10:00
Andrew Tridgell 872583f441 AC_AttitudeControl: removed fast_atan 2015-05-05 13:57:16 +10:00
Andrew Tridgell 8ba5272b0e AP_Scheduler: fixed PSTR() usage 2015-05-05 13:54:27 +10:00
Andrew Tridgell 88fb7ddff8 AP_Param: fixed PSTR() usage 2015-05-05 13:54:15 +10:00
Andrew Tridgell 089e63f987 AP_InertialSensor: fixed PSTR handling
must use PSTR on code compiled for AVR
2015-05-05 13:54:00 +10:00
Andrew Tridgell 31693e332e AP_InertialSensor: use non-PSTR printf
this is not built on AVR
2015-05-05 13:48:34 +10:00
Andrew Tridgell 730644eaeb AP_Mount: use M_PI_F instead of (float)M_PI 2015-05-05 13:44:25 +10:00
Andrew Tridgell 84ac721340 AC_AttitudeControl: use M_PI_F instead of (float)M_PI 2015-05-05 13:44:19 +10:00
Andrew Tridgell f9114f849b Filter: revert AP_Math class change 2015-05-05 13:27:07 +10:00
Andrew Tridgell bcc6c7d380 AP_Param: revert AP_Math class change 2015-05-05 13:27:07 +10:00
Andrew Tridgell a140a5e77f AP_NavEKF: revert AP_Math class change 2015-05-05 13:27:07 +10:00
Andrew Tridgell 7c9e3d4b58 AP_Mount: revert AP_Math class change 2015-05-05 13:27:06 +10:00
Andrew Tridgell 0b897e04bb AP_Math: revert AP_Math class change 2015-05-05 13:27:06 +10:00
Andrew Tridgell e6a8a6da07 AP_InertialSensor: revert AP_Math class change 2015-05-05 13:27:06 +10:00
Andrew Tridgell 015fce5183 AP_Compass: revert AP_Math class change 2015-05-05 13:27:06 +10:00
Andrew Tridgell d2167633f0 AP_Camera: revert AP_Math class change 2015-05-05 13:27:06 +10:00
Andrew Tridgell 48fb7f8159 AP_BARO: revert AP_Math class change 2015-05-05 13:27:05 +10:00
Andrew Tridgell 4d4a607b80 AP_AHRS: revert AP_Math class change 2015-05-05 13:27:05 +10:00
Andrew Tridgell c08b62f9e4 AC_WPNAV: revert AP_Math class change 2015-05-05 13:27:05 +10:00
Andrew Tridgell 33555b7f12 AC_PID: revert AP_Math class change 2015-05-05 13:27:05 +10:00
Andrew Tridgell aa1bfb1ca7 AC_Fence: revert AP_Math class change 2015-05-05 13:27:04 +10:00
Andrew Tridgell 326b0b33ea AC_AttitudeControl: revert AP_Math class change 2015-05-05 13:27:04 +10:00
Andrew Tridgell 936fbbb362 AP_Math: removed AP_Math class 2015-05-05 13:27:03 +10:00
Tom Pittenger 7fd285f483 AC_WPNav: Compiler warnings: nuke fast_atan2()
per Randy's suggestion, fast_atan2() is no longer necessary over atan2() because only copter uses it and copter is no longer supported on future builds of APM

ccd578664f (commitcomment-11025083)
2015-05-05 13:27:03 +10:00
Tom Pittenger 4ec2fb3a9c AP_Math: Compiler warnings: nuke fast_atan2()
per Randy's suggestion, fast_atan2() is no longer necessary over atan2() because only copter uses it and copter is no longer supported on future builds of APM

ccd578664f (commitcomment-11025083)
2015-05-05 13:27:02 +10:00
Tom Pittenger 1b84bbc3e7 AC_WPNav: Compiler warnings: add in the appropriate whitrespace 2015-05-05 13:27:02 +10:00
Tom Pittenger 0e076d6dc8 AP_InertialSensor: compile warnings: format not a string literal, argument types not checked
PSTR() goofs things up when using hal.console->printf_P()
2015-05-05 13:27:02 +10:00
Tom Pittenger 6acd92be1e AP_RangeFinder: compiler warnings: compare signed to unsigned 2015-05-05 13:27:02 +10:00
Tom Pittenger 9e98c68099 AP_InertialSensor: compile warnings: format not a string literal, argument types not checked
PSTR() goofs things up when using hal.console->printf_P()
2015-05-05 13:27:01 +10:00
Tom Pittenger d823541eb1 AP_Scheduler: compile warnings: format not a string literal, argument types not checked
PSTR() goofs things up when using hal.console->printf_P()
2015-05-05 13:27:01 +10:00
Tom Pittenger bfd1b2b11a AP_Param: compile warnings: format not a string literal, argument types not checked 2015-05-05 13:27:01 +10:00
Tom Pittenger b9771ca37c AP_Param: compile warnings: float to double. print statements require doubles 2015-05-05 13:27:00 +10:00
Tom Pittenger 330e4126bb Ap_Math: compile warnings: float to double. use atan2f instead of atan2 2015-05-05 13:27:00 +10:00
Tom Pittenger 440438fdda AP_Param: compiler warnings: apply is_zero(float) or is_equal(float)
due to an include cross-dependency between ap_param and ap_math, I punted and reimplemented is_equal() for this one function in the header
2015-05-05 13:26:58 +10:00
Tom Pittenger 820f0bf02a AP_Math: compiler warnings: float to double promotion
cast as float because we're in magical template land where T minus T means promote to double
2015-05-05 13:26:58 +10:00
Tom Pittenger 1c3ad00aa7 AP_Math: compiler warnings: use double for the constant so the template can handle it 2015-05-05 13:26:57 +10:00
Tom Pittenger 6e6f481ecb AP_Math: compiler warnings: apply is_zero(float) or is_equal(float) 2015-05-05 13:26:56 +10:00
Tom Pittenger 98c5137107 AP_HAL_PX4: compiler warnings: float to doubles 2015-05-05 13:26:56 +10:00
Tom Pittenger 54f4d4b07c AP_PID: compiler warnings: reordered constructor 2015-05-05 13:26:56 +10:00
Tom Pittenger 0b29848277 AP_Baro: compiler warnings: apply is_zero(float) or is_equal(float) 2015-05-05 13:26:56 +10:00
Tom Pittenger d275e6711d AP_HAL_VRBRAIN: compiler warnings: apply is_zero(float) or is_equal(float) 2015-05-05 13:26:55 +10:00
Tom Pittenger 20f47417d5 AP_AHRS: compiler warnings: apply is_zero(float) or is_equal(float) and float to doubles 2015-05-05 13:26:55 +10:00
Tom Pittenger 94ffc9b942 AC_Fence: compiler warnings: apply is_zero(float) or is_equal(float) 2015-05-05 13:26:55 +10:00
Tom Pittenger 1bca81eaed AC_AttitudeControl: compiler warnings: apply is_zero(float) or is_equal(float) and float to doubles 2015-05-05 13:26:55 +10:00
Tom Pittenger 6d1b517aae Filter: compiler warnings: apply is_zero(float) or is_equal(float) 2015-05-05 13:26:55 +10:00
Tom Pittenger 913d00f525 AP_WPNav: compiler warnings: apply is_zero(float) or is_equal(float) 2015-05-05 13:26:54 +10:00
Tom Pittenger 98ca790cb9 AP_DataFlash: compiler warnings: float to double 2015-05-05 13:26:54 +10:00
Tom Pittenger 4ac1f8a2fa AP_Mount: compiler warnings: apply is_zero(float) or is_equal(float) 2015-05-05 13:26:54 +10:00
Tom Pittenger 9b53961a7d AP_NavEKF: compiler warnings: float to double 2015-05-05 13:26:52 +10:00
Tom Pittenger 3276eec30e AP_NavEKF: compiler warnings: apply is_zero(float) or is_equal(float) 2015-05-05 13:26:52 +10:00
Tom Pittenger 35f7a466e5 AP_Math: compiler warnings: apply is_zero(float) or is_equal(float) 2015-05-05 13:26:52 +10:00
Tom Pittenger a5d2f3a82f AP_Math: compiler warnings: float to double 2015-05-05 13:26:52 +10:00
Tom Pittenger d09ef4783d AP_Compass: compiler warnings: reorder constructors 2015-05-05 13:26:52 +10:00
Tom Pittenger ad11a57f57 AP_Compass: compiler warnings: apply is_zero(float) or is_equal(float) 2015-05-05 13:26:51 +10:00
Tom Pittenger 820199635b AP_InertialSensors: compiler warnings: apply is_zero(float) or is_equal(float) 2015-05-05 13:26:51 +10:00
Tom Pittenger 01180d52c4 AP_PID: compiler warnings: apply is_zero(float) 2015-05-05 13:26:51 +10:00
Tom Pittenger ac4e7b2b03 AP_Math: compiler warnings: apply is_equal(float) 2015-05-05 13:26:51 +10:00
Tom Pittenger c93c773de2 AP_Math: change is_equal and is_zero to static class for better visability 2015-05-05 13:26:50 +10:00
Tom Pittenger 3cb2221315 AP_IntertialSensor: double to float warning 2015-05-05 13:26:50 +10:00
Tom Pittenger bdda11b327 AP_Math: compiler warning: is_zero special case for vector3.h in a template 2015-05-05 13:26:50 +10:00
Andrew Tridgell 878eb88c3a AP_GPS: avoid expanding the ublox buffer on APM2 2015-05-05 13:25:34 +10:00
Micheal Knight ee85d37ee2 AP_GPS: added logging of RXM_RAW messages for UBlox
this will allow for post-flight RTK processing of DF logs
2015-05-05 13:25:34 +10:00
Andrew Tridgell f8e09da50e DataFlash: added GRAW raw GPS message
for saving RXM_RAW for post flight RTK
2015-05-05 13:25:34 +10:00
Andrew Tridgell 42c6801d61 SITL: reformat SITL code with astyle 2015-05-05 11:49:54 +10:00
Andrew Tridgell c81ad1d622 HAL_SITL: reformat HAL_SITL with astyle 2015-05-05 10:59:07 +10:00
Lucas De Marchi d640bc8345 AP_HAL_Linux: use kernel's limit of msgs per I2C transaction
Instead of hardcoding 8 as the limit for I2C msgs, use whatever the
kernel exported to us.  In upstream this is 42 so it means we can group
together 21 addr/data pair instead of only 8.
2015-05-05 09:56:44 +10:00
Andrew Tridgell d8791134f9 HAL_SITL: need to use fabs() for double checking 2015-05-05 09:45:59 +10:00
Andrew Tridgell b9abf30785 HAL_SITL: removed unused cygwin code 2015-05-05 09:45:58 +10:00
Andrew Tridgell 5158f91263 HAL_SITL: converted command line code to getopt_cpp 2015-05-05 09:45:58 +10:00
Andrew Tridgell a58a663085 SITL: fixed build on APM2 2015-05-05 09:45:58 +10:00
Andrew Tridgell 35d22b9d57 AP_HAL: added getopt_cpp class
a simple port of getopt_long to C++
2015-05-05 09:45:58 +10:00
Andrew Tridgell 438f954379 DataFlash: fixed some build warnings 2015-05-05 09:45:58 +10:00
Andrew Tridgell d8ca0658d7 AP_Mount: fixed some build warnings 2015-05-05 09:45:58 +10:00
Andrew Tridgell b2b5c8cd18 HAL_SITL: fixed some build warnings 2015-05-05 09:45:58 +10:00
Andrew Tridgell a7c3125bcc AP_GPS: fixed warnings in SBP driver 2015-05-05 09:45:57 +10:00
Andrew Tridgell 212e0ec002 StorageManager: fix for HAL_SITL rename 2015-05-05 09:45:57 +10:00
Andrew Tridgell fa688a7b14 RC_Channel: fix for HAL_SITL rename 2015-05-05 09:45:57 +10:00
Andrew Tridgell f449b34fdd PID: fix for HAL_SITL rename 2015-05-05 09:45:56 +10:00
Andrew Tridgell 2d89b8b53d GCS_MAVLink: fix for HAL_SITL rename 2015-05-05 09:45:56 +10:00
Andrew Tridgell 69f9d25cd0 DataFlash: fix for HAL_SITL rename 2015-05-05 09:45:56 +10:00
Andrew Tridgell cf4602afc1 AP_TECS: fix for HAL_SITL rename 2015-05-05 09:45:56 +10:00
Andrew Tridgell a4e8d960d2 AP_Scheduler: fix for HAL_SITL rename 2015-05-05 09:45:56 +10:00
Andrew Tridgell c80a631813 AP_Relay: fix for HAL_SITL rename 2015-05-05 09:45:56 +10:00
Andrew Tridgell ac43972883 AP_RangeFinder: fix for HAL_SITL rename 2015-05-05 09:45:56 +10:00
Andrew Tridgell 4ee54a8915 AP_OpticalFlow: fix for HAL_SITL rename 2015-05-05 09:45:56 +10:00
Andrew Tridgell 9f10e2d26c AP_Notify: fix for HAL_SITL rename 2015-05-05 09:45:56 +10:00
Andrew Tridgell c4d6f9d040 AP_NavEKF: fix for HAL_SITL rename 2015-05-05 09:45:55 +10:00
Andrew Tridgell 2e57c62ebb AP_Motors: fix for HAL_SITL rename 2015-05-05 09:45:55 +10:00
Andrew Tridgell 0c142bb25a AP_Mission: fix for HAL_SITL rename 2015-05-05 09:45:55 +10:00
Andrew Tridgell eca675c556 AP_Math: fix for HAL_SITL rename 2015-05-05 09:45:55 +10:00
Andrew Tridgell ef527d9daa AP_InertialSensor: fix for HAL_SITL rename 2015-05-05 09:45:55 +10:00
Andrew Tridgell 2be45bc7e6 AP_GPS: fix for HAL_SITL rename 2015-05-05 09:45:55 +10:00
Andrew Tridgell dd94cc18a1 AP_Common: fix for HAL_SITL rename 2015-05-05 09:45:55 +10:00
Andrew Tridgell 8055e5792d AP_BattMonitor: fix for HAL_SITL rename 2015-05-05 09:45:55 +10:00
Andrew Tridgell 7d9d594283 AP_Baro: fix for HAL_SITL rename 2015-05-05 09:45:55 +10:00
Andrew Tridgell f23bc463cb AP_Airspeed: fix for HAL_SITL rename 2015-05-05 09:45:54 +10:00
Andrew Tridgell e597575747 AP_AHRS: fix for HAL_SITL rename 2015-05-05 09:45:54 +10:00
Andrew Tridgell d8cd986696 APM_Control: fix for HAL_SITL rename 2015-05-05 09:45:54 +10:00
Andrew Tridgell e789984c98 AC_WPNav: fix for HAL_SITL rename 2015-05-05 09:45:54 +10:00
Andrew Tridgell 777685ce1f AC_PID: fix for HAL_SITL rename 2015-05-05 09:45:54 +10:00
Andrew Tridgell 40e3b422b5 HAL_SITL: rename HAL_AVR_SITL to HAL_SITL
it is nothing to do with the original AVR emulation now
2015-05-05 09:45:54 +10:00
Andrew Tridgell 24fc1d8ebf HAL_SITL: added -F option for FDM address 2015-05-05 09:45:54 +10:00
Andrew Tridgell 630cd14252 HAL_SITL: added rover simulator support 2015-05-05 09:45:53 +10:00
Andrew Tridgell 64fa219c05 SITL: converted rover simulator from python to C++ 2015-05-05 09:45:53 +10:00
Andrew Tridgell 11df612c04 HAL_SITL: added a table of simulator constructors 2015-05-05 09:45:53 +10:00
Andrew Tridgell 6ec6158b8b SITL: converted helicopter simulator from python 2015-05-05 09:45:53 +10:00
Andrew Tridgell be3d6c924e AP_Compass: rename enum values to avoid header conflicts for 'ERROR' 2015-05-05 09:45:53 +10:00
Andrew Tridgell 963e5c5977 HAL_SITL: removed pthread.h as no longer needed 2015-05-05 09:45:53 +10:00
Michael Oborne c26f2c9b1c SITL: add missing include 'select' 2015-05-05 09:45:53 +10:00
Andrew Tridgell 878549530d HAL_SITL: g_state is not needed any more 2015-05-05 09:45:53 +10:00
Andrew Tridgell a17fc9e5ab SITL: fixed time handling type 2015-05-05 09:45:53 +10:00
Andrew Tridgell ce0a863d01 AP_NavEKF: allow for optimisation of the EKF
disable optimisation when debugging needed
2015-05-05 09:45:53 +10:00
Andrew Tridgell 25de563687 HAL_SITL: support direct RC input 2015-05-05 09:45:52 +10:00
Andrew Tridgell 77f007ab27 SITL: support speedup setting on the command line 2015-05-05 09:45:52 +10:00
Andrew Tridgell a6f41b3ca6 HAL_SITL: removed the need for the FDM thread
this also removes the need for the barriers
2015-05-05 09:45:52 +10:00
Andrew Tridgell 19147a05f6 SITL: support functions for new simulators 2015-05-05 09:45:52 +10:00
Andrew Tridgell 437e1bdba0 SITL: added fill_fdm() for FDM output from simulator 2015-05-05 09:45:52 +10:00
Andrew Tridgell ab2d4349b4 HAL_SITL: initial support for internal simulators 2015-05-05 09:45:52 +10:00
Andrew Tridgell 24b051565b AP_Math: added normalize() method to Matrix3f 2015-05-05 09:45:52 +10:00
Andrew Tridgell 914b91af9e SITL: initial conversion of multicopter sim to C++ 2015-05-05 07:12:36 +10:00
Randy Mackay 2a6421d1bf Airspeed: fix example sketch 2015-05-02 20:53:49 +09:00
Randy Mackay 55298a4c73 Baro: fix example sketch 2015-05-02 17:25:44 +09:00
Paul Riseborough be04be9b43 AP_NavEKF: Fix bug preventing home position being set by copter
The interface definition has been modified so that it returns true for a position obtained usin geither the normal inertial navigation calculation, or a raw GPS measurement.
This enables this function to be used to set a home position before flight.
2015-05-02 17:20:21 +09:00
Randy Mackay 75e2498da2 Scheduler: fix example sketch 2015-05-02 11:55:50 +09:00
Randy Mackay c78068b8b8 StorageManager: fix example sketch 2015-05-01 21:03:13 +09:00
Randy Mackay 5b15c07d47 RC_Channel: fix example sketch 2015-05-01 21:02:57 +09:00
Randy Mackay 240a845206 Notify: fix example sketches 2015-05-01 20:58:34 +09:00
Randy Mackay b223e90ef6 AP_Motors: fix example sketches 2015-05-01 20:58:20 +09:00
Randy Mackay ed61d961c3 Mission: fix example sketch 2015-05-01 20:58:06 +09:00
Randy Mackay fecbf06008 AP_Math: fix example sketches 2015-05-01 20:57:38 +09:00
Jonathan Challinger 2b29060a4e AC_WPNav: remove unused set_loiter_velocity 2015-05-01 16:46:53 +09:00
Randy Mackay 187dd0dccd HAL_PX4: fix example sketch 2015-05-01 16:44:10 +09:00
Randy Mackay fb7e75594f AP_NavEKF: replace memset with quaternion.initialise 2015-05-01 16:37:35 +09:00
Randy Mackay eaedeeb7bf AP_Math: add quaternion.initialise 2015-05-01 16:37:34 +09:00
Randy Mackay c366fbbc96 AP_NavEKF: remove unused haveDeltaAngles 2015-05-01 16:37:33 +09:00
Randy Mackay 6773c0b232 AP_InertialSensor: default primary accel and gyro 2015-05-01 16:37:33 +09:00
Paul Riseborough b71b8f4bda AP_NavEKF: Always return a NED relative position if possible
If a calculated position is not available, the function will return a value based on raw GPS or last calculation if available, but the status will be set to false to indicate that it cannot be used for control.
2015-05-01 16:37:32 +09:00
Paul Riseborough 20ba1e6b1b AP_NavEKF: Always return a WGS-84 location if possible
If a calculated location is not available, the function will return raw GPS data if available, but the status will be set to false.
2015-05-01 16:37:31 +09:00
Paul Riseborough dd1e0b2f0b AP_NavEKF: Add missing function to return the NED to XYZ quaternion 2015-05-01 16:37:30 +09:00
Paul Riseborough 2c4572eb50 AP_NavEKF: Make ground effect variable names more descriptive 2015-05-01 16:37:29 +09:00
Paul Riseborough 3986851c51 AP_NavEKF: Prevent Z accel bias changing during ground effect takeoff
The inconsistent baro data during ground effect takeoff combined with the larger variances in the Z accel bias state early in flight can cause unwanted changes in bias estimate and therefore changes in height estimation error.
This patch turns of the process noise and state updates for the Z accel bias state when takeoff in ground effect is expected.
2015-05-01 16:37:28 +09:00
Paul Riseborough 2cba60c731 AP_NavEKF: Decouple takeoff ground effect compensation from arm transtion
Thsi fixes a potential bug where the vehicle could land at a lower location without disarming and re-enter ground effect takeoff mode wiht a baro height floor above the current altitude, causing unpredictable height gain
2015-05-01 16:37:27 +09:00
Paul Riseborough c4c0f819b5 AP_NavEKF: Ensure Covariance initialisation uses correct IMU time step 2015-05-01 16:37:26 +09:00
Paul Riseborough 5dc29699ab AP_NavEKF: Publish the INS delta quaternion 2015-05-01 16:37:25 +09:00
Paul Riseborough d273302ce7 AP_NavEKF: Improve rate of accel bias learning before flight 2015-05-01 16:37:24 +09:00
Paul Riseborough 8dc6354a54 AP_NavEKF: Prevent touchdown baro errors tripping height innovation check
Ground effect baro errors can cause a spike in height innovation on disarming if ground effect compensation was used during the landing. This causes a transient AHRS fault message if this innovation is outside the pre-arm check limits.
Resetting the vertical position state to the measured height after disarming prevents this.
2015-05-01 16:37:23 +09:00
Jonathan Challinger 2f38dd1b67 AP_NavEKF: use quaternion functions to apply IMU delta angles 2015-05-01 16:37:22 +09:00
Jonathan Challinger 9c374eb4a8 AP_NavEKF: apply constrained floor to barometer innovation while landing 2015-05-01 16:37:21 +09:00
Jonathan Challinger 3c6446fadd AP_NavEKF: refactor meaHgtAtTakeOff filter 2015-05-01 16:37:20 +09:00
Paul Riseborough 744de74c16 AP_NavEKF: Reduce ground effect baro induced height errors during takeoff 2015-05-01 16:37:19 +09:00
Paul Riseborough 13616d6436 AP_NavEKF: Add takeoff and touchdown expected to reported filter status 2015-05-01 16:37:19 +09:00
Jonathan Challinger 8c92524b8a AP_NavEKF: add takeoffExpected and touchdownExpected 2015-05-01 16:37:18 +09:00
Jonathan Challinger b6b55bf6f2 AP_NavEKF: integrate gravity over correct time period 2015-05-01 16:37:17 +09:00
Jonathan Challinger cb0c424da1 AP_NavEKF: rewrite readIMUData 2015-05-01 16:37:16 +09:00
Jonathan Challinger bb88a4f8fe AP_InertialSensor: healthy() checks bounds 2015-05-01 16:37:15 +09:00
Jonathan Challinger af80f20a51 AP_InertialSensor: add get_primary_gyro, fix get_primary_accel 2015-05-01 16:37:14 +09:00
Randy Mackay 0acc06d713 AP_Motors: minor comment for interlock 2015-05-01 14:30:45 +09:00
Robert Lefebvre 1a482de5e2 AP_MotorsHeli: Overload output_armed_zero_throttle 2015-05-01 14:30:25 +09:00
Robert Lefebvre 6bdace30d2 AP_Motors: Add throttle interlock functionality
AP_MotorsMatrix's output_armed_zero_throttle uses output_min default from base class
2015-05-01 14:30:24 +09:00
Randy Mackay 31edd6a72b AC_PosControl: add_takeoff_climb_rate method
This function simply increments the current altitude target given a
climb rate and dt
2015-05-01 12:56:30 +09:00
Jonathan Challinger 348001e786 AP_Motors: add get_throttle_warn function 2015-05-01 12:56:11 +09:00
Andrew Tridgell 74581a55bc HAL_SITL: fixed startup of SITL in synthetic clock mode 2015-04-30 17:19:56 +10:00
Andrew Tridgell df21c6c68d AP_HAL: support micros64() and millis64() on all platforms
this will allow for 64 bit timestamps in DF logs (Peter is working on
that)
2015-04-30 12:17:34 +10:00
Andrew Tridgell 4c4a4f9ea5 AP_RangeFinder: fixed cm to meter comparison
thanks to EShamaev for this fix (see PR #1352)
2015-04-30 11:26:36 +10:00
Randy Mackay dfadcad69d Mission: allow zoom_step to be negative 2015-04-29 14:36:25 +09:00
Randy Mackay bae1722946 AP_Motors: get_compensation_gain gets div-by-zero check 2015-04-29 14:36:22 +09:00
Randy Mackay 1b381b5675 Baro: get_air_density_ratio gets div-by-zero check 2015-04-29 14:36:20 +09:00
Jonathan Challinger 41ae7207c7 AP_Motors: scale roll/pitch/yaw gain for air density 2015-04-29 14:36:15 +09:00
Jonathan Challinger e2ba351149 AP_Motors: refactor apply_thrust_curve_and_volt_scaling 2015-04-29 14:36:12 +09:00
Jonathan Challinger f381ef93e8 AP_Baro: add get_air_density_ratio 2015-04-29 14:36:10 +09:00
Randy Mackay b55367ccc7 GCS_MAVLink: fix example sketch 2015-04-29 10:18:57 +09:00
Randy Mackay 67b0c6f5c4 AC_PID: replace is_equal with is_zero 2015-04-28 16:22:08 +09:00
Randy Mackay 3514177314 AC_PI_2D: minor format fix 2015-04-28 16:21:53 +09:00
dgrat 303cfd683a AC_PID: replace floating point '==' with is_equal
Also add div-by-zero check to fix calc_filt_alpha

Also get_i and get_shrink_i do not need to set values to zero in Vector2f
constructor because this is already done.
2015-04-28 16:21:46 +09:00
Randy Mackay 0392292489 AP_Math: inline is_equal, add is_zero 2015-04-28 16:19:01 +09:00
dgrat 726d7df710 AP_Math: add is_equal to compare floats 2015-04-28 16:18:59 +09:00
Grant Morphett 444841537e AP_Camera: Just putting the newline at the end of the file. 2015-04-28 15:23:34 +09:00
Andrew Tridgell 007b01533d AP_InertialSensor: switched to 16g accel range for MPU9250
this matches the Pixhawk, and makes us less prone to vibration. We
have seen clipping at 8g
2015-04-28 15:30:29 +10:00
Randy Mackay 33431acaa4 AC_WPNav: protect against div-by-zero related to gnd_speed_limit 2015-04-28 13:53:19 +09:00
Paul Riseborough 7481217445 AC_WPNav: Improve application of EKF optical flow speed limit 2015-04-28 13:53:17 +09:00
Andrew Tridgell 514c349060 AP_NavEKF: raise DCM error_rp threshold to 0.05
it was failing on many boards with fixed wing
2015-04-28 14:07:39 +10:00
Andrew Tridgell 6bfca648b9 AP_AHRS: raise DCM P gains when disarmed for first 20 seconds 2015-04-28 14:07:39 +10:00
Andrew Tridgell 42d2addbdd HAL_SITL: removed the special code for cygwin
we no longer need special timing code for cygwin
2015-04-28 13:15:40 +10:00
Andrew Tridgell 063a33ebce HAL_SITL: implement barriers using pthread condition variables
this avoid pthread_barrier_*, which is not available on cygwin
2015-04-28 13:14:12 +10:00
Jonathan Challinger 3812773485 AP_Math: make quaternion divide by zero protection more conservative 2015-04-28 11:42:13 +10:00
Jonathan Challinger fb8da1b2d8 AP_Math: add get_euler_(roll|pitch|yaw) functions to quaternion 2015-04-28 11:42:13 +10:00
Andrew Tridgell 020d9ea78a HAL_PX4: only consider power to have changed when armed
this prevents false positives with multi-battery setups
2015-04-28 11:05:29 +10:00
Randy Mackay 608bb3d611 Notify: minor format fix 2015-04-27 12:10:17 +09:00
Andrew Tridgell 028248d1f5 HAL_SITL: avoid floating point exceptions on i386
fixes issue #2147
2015-04-27 13:09:21 +10:00
Andrew Tridgell 4e86a6cd0e GCS_MAVLink: merged upstream header changes 2015-04-27 09:00:38 +10:00
Randy Mackay 35874292a0 AC_WPNav: move stop below all loiter methods
No functional change
2015-04-26 16:26:53 +09:00
Robert Lefebvre 4a7fe83b0f AC_WPNav: Create Stop Mode functions 2015-04-26 16:11:45 +09:00
Andrew Tridgell fdac41dbab GCS_MAVLink: re-generate headers 2015-04-25 09:12:16 +10:00
Michael Day 3d3267d472 AP_Mission: Now support mission item MAV_CMD_NAV_LOITER_TO_ALT 2015-04-25 09:12:16 +10:00
Michael Day 98d7f943ef GCS_MAVLink: Added definition for MAV_CMD_NAV_LOITER_TO_ALT 2015-04-25 09:12:16 +10:00
Jonathan Challinger a07b322d31 AP_Motors: set_throttle takes a float 2015-04-24 16:30:45 +09:00
Jonathan Challinger ab2532a609 AC_AttitudeControl: constrain _angle_boost to avoid overflow 2015-04-24 16:30:43 +09:00
Randy Mackay fdf226ebc1 AP_NavEKF: include AP_RangeFinder.h 2015-04-24 15:49:11 +09:00
Tom Pittenger 10c933966b AP_Math: fix compile warning re float constants 2015-04-24 14:25:02 +09:00