Commit Graph

6574 Commits

Author SHA1 Message Date
Andrew Tridgell 0f5b65e40e AP_AHRS: fixed example build 2014-08-13 21:46:04 +10:00
Andrew Tridgell 759a55d633 AC_WPNav: fixed example build 2014-08-13 21:45:56 +10:00
Andrew Tridgell e2b813480f AC_Sprayer: fixed example build 2014-08-13 21:45:49 +10:00
Andrew Tridgell f721e020f5 AC_Fence: fixed example build 2014-08-13 21:45:43 +10:00
Andrew Tridgell a9153519dc AC_AttitudeControl: fixed example build 2014-08-13 21:45:38 +10:00
Andrew Tridgell 2297c6bcd2 AP_TECS: added TECS_LAND_SINK parameter
this controls the sink rate for the final stage of landing
2014-08-13 21:38:05 +10:00
Andrew Tridgell 52cdd6394f StorageManager: cope with a wider range of storage sizes 2014-08-13 21:35:26 +10:00
Andrew Tridgell c864f3eed5 HAL_PX4: enable full storage size on PX4 2014-08-13 18:46:45 +10:00
Andrew Tridgell e34463a4bb AP_HAL: flymaple build fix 2014-08-13 18:46:44 +10:00
Andrew Tridgell a70b195a4a SITL: fixed limits on storage 2014-08-13 18:46:44 +10:00
Andrew Tridgell 984064f3d3 AP_InertialSensor: fixed example build 2014-08-13 18:46:44 +10:00
Andrew Tridgell d40d0f6aec AP_HAL: removed old storage type read/write functions
not needed any more
2014-08-13 18:46:44 +10:00
Andrew Tridgell 2d9e9879a2 AP_Limits: convert to using StorageManager 2014-08-13 18:46:43 +10:00
Andrew Tridgell 7a12ff0271 AP_Mission: convert to using StorageManager 2014-08-13 18:46:43 +10:00
Andrew Tridgell 7cbb326405 AP_Rally: convert to using StorageManager 2014-08-13 18:46:43 +10:00
Andrew Tridgell f133f45c3c AP_Param: convert to using StorageManager 2014-08-13 18:46:43 +10:00
Andrew Tridgell f748e07ecf AP_HAL: ensure we have subtypes for all boards 2014-08-13 18:46:43 +10:00
Andrew Tridgell 3640ae9cdf SITL: allow for different storage sizes 2014-08-13 18:46:43 +10:00
Andrew Tridgell e53c872e1f StorageManager: added example sketch
note: this destroys the data
2014-08-13 18:46:43 +10:00
Andrew Tridgell 66a21c4c33 StorageManager: first version of storage management library
used to divvy up eeprom/fram and allow for expandable storage
2014-08-13 18:29:04 +10:00
Mikhail Avkhimenia c42cc12f23 AP_Notify: Add dummy LED configuration for Navio 2014-08-12 22:13:00 +10:00
Mikhail Avkhimenia 34da221c3d AP_InertialSensor: Use MPU9250 DRDY pin only on boards that support it 2014-08-12 22:13:00 +10:00
Mikhail Avkhimenia a09fbb4171 HAL_Linux: Add SPI configuration for Navio
This changes the SPI bus number to be zero based on Linux
2014-08-12 22:13:00 +10:00
Mikhail Avkhimenia 83bbee491c AP_Baro_MS5611: add address switch for Navio board 2014-08-12 22:09:29 +10:00
Mikhail Avkhimenia 784533e9c8 AP_HAL: add configuration for HAL_BOARD_SUBTYPE_LINUX_NAVIO 2014-08-12 22:09:17 +10:00
Andrew Tridgell bc95e746ce GCS_MAVLink: fixed example sketch builds 2014-08-11 11:06:17 +10:00
Andrew Tridgell 778b5e8a16 AP_PerfMon: removed unusued commented code 2014-08-11 09:39:02 +10:00
Andrew Tridgell 47655ee78e DataFlash: removed more unusued BufferRead functions 2014-08-11 09:39:02 +10:00
Daniel Frenzel 74460cd526 DataFlash: Delete unused BufferRead function
Signed-off-by: Daniel Frenzel <dgdanielf@gmail.com>
2014-08-11 09:24:42 +10:00
Daniel Frenzel dd705e3fdb AP_Param: signed/unsigned conversion
Signed-off-by: Daniel Frenzel <dgdanielf@gmail.com>
2014-08-11 09:24:34 +10:00
Daniel Frenzel 1c7e8f8fb2 AP_Mission: Consecutive return, break, continue, goto or throw statements are unnecessary.
Signed-off-by: Daniel Frenzel <dgdanielf@gmail.com>
2014-08-11 09:24:26 +10:00
Daniel Frenzel c97b460a6b AP_GPS: removed wrong reassignment of msec
Signed-off-by: Daniel Frenzel <dgdanielf@gmail.com>
2014-08-11 09:24:19 +10:00
Daniel Frenzel df075b8f63 AP_PerfMon: removed unused blocking_writes
Signed-off-by: Daniel Frenzel <dgdanielf@gmail.com>
2014-08-11 09:24:11 +10:00
Daniel Frenzel b1a9d6bbcc AP_Math: Using const references in matrix3
Signed-off-by: Daniel Frenzel <dgdanielf@gmail.com>
2014-08-11 09:24:05 +10:00
Andrew Tridgell b559e9d331 SITL: better rangefinder simulation
able to handle a wider range, and takes account of attitude
2014-08-10 22:37:07 +10:00
Andrew Tridgell ef98eba722 SITL: added SIM_SONAR_SCALE parameter
used for simulating different kinds of rangefinders
2014-08-10 22:36:38 +10:00
Andrew Tridgell a4cd9c4bd7 AP_Airspeed: added HIL support 2014-08-10 18:16:53 +10:00
Andrew Tridgell b296508da4 AP_GPS: make setHIL take const references 2014-08-09 22:50:15 +10:00
Andrew Tridgell bf0ce79176 SITL: make it possible to use SITL-HIL
strangely enough, using HIL in SITL is a great way to debug HIL!
2014-08-09 22:50:15 +10:00
Andrew Tridgell f8ceccce32 AP_InertialSensor: improved HIL timing consistancy
try to keep the average time for each sample right
2014-08-09 22:50:15 +10:00
Andrew Tridgell 2e5913df93 RC_Channel: fixed k_manual for set_servo_limit()
this allows for failsafe takeover of k_manual channels, which fixes
the behaviour for ignition failsafe
2014-08-09 22:50:14 +10:00
Andrew Tridgell d1a75874a1 HAL_PX4: don't report power status change if in first 5 seconds 2014-08-09 22:50:14 +10:00
Andrew Tridgell 9a1bac06d4 GCS_MAVLink: added send_battery2() 2014-08-09 22:50:14 +10:00
Andrew Tridgell ab6302540d AP_BattMonitor: added 2nd battery voltage monitoring 2014-08-09 22:50:14 +10:00
Andrew Tridgell 11025c8da9 GCS_MAVLink: rebuild MAVLink headers 2014-08-09 22:50:14 +10:00
Andrew Tridgell 67e1b66757 GCS_MAVLink: added battery2 message 2014-08-09 22:50:14 +10:00
Randy Mackay 5d4e019397 BaroGlitch: increase max accel to 15m/s/s 2014-08-09 15:47:52 +09:00
Andrew Tridgell 3ee3a71644 AP_NavEKF: prevent a possible numerical error on startup
fixes issue #1294
2014-08-08 15:55:20 +10:00
Andrew Tridgell 144dcb4552 APM_OBC: use send_statustext_all() 2014-08-08 13:54:21 +10:00
Andrew Tridgell f49258eb31 GCS_MAVLink: added send_statustext_all() method
used for sending text messages from libraries
2014-08-08 13:54:21 +10:00
Andrew Tridgell 1d4d848300 AP_InertialSensor: fixed a build warning 2014-08-08 13:48:03 +10:00
Andrew Tridgell a812bf621f APM_OBC: added AFS_ENABLE parameter
AFS system is disabled by default
2014-08-08 13:48:03 +10:00
priseborough bc3c85be20 AP_L1_Control : Fix potential divide by zero error 2014-08-07 19:04:42 +10:00
Andrew Tridgell ed6ab5f1d3 AP_InertialSensor: use bool for blocking_read()
uint8_t return was confusing
2014-08-07 13:09:17 +10:00
Michael Carpenter b4c0e1215b AP_InertialSensor: Use return value of blocking_read to handle calibration timeouts 2014-08-07 13:04:18 +10:00
Andrew Tridgell 786661ca2b GCS_MAVLink: better handling of high severity STATUSTEXT messages 2014-08-07 12:55:52 +10:00
Przemek Lekston ae4814a773 AP_AHRS_DCM.cpp: changed the direction of position projection to ensure correct behavious in crosswind 2014-08-07 12:34:30 +10:00
Andrew Tridgell bc560b466e GCS_MAVLink: regenerate MAVLink headers 2014-08-07 12:34:30 +10:00
Andrew Tridgell 5ed24557b3 GCS_MAVLink: import latest MAVLink XML 2014-08-07 12:34:30 +10:00
Andrew Tridgell af4dee39d8 AP_Terrain: added note on CPU cost of height_amsl() 2014-08-07 09:51:14 +10:00
Andrew Tridgell dc72dfb70a AP_Terrain: added terrain lookahead API
this allows for predicting altitude needed to climb over upcoming
terrain
2014-08-07 09:30:35 +10:00
Andrew Tridgell b92873cab1 AP_Math: prevent negative longitude scaling
for crazy locations
2014-08-07 09:30:02 +10:00
Andrew Tridgell 7752196628 AP_SpdHgtControl: added get_max_climbrate() 2014-08-07 09:29:40 +10:00
Andrew Tridgell c990714377 AP_TECS: added get_max_climbrate() 2014-08-07 09:29:31 +10:00
Andrew Tridgell f0f46a77d7 AP_Terrain: don't request data at 0/0 2014-08-06 22:13:37 +10:00
Andrew Tridgell 642a07b6bd AP_Terrain: enable the terrain database by default
MissionPlanner now supports terrain data, and having terrain data in
logs is useful even if users don't fly terrain missions
2014-08-06 20:53:34 +10:00
Andrew Tridgell efa1d370fa AP_Terrain: added missing TerrainMission.cpp 2014-08-06 19:32:53 +10:00
Andrew Tridgell 88bc1fb4d3 AP_Rally: fixed build for non-standard vehicle types 2014-08-06 17:59:20 +10:00
Andrew Tridgell a701fa2098 AP_Terrain: added automatic rally point checking 2014-08-06 17:59:19 +10:00
Andrew Tridgell 723aa7e336 AP_Rally: added last_change_time_ms() call 2014-08-06 17:59:19 +10:00
Andrew Tridgell 7da939047f AP_Terrain: added automatic waypoint checking
check we have terrain data for all waypoints
2014-08-06 17:59:19 +10:00
Andrew Tridgell df55ae86c4 AP_Mission: added last_change_time_ms() call
will be used by terrain lib for scanning waypoints
2014-08-06 17:59:19 +10:00
Andrew Tridgell 9ca65602c6 AP_Terrain: added dataflash logging 2014-08-06 17:59:19 +10:00
Andrew Tridgell cd8fca40fb DataFlash: added TERR log message for terrain data 2014-08-06 17:59:19 +10:00
Andrew Tridgell 7c4d31c481 AP_TECS: added TECS_PITCH_MAX and TECS_PITCH_MIN
this allows the TECS controlled pitch limits to be smaller than the
FBWA limits. It is common for a human pilot to want a bit more
discretion over pitch than you want the automatic controller to use
2014-08-06 17:59:18 +10:00
Andrew Tridgell 147a7b8b69 AP_Terrain: added extrapolation based on last available data
if we run out of terrain data then extrapolate using the last
available terrain height at the AHRS position. This can be used to
cope with GCS outages over long distances where the terrain data isn't
preloaded
2014-08-06 17:59:18 +10:00
Randy Mackay e0fc2dd50e AC_PosControl: remove 20cm on takeoff 2014-08-05 09:11:57 +09:00
akdslr a404404806 AP_RangeFinder: Added a call to sonar.update in RFIND_test 2014-08-04 22:13:16 +10:00
Randy Mackay 1362bdc338 AC_PosControl: smooth take-off with accel PID's I term
This avoids an instantaneous jump in throttle during take-off by loading
the accel PID's I term with the expected change in throttle level
2014-08-04 21:04:09 +09:00
Randy Mackay 5596001d39 AC_Motors: make get_throttle_out const 2014-08-04 21:04:09 +09:00
Randy Mackay e550c1e9a3 AC_PosControl: add set_alt_target_to_current_alt method 2014-08-04 16:54:04 +09:00
Randy Mackay 009f42b2e1 InertialNav: do not reset velocity after glitch clears 2014-08-04 11:31:46 +09:00
Andrew Tridgell 6ebff35fe2 AP_Baro: don't include I2C MS5611 on APM1 either 2014-08-03 17:17:20 +10:00
Randy Mackay fe24721218 BaroGlitch: increase default ok distance to 5m
When taking off some copters hove a sudden baro altitude dip of 4m
2014-08-02 11:43:06 +09:00
Randy Mackay f12d06d76b DataFlash: typo fix in ListAvailableLogs 2014-08-01 15:14:44 +09:00
Randy Mackay 538372c02c InertialNav: remove accessor to set time_constants 2014-08-01 15:14:43 +09:00
Andrew Tridgell 3fa30f91db DataFlash: avoid CLI functions on APM2 for copter 2014-08-01 15:57:15 +10:00
Randy Mackay c68d4fdfcb BaroGlitch: init members to resolve compiler warning 2014-08-01 14:07:34 +09:00
Randy Mackay 621cc2b953 Mission: bug fix to condition-change-alt
Fix contributed by oniondream, thanks!
2014-08-01 12:51:50 +09:00
priseborough d5442fe64e AP_NavEKF : Modified compass fail logic
If the vehicle can fly without a compass (a fly forward vehicle)
then if the compass times out (large errors for more than 10 seconds,
then it will be declared permanently failed and will not be
used until the filter is reset
2014-07-31 21:12:11 +10:00
Andrew Tridgell cc735a4200 AP_InertialSensor: some more debug info for VibTest 2014-07-31 12:48:30 +10:00
Matthias Badaire c7cd1c9fde AP_Frsky_Telem: added initial Frsky telemetry library
based on work from the PX4Firmware tree, this adds a library which can
create and send Frsky telemetry packets
2014-07-29 17:08:19 -07:00
Randy Mackay 728da12441 BaroGlitch: remove debug 2014-07-29 22:05:09 +09:00
Andrew Tridgell c538cc0665 AP_Baro: fixed example build 2014-07-29 21:04:26 +10:00
Andrew Tridgell 03dc27147e AP_Math: port examples to Linux 2014-07-29 15:49:38 +10:00
Randy Mackay 053a45e9cf AC_WPNav: fix example sketch 2014-07-29 12:01:09 +09:00
Randy Mackay 6a6482fb03 AC_Sprayer: fix example sketch 2014-07-29 12:00:59 +09:00
Randy Mackay 71df1eb94f AC_Fence: fix example sketch 2014-07-29 12:00:46 +09:00
Randy Mackay 424cb1aeca AC_AttControl: fix example sketch 2014-07-29 12:00:33 +09:00
Randy Mackay 2951fb50e9 InertialNav: fix example sketch 2014-07-29 11:51:49 +09:00
Randy Mackay 4d6588a479 Notify: APM2 buzzer for arming, ekf and baro failures 2014-07-28 22:16:24 +09:00
Randy Mackay dcc74be4aa Notify: baro warning tone alarm 2014-07-28 22:16:23 +09:00
Randy Mackay cd9e786935 Notify: RGB led flashes yellow-purple for baro warning 2014-07-28 22:16:22 +09:00
Randy Mackay 5f1f619829 HAL_AVR_SITL: integrate ACC_BIAS and BARO_GLITCH
Adjust simulated accelerometer values and barometer altitude
2014-07-28 22:16:21 +09:00
Randy Mackay 79291f25a0 SITL: add ACC_BIAS and BARO_GLITCH parameters
These allow testing accelerometer bias which often comes from vibration
and sudden changes in baro altitude.
2014-07-28 22:16:21 +09:00
Randy Mackay 4db4471f49 INav_EKF: accept baro_glitch in constructor
Required so it can create an InertialNav object
2014-07-28 22:16:19 +09:00
Randy Mackay 322f527c4f InertialNav: skip baro updates when glitching
Also resets inertial nav alt estimate once glitch clears
2014-07-28 22:16:19 +09:00
Randy Mackay ee6d4d570a Notify: add baro_glitch flag 2014-07-28 22:16:18 +09:00
Randy Mackay 2289b98d34 Baro_Glitch: initial version of baro glitch protection
Based on GPS Glitch protection library
2014-07-28 22:16:12 +09:00
Andrew Tridgell 2ebdfce4ea GCS_MAVLink: avoid integer underflow in mavlink txspace check 2014-07-27 22:18:52 +10:00
Andrew Tridgell f7b01a6f3f AP_InertialSensor: avoid integer underflow in mavlink txspace check 2014-07-27 22:18:52 +10:00
Andrew Tridgell a21998aece GCS_MAVLink: prevent integer underflow with comm_get_txspace() 2014-07-27 22:12:08 +10:00
Randy Mackay b665ebd7a0 MotorsMatrix: implement get_motor_mask 2014-07-26 16:33:24 +09:00
Randy Mackay d73605ece8 MotorsCoax: implement get_motor_mask 2014-07-26 16:33:22 +09:00
Randy Mackay 72c3e9cc72 TradHeli: implement get_motor_mask 2014-07-26 16:33:20 +09:00
Randy Mackay 6d99524e56 MotorsSingle: implement get_motor_mask 2014-07-26 16:33:18 +09:00
Randy Mackay 6ae855c1cf MotorsTri: implement get_motor_mask 2014-07-26 16:33:16 +09:00
Randy Mackay 7749bfe82c Motors: add get_motor_mask method
This returns a bitmask of output channels that are used by the motors
library.  This allows removing the chance of a do-set-servo interfering
with a motor or control surface used to control the vehicle.
2014-07-26 16:33:14 +09:00
Andrew Tridgell b4a441620f AP_Notify: fixed example build 2014-07-25 18:38:15 +10:00
Andrew Tridgell a6db247f82 GCS_Console: fixed example build 2014-07-25 17:55:22 +10:00
Andrew Tridgell e67c468e2d DataFlash: fixed example build 2014-07-25 17:55:16 +10:00
Andrew Tridgell 7bf72d1c2b AP_RangeFinder: fixed example build 2014-07-25 17:55:11 +10:00
Andrew Tridgell f2c636250b AP_Notify: fixed example build 2014-07-25 17:55:04 +10:00
Andrew Tridgell 6ea68b318e AP_Mount: fixed example build 2014-07-25 17:54:58 +10:00
Andrew Tridgell d9f20c6785 AP_Motors: fixed example build 2014-07-25 17:54:51 +10:00
Andrew Tridgell 50f67dd57d AP_Mission: fixed example build 2014-07-25 17:54:45 +10:00
Andrew Tridgell c1650eed7a AP_InertialNav: fixed example build 2014-07-25 17:54:37 +10:00
Andrew Tridgell db1479b46b AP_GPS: fixed example build 2014-07-25 17:54:25 +10:00
Andrew Tridgell 93f2d81ff4 AP_BattMonitor: fixed example build 2014-07-25 17:54:19 +10:00
Andrew Tridgell c1646fec73 AP_Airspeed: fixed example build 2014-07-25 17:54:11 +10:00
Andrew Tridgell 82d0666501 AP_AHRS: fixed example build 2014-07-25 17:54:04 +10:00
Andrew Tridgell 7f7a0db2d3 AC_WPNav: fixed example build 2014-07-25 17:53:58 +10:00
Andrew Tridgell f75318ee0a AC_Sprayer: fixed example build 2014-07-25 17:53:43 +10:00
Andrew Tridgell 2b3becd252 AC_Fence: fixed example build 2014-07-25 17:53:27 +10:00
Andrew Tridgell 6df2890fd8 AC_AttitudeControl: fixed example build 2014-07-25 17:52:53 +10:00
Andrew Tridgell 662276597a AP_InertialSensor: fixed example build 2014-07-25 17:52:14 +10:00
Andrew Tridgell 02dec5634f AP_HAL: fixed example builds 2014-07-25 17:52:01 +10:00
Andrew Tridgell aa5940c378 AP_Math: fixed example build 2014-07-25 17:51:30 +10:00
Andrew Tridgell 0f7e78e418 Airspeed: fixed example to setup pin 2014-07-25 17:15:00 +10:00
Andrew Tridgell ffd6fa1366 GCS_MAVLink: ignore alignment warnings in MAVLink headers 2014-07-25 17:14:48 +10:00
Randy Mackay 46e5fa2c0b Notify: APM2 arming buzzer to long tone
Arming tone is a solid 3 second tone so it is consistent with Pixhawk
arming tone
2014-07-25 13:09:04 +09:00
Andrew Tridgell 37b357f282 AP_Terrain: prevent valgrind error when terrain not available 2014-07-25 13:44:36 +10:00
Andrew Tridgell bb31a45596 AP_Terrain: expand parameter docs 2014-07-25 13:18:48 +10:00
Andrew Tridgell e578044661 GCS_MAVLink: added missing generated MAVLink headers 2014-07-25 13:09:31 +10:00
Andrew Tridgell ab9785d3ad AP_Terrain: added current_height to TERRAIN_REPORT
and send TERRAIN_REPORT even when downloading TERRAIN_DATA
2014-07-25 11:40:56 +10:00
Andrew Tridgell 383070b9c0 AP_NavEKF: ensure get_position() fills in flags 2014-07-25 11:40:26 +10:00
Andrew Tridgell 6a275372dd AP_AHRS: ensure get_position() fills in flags 2014-07-25 11:40:16 +10:00
Andrew Tridgell 8a838e6b3d GCS_MAVLink: regenerate headers 2014-07-25 11:40:01 +10:00
Andrew Tridgell 4e39f97d7a GCS_MAVLink: merged with upstream 2014-07-25 11:39:48 +10:00
Andrew Tridgell c4047f6f11 AP_Terrain: rename find_grid() to find_grid_cache()
thanks Randy!
2014-07-25 09:52:20 +10:00
Andrew Tridgell 1fcf35333f AP_Terrain: fixed init order and init more vars
thanks to Randy for spotting this
2014-07-25 09:45:47 +10:00
Andrew Tridgell 679b32b76c AP_Terrain: make parameter variables private 2014-07-25 09:45:28 +10:00
Andrew Tridgell 34cbaa6f17 AP_Mission: added support for MAV_FRAME_GLOBAL_TERRAIN_ALT 2014-07-25 08:33:44 +10:00
Andrew Tridgell 3faafc9644 AP_Terrain: replace HAVE_AP_TERRAIN with AP_TERRAIN_AVAILABLE 2014-07-25 07:59:48 +10:00
Andrew Tridgell ce60bf8d3f AP_Terrain: removed incorrect ASSERT 2014-07-25 07:56:33 +10:00
Andrew Tridgell 7bc6561f2a AP_Terrain: fixed comment on function 2014-07-25 07:56:22 +10:00
Andrew Tridgell b8b235c33c GCS_MAVLink: regenerate MAVLink headers 2014-07-24 21:50:20 +10:00
Andrew Tridgell c32595e6ed AP_Terrain: added status() interface for reporting 2014-07-24 21:50:19 +10:00
Andrew Tridgell e2e41d5da7 AP_Terrain: added location_to_relative_home() function 2014-07-24 21:50:19 +10:00
Andrew Tridgell 8a48f06d18 AP_Common: added terrain_alt flag to Location
signifies that the altitude is a above terrain altitude
2014-07-24 21:50:19 +10:00
Andrew Tridgell 5e2077185b AP_Terrain: fixed cm conversion error 2014-07-24 21:50:19 +10:00
Andrew Tridgell 18974363d5 AP_Terrain: added some helper functions
this adds easier to use helper functions for terrain handling
2014-07-24 21:50:19 +10:00
Andrew Tridgell 8ea2133c4b AP_Terrain: provide more height_*() convenience functions
these provide functions that are more convenient for the vehicle code
to use
2014-07-24 21:50:19 +10:00
Andrew Tridgell db506b76fa AP_Terrain: split up code into separate cpp files
this should make it a bit easier to review
2014-07-24 21:50:19 +10:00
Andrew Tridgell 6b53f473d9 GCS_MAVLink: added a new TERRAIN_ALT frame type for missions 2014-07-24 21:50:18 +10:00
Andrew Tridgell 2d9637c156 AP_Terrain: re-arrange disk IO code
add some comments explaining split between IO thread and main code
2014-07-24 21:46:07 +10:00
Andrew Tridgell ee04c7de96 AP_Terrain: hold home location as a special location
this ensures home altitude is always available
2014-07-24 21:46:06 +10:00
Andrew Tridgell 0a3aa23619 AP_Terrain: fixed build on APM2 2014-07-24 21:46:06 +10:00
Andrew Tridgell 2f0279659a AP_Terrain: prevent disk blocks getting stuck
we need to match first on the expected state to ensure we don't get an
invalid block
2014-07-24 21:46:06 +10:00
Andrew Tridgell 28d6e39c4c AP_Terrain: added checking of block CRCs on disk
this allows us to cope with SD card data corruption
2014-07-24 21:46:06 +10:00
Andrew Tridgell a458f1bf5f AP_Baro: minor improvements to Baro HIL code health check 2014-07-24 21:46:06 +10:00
Andrew Tridgell 0df2dd9092 GCS_MAVLink: added TERRAIN_CHECK and TERRAIN_REPORT messages 2014-07-24 21:45:57 +10:00
Andrew Tridgell eeb4ad56bc AP_Terrain: added checking and reporting messages
this allows the GCS to check the status of the terrain system
2014-07-24 21:45:56 +10:00
Andrew Tridgell 9f76f0276f AP_Terrain: added disk IO for terrain data 2014-07-24 21:45:56 +10:00
Andrew Tridgell 63b5811a7c AP_HAL: added HAL_BOARD_TERRAIN_DIRECTORY 2014-07-24 21:45:56 +10:00
Andrew Tridgell 09214680fe AP_Terrain: request grids around current grid
this ensures we have grids ahead of time
2014-07-24 21:45:56 +10:00
Andrew Tridgell 18e09c2f3e AP_Terrain: added debug code 2014-07-24 21:45:56 +10:00
Andrew Tridgell 09518d2d91 AP_Terrain: added mavlink transport of terrain data 2014-07-24 21:45:46 +10:00
Andrew Tridgell e23ee34d95 GCS_MAVLink: added MSG_TERRAIN 2014-07-24 21:45:46 +10:00
Andrew Tridgell 1ecd4b7fb2 GCS_MAVLink: updated terrain messages 2014-07-24 21:45:46 +10:00
Andrew Tridgell 3020d91dcd GCS_MAVLink: keep a bitmap of what mavlink channels are active
- this will allow for looping over active channels in libraries
- expose active channel mask
2014-07-24 21:45:46 +10:00
Andrew Tridgell 1d42eda4da AP_Terrain: started on update() logic 2014-07-24 21:45:46 +10:00
Andrew Tridgell a7eb2ac28c AP_Terrain: implement height_amsl() 2014-07-24 21:45:46 +10:00
Andrew Tridgell f26bbb6ddb GCS_MAVLink: added terrain mavlink messages 2014-07-24 21:45:46 +10:00
Andrew Tridgell ee7fc984f0 AP_Terrain: initial structure 2014-07-24 21:44:50 +10:00
Andrew Tridgell 8ef9aa0300 GCS_MAVLink: rebuild MAVLink headers 2014-07-24 21:40:16 +10:00
Andrew Tridgell 3d2460bd42 XML: resolved conflicts in MAV_CMD_ enum
this moves a couple of commands to be MAV_CMD_DO_ commands, after
discussions with Lorenz and Randy
2014-07-24 21:40:16 +10:00
Andrew Tridgell feaf9751cc AP_Mission: removed use of MAV_CMD_NAV_VELOCITY and MAV_CMD_NAV_GUIDED 2014-07-24 21:38:31 +10:00
Andrew Tridgell 0f24c43b0c GCS_MAVLink: merged latest changes from upstream 2014-07-24 21:38:31 +10:00
akdslr 2c86f5df94 AP_RangeFinder: Updated RFIND_test example to not use Auto and added more device details 2014-07-24 14:41:55 +10:00
akdslr a1861125e6 AP_RangeFinder_PulsedLightLRF: Modified to do a 2 byte transfer for the distance read 2014-07-24 14:41:54 +10:00
akdslr b08e3d0ee4 AP_RangeFinder_PX4: Added the destructor to close the file descriptor 2014-07-24 14:41:54 +10:00
akdslr 54d0db863b AP_RangeFinder: Changed sonar to rangefinder in the parameter descriptions 2014-07-24 14:41:54 +10:00
akdslr 8c6718fe2d AP_RangeFinder: Removed the use of type Auto 2014-07-24 14:41:54 +10:00
Emile Castelnuovo 1092447360 AP_Compass_VRBrain: add support for two compasses 2014-07-23 20:51:12 +09:00
Emile Castelnuovo 4deafffb3e AP_Compass: VRBRAIN corrected function definition
Add support for two compasses.
2014-07-23 20:47:19 +09:00
Randy Mackay f24960f4c0 AP_Notify: add EKF failure warning 2014-07-22 23:13:27 +09:00
Randy Mackay a6c29ba1c3 Compass_PX4: get_primary made public 2014-07-22 22:01:23 +09:00
Randy Mackay c16672a529 Compass_VRBrain: get_primary made public 2014-07-22 22:01:22 +09:00
Randy Mackay d291594d7c Compass: get_primary method made public 2014-07-22 22:01:09 +09:00
Randy Mackay 1f579563e6 Compass: set_motor_compensation takes instance as first parameter
Also get_motor_compensation uses primary compass
2014-07-22 21:59:04 +09:00
Andrew Tridgell c45f1961f6 AP_RangeFinder: removed old test code 2014-07-21 09:39:48 +10:00
Andrew Tridgell fe92ef5c32 AP_RangeFinder: added an example program 2014-07-21 09:39:12 +10:00
Andrew Tridgell 3474da6c97 AP_Param: added a method for example programs to set parameters in objects 2014-07-21 09:37:41 +10:00
Andrew Tridgell 79f453dfd3 AP_InertialSensor: use LSM9DSO_AM device 2014-07-19 13:23:54 +10:00
Andrew Tridgell 03e8e5f2b9 HAL_Linux: setup for all 6 SPI devices for PXF cape 2014-07-19 13:23:37 +10:00
Andrew Tridgell 9b23921626 AP_HAL: added LSM9DSO_G SPI device 2014-07-19 13:22:24 +10:00
Andrew Tridgell 05f5d91709 HAL_Linux: fixed BusTest build 2014-07-19 12:22:06 +10:00
Randy Mackay 517732a34d AP_Motors: add get_throttle_out accessor 2014-07-18 11:39:27 +09:00
Randy Mackay c2f8571f37 AC_AttControl: FF and accel limiting off by default
Also adjust parameter ranges used by GCSs
2014-07-17 16:22:32 +09:00
Randy Mackay eebd32f306 AC_AttControl: remove duplicate rate_ef_desired to resolve compiler warning 2014-07-16 21:50:31 +09:00
Randy Mackay 0a46afa6c4 AC_PID: init members to reduce compiler warnings 2014-07-16 17:46:14 +09:00
lthall fb55658c91 Copter: Acro use same error limit in all three axis 2014-07-16 17:46:13 +09:00
lthall 2889f5abc4 AC_AttControl: Fix feedforward behavior 2014-07-16 17:46:06 +09:00
Randy Mackay 581838b271 AC_AttControl: initialise _acro_angle_switch
Resolves a compiler warning
2014-07-16 15:11:12 +09:00
Randy Mackay 6baedbda1d AP_InertialSensor: add empty virtual destructor 2014-07-16 14:56:56 +09:00
Randy Mackay d23b685023 AP_AHRS: add empty virtual destructor 2014-07-16 14:56:54 +09:00
Randy Mackay 83a84c7b90 AC_AttControl: add empty virtual destructor
This resolves pixhawk bricking and reduces one compiler warning
2014-07-16 14:56:52 +09:00
Jonathan Challinger 6e66cf43cb AC_AttitudeControl: Use bias-corrected angular rates instead of raw gyro measurements 2014-07-16 14:40:56 +09:00
Randy Mackay a09f7b9198 AP_InertialSensor_MPU6k: init members to reduce compiler warnings 2014-07-16 14:40:55 +09:00
Randy Mackay c5a03ea18e AP_InertialSensor: init members to reduce compiler warnings 2014-07-16 14:40:53 +09:00
Randy Mackay d530fe1806 Camera: remove unused reference to hal
Resolves one compiler warning
2014-07-16 14:40:52 +09:00
Randy Mackay 4cf7f01694 AP_Airspeed: init members to reduce compiler warnings 2014-07-16 14:40:50 +09:00
Randy Mackay 4c76c77239 AP_Airspeed: use 'no break' to resolve compiler warning re switch 2014-07-16 14:40:49 +09:00
Randy Mackay 10588d6d36 AC_Sprayer: append f to floating point constants
Reduces some compiler warnings
2014-07-16 14:40:47 +09:00
Randy Mackay 6f60ce3d6e Inav_EKF: init member and remove hal reference to reduce compiler warnings 2014-07-16 14:40:39 +09:00
Randy Mackay e27ff75a71 AP_InertialNav: remove virtual qualifier from error_count 2014-07-16 14:38:50 +09:00
Randy Mackay 0c0521a555 AC_Fence: append f to floating point constants 2014-07-16 14:38:48 +09:00
Randy Mackay 9e2cd93b2d AP_InertialNav: init members to reduce compiler warnings 2014-07-16 14:38:46 +09:00
Randy Mackay 1e888e5c34 AP_InertialNav: append f to floating point constants
Reduces some compiler warnings
2014-07-16 14:38:43 +09:00
Randy Mackay 70568225a6 AC_PosControl: init members to resolve compiler warnings 2014-07-16 14:38:40 +09:00
Randy Mackay 9233bbab14 AC_PosControl: cast fabs to float to resolve compiler warnings 2014-07-16 14:38:38 +09:00
Randy Mackay 52d5109a6c AC_Circle: initialise members to reduce compiler warnings 2014-07-16 14:38:34 +09:00
Randy Mackay 76507a9e67 AC_AttControlHeli: remove hal declaration to clear compiler warning 2014-07-16 14:38:32 +09:00
Randy Mackay 5128991a84 AC_AttControlHeli: cast fabs to float to resolve compiler warning 2014-07-16 14:38:29 +09:00
Randy Mackay 1f2e38ed28 AHRS: initalise members to reduce compiler warnings 2014-07-16 14:38:26 +09:00
Randy Mackay 0f7178e447 AC_AttControl: cast fabs to float to resolve compiler warning 2014-07-16 14:38:20 +09:00
Randy Mackay 47801a6c4d Compass: bug fix to init of device id
Also init members to reduce compiler warnings
2014-07-16 14:29:10 +09:00
LukeMike 85fc72c57c AP_InertialSensor: VRBRAIN added 3th inertial sensor 2014-07-15 20:42:15 +10:00
LukeMike dd1cab3ab8 HAL_VRBRAIN: updated analog drivers and scheduler driver to latest official version 2014-07-15 20:42:11 +10:00
Andrew Tridgell 9e921719ca HAL_Linux: added bus scanning test 2014-07-15 19:06:11 +10:00
Andrew Tridgell bcc8768358 HAL_Linux: fixed a build warning 2014-07-15 13:56:50 +10:00
Andrew Tridgell 1b85b12738 HAL_Linux: made I2C driver more portable
this uses a typeof() to cope with different kernel data types for I2C
messages
2014-07-15 13:56:50 +10:00
Markus Koetter 1edf7ef05f AP_HAL: use VRBRAIN INS/BARO/COMPASS for VRBRAIN boards 2014-07-15 11:43:00 +10:00
Markus Koetter 701aa9ac4c AP_Compass: DEVIOCGDEVICEID is (currently) not defined in VRNuttX 2014-07-15 11:42:37 +10:00
Randy Mackay cc9c3bb5aa AC_Fence: increase default radius to 300m
300m is still within line of sight and this should reduce the number of
false breaches due to bad GPS positions
2014-07-14 11:25:04 +09:00
Andrew Tridgell 224515f3eb HAL_Linux: fixed indexing of device array for SPI 2014-07-14 11:31:55 +10:00
Andrew Tridgell 3292055af2 HAL_Linux: fixed dataflash SPI 2014-07-14 11:07:41 +10:00
Andrew Tridgell fe475a3561 AP_RangeFinder: removed old PulsedLightLRF example 2014-07-14 10:43:17 +10:00
Andrew Tridgell 5d6ef45662 AP_RangeFinder: removed old MaxSonarXL example 2014-07-14 10:42:20 +10:00
Andrew Tridgell c425e7e060 AP_RangeFinder: fixed example build 2014-07-14 10:41:28 +10:00
Andrew Tridgell e448168ba6 AP_Motors: fixed example build 2014-07-14 10:41:16 +10:00
Andrew Tridgell 2b3d17d955 AP_Baro: fixed APM1 build 2014-07-14 09:50:17 +10:00
Andrew Tridgell 6312b9f8c0 HAL_Linux: allow different SPI and GPIO devices on different boards
this fixes the Replay utility, which uses subtype NONE, and will make
it easier to port to new boards
2014-07-14 09:44:37 +10:00
bugobliterator 003806fcc1 HAL_Linux: pwmpru,HAL_Linux_RCOut code doesn't wait for magic flag to send data
change pwmpru code to remove frequent wrong PWM outputs
Replace pru firmware with new modified pru firmware
2014-07-14 09:44:37 +10:00
bugobliterator 8cf628e780 HAL_Linux_RCoutput:Add handler to catch SIGBUS error 2014-07-14 09:44:37 +10:00
bugobliterator 25e670d0cc HAL_LINUX_RCOutput: Change to reading hilo_read instead of periodhi
use uint instead of int
2014-07-14 09:44:36 +10:00
Andrew Tridgell a46d8dbd51 HAL_Linux: make the spi driver fd part of the manager, not device
it should be one connection to the kernel per bus, not one per device
2014-07-14 09:44:36 +10:00
Andrew Tridgell be02f0c34f AP_Baro: work around occasional 0 values from MS5611
this was seen on the PXF board. It isn't yet known why it happens
2014-07-14 09:44:36 +10:00
Andrew Tridgell 1e20f89f90 AP_Compass: use HAL_COMPASS_DEFAULT in example code 2014-07-14 09:44:36 +10:00
Andrew Tridgell 9f8f27090a HAL_Linux: MPU9250 is restricted to 1MHz for setup
(see datasheet)
2014-07-14 09:44:36 +10:00
Andrew Tridgell 0f724c1d7a AP_InertialSensor: removed per-device example code
now can use a single generic test for all boards
2014-07-14 09:44:36 +10:00
Andrew Tridgell b0ab2671cd AP_Baro: removed old device specific example code
not needed any more
2014-07-14 09:44:36 +10:00
Andrew Tridgell 028e2e34f1 AP_Baro: added generic baro test sketch 2014-07-14 09:44:36 +10:00
Andrew Tridgell 563f516f6b HAL_FLYMAPLE: rename flash_stm32.c to .cpp
this avoids a compiler hang on Ubuntu when not building for flymaple
2014-07-14 09:44:36 +10:00
Andrew Tridgell 273bc230e6 HAL_AVR: renamed pins_arduino_mega.c to .cpp
this fixes a compiler hang on at least one Ubuntu platform. May be a
problem building empty C files?

It also makes our build more consistent
2014-07-14 09:44:36 +10:00
Andrew Tridgell 5a170c6343 AP_InertialSensor: added INS_generic test 2014-07-14 09:44:36 +10:00
Andrew Tridgell d1ba78002d AP_InertialSensor: added paranoid check for DRDY pin 2014-07-14 09:44:36 +10:00
Andrew Tridgell 549e08446a HAL_Linux: use BBB pin names in SPIDriver
easier to find the pins on the board
2014-07-14 09:44:36 +10:00
Andrew Tridgell 6f9965cc22 AP_InertialSensor: fixed setup of DRDY pin on MPU9250 2014-07-14 09:44:36 +10:00
Andrew Tridgell 6a6dbe5790 AP_InertialSensor: added check for WHOAMI on MPU9250 2014-07-14 09:44:35 +10:00
Andrew Tridgell e24febec1b AP_TECS: avoid a valgrind bug 2014-07-14 09:44:35 +10:00
Andrew Tridgell 8e5915ef7d HAL_Linux: fixed some valgrind errors 2014-07-14 09:44:35 +10:00
Andrew Tridgell 130f831c1c HAL_Linux: use MODE_3 for MPU9250
this fixes the MS5611 (probably due to idle state?)
2014-07-14 09:44:35 +10:00
Andrew Tridgell f73ec95c39 AP_Baro_MS5611: added PROM CRC checking
disabled on APM2 to save flash space
2014-07-14 09:44:35 +10:00
Andrew Tridgell 6c3197cb43 AP_Notify: fixed SITL build 2014-07-14 09:44:35 +10:00
Andrew Tridgell 52c53e55f8 AP_Airspeed: use board subtypes 2014-07-14 09:44:35 +10:00
Andrew Tridgell 252052d723 AP_Notify: use HAL board subtypes 2014-07-14 09:44:35 +10:00
Andrew Tridgell abb53eb9a2 AP_InertialSensor: simplify using HAL board subtypes 2014-07-14 09:44:35 +10:00
Andrew Tridgell fc8068adfe HAL_Linux: use board subtypes 2014-07-14 09:44:35 +10:00
Andrew Tridgell 7195e38585 AP_HAL: fixed I2C build on APM2 2014-07-14 09:44:35 +10:00
Andrew Tridgell 5693392838 AP_HAL: added the concept of a board subtype, and default sensor types
this will make the vehicle code much more generic
2014-07-14 09:44:34 +10:00
Andrew Tridgell 1bf0c4c67d HAL_Linux: cope with different I2C headers for data 2014-07-14 09:44:34 +10:00
Andrew Tridgell 848b563fc3 AP_InertialSensor: rotate acccel/gyro for PXF 2014-07-14 09:44:34 +10:00
Andrew Tridgell ea188528fc AP_InertialSensor: fixed build errors for LSM9DSO 2014-07-14 09:44:34 +10:00
Andrew Tridgell fa2a1c495e HAL_Linux: fixed I2C driver build errors 2014-07-14 09:44:34 +10:00
Andrew Tridgell 8c4565c741 HAL_Linux: fixed a build warning 2014-07-14 09:44:34 +10:00
Víctor Mayoral Vilches 2982fc029c AP_InertialSensor_LSM9DS0: Fix _dump_registers method 2014-07-14 09:44:34 +10:00
Víctor Mayoral Vilches feedc40f72 AP_InertialSensor_LSM9DS0: Move LSM9DS0_DEBUG flag to the header 2014-07-14 09:44:34 +10:00
Andrew Tridgell 297bb52ced AP_InertialSensor: added MPU9250 header 2014-07-14 09:44:34 +10:00
Víctor Mayoral Vilches f213f01983 AP_InertialSensor_LSM9DS0: Remove previous CS handling.
CS is now being automatically handled by the SPI Driver.
2014-07-14 09:44:33 +10:00
Andrew Tridgell 5b438471a7 HAL_Linux: added set_bus_speed() support to SPI driver
used by MPU6000 driver for setup registers
2014-07-14 09:44:33 +10:00
Andrew Tridgell 3ed4f82cb0 AP_InertialSensor: fixed DRDY include for Linux 2014-07-14 09:44:33 +10:00
Andrew Tridgell 0b64d834c3 HAL_Linux: MS5611 and MPU6000 should be MODE3
this doesn't solve the MPU6000 problem, but is correct
2014-07-14 09:44:33 +10:00
Andrew Tridgell 06b6d7aaf0 AP_InertialSensor: fixeup DRDY pin for different boards 2014-07-14 09:44:33 +10:00
Andrew Tridgell 1c89f54934 HAL_Linux: fixed SPI mode handling per-device
the mode must be set per-device, not per bus.
2014-07-14 09:44:33 +10:00
Víctor Mayoral Vilches 145c71c4af HAL_Linux: Storage: Change storage folder in Linux to `/var/APM` 2014-07-14 09:44:33 +10:00
Víctor Mayoral Vilches 3379ddd51f AP_InertialSensor_MPU6000: Add _register_write_check method.
This private method allows to check whether the value written and
the posterior value readed are the same.
Should be used only for debuging purposes, for release versions use
_register_write instead.
2014-07-14 09:44:33 +10:00
Víctor Mayoral Vilches 0fff8df491 AP_InertialSensor: fix LSM9DS0 test code 2014-07-14 09:32:30 +10:00
bugobliterator ca163c292c HAL_Linux: PRU: remove obsolete libraries/AP_HAL_Linux/PRU 2014-07-14 09:32:29 +10:00
Andrew Tridgell 72f94444c4 HAL_Linux: added basic support for RC overrides
this allows for easier testing of RC output by allowing
mavproxy to setup fake inputs

Pair-Programmed-With: Sid, Anuj, Victor and Philip
2014-07-14 09:32:29 +10:00
Andrew Tridgell d0b007248f HAL_Linux: fixed SPI semaphore, and panic on CS error
This adds a check for trying to assert two CS pins on the same bus
at the same time. The change involves moving the _device handles into the
DeviceManager class, and accessing via static methods.

This also moves the semaphore to be per-bus rather than per-device,
which fixes the problem with bad MS5611 transfers.

Pair-Programmed-With: Victor, Sid, Anuj and Philip
2014-07-14 09:32:29 +10:00
bugobliterator 5bcdb039e2 HAL_Linux: Make asynchronous PRU write and reduce the size of data exchange
Change to sending Total Period and hi Period, rather than Hi and Lo Period
Change PRU firmware accordingly
2014-07-14 09:32:29 +10:00
Víctor Mayoral Vilches fa6c5ba80e HAL_Linux: Remove the additional portNumber offset
The socket is being launched in (_base_port + portNumber) port
following SITL impl. In order to avoid confusions portNumber has
been set to 0.
2014-07-14 09:32:21 +10:00
Víctor Mayoral Vilches 02c171b19f HAL_Linux: UART-like TCP sockets, check for ":wait" 2014-07-14 09:32:13 +10:00
Víctor Mayoral Vilches ca80c0b8e2 HAL_Linux: config UART file descriptor as non-blocking 2014-07-14 09:31:59 +10:00
bugobliterator e6f27c9fac AP_Motors_Time_test.pde: use hal.scheduler->micros instead of gettimeofday 2014-07-14 09:31:59 +10:00
Siddharth Bharat Purohit 65fef59dfa HAL_Linux: change initial PWM values to 490Hz, 1000us 2014-07-14 09:31:49 +10:00
Víctor Mayoral Vilches f11f0d9f2a HAL_Linux: Fix FRAM code 2014-07-14 09:31:41 +10:00
Víctor Mayoral Vilches be68de20f1 HAL_Linux: UART-like TCP sockets impl. on AP_HAL_Linux 2014-07-14 09:31:30 +10:00
Víctor Mayoral Vilches b0742fbb5b HAL_Linux: Add FRAM SPI support. 2014-07-14 09:31:18 +10:00
Siddharth Bharat Purohit 0422695e5e HAL_Linux: Correct error inside read method in RCOutput 2014-07-14 09:31:05 +10:00
bugobliterator 092bda9c37 HAL_Linux: Replace PRU1 firmware with a new one to support new way of controllong PRU PWM 2014-07-14 09:31:05 +10:00
bugobliterator 63560e8122 HAL_Linux: change to directly accessing shared_mem of pru in RCOutput 2014-07-14 09:30:54 +10:00
Siddharth Bharat Purohit 9999e77a74 HAL_Linux: add close(_fd) to some functions in RCOutput 2014-07-14 09:30:42 +10:00
Víctor Mayoral Vilches 95e0803880 HAL_Linux: Remove panic when invalid pin in GPIO
When a invalid pin is passed as a parameter
the methods return without performing anything
insted of raising a panic.
2014-07-14 09:30:25 +10:00
Víctor Mayoral Vilches 245618e298 HAL_Linux: Improve error handling SPIDriver 2014-07-14 09:30:16 +10:00
Víctor Mayoral Vilches d330cbecb3 HAL_Linux: Make the CS variables more readable in SPIDriver 2014-07-14 09:30:06 +10:00
Víctor Mayoral Vilches 665bf4a247 HAL_Linux: BUS_SPEED selected individually in SPIDriver 2014-07-14 09:29:53 +10:00
Víctor Mayoral Vilches 8a85f8d6d2 AP_Baro_MS5611_test: Add HAL specific code. 2014-07-14 09:29:53 +10:00
Siddharth Bharat Purohit d2b5a1cfac HAL_Linux: add HAL_ prefix to GPIO_INPUT 2014-07-14 09:29:45 +10:00
bugobliterator 1f1af0b0ea HAL_Linux: make GPIO code compact and readable
add hal instance to generate scheduler
change gpio/export write method
add gpio struct to LinuxDigitalSource class
change individual gpio banks to one gpio_bank array
2014-07-14 09:29:45 +10:00
bugobliterator fb7ca9bb3c AP_Motors:add AP_Motors_Time_test 2014-07-14 09:29:45 +10:00
Víctor Mayoral Vilches de58df6371 AP_Baro_MS5611_test: Add block for APM2-code 2014-07-14 09:29:45 +10:00
Víctor Mayoral Vilches bb5de8a6a1 AP_InertialSensor_LSM9DS0: Fix the CS. 2014-07-14 09:29:45 +10:00
Víctor Mayoral Vilches ad3a3f9366 AP_InertialSensor_MPU6000: Fix the CS. 2014-07-14 09:29:45 +10:00
Víctor Mayoral Vilches aa60a89cda AP_InertialSensor_MPU9250: Fix SPI CS. 2014-07-14 09:29:45 +10:00
Víctor Mayoral Vilches 651cb58ebc HAL_Linux: Add CS capabilities to the SPI driver. 2014-07-14 09:29:45 +10:00
Víctor Mayoral Vilches bae84e2942 AP_InertialSensor: Add missing library to test example. 2014-07-14 09:29:36 +10:00
Víctor Mayoral Vilches 4df3b55ed4 AP_InertialSensor_MPU9250: Add missing library for example/
In order to compile the examples test a library needed to
added.
2014-07-14 09:29:36 +10:00
Víctor Mayoral Vilches 763c075497 HAL_Linux: spidev1.0 to SPI0 and spidev2.0 to SPI1 2014-07-14 09:29:28 +10:00
bugobliterator fd0685cc01 HAL_Linux: change to mem access method from sysfs access method
This step is taken to reduce the time for gpio access substantially
2014-07-14 09:29:18 +10:00
Víctor Mayoral Vilches eb95130441 AP_InertialSensor_MPU9250: remove legacy CS. 2014-07-14 09:29:18 +10:00
Víctor Mayoral Vilches 5e7e28a83e AP_InertialSensor_MPU9250.cpp: Update the DRDY pin. 2014-07-14 09:29:18 +10:00
Víctor Mayoral Vilches d053a91cd5 AP_InertialSensor_MPU6000: Remove MPU6000_CS_PIN
Remove MPU6000_CS_PIN, a legacy way of handling
Chip Select.
2014-07-14 09:29:18 +10:00
Víctor Mayoral Vilches d9cb29ea8b AP_InertialSensor_MPU6000: Correct DRDY pin. 2014-07-14 09:29:18 +10:00
Víctor Mayoral Vilches 70aafa380e GPS_UBLOX: fix test to work with AP_HAL_Linux.
Some libraries were missing.
2014-07-14 09:29:18 +10:00
bugobliterator 96bbe17bd3 HAL_Linux: add support for LinuxDigitalSource in AP_HAL_Linux 2014-07-14 09:29:18 +10:00
Víctor Mayoral Vilches 7652d47e6e HAL_Linux: Add GPIO pinmux mappings
This will allow to request channels using the
name of the BBB headers (e.g. P8_12, P9_42).
2014-07-14 09:29:08 +10:00
bugobliterator 18d7438240 HAL_Linux: increase size of sysfs_path variables inside LinuxRCOutput's methods
to avoid stack smashing error
2014-07-14 09:29:08 +10:00
bugobliterator 85d10e2ce3 HAL_Linux: add export gpio during direction set if not exported during initialisation 2014-07-14 09:29:08 +10:00
bugobliterator a7ead42f52 HAL_Linux: added initial gpio library 2014-07-14 09:29:08 +10:00
Andrew Tridgell 79fed17563 AP_Notify: added pins for Linux port 2014-07-14 09:29:08 +10:00
Víctor Mayoral Vilches d43c1cc544 AP_Motors_test: Adapt to test bench available 2014-07-14 09:29:08 +10:00
Víctor Mayoral Vilches df14318bbd AP_InertialSensor_L3G4200D: Clock-based wait_for_sample() impl. 2014-07-14 09:29:08 +10:00
Víctor Mayoral Vilches c4b6026d53 HAL_Linux: include readRegistersMultiple in I2CDriver
AP_HAL_Linux implemments this new method.
2014-07-14 09:28:42 +10:00
Víctor Mayoral Vilches ea7dcc188b AP_HAL_Linux: Correct SPIDriver devs 2014-07-14 09:10:23 +10:00
Víctor Mayoral Vilches 57ec305caa AP_HAL: Fixes to make the ERLE layer work 2014-07-14 09:10:23 +10:00
Víctor Mayoral Vilches 7cf1187473 AP_InertialSensor_MPU9150: Clock-based wait_for_sample() impl.
Adapt the I2C driver to a system clock based wait_for_sample()
implementation.

The sample rate of the sensor has been corrected to 800 Hz (could be
further pushed up to 1KHz).

Filters for the mag have also been created but remain commented until
the code for the mag is ready.
2014-07-14 09:10:23 +10:00
Víctor Mayoral Vilches 8af1b6faa7 AP_HAL_Linux: Add support for SPIDevice_LSM9DS0
The LSM9DS0 SPI device is connected to
SPI0, thereby SPIDriver class should return the
corresponding device.
2014-07-14 09:10:23 +10:00
Víctor Mayoral Vilches c4babc543d AP_InertialSensor_LSM9DS0: SPI userspace sensor driver.
ST Microelectronics 9 DOF IMU userspace sensor driver. Some
work with the filters needs to be done.
2014-07-14 09:10:23 +10:00
bugobliterator 79fb10d9e8 HAL_Linux: correct AP_HAL_Linux::RCOutput::enable_ch method
change the mode of file open which was set as RDONLY mistakenly
2014-07-14 09:10:23 +10:00
bugobliterator eb35c94a43 HAL_Linux: add rcout->init method to HAL_Linux_Class::init 2014-07-14 09:10:23 +10:00
bugobliterator e9f5e0d6cc HAL_Linux: add rcout->init method to HAL_Linux_Class::init method 2014-07-14 09:10:23 +10:00
bugobliterator 34ba77e048 HAL_Linux: Correct faulty RCOutput driver
solve compiler not looking ahead of RCOutput class for read and write methods
2014-07-14 09:10:23 +10:00
bugobliterator 26cd4ad237 HAL_Linux: Correct indentation 2014-07-14 09:10:23 +10:00
Siddharth Bharat Purohit 69a4b7d632 HAL_Linux: Correct Indentation issue 2014-07-14 09:10:23 +10:00
Siddharth Bharat Purohit 731d80e6c5 HAL_Linux: Add Steps to Manually test pwm channels 2014-07-14 09:10:13 +10:00
Siddharth Bharat Purohit b53b3f415a HAL_Linux: Create Readme.md adding details on manually testing pru pwm 2014-07-14 09:10:03 +10:00
bugobliterator a7de5e3d0f HAL_Linux: Add initial RCOutput driver
The functions in RCOutput.cpp are defined to access PWM over PRU sysfs
device from userspace using open, read, write and close methods.
2014-07-14 09:09:53 +10:00
Víctor Mayoral Vilches 3354fa9fc8 AP_HAL_Linux: Add support for SPIDevice_MS5611 2014-07-14 09:02:47 +10:00
Víctor Mayoral Vilches 1c07985518 AP_InertialSensor_MPU9150: Comment the suspend_timer_procs
It causes the driver to hang. This matter should be inspected.
2014-07-14 09:02:47 +10:00
Víctor Mayoral Vilches d65aefbef5 AP_InertialSensor_MPU6000: Fix the test code so that compiles. 2014-07-14 09:02:47 +10:00
Víctor Mayoral Vilches 9797867067 AP_Baro_MS5611: Fix the test code so that compiles.
Add HAL_BOARD_LINUX and HAL_BOARD_ERLE compatibility.
2014-07-14 09:02:47 +10:00
Víctor Mayoral Vilches 9f5b4ffca4 AP_HAL_Linux_Class: Correct deadlock, and infinite loop in setup()
(credit to Mitch Miers <mmiers@mmiers.com>):

setup() is attempting to initialize the hardware, and while doing so
is attempting to output some text via the console (and maybe mavlink
data).  The problem is, the output isn't going to complete once a
write buffer is full, because LinuxUARTDriver::_timer_tick() doesn't
perform work until _initialized is true.  So, what happens is,
setup() (and subroutines) call LinuxUARTDriver::_write(uint8_t c),
which loops waiting for buffer space to become available (once the
write buffer is full).  The buffer never gets space, because the
UART thread is waiting for initialization to complete before it
will write out data and drain the buffer, but that doesn't happen
until setup() returns (see AP_HAL_Linux_main.h).

Refer to https://groups.google.com/forum/#!topic/beaglepilot/dQlxse11JNI
2014-07-14 09:02:47 +10:00
Víctor Mayoral Vilches fac3d1c271 AP_InertialSensor_MPU9250: SPI userspace sensor driver.
InvenSense MPU9250 sensor driver and test code (available under
libraries/examples/).
2014-07-14 09:02:47 +10:00
Víctor Mayoral Vilches 27ebf790e2 AP_HAL_Linux: Add support for SPIDevice_MPU9250
The Invensense MPU9250 SPI device is connected to
SPI1, thereby SPIDriver class should return the
corresponding device.
2014-07-14 09:02:46 +10:00
Víctor Mayoral Vilches 5493be1b0d AP_HAL: Add SPIDevice_MPU9250 as a device. 2014-07-14 09:02:46 +10:00
Víctor Mayoral Vilches 815c2df2d0 AP_HAL_Linux: SPIDriver, add MPU6000 support 2014-07-14 08:52:51 +10:00
Víctor Mayoral Vilches 4d79887cc5 L3G4200D: fix in the test example provided.
The test coded had a call to "wait_for_sample" that expected one
argument and 0 where provided.
2014-07-14 08:52:51 +10:00
Andrew Tridgell 74ee70d463 HAL_Linux: updates for ERLE board type 2014-07-14 08:52:27 +10:00
Andrew Tridgell ab7e96b9de AP_InertialSensor: updates for ERLE board type 2014-07-14 08:51:44 +10:00
Victor Mayoral Vilches 44320708a7 AP_InertialSensor_MPU9150: I2C userspace driver sensor added.
The MPU9150 is a 9 axis sensor that includes 3 accelerometers,
3 gyroscopes and 3 magnetometers. All accessible through I2C.
The AP_InertialSensor_MPU9150 class allows APM to use this sensor.
2014-07-14 08:16:29 +10:00
Victor Mayoral Vilches 1445781104 AP_Common: added fire cape product ID 2014-07-14 08:16:29 +10:00
Randy Mackay 7e04b5d1f1 INS: calibrated method checks all accelerometers 2014-07-13 22:05:21 +09:00
Jonathan Challinger 762bb3e6e8 AC_AttitudeControl: Limit _pos_target.z to below alt_max before computing error 2014-07-13 21:14:34 +09:00
Andrew Tridgell 28fedba4d8 AP_AHRS: fixed gyro_bias sign, and pre-calculate gyro_estimate for EKF
this allows us to return a constant vector for the corrected gyro
estimate. Based on discussions with Jon Challinger
2014-07-13 21:56:39 +10:00
Jonathan Challinger 966d66ef40 AP_AHRS_NavEKF: use gyro drift states from EKF in get_gyro 2014-07-13 21:34:44 +10:00
Jonathan Challinger 61987f6655 AP_AHRS: Fixed DCM get_gyro function
Previously incorporated the attitude correction terms into the return. Now only returns the drift-corrected gyro.
2014-07-13 21:19:29 +10:00
Jonathan Challinger 5f66027ba3 AC_AttitudeControl: Fixup some minor mistakes in AC_PosControl 2014-07-13 17:17:31 +09:00
Robert Lefebvre 92bdf24dba AP_MotorsHeli: Add To-Do. Swash setup hasn't seemed to work right for a while, this might be why. Confirm later. 2014-07-13 17:11:22 +09:00
Robert Lefebvre a7f6a91827 AC_AttitudeControl_Heli: Remove ToDo. Rate controllers should always run even if throttle is zero. 2014-07-13 17:11:20 +09:00
Randy Mackay f630f9abc3 GPS: exclude SIRF and NMEA on APM copter build
This only works for the centralised builder, the modified Arduino IDE
will still include the NMEA and SIRF drivers meaning it will require
approximately 4k additional flash which may push us over the limit on
the APM2.  Users will instead need to exclude other features to get
below the APM1/2 flash limit.
2014-07-13 15:41:11 +09:00
Andrew Tridgell ddb030088d GCS_Mavlink: moved some more mavlink functions to GCS_Common.cpp 2014-07-13 15:37:49 +10:00
Randy Mackay 971411e0db AC_AttControl: fixed typo in parameter description 2014-07-13 10:31:11 +09:00
Randy Mackay 5f623ac859 AC_AttControl: re-enable rate feedforward by default
Roll and Pitch rate controllers became sluggish without feed-forward
enabled.
2014-07-11 15:31:00 +09:00
Randy Mackay bbf4805b0e Compass: update pixhawk expected device ids 2014-07-11 11:10:18 +09:00
Craig Elder c9f3adcb5c Compass: Updated COMPASS_PRIMARY parameter description 2014-07-10 15:32:06 -07:00
Craig Elder 0ecd12b1c6 AP_Compass: Corrected typo in parameter description
Corrected typo in parameter description
2014-07-10 14:19:19 -07:00
Randy Mackay fa2f5d9c68 Arming: accept non-const compass in constructor
The compass.configured() method checks the eeprom and cannot be const
meaning the Arming object requires a non-const reference to the compass.
Removed check for null compass because the compass object is always
created although this could lead to unnecessary pre-arn check failures
even though compass-use is set to false.
2014-07-10 22:50:52 +09:00
Randy Mackay 4995b9ada8 Compass: default device id to zero 2014-07-10 20:25:36 +09:00
Randy Mackay 16d4af8346 Compass: sanity check instance in set_and_save_offsets 2014-07-10 20:25:32 +09:00
Randy Mackay 76369d153f Arming: use compass.configured method
This checks that when compass offset learning is off, that the offsets
are non-zero and that the detected device id matches the device id
stored to eeprom when the offsets were last saved.
2014-07-10 20:25:30 +09:00
Randy Mackay cf7e1a6339 Compass: example sketch update for set_and_save_offsets 2014-07-10 20:25:13 +09:00
Randy Mackay a778522cef Compass: add learn_offsets_enabled accessor method 2014-07-10 20:25:11 +09:00
Randy Mackay 108c878b04 Compass: set_offsets modified to also save offsets 2014-07-10 20:25:08 +09:00
Randy Mackay 124bd4b489 Compass: save_offsets accepts compass instance 2014-07-10 20:25:05 +09:00
Randy Mackay 2c1fa5f1e8 GCS_MAVLink: generate after adding deprecated note to SET_MAG_OFFSETS 2014-07-10 20:25:02 +09:00
Randy Mackay 798c749833 GCS_MAVLink: add deprecated note to SET_MAG_OFFSETS 2014-07-10 20:25:00 +09:00
Randy Mackay 05225636da GCS_MAVLink: generate after adding second mag to PREFLIGHT_SET_SENSOR_OFFSETS 2014-07-10 20:24:58 +09:00
Randy Mackay bf6fd6f984 GCS_MAVLink: add second mag to PREFLIGHT_SET_SENSOR_OFFSETS
Updates the comments for parameter 1 only, this does not affect the
message format.
2014-07-10 20:24:55 +09:00
Randy Mackay 070f1c1bbb Compass: add dev_id for VRBrain 2014-07-10 20:24:49 +09:00
Randy Mackay f42c9579d7 Compass: add dev_id for PX4
dev_id is retrieved from PX4Firmware via ioctl call
2014-07-10 20:24:46 +09:00
Randy Mackay b7f33d81ad Compass: add DEV_ID param and configured method
These allow checking the offsets were created with the current compass
device.
2014-07-10 20:24:44 +09:00
svefro be9bfc5530 Mount: set_mode method made public 2014-07-10 13:03:43 +09:00
Andrew Tridgell d325f630e5 VibTest: added sample timing to console output 2014-07-09 12:12:23 +10:00
Andrew Tridgell 8af876fe8a AC_AttitudeControl: fixed build
includes are case sensitive on the build server
2014-07-09 10:19:17 +10:00
Andrew Tridgell 863e7a5f93 VibTest: fixed array bounds error 2014-07-09 08:11:52 +10:00
Andrew Tridgell 2c8240dbb4 VibTest: fixed gyro timestamps in logs
it was using the accel timestamps
2014-07-09 08:10:09 +10:00
Robert Lefebvre 789b1018fc AP_MotorsHeli: Change set_delta_phase_angle so that it forces recalculation of collective factors. 2014-07-08 20:18:39 +09:00
Robert Lefebvre fd542e99d8 AP_MotorsHeli: Create Delta Phase Angle variable and method to set. Will be used by CCComp code. 2014-07-08 20:18:34 +09:00
Robert Lefebvre 0680b88abd AP_MotorsHeli: Add main loop rate time variable and method. Change RSC increment calc to account for loop rate time. 2014-07-08 20:18:20 +09:00
Robert Lefebvre 26be7aed97 AC_AttControl_Heli: Add LPF filter to Rate Feedforward terms 2014-07-08 20:18:13 +09:00
Robert Lefebvre fa9d625e39 AC_HELI_PID: Add feedforward accessor functions. 2014-07-08 20:18:05 +09:00
Robert Lefebvre 979abb9fbd TradHeli: Cause DDVP Tail Motor to stop immediately when Ch8 is 0. 2014-07-08 20:18:02 +09:00
Andrew Tridgell b2bc098aee HAL_PX4: avoid some float conversion warnings 2014-07-08 20:27:19 +10:00
Andrew Tridgell e137bf26ef HAL_Empty: avoid some float conversion warnings 2014-07-08 20:27:13 +10:00
Andrew Tridgell 59de5a8465 AP_GPS: avoid some float conversion warnings 2014-07-08 20:27:03 +10:00
Andrew Tridgell 74c3b404ee AP_Baro: avoid some float conversion warnings 2014-07-08 20:26:54 +10:00
Andrew Tridgell 6b87c9fdf7 AP_Airspeed: avoid some float conversion warnings 2014-07-08 20:26:44 +10:00
Andrew Tridgell f28946defb AP_ADC_AnalogSource: avoid some float conversion warnings 2014-07-08 20:26:37 +10:00
Andrew Tridgell 198ada2b42 APM_Control: avoid some float conversion warnings 2014-07-08 20:26:20 +10:00
Andrew Tridgell baa0217bec AP_RangeFinder: trigger a new reading automatically
this fixes Maxbotix I2C
2014-07-08 16:28:18 +10:00
Andrew Tridgell f6d9bc5d7e AP_RangeFinder: fixed detection of multiple types
Pair-Programmed-With: Allyson Kreft
2014-07-08 15:08:18 +10:00
Andrew Tridgell 7ceb14bec0 HAL_Empty: make I2C ops fail 2014-07-08 15:08:18 +10:00
Andrew Tridgell 9386295428 AP_RangeFinder: added SONAR2_TYPE parameter
thanks to Allyson for noticing
2014-07-08 15:08:18 +10:00
Andrew Tridgell 05d4f5fb5a AP_RangeFinder: convert PX4 driver to new API 2014-07-08 15:08:18 +10:00
Andrew Tridgell 4cba48ade2 AP_RangeFinder: removed old style analog drivers
replaced by generic analog driver
2014-07-08 15:07:51 +10:00
Andrew Tridgell ed346fd639 AP_RangeFinder: convert MaxbotixI2C driver to new API 2014-07-08 15:07:51 +10:00
Andrew Tridgell 0063d83dbc AP_RangeFinder: convert the PulsedLight driver to new API
not tested yet
2014-07-08 15:07:50 +10:00
Andrew Tridgell 22b9059647 AP_RangeFinder: have two instances on all platforms
rover needs two sonars for obstacle avoidance
2014-07-08 15:07:50 +10:00
Andrew Tridgell e69a473315 SITL: update simulated sonar support 2014-07-08 15:07:50 +10:00
Andrew Tridgell 6f33ca4988 AP_RangeFinder: added SONAR_RMETRIC option
this allows correct support for non-ratiometric rangefinders such as
the SF/02
2014-07-08 15:07:50 +10:00
Andrew Tridgell 92b76b4be4 AP_RangeFinder: converted analog rangefinder backend to new API
this gets analog rangefinders of all types working
2014-07-08 15:07:50 +10:00
Andrew Tridgell cb037f3416 AP_RangeFinder: new rangefinder API ready for its first backend
the backends are setup to have just the minimum functionality needed
for a rangefinder, with all of the higher level logic in the
frontend. This should make writing a new backend easier
2014-07-08 15:07:50 +10:00
Andrew Tridgell 429431157b AP_RangeFinder: disable old rangefinder drivers
these will be re-enabled when they are converted to the new class API
2014-07-08 15:07:50 +10:00
akdslr d759a9dd9b AP_RangeFinder: Seperated the Backend driver functionality into a separate class 2014-07-08 15:07:49 +10:00
akdslr 3f17969b19 AP_RangeFinder: Changes from the May 4th plane test flight 2014-07-08 15:07:49 +10:00
akdslr 2e586ccfb2 AP_RangeFinder_PulsedLightLRF: Updated the value to write to the register to trigger a measurement 2014-07-08 15:07:49 +10:00
akdslr 5f4168d5f8 AP_RangeFinder_PX4_test: Added an example sketch for the PX4 range finder 2014-07-08 15:07:49 +10:00
akdslr 18c06277f8 AP_RangeFinder: Added a new PX4 range finder and modified the RangeFinder parent class to support having multiple devices simultaneously 2014-07-08 15:07:49 +10:00
akdslr a2df275bd9 AP_RangeFinder_PulsedLightLRF: Updated the register definitions for the new hardware 2014-07-08 15:07:49 +10:00
Andrew Tridgell e118984c26 AP_Baro: save some flash and memory on APM2
we don't need the I2C MS5611 driver
2014-07-08 14:21:42 +10:00
Andrew Tridgell d50d5b8f24 VibTest: fixed sample count output on console 2014-07-08 10:59:30 +10:00
Andrew Tridgell 03770c4d34 VibTest: added gyro data and support 3 sensors
will be used for vibration testing on FMUv3
2014-07-08 10:07:58 +10:00
Randy Mackay 2b64c511ed AC_WPNav: update yaw only when track is at least 2m 2014-07-06 17:02:12 +09:00
Randy Mackay c9661cfb09 AC_WPNav: integrate set_desired_velocity_xy function name change 2014-07-06 17:01:10 +09:00
Randy Mackay 82ed70b25e AC_PosControl: add xyz velocity controller
Velocity controller interpretsthe velocity requests as
desired velocities (i.e. feed forward).  These are then used to update
the target position and also added to the target velocity.
Also renamed the set_desired_velocity() function to
set_desired_velocity_xy() to make clear only lat and lon axis are
updated.
2014-07-06 17:01:02 +09:00
Randy Mackay fe8a5be802 AP_Mission: support MAV_CMD_NAV_VELOCITY msg 2014-07-06 17:01:00 +09:00
Randy Mackay 34b91496f9 GCS_MAVLink: generate after adding CMD_NAV_VELOCITY 2014-07-06 17:00:57 +09:00
Randy Mackay 35167c262e GCS_Mavlink: add MAV_CMD_NAV_VELOCITY
This is an earth frame velocity request message
2014-07-06 17:00:55 +09:00
Randy Mackay 9103899048 GCS_Common: minor typo in comments 2014-07-06 17:00:52 +09:00
Randy Mackay f4c9d58051 AP_Mission: add support for MAV_CMD_NAV_GUIDED 2014-07-06 17:00:26 +09:00
Randy Mackay be003c1906 GCS_MAVLink: generate after adding CMD_NAV_GUIDED 2014-07-06 17:00:24 +09:00
Randy Mackay 05c63592ce GCS_MAVLink: add CMD_NAV_GUIDED to ardupilotmega.xml 2014-07-06 17:00:21 +09:00
Andrew Tridgell c138244155 AP_Compass: support 3 mags on PX4 2014-07-04 12:07:47 +10:00
Emile Castelnuovo b420a5c6db AP_HAL_VRBRAIN: removed empty lines 2014-07-03 11:09:20 +10:00
Niels Joubert fabd7601f0 GPS: Fix dataflash logging bug in SBP driver 2014-07-03 09:57:10 +10:00
Niels Joubert b57d1f5245 GPS: Include 75-class CPUs in RTK support since they will have 64 bit floating point values. 2014-07-03 09:57:07 +10:00
Andrew Tridgell 849c4905fb HAL_PX4: print overtime message on stuck task
this should make it easier to narrow down stuck task bugs
2014-07-03 09:11:24 +10:00
Andrew Tridgell 67f5ba0b94 AP_Scheduler: added current_task static
will be used to debug stuck tasks on PX4
2014-07-03 09:09:11 +10:00
Emile Castelnuovo bdd9fe77c7 VRBRAIN: change default pin for analog input. 2014-07-01 12:23:25 +02:00
LukeMike f70da39206 VRBRAIN: changed the management of the pwm output 2014-07-01 12:21:36 +02:00
LukeMike fa4fffc878 VRBRAIN: deleted unnecessary customizations 2014-07-01 12:21:35 +02:00
Emile Castelnuovo b2680984a5 AP_HAL_VRRBAIN: added comment 2014-07-01 12:21:34 +02:00
Andrew Tridgell bed5db35c7 GCS_MAVLink: fixed missing header 2014-07-01 14:57:41 +10:00
Andrew Tridgell 4c22aa20ad GCS_MAVLink: regenerate headers 2014-07-01 14:26:44 +10:00
Andrew Chapman 7cdd5a700b CameraFeedback: alt rel/msl, renamed CAMERA_EVENT
- include both “alt_msl” and “alt_rel”
- rename CAMERA_EVENT to CAMERA_STATUS
- clarify comments regarding message origin and order
- change pitch/roll/yaw to be camera rather than vehicle, earth frame
2014-07-01 14:25:55 +10:00
Andrew Tridgell 544d872d65 GCS_MAVLink: fixed a shadowed variable 2014-07-01 09:18:20 +10:00
Andrew Tridgell 773bc7bcbe GCS_MAVLink: added missing RTK headers 2014-06-30 20:06:34 +10:00
Andrew Tridgell f9d87bcc88 AP_GPS: fixed build errors and warnings in SBP driver
shadowed variables and implied casts in structures
2014-06-30 11:15:51 +10:00
Andrew Tridgell bcb3d1af14 GCS_MAVLink: fixed flymaple build
has dual GPS but no RTK support
2014-06-30 10:51:19 +10:00
Andrew Tridgell fc11deb547 GCS_MAVLink: regenerate headers 2014-06-30 10:31:11 +10:00
Niels Joubert fa78634959 AP_GPS: GPS calculates MAVLink messages for GPS and GPS_RTK 2014-06-30 10:30:16 +10:00
Niels Joubert baf0697f48 GCS_MAVLink: Add support for GPS_RTK messages 2014-06-30 10:30:16 +10:00
Niels Joubert ad5311c089 MAVLink: New message definitions for GPS_RTK 2014-06-30 10:29:57 +10:00
Niels Joubert 2b1169b0ab AP_GPS: SwiftNav RTK Driver and GPS AutoSwitch param 2014-06-30 10:29:56 +10:00
Niels Joubert fee79c5bac SITL: Piksi Heartbeat Message support, Integer-RTK baseline simulation 2014-06-30 10:29:56 +10:00
Niels Joubert a251d0010a AP_NOTIFY: RTK GPS visual notification through faster blink 2014-06-30 10:29:56 +10:00
Niels Joubert 398f32d538 AP_Math: Comments on WGS coordinate conversions 2014-06-30 10:29:56 +10:00
Andrew Tridgell 1ed716976c GCS_MAVLink: regenerate mavlink headers 2014-06-30 08:25:16 +10:00
Andrew Chapman c6a76e8d97 CameraFeedback: added CAMERA_FEEDBACK_FLAGS for open/closed loop
This is so a GCS can tell if a certain picture was definitely captured
(e.g. with a CCB or machine vision cam) or only requested in the blink
(e.g. uni-directional CHDK)
2014-06-30 08:24:38 +10:00
Andrew Tridgell fd87f28a07 DataFlash: save some flash space on APM2
don't include log message headers that are not used on APM2
2014-06-30 07:58:42 +10:00
Andrew Tridgell e6d8e329d5 DataFlash: allow logging of 3 accels/gyros 2014-06-30 07:58:30 +10:00
Andrew Tridgell ca12592448 AP_InertialSensor: allow for 3 accels and 3 gyros on Pixhawk
this supports FMUv3
2014-06-30 07:58:27 +10:00
Andrew Tridgell ece01da10e AP_InertialSensor: fixed _dump_registers() for MPU6000
need to take the semaphore to prevent bus errors
2014-06-29 12:11:21 +10:00
lthall 4072fcd99e Inav: use horizontal body frame for accel corrections 2014-06-21 14:58:59 +09:00
Emile Castelnuovo 8f3a4bc88b VRBRAIN: correction to AP_Compass_VRBRAIN.cpp 2014-06-19 11:27:45 +02:00
Emile Castelnuovo 946a461873 VRBRAIN: added VRBRAIN to #if 2014-06-19 11:27:44 +02:00
LukeMike 8f552d5758 VRBRAIN: Changed the management of VirtualRobotix's boards. 2014-06-19 11:27:38 +02:00
Michael Oborne 30a3927ea8 AP_Mount: fix where status_msg() is sent
send to the channel where the trigger msg was sent from
2014-06-18 12:03:18 +10:00
svefro b473f8fd4d AP_RCMapper: Added warning to RCMAP_THROTTLE
Warning user that changing RCMAP_Throttle could be dangerous
2014-06-17 21:04:19 +10:00
Randy Mackay 9b81e46e61 AP_Common: add example sketch 2014-06-17 20:53:53 +10:00
Randy Mackay 2f7dee3ba5 AP_Mission: squeeze loiter turns radius into high byte of p1 2014-06-17 20:53:50 +10:00
Randy Mackay b79f729540 AP_Common: add LOWBYTE, HIGHBYTE macros 2014-06-17 20:53:47 +10:00
Randy Mackay fa16e0967f AP_Common: remove unused location mask definitions 2014-06-17 20:53:45 +10:00
Andrew Tridgell e2fe3d2de7 GCS_MAVLink: re-generate headers 2014-06-17 20:21:54 +10:00
Andrew Tridgell 0db226daf5 GCS_MAVLink: merge in upstream changes 2014-06-17 20:19:35 +10:00
Andrew Chapman 87fcfbf9dd GCS_MAVLink: re-generate MAVLink headers 2014-06-17 20:16:39 +10:00
Andrew Chapman 048767e389 GCS_MAVLink: camera feedback mavlink messages
CAMERA_EVENT and CAMERA_FEEDBACK messages, and a couple of enums they
use (CAMERA_EVENT_TYPES and CAMERA_FEEDBACK_FLAGS)

Adjusted some types and added more explicit descriptions of units as
suggested on the call last week.

I will add camera parameter list/get/set functionality as suggested
using the existing parameter mechanism and component IDs rather than
the new CAMERA_INFO messages I had proposed.
2014-06-17 20:15:20 +10:00
Randy Mackay 11e08e1492 DataFlash: common Log_Write_Camera
pair programmed with Craig Elder
2014-06-17 14:11:36 +10:00
Randy Mackay 0c9a496262 AC_AttControlHeli: add ATC_RATE_FF_ENAB parameter
Because this class inherits from AC_AttitudeControl library this new
parameter must be added here as well
2014-06-10 21:25:33 +09:00
Randy Mackay 46f25c52a4 AC_AttControl: allow enabling/disabling feedforward and accel limiting 2014-06-10 20:03:02 +09:00
Randy Mackay a2f54fdf2c AC_WPNav: smooth waypoint by freezing feed-forward and allowing overshoot
First part of this fix is freezing the position controller's xy-axis
feed foward as we transition to the new segment.
Second part is work-around for straight line segments in that we allow
the target point to actually overshoot the end of the segment by up to
2m if the segment is a "fast waypoint".  Ideally we would instead notice
the waypoint has been completed and take any left over time or distance
and move our target along the track towards the next waypoint but that
would require a much larger change to allow the wpnav lib to hold the
next two waypoints.
2014-06-10 20:03:01 +09:00
Randy Mackay ce85d1f6b2 AC_WPNav: use curr pos target as spline origin
We only use the current target position as origin if the waypoint
controller is active (i..e has been used in the past 1 second).  This is
consistent with how we initialise straight line waypoints
2014-06-10 20:02:59 +09:00
Randy Mackay 130eb07d48 AC_AttControl: angle_ef_roll_pitch_rate_ef_yaw supports zero yaw accel 2014-06-10 20:02:58 +09:00
Randy Mackay 02b4b21f67 AC_AttControl: disable feed forward by default
Can be re-enabled by setting ATC_RATE_FF_ENAB parameter to 1
2014-06-10 20:02:55 +09:00
Randy Mackay b57c0dabf6 AC_AttControl: check accel_rp_max instead of rate_bff_ff_enabled
We use the accel_rp_max, accel_y_max to check whether to apply accel
limiting or not.  This is related to separate from the
body-frame-feed-forward.
2014-06-10 20:02:54 +09:00
Randy Mackay 2bb30b3ef9 AC_AttControl: add set_yaw_target_to_current_heading method 2014-06-10 20:02:49 +09:00
Randy Mackay d9c966c927 AC_AttControl: RATE_FF_ENAB param to disable rate feed forward 2014-06-10 20:02:48 +09:00
Randy Mackay 4d4c7a2118 AC_AttControl: move freeze_ff to flags structure 2014-06-10 20:02:46 +09:00
Randy Mackay a662f87ffb AC_AttControl: remove resolved To-Do
This To-Do is resolved by heli flight modes calling the
relax_bf_rate_controller method
2014-06-10 20:02:45 +09:00
Randy Mackay 7f734f38d6 AC_AttControl: add earth frame angle constraints
This should help recovery time if pilot switches out of ACRO (into
Stabilize, AltHold, etc) while inverted
2014-06-10 20:02:43 +09:00
Randy Mackay 698cf934b8 AC_AttControl: formatting fixes 2014-06-10 20:02:42 +09:00
lthall 2bb63857fa AC_AttControl: clean up stabilize 2014-06-10 20:02:40 +09:00
lthall c24d293e1b AC_AttControl: zero _accel_xyz_max stops feed forward
Also added place holder for turning off feed forward.
2014-06-10 20:02:39 +09:00
lthall 8bbce7e658 AC_PosControl: freeze feed forward for alt control in Auto 2014-06-10 20:02:36 +09:00
lthall 922026c15c AC_AttControl: rate compensation for yaw 2014-06-10 20:02:34 +09:00
lthall 0d87298221 AC_PosControl: freeze feed forward and vector fixes 2014-06-10 20:02:33 +09:00
Randy Mackay 5209598459 AC_AttControl: rename init_targets to relax_bf_rate_controller 2014-06-10 20:02:27 +09:00
lthall 1bdde31f6b Copter: Fix zero throttle flip issue Stabilize
The problem is that the init_targets is intended to ensure the
controller doesn't build up the I term when the throttle is low. Because
it is poorly named (or used) it have been written to do something else.
Here I change it to do what the code is trying to use it to do.
2014-06-10 20:02:01 +09:00
Randy Mackay 915dad2da4 AC_Circle: use fast_atan2 to calc bearing from center
This does not save much time because it's only called at initialisation
2014-06-06 18:51:09 +09:00
Randy Mackay f23e94707c AC_WPNav: use fast_atan2 for bearing calcs 2014-06-06 18:51:08 +09:00
David Dewey 17374ff5e8 AP_Math: fast_atan2
This is 126us per call vs 199us on the AVR.  it is accurate to about
0.28 degrees

Committed by rmackay9 but contribution is from David Dewey
2014-06-06 18:50:41 +09:00
Ju1ien 28ce66f314 INav: clear historic z-axis position estimate when set_altitude called 2014-06-06 18:42:42 +09:00
Randy Mackay efd6d6dc70 AC_WPNav: spline div by zero fix
Also add check for straight line navigation to ensure speed is not
reduced below zero when it hits the leash limit
Also minor formatting changes
2014-06-05 22:23:38 +09:00
lthall 0912bec8f5 Spline div zero and leash limit fix 2014-06-05 22:23:35 +09:00
Andrew Tridgell f0df912a11 AP_Mission: added support for MAV_CMD_DO_INVERTED_FLIGHT 2014-06-05 15:44:18 +10:00
Andrew Tridgell ef4a79cc9a GCS_MAVLink: rebuild MAVLink headers 2014-06-05 15:44:03 +10:00
Andrew Tridgell 67937b5b79 GCS_MAVLink: added MAV_CMD_DO_INVERTED_FLIGHT
used to invert from a mission
2014-06-05 15:43:46 +10:00
Andrew Tridgell 5a1aa8dfe7 AP_L1_Control: implement turn_distance() with turn angle
uses a linear approximation for now.
2014-06-05 09:34:23 +10:00
Andrew Tridgell 7a6186f7e6 AP_Navigation: added a turn_distance() method with turn_angle 2014-06-05 09:33:42 +10:00
Andrew Tridgell 49f93b91b2 APM_OBC: fixed formatting to match APM coding standard 2014-06-02 10:47:02 +10:00
Andrew Tridgell e9e1799700 AP_Compass: fixed VRBrain build 2014-06-02 10:42:37 +10:00
Andrew Tridgell d554616e86 AP_EPM: fix for HAL_GPIO_* 2014-06-02 10:42:36 +10:00
Andrew Tridgell 3705c90b8e AP_Baro: fix for HAL_GPIO_* 2014-06-02 10:42:36 +10:00
Andrew Tridgell d70bee9249 AP_AHRS: fix for HAL_GPIO_* 2014-06-02 10:42:36 +10:00
Andrew Tridgell 0d83d4f4f5 APM_OBC: fix for HAL_GPIO_* 2014-06-02 10:42:36 +10:00
Andrew Tridgell 1e2214f8d1 DataFlash: fix for HAL_GPIO_* 2014-06-02 10:42:36 +10:00
Andrew Tridgell 732cd0e130 AP_Relay: fix for HAL_GPIO_* 2014-06-02 10:42:36 +10:00
Andrew Tridgell 50c08ced4c AP_Notify: fixes for HAL_GPIO_* 2014-06-02 10:42:35 +10:00
Andrew Tridgell 4c43cd9775 AP_InertialSensor: fixes for HAL_GPIO_* 2014-06-02 10:42:35 +10:00
Andrew Tridgell 805d79debe HAL_FLYMAPLE: fix for HAL_GPIO_* 2014-06-02 10:42:35 +10:00
Andrew Tridgell 3015356671 HAL_AVR: fixes for HAL_GPIO_ define change 2014-06-02 10:42:35 +10:00
Andrew Tridgell 18a64d17d3 AP_HAL: added HAL_ prefix to GPIO_ defines
this fixes a bug caused by GPIO_INPUT and GPIO_OUTPUT already being
defined in NuttX, which caused pinMode() not to setup pins for output
when requested
2014-06-02 09:24:52 +10:00
Andrew Tridgell fa4eb5475a HAL_PX4: implement analog input stop pins
this allows multiple sonars to cooperate without interference
2014-06-02 08:35:41 +10:00
Randy Mackay 2b0f142a17 AC_PosControl: fix typo in D-filter definition 2014-05-29 17:50:48 +09:00
Randy Mackay 7e3213edbf AC_AttControl: increase default accel max 2014-05-29 17:40:26 +09:00
Randy Mackay 29ca7a10df AC_PosControl: set alt hold accel control D term filter 2014-05-29 17:40:23 +09:00
Randy Mackay 0969e464fb AC_AttControl: set roll, pitch, yaw rate control D term filters 2014-05-29 17:40:17 +09:00
Randy Mackay faf3415e5e AC_PID: example sketch prints individual P, I and D values 2014-05-29 17:39:19 +09:00
Robert Lefebvre b35ec4339e AC_PID: Add method to set the D-term Filter Rate from main code. 2014-05-29 17:39:10 +09:00
Robert Lefebvre f1c3f2a3d1 AC_PID: Remove get_leaky_i function which is now found in AC_HELI_PID. 2014-05-29 17:39:08 +09:00
Robert Lefebvre 7c9249de93 AC_AttitudeControl_Heli: Change to use AC_HELI_PID class instead of AC_PID. Remove FF parameters from class. 2014-05-29 17:39:06 +09:00
Robert Lefebvre 6333b4bba6 AC_PID: update example sketch to test AC_HELI_PID 2014-05-29 17:39:01 +09:00
Robert Lefebvre ef7dc815cd AC_PID: Change Private members to Protected so that AC_HELI_PID can access them. 2014-05-29 17:38:59 +09:00
Robert Lefebvre 94e9bed9cf AC_PID: Add new AC_HELI_PID as a child of AC_PID 2014-05-29 17:38:57 +09:00
Andrew Tridgell 0b6407256c GCS_MAVLink: moved 3 more send_*() functions to GCS_Common.cpp 2014-05-28 09:35:30 +10:00
Andrew Tridgell 37c50d9587 HAL_PX4: fixed use of FMU servo pins as digital inputs
these pins can be PWM output or digital input or digital output
2014-05-25 22:03:44 +10:00
Andrew Tridgell 2d9e9d9bc3 AP_Compass: added COMPASS_PRIMARY parameter
this allows selection of which compass is the primary. Useful if the
first compass starts giving spurious data (as happened in our plane)
2014-05-25 22:03:44 +10:00
priseborough edc79ca2a4 AP_NavEKF: Increase divergence test margin based on analysis of more user flight logs
Analysis of copter logs has shown cases with a healthy EKF where spikes in EKF4.DS of up to 25% of the threshold have occurred.
A value of closer to 10% for normal operation is preferred.
2014-05-24 22:20:24 +10:00
Andrew Tridgell aba11a0634 AP_L1_Control: wrap the target_bearing 2014-05-23 07:30:58 +10:00
Randy Mackay cde7d31dad AC_WPNav: fix divide by zero when origin and dest are same location 2014-05-22 21:18:24 +09:00
Andrew Tridgell 63da53c842 GCS_MAVLink: moved main update() routine into GCS_Common.cpp
this fixes a common timeout error with loading large missions, and
means less per-vehicle code
2014-05-21 12:45:25 +10:00
Andrew Tridgell 42c1501563 AP_Common: moved map_baudrate() into AP_Common
this version supports a much wider range of baudrates
2014-05-21 12:45:25 +10:00
Andrew Tridgell 7d712f90bf APM_OBC: adjusted docs for FS_HB_PIN
thanks to Warren for the question
2014-05-21 12:45:25 +10:00
Randy Mackay 69ad632e2a GPS: correct NAVFILTER parameter description
These corrected values match the GPS_Engine_Setting enum in GPS.h
Thanks to Adolfo R for noticing the issue and providing the fix
2014-05-20 22:08:40 +09:00
Andrew Tridgell a7d6a26bec HAL_PX4: fixed auto-flow control
the 6 bytes written to break the radio out of bootloader broke
auto flowcontrol detection
2014-05-19 22:02:39 +10:00
Randy Mackay 597d5227f5 AC_WPNav: rename set_loiter_target to init_loiter_target 2014-05-19 12:27:25 +09:00
Randy Mackay e7b3c00767 AC_WPNav: set_loiter_target uses set_xy_target
Loiter is only a horizontal position controller so it should not set the
z-axis position.
Moved pos_control.set_speed and accel functions so order matches
init_loiter_targets function order
2014-05-19 12:27:20 +09:00
Ju1ien aed5787c1b AC_WPNav: bug fix for loiter init in Hybrid
AC_PosControl::init_xy_controller() has been added to PosControl and is
called by init_loiter_target.
Hybrid is currently using set_loiter_target function to init the loiter
controller. So we have to call init_xy_controller() by set_loiter_target
function.
What happens otherwise?
In AC_PosControl::update_xy_controller, we update "now" with
now = hal.scheduler->millis();
and, as _last_update_xy_ms has not been updated previously by
init_xy_controller(), we just call init_xy_controller().
So, _dt_xy  will be negative and used anyways in all the functions and
PID called by update_xy_controller.
That will avoid at least _accel_target.x/y to be set to 0 but I'm not
sure for the high values, probably an I_term that is not reset and
reached very high value.
Or maybe a cast error somewhere... no clue at all
2014-05-19 12:27:16 +09:00
priseborough 5fe0d2c1b2 AP_NavEKF: Add protection for accel bias estimation errors
Don't do bias estimation if tilted by more than 60 degrees to prevent scale
factor errors affecting result unnecessarily.
Prevent Kalman gain from having the wrong sign due to numerical errors
associated with small process noise values.
Allow smaller Z accel bias process noise values to be set
2014-05-18 08:09:00 +10:00
priseborough 3222e8f7cb AP_NavEKF: Default parameter adjustments
Bring Plane glitch protection thresholds into alignment with copter and
rover
Slight increase in accelerometer bias process noise to prevent bias
estimate divergence into limits (Rover and Plane only as Copter does not
seem respond as well to this change)
effective increase in threshold on divergence test to allow increased
margin for bad GPS velocities
2014-05-18 08:08:49 +10:00
Andrew Tridgell 65fd25fb5a AP_InertialSensor: fixed example build 2014-05-18 08:08:19 +10:00
Andrew Tridgell b99ae63cbb HAL_Linux: more generic fix for scheduler issues in example sketches
this ensures drivers can run
2014-05-16 22:40:38 +10:00
Andrew Tridgell 30f5e2c37f AP_GPS: work around scheduling issue in example code 2014-05-16 22:35:32 +10:00
priseborough e40e50e2e1 AP_NavEKF: Prevent start-up transients re-tripping divergence test 2014-05-16 22:05:22 +10:00
Andrew Tridgell 73976e2ca4 AP_GPS: fixed example build 2014-05-16 22:05:04 +10:00
Andrew Tridgell 8533aecf18 AP_InertialSensor: fixed example build 2014-05-16 21:24:25 +10:00
priseborough a19015ed61 AP_NavEKF: Scale divergence check with covariance
This provides consistent behaviour for a range of gyro bias process
noise settings and automatically adjusts sensitivity as filter learns bias
2014-05-16 21:24:25 +10:00
priseborough 0337d44b2e AP_NavEKF: Fix bug causing immediate clearing of diverged status on reset 2014-05-16 21:24:04 +10:00
priseborough d150904dc6 AP_NavEKF: Increase gyro bias process noise
This is required to stop the bias estimate from becoming too static
towards the end of longer flights.
2014-05-16 21:24:04 +10:00
Andrew Tridgell 49e7ee9ba7 GCS_MAVLink: added setup_uart() method
this provides a common way of dealing with UART setup for a GCS
instance. It includes code to cope with SiK radios stuck in bootloader
mode.
2014-05-16 11:44:33 +10:00
Andrew Tridgell b3c1e515dc AP_AHRS: when no accel info available in buffer use current value
this prevents an initialisation error, and is reasonable in flight too

Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2014-05-15 22:19:54 +10:00
Andrew Tridgell 315290029a AP_AHRS: fixed check of accel sensor health
we need to check health of each accelerometer separately
2014-05-15 22:18:56 +10:00
Andrew Tridgell 5edf4ba596 AP_NavEKF: fixed up handling of bitfields in faultStatus
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2014-05-15 21:42:39 +10:00
Andrew Tridgell 79edc4b467 GCS_MAVLink: re-generate with addition of MAV_SYS_STATUS_AHRS 2014-05-15 21:14:21 +10:00
Andrew Tridgell ccebeba5a5 GCS_MAVLink: added MAV_SYS_STATUS_AHRS
will be used to indicate AHRS health
2014-05-15 21:14:21 +10:00
priseborough f01cc78d37 DataFlash: Add EKF fault status logging 2014-05-15 21:14:21 +10:00
priseborough ce8e1daa16 AP_NavEKF: Improved divergence detection and reset
Divergence is now detected by looking for very large changes in the gyro
bias. This will cause the filter to be reset and declared unhealthy for
10 seconds.

Don't reset filterDiverged status immediately during reset

Set filterDiverged true if covariance blows up

Add fault status reporting
2014-05-15 21:14:21 +10:00
Andrew Tridgell 5d2d6e0063 GCS_MAVLink: regenerated MAVLink headers 2014-05-15 21:14:21 +10:00
Andrew Tridgell 983ac9cbf4 GCS_MAVLink: merge in latest upstream XML changes 2014-05-15 21:14:21 +10:00
Andrew Tridgell 1a05c27bbb AP_AHRS: added healthy() function
this will be used to report when the AHRS subsystem becomes unhealthy
2014-05-15 21:14:21 +10:00
Andrew Tridgell 086142580a AP_InertialSensor: added VibTest sketch
logs all accel data at high rate to SD card
2014-05-15 21:14:21 +10:00
Jonathan Challinger e883b889b6 SITL: Add compassmot interference 2014-05-15 21:14:20 +10:00
Randy Mackay 4ebde25a26 AP_Relay: add -1:Disabled to list of param values 2014-05-15 17:13:37 +09:00
Randy Mackay 5d20594fa4 AC_WPNav: bug fix for loiter and waypoint update rate
Thanks to EmileC for spotting this
2014-05-12 20:13:46 +09:00
Andrew Tridgell 85ebe81ed3 AP_NavEKF: fixed logic for divergence test
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2014-05-11 18:00:38 +10:00
priseborough 40dc0e56fe AP_NavEKF: Add protection for badly conditioned innovation variances 2014-05-11 18:00:38 +10:00
priseborough 925c5751bd AP_NavEKF: Add ability to inhibit in-flight mag cal and clean up moding
This will enable in-flight magnetometer calibration to be inhibited unconditionally,
This is required for long balloon carriage flights where ground speed can be high
enough to put it into in-air state, but with very poor observability of magnetic field
states causing bad state estimates and heading offsets to develop over time.

The covariance matrix no longer has rows and columns artificially zeroed when in static
mode. Instead booleans indicating whether wind or magentic field state estimation is
active are used to:

a) Set the process noise on these states to zero to stop their variances from increasing
unchecked when not being updated, and
b) Turn off updates for these states when measurement fusion is being performed.

This reduces the likelihood of a badly conditioned covariance matrix forming
during static mode operation.

A filter divergence check has also been added that will declare the filter unhealthy if
position, velocity and magnetic field observations are all failing their innovation
consistency checks. This unhealthy status will persist for 10 seconds after the
condition clears.

AP_NavEKF: Remove unnecessary zeroing of wind covariances
2014-05-11 18:00:38 +10:00
priseborough 3026ccee13 AP_NavEKF: Use baro data during launch transients whilst in static mode
Baro data can be used as it will still be valid during the launch and
is not a synthesised measurement.
2014-05-11 18:00:38 +10:00
Randy Mackay 05f5164dfa Mission: rename AUTORESET to RESTART 2014-05-09 11:31:37 +09:00
Hug0 6b0d5f9770 AP_InertialNav: fix pos error degradation rate
degrate position_error to 10% over 2 seconds (assumes 5hz update rate)
must be *0.7943 instead of 0.7934
2014-05-08 23:09:39 +09:00
Randy Mackay badc127c34 AC_WPNav: fix example sketch 2014-05-08 16:25:13 +09:00
Randy Mackay 9b6a4e0fc7 AC_Sprayer: fix example sketch 2014-05-08 16:25:11 +09:00
lthall 9ab9eaec25 AC_WPNav: Loiter jerk default to 10m/s/s/s
Pair programmed with Randy
2014-05-08 16:16:05 +09:00
Randy Mackay 1cb297580f Copter: reduce Circle init twitch by using stopping point 2014-05-08 16:15:57 +09:00
Randy Mackay 091ff91a70 WPNav: add wp_and_spline_init to set speeds an init pos controller 2014-05-08 16:15:50 +09:00
Randy Mackay c13db680b7 AC_PosControl: remove reset_I_xy
lean_angles_to_accel is now used to load the position rate I terms based
on vehicle's initial roll and pitch angle
2014-05-08 16:15:48 +09:00
Randy Mackay cd8b1f278c AC_PosControl: remove unused _cos_yaw variable
Also removed _sin_yaw, _cos_pitch, _step saving a total of 17bytes of
RAM
Also made get_speed_up, get_speed_down, lean_angles_to_accel functions
const
2014-05-08 16:15:46 +09:00
Randy Mackay 48ec0caf75 AC_WPNav: run navigation at 10hz in SITL 2014-05-08 16:15:44 +09:00
Randy Mackay 0819e05896 AC_PosControl: lean_angles_to_accel added for smooth initialisation
init_xy_controller also added to capture initialisation all in one place
2014-05-08 16:15:41 +09:00
lthall b38c484874 AC_WPNav: add LOIT_JERK parameter
Limit accel output from loiter controller.
Call new pos_control.init_xy_controller when loiter starts
Remove sudden stop when pilot requested acceleration is zero

Pair programmed with Randy
2014-05-08 16:15:38 +09:00
Randy Mackay 71fae1e6f2 AC_AttControl: lean_angle_max accessor fn const 2014-05-08 16:15:36 +09:00
Randy Mackay fd9f8f571f AC_WPNav: replace inav, ahrs pointers with references 2014-05-08 16:15:26 +09:00
lthall 21c93e48ab AC_PosControl: include vel error when get_stopping_point_z
Pair programmed with Randy
2014-05-08 16:15:24 +09:00
Randy Mackay a1f1dd8059 AC_PosControl: add is_active_z method
Consolidated z-axis timeout checks to save 4bytes of RAM
Added POS_CONTROL_ACTIVE_TIMEOUT_MS to make timeout consistent
2014-05-08 16:15:22 +09:00
Andrew Tridgell 74227cd7f0 AP_HAL: prevent some FastDelegate warnings 2014-05-08 11:11:03 +10:00
Andrew Tridgell a295760e56 AP_Rally: fixed indentation
previous indentation confused emacs24
2014-05-08 11:01:52 +10:00
Andrew Tridgell 4efcae46ab SITL: cope with more rubbish startup values from JSBSim 2014-05-04 17:30:10 +10:00
Andrew Tridgell 320834a5e7 HAL_PX4: read from FRAM in 128 byte chunks (2nd try)
this time without the amazingly silly bug
2014-05-02 22:12:45 +10:00
Andrew Tridgell db6b96caa0 Revert "HAL_PX4: read from FRAM in 128 byte chunks"
This reverts commit a92366c455.

This commit may be associated with FRAM corruption on Pixhawk. Revert
until we understand why
2014-05-02 21:52:26 +10:00
Andrew Tridgell a92366c455 HAL_PX4: read from FRAM in 128 byte chunks
this fixes FRAM read on Roberts Pixhawk. We don't know why yet.
2014-05-02 12:24:54 +10:00
Randy Mackay 937e9ea687 AC_PosControl: add set_target_to_stopping_point_xy method
Fixed bug in get_stopping_point_xy in which it would update Z-axis
target if vehicle was moving less than 10cm/s horizontally
2014-04-30 21:46:20 +09:00
Randy Mackay 7dd366d84e AC_WPNav: init_loiter sets speed, accel before calcing stopping distance
The stopping distance depends upon the speed and acceleration so these
must be updated first
2014-04-30 21:46:18 +09:00
Randy Mackay 0103ae2eb0 AC_WPNav: add WPNAV_ACCEL_Z
Allows configurable z-axis acceleration during missions
2014-04-30 21:46:12 +09:00
Randy Mackay 9f63de9b59 AC_PosControl: set_speed_z accepts positive descent speeds 2014-04-30 21:46:09 +09:00
Randy Mackay 510c9920a6 AC_WPNav: rename get_horizontal_velocity to get_speed_xy
This new method name is consistent with the equivalent in the
AC_PosControl class
2014-04-30 21:46:06 +09:00
Andrew Tridgell eb1fb63e57 APM_Control: added logging of parameter changes in AUTOTUNE
this will make it easier to analyse logs
2014-04-30 22:22:13 +10:00
Andrew Tridgell 871d0c0e44 APM_Control: moved the log structure to ArduPlane core
this allows it to work with old style .log files
2014-04-30 21:22:28 +10:00
Andrew Tridgell 4f250579db DataFlash: added LOG_ATRP_MSG define 2014-04-30 21:22:28 +10:00
priseborough 114bd56e2a AP_NavEKF: Fix display names in parameter list 2014-04-30 06:35:41 +10:00
Randy Mackay 5cc26569fc AP_Motors: fix example sketch 2014-04-29 20:46:34 +09:00
priseborough 5fefce5899 AP_NavEKF: Synthetic sideslip fusion numerical error protections 2014-04-29 17:26:45 +10:00
Jonathan Challinger 0bb7b8e938 AP_GPS: Fix bug that causes permanent lag if we miss a message 2014-04-29 15:35:46 +10:00
Randy Mackay 2be99d7a92 TriCopter: output_test for individual motors
Based on original work by Nils Hogberg
2014-04-29 11:41:16 +09:00
Randy Mackay 07766e55f9 SingleCopter: output_test for individual motors
Based on original work by Nils Hogberg
2014-04-29 11:41:14 +09:00
Randy Mackay 3610cfe24c TradHeli: output_test for individual motors
Based on original work by Nils Hogberg
2014-04-29 11:41:13 +09:00
Randy Mackay 8f74f5b3b0 CoaxCopter: output_test for individual motors
Based on original work by Nils Hogberg
2014-04-29 11:41:12 +09:00
Randy Mackay d63d82ec17 MotorMatrix: output_test for individual motors
Based on original work by Nils Hogberg
2014-04-29 11:41:10 +09:00
Vizual54 11d02ea5d2 AP_Motors: output_test for individual motors
Modified and integrated by Randy Mackay
2014-04-29 11:36:58 +09:00
Randy Mackay 6517638670 GCS_MAVLink: generate after adding DO_MOTOR_TEST 2014-04-29 11:23:07 +09:00
Randy Mackay 28846c6c99 GCS_MAVLink: add DO_MOTOR_TEST message 2014-04-29 11:23:04 +09:00
Andrew Tridgell 818e500509 AP_Mission: improve the AP_Mission docs
DisplayName isn't a description
2014-04-29 11:46:06 +10:00
Andrew Chapman 782fbe1ec5 AP_Mission: added reset() function 2014-04-29 11:46:06 +10:00
Andrew Chapman a80e72ff82 AP_Mission: added MIS_AUTORESTART parameter
- added MIS_AUTORESTART parameter, defaults to 0
- added start_or_resume() function to either start or resume a mission
based on that parameter value
2014-04-29 11:46:06 +10:00
Andrew Tridgell cf9b67d8fc GCS_MAVLink: prevent uninitialised bytes being written to a serial port 2014-04-27 15:34:30 +10:00
Randy Mackay e855cfec02 AC_Fence: add 10sec manual recovery
This resolves issue #461 by giving the pilot a minimum of 10 seconds to
attempt to manually recover before the autopilot will attempt to retake
control to bring the copter home or land.
2014-04-27 11:11:07 +09:00
Randy Mackay db51d37071 AC_WPNav: add clear_pilot_desired_acceleration
This allows quickly clearing out the pilot desired acceleration for
loiter contoller.
2014-04-25 14:45:14 +09:00
Randy Mackay 06bef6e3b8 Parachute: clear release time when enabled
This resolves an issue in which the parachute could be suddenly released
when the user enabled the parachute.  The sequence that could have
caused this bad behaviour were (1) the parachute is triggered (2) the
user disables the parachute in the 0.5sec between the trigger and the
actual release, (3) the user re-enables the parachute and the old
release time from (1) is used.
2014-04-24 19:22:11 +09:00
Randy Mackay ad99918fee AC_WPNav: recalc leash lengths if set_horizontal_velocity is called
Resolves bug in which do-set-speed allowed reducing the speed during the
mission but not increasing it.
Slow down distance is also recalculated.
Unnecessary call to calc_wp_leash_length removed from
set_spline_origin_and_destination.
2014-04-24 13:16:08 +09:00
Randy Mackay 46fba47c8e AC_WPNav: slow target point's speed near destination 2014-04-24 13:16:00 +09:00
priseborough ecc8e45eda AP_NavEKF: Fix bug in position reset logic 2014-04-23 18:16:02 +10:00
Andrew Tridgell b0fd94f18e AP_GPS: initialise a variable in uBlox driver 2014-04-23 18:15:53 +10:00
Randy Mackay 7c02a02bd8 AC_WPNav: reset_I flag moved to position controller 2014-04-23 15:00:14 +09:00
Randy Mackay 098f8169b0 AC_PosControl: add keep_xy_I_terms method
Stops horizontal PID's I terms from being reset when the controller is
next updated
2014-04-23 15:00:12 +09:00
Randy Mackay 4d5b73b968 AC_WPNav: add reset_I to set_loiter_target 2014-04-23 15:00:07 +09:00
Ju1ien 6c71569775 AC_PosControl: update_xy_controller allows not resetting I term 2014-04-23 14:59:49 +09:00
Ju1ien 5d0476e522 AC_WPNav: add reset_I to init_loiter_target 2014-04-23 14:59:47 +09:00
Randy Mackay 09a35cf90f AC_PosControl: bugfix for freezing I-term build-up 2014-04-23 11:33:53 +09:00
Randy Mackay 559a258ede AC_WPNav: bug fix to limit target point from moving beyond leash
Also pull Z-axis acceleration from position controller instead of using
#define
2014-04-22 23:05:11 +09:00
Randy Mackay 9c6995d8bb AC_PosControl: add get_accel_z method 2014-04-22 23:05:08 +09:00
Randy Mackay e565ee6d33 AC_PosControl: stop I term build-up when motors at max 2014-04-22 23:05:06 +09:00
Andrew Tridgell e10542dcae AP_Mission: added get_current_nav_index() function
this will return 0 when there is no current command, which is what is
expected in MAVLink when there is no mission

(it prevents the text to speech announcing "65 thousand 6 hundred and
thirty five", which is quite annoying!)
2014-04-22 11:40:18 +10:00
Michael Day 96173bfb8a AP_Rally: Added one getter method and made a utility method public. 2014-04-22 11:40:18 +10:00
Randy Mackay 0e065e4894 AP_InertialNav: get_velocity_xy const 2014-04-21 21:59:38 +09:00
Randy Mackay 6f6c9e2585 AC_PosControl: bug fix to vertical speed limit
Vehicle was not reaching target climb or descent rate because of
incorrectly defaulted acceleration
2014-04-21 21:36:02 +09:00
Andrew Tridgell 25667a11a0 AP_NavEKF: use AHRS vehicle class for sideslip calculation
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2014-04-21 18:13:12 +10:00
Andrew Tridgell 5acd17b843 AP_NavEKF: cleanup some build warnings
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2014-04-21 18:13:12 +10:00
Andrew Tridgell c8c6e05a4a AP_AHRS: added vehicle class to AHRS
used by EKF to control use of get_fly_forward()
2014-04-21 18:13:12 +10:00
priseborough bd28cdbdcf AP_NavEKF: Improved magnetometer consistency checks
A magnetometer axis that fails the innovation consistency check will cause
all axes not to be used. If this condition continues for 10 seconds, a
magnetometer timeout condition will be declared. When the timeout has
occurred, if it is not a fly forward vehicle, then individual channels
will be used again, but with a reduced weighting.
2014-04-21 16:31:31 +10:00
Randy Mackay 648787a6c8 AC_WPNav: rename some definitions 2014-04-21 15:06:29 +09:00
Randy Mackay 2167dd7d3e AC_WPNav: update target speed immediately 2014-04-21 14:51:26 +09:00
Andrew Tridgell 05bffb5915 HAL_SITL: enable use of SIM_FLOAT_EXCEPT parameter 2014-04-21 15:37:08 +10:00
Andrew Tridgell e0db7b117f SITL: added SIM_FLOAT_EXCEPT parameter
this enables checking for floating point exceptions
2014-04-21 15:37:08 +10:00
Andrew Tridgell 610a930612 AP_NavEKF: catch covarience errors and reset filter
this catches covariance values beyond a reasonable limit and resets
the filter is they happen
2014-04-21 15:37:08 +10:00
Andrew Tridgell 7e5a491f14 AP_Math: prevent a floating point exception 2014-04-21 15:37:08 +10:00
Andrew Tridgell 4d24a86088 AP_AHRS: prevent a infinity value 2014-04-21 15:37:07 +10:00
Randy Mackay d382fa51ee AC_WPNav: run loiter and wp nav at 50hz on Pixhawk 2014-04-21 13:32:02 +09:00
Randy Mackay 72d2712c4e AC_WPNav: integrate update_xy_controller name change 2014-04-21 13:31:58 +09:00
Randy Mackay 966340a02a Circle: integrate update_xy_controller name change 2014-04-21 13:31:57 +09:00
Randy Mackay 7e376bc517 PosControl: update_pos_controller renamed to update_xy_controller 2014-04-21 13:31:55 +09:00
Andrew Tridgell 4756dbee84 AP_NavEKF: fixed millisecond subtraction for rollover
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2014-04-21 13:16:20 +10:00
Andrew Tridgell be9d0c1c4d APM_OBC: setup termination values in PX4IO
this sets up the PX4IO board with failsafe values in case the FMU is
not running
2014-04-21 11:52:53 +10:00
Andrew Tridgell 0d4985079e RC_Channel: added support for LimitValue settings
this allows you to set a channel failsafe or radio_out to a limit
value
2014-04-21 11:52:41 +10:00
Andrew Tridgell 7f4178d967 RC_Channel: added setup_failsafe_trim_all() function
sets all channels to output trim values on FMU failure
2014-04-21 08:37:24 +10:00
Andrew Tridgell 5cd145a307 AP_HAL: added set_failsafe_pwm() API
this allows the PWM values for FMU firmware failure to be setup
2014-04-21 08:36:52 +10:00
Andrew Tridgell 7f9a9107c7 APM_Control: logging_started needs to be static
prevents writing log headers twice
2014-04-21 07:13:06 +10:00
Andrew Tridgell 68f1ae3036 AP_NavEKF: fixed some matlab ! -> ~ typos
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2014-04-20 21:44:37 +10:00
Andrew Tridgell 5a7afbf2cd AP_GPS: prevent writing GPS log headings multiple times 2014-04-20 21:44:14 +10:00
Randy Mackay e3ffd5c0dd Common: remove RallyLocation defintion 2014-04-19 15:00:28 +09:00
Randy Mackay 7011ab40c2 Rally: define RALLY_WP_SIZE and RallyLocation 2014-04-19 15:00:25 +09:00
Michael Day a2aab2ab5e AP_Rally: Minor fixes to AP_Rally after initial testing
- If a Rally point is being used, always respect the altitude set by the
user (don't take the max of that and the home point altitude).

- No need for constructor to pass in size of RallyLocation struct
2014-04-19 09:16:02 +10:00
Andrew Chapman 5825bac410 AP_Rally library 2014-04-19 09:15:59 +10:00
Randy Mackay 5322093475 Mission: fix example sketch after GPS lib changes 2014-04-17 16:41:38 +09:00
Andrew Tridgell b4c5f31b17 APM_Control: reduce the number of parameter saves in autotune
don't save a parameter unless it has changed by 0.1%
2014-04-17 17:20:40 +10:00
Paul Riseborough ccc7d36493 APM_Control: Modify D and I gain scaling 2014-04-17 17:11:48 +10:00
Randy Mackay 94d38ee294 AC_Circle: add get_closest_point_on_circle
init_start_angle method added to use current heading or position to
decide on initial start angle
2014-04-16 16:28:04 +09:00
Kevin Hester c2184cb8e4 PID: fixup line endings 2014-04-15 15:57:56 +09:00
Kevin Hester 72e97cbf5c AP_Param: fixup line endings 2014-04-15 15:57:47 +09:00
Kevin Hester a7820e6c71 OptFlow: fixup line endings 2014-04-15 15:57:33 +09:00
Kevin Hester fce1277b0e Notify: fixup line endings 2014-04-15 15:57:11 +09:00
Kevin Hester b7bed437c2 Compass: fixup line endings 2014-04-15 15:56:57 +09:00
Kevin Hester 80cb13e222 BattMon: fixup line endings 2014-04-15 15:56:43 +09:00
Kevin Hester d09e871319 AP_Airspeed: fixup line endings 2014-04-15 15:56:26 +09:00
Kevin Hester c34c4d79f6 AP_ADC: fixup line endings 2014-04-15 15:56:13 +09:00
Kevin Hester b7410494e3 AC_PID: fixup line endings 2014-04-15 15:55:59 +09:00
L. Preston Sego III 3ecdc4b741 Copter: Add support for V-Tail Quads 2014-04-14 14:54:02 +09:00
Randy Mackay 02775e8dc5 AC_PosControl: get_accel_target returns const ref 2014-04-14 11:34:14 +09:00
Randy Mackay 60f522a094 AC_WPNav: set_wp_destination to use current target
Previously we used the projected stopping point if the vehicle had not
reached the destination but this could lead to large jumps in target
position
2014-04-13 22:42:50 +09:00
Andrew Tridgell ae7293ef68 APM_Control: added support for AUTOTUNE_LEVEL
10 levels of tune, for what type of tune the user wants
2014-04-13 22:11:57 +10:00
Andrew Tridgell 86f167fc7f AP_Vehicle: added autotune_level to fixed wing parms 2014-04-13 22:11:28 +10:00
Andrew Tridgell b7350118a6 AP_AHRS: enable EKF wind estimate with no airspeed sensor
EKF can now estimate with IMU and GPS only

Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2014-04-13 19:42:49 +10:00
Andrew Tridgell 4abc2999a6 AP_NavEKF: start with a wind estimate of 3m/s, when no direct measurement
this will cope better with users with low roll/pitch gains, to ensure
they get enough control on takeoff

Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2014-04-13 19:42:23 +10:00
priseborough d745dc2b6f AP_NavEKF : Increased position gate default to reduce impact of accel errors
Flight testing with windup turns has shown that the position gate threshold
can be tripped with good GPS data causing position jerks. This increases the
initial GPS glitch rejection threshold to effectively 5m when using the
default POSNE_NOISE value of 0.5m.
2014-04-13 19:37:22 +10:00
priseborough 188bea6bab AP_NavEKF : Enable calc of wind velocity when not using airspeed sensing
This patch also cleans up the logic associated with use of the synthetic
sideslip measurement so that it can never be used for a non fly-forward
vehicle type

This patch adds functionality that initialises the wind-speed vector to the
reciprocal of the ground speed vector, and scaled to 6 m/s. On average this gives
a better initial wind velocity estimate on launch by assuming:

a) launch will be into wind
b) wind speed is equal to global average

It also helps prevent a headwind causing initial underestimation of airspeed
causing high autopilot gains and limit cycles on climb-out, until first
turn when the EKF is able to estimate the wind.
2014-04-13 19:37:19 +10:00
Andrew Tridgell df192a9efd AP_AutoTune: lower min tau to 0.2 2014-04-13 19:25:54 +10:00
Andrew Tridgell 3343af602e APM_Control: fixed saving of new rate gains 2014-04-13 15:35:52 +10:00
Andrew Tridgell b9a8ef3b51 APM_Control: fixed a bug in autotune servo saturation check
its in degrees not centi-degrees
2014-04-13 15:28:36 +10:00
Andrew Tridgell 64170d0f04 APM_Control: added dataflash logging to autotune 2014-04-12 18:21:50 +10:00
Andrew Tridgell 7f5eeabadc DataFlash: reserve a range of msg types for autotuning logs 2014-04-12 18:21:31 +10:00
Andrew Tridgell 50fc75917e APM_Control: first version of APM_Control autotuning
this adds autotune to the roll/pitch controllers using a very simple
mechanism. The plan is that this provides a framework which Paul and
Jon will build upon.
2014-04-12 14:11:33 +10:00
Andrew Tridgell 3b8839d2f7 AP_GPS: fixed num_sensors on APM2 2014-04-11 21:32:55 +10:00
Andrew Tridgell 7404fc9d40 SITL: added SIM_BARO_DISABLE parameter
useful for testing baro failure
2014-04-11 16:47:40 +10:00
Andrew Tridgell ad18019fb1 APM_OBC: added pressure altitude termination 2014-04-11 16:47:40 +10:00
Andrew Tridgell 41dd280739 AP_Baro: expose get_altitude_difference()
this is useful for pressure altitude calculations
2014-04-11 16:34:02 +10:00
Andrew Tridgell 8b9b4026f0 SITL: support -P option
this allows changing a parameter on initial startup
2014-04-11 12:28:32 +10:00
Michael Day 312a2fc8dc AP_TECS: Parameter TECS_LAND_SPDWGT allows custom landing speed weight. 2014-04-10 15:42:49 +10:00
Andrew Tridgell 95304e27c9 DataFlash: added separate logging of each GPS 2014-04-10 10:29:30 +10:00
Andrew Tridgell a821b0e198 AP_GPS: fixed a build warning
Debug() should not be exposed in public headers
2014-04-10 10:28:55 +10:00
Andrew Tridgell 27a3b5fb36 AP_AHRS: fixed wind reporting with EKF and no airspeed sensor
the EKF does not estimate wind without an airspeed sensor
2014-04-10 06:49:23 +10:00
Randy Mackay b78e59ea30 AP_Motors: add stability patch test to example sketch 2014-04-09 21:21:29 +09:00
Andrew Tridgell a15e4633b7 SITL: prevent wind effects at negative altitudes
this prevents crashes on takeoff with barometer noise
2014-04-09 15:28:14 +10:00
Andrew Tridgell 1ca6583df8 AP_BoardConfig: restore /dev/vroutput change from Emile
my mistake, sorry Emile!
2014-04-08 21:05:41 +10:00
Emile Castelnuovo 79996986ad VRBRAIN: corrected ADC pins for volt and current sensing. 2014-04-08 16:19:20 +10:00
Emile Castelnuovo 7fe4847b6c VRBRAIN: Added NuttX driver vroutput for PWM out
Modified script rc.APM to launch modules vrinput and vroutput
Modified startup scripts to run APM without SD
2014-04-08 16:19:20 +10:00
Emile Castelnuovo d1e4fbf267 AP_EPM: added #defines for VRBRAIN board 2014-04-08 16:19:20 +10:00
Emile Castelnuovo e8b9e9d53c AP_Airspeed: added #defines for VRBRAIN board 2014-04-08 16:19:20 +10:00
Emile Castelnuovo 69d2633465 AP_Relay: added #defines for VRBRAIN board 2014-04-08 16:19:19 +10:00
Emile Castelnuovo 25f1c5774f AP_NavEKF: added #defines for VRBRAIN board 2014-04-08 16:19:19 +10:00
Emile Castelnuovo 39d9e93904 AP_BoardConfig: added #defines for VRBRAIN board 2014-04-08 16:19:19 +10:00
Emile Castelnuovo 1d27e0d127 AP_BattMonitor: added #defines for VRBRAIN board 2014-04-08 16:19:19 +10:00
Emile Castelnuovo ab9a320187 DataFlash: added #ifdefs for VRBRAIN board 2014-04-08 16:19:19 +10:00
Emile Castelnuovo 06744ea7d2 AP_InertialSensor: new files and definitions for VRBRAIN board 2014-04-08 16:19:19 +10:00
Emile Castelnuovo 4ad83f3c8a AP_Notify: new files and definitions for VRBRAIN board 2014-04-08 16:19:19 +10:00
Emile Castelnuovo 1bc199c5bd AP_Compass: new files and definition for VRBRAIN board 2014-04-08 16:19:19 +10:00
Emile Castelnuovo 7b5c002d2f AP_Common: new board ID for VRBRAIN 2014-04-08 16:19:19 +10:00
Emile Castelnuovo f4784fe6a1 AP_Baro: new files for VRBRAIN board 2014-04-08 16:19:19 +10:00
Emile Castelnuovo 201332caef AP_HAL: New VRBRAIN board definition and libraries 2014-04-08 16:19:19 +10:00
priseborough db043744a4 AP_NavEKF : Reduce Z accel bias process noise to provide a more stable estimate 2014-04-07 21:08:25 +10:00
priseborough 1f8b5a6d23 AP_NavEKF : Tighten GPS velocity glitch gate default setting for plane 2014-04-07 21:08:15 +10:00
priseborough 0c2489b07b AP_NavEKF : Fix bug in logging of airspeed innovation consistency ratio 2014-04-07 21:01:00 +10:00
priseborough 95c83255d7 AP_NavEKF : adjust default values for accelerometer process noise
Slows down estimate and allows for smaller values to be set
2014-04-07 21:00:43 +10:00
Jonathan Challinger 9959a44453 AP_Motors: properly constrain thr_adj_max 2014-04-07 14:14:32 +09:00
Randy Mackay 3600bed47a Parachute: relay parameter description update 2014-04-07 13:37:14 +09:00
Randy Mackay 879d447404 Parachute: alt_min units to meters 2014-04-07 13:37:11 +09:00
Randy Mackay 50df95316a Parachute: initialise released variable 2014-04-07 13:37:09 +09:00
Randy Mackay 5876a2fe47 AC_AttControl: increase default rp accel to 900deg/s/s 2014-04-07 13:37:08 +09:00
Randy Mackay 95579229ed Parachute: add 0.5sec delay before parachute is released
This allows a short warning to the user through the new parachute_release tone
2014-04-07 13:37:05 +09:00
Randy Mackay 103772abe2 Parachute: add AP_Notify.h to example sketch 2014-04-07 13:37:04 +09:00
Randy Mackay a639df0256 Parachute: set AP_Notify parachute_release flag 2014-04-07 13:37:02 +09:00
Randy Mackay e3e7fc284d Notify: add parachute release tune for Pixhawk 2014-04-07 13:37:01 +09:00
Randy Mackay 699b84e8ca Parachute: minor comment changes 2014-04-07 13:36:58 +09:00
Randy Mackay d8f9a1c6c6 Mission: add support for MAV_CMD_DO_PARACHUTE 2014-04-07 13:36:55 +09:00
Randy Mackay a682f652d0 GCS_MAVLink: generate after MAV_CMD_DO_PARACHUTE added 2014-04-07 13:36:53 +09:00
Randy Mackay cec7574465 GCS_MAVLink: add MAV_CMD_DO_PARACHUTE 2014-04-07 13:36:52 +09:00
Randy Mackay b478c3a321 AC_AttControl: return angle_ef_targets as const ref 2014-04-07 13:36:49 +09:00
Randy Mackay d4cb51d8f7 AP_Parachute: add example sketch
Only tests that the lib compiles
2014-04-07 13:36:37 +09:00
Randy Mackay 8600b9d4f1 RC_Channel: add parachute_release to function enum 2014-04-07 13:36:33 +09:00
Randy Mackay 9d807802cc Parachute: initial draft library 2014-04-07 13:36:25 +09:00
Andrew Tridgell efdb678e00 AP_Motors: fixed example build 2014-04-07 11:55:56 +10:00
Andrew Tridgell f4cbec0ce1 APM_OBC: removed unused example code 2014-04-07 11:55:46 +10:00
Andrew Tridgell cc212be41e AP_Mission: added get_next_ground_course_cd() API
this gives the ground course of the next navigation leg, which can be
used to calculate the amount of steering required
2014-04-07 09:29:54 +10:00
Andrew Tridgell e566802bf3 AP_Math: fixed example build 2014-04-07 07:37:34 +10:00
Andrew Tridgell 6f55dc1686 APM_OBC: update for AP_Mission and AP_GPS changes 2014-04-07 07:28:21 +10:00
Andrew Tridgell 43ebd86bb1 AP_GPS: disable SBP driver on APM2
the driver uses double precision floating point, which can't work on
8bit AVR with gcc
2014-04-05 21:47:46 +11:00
Andrew Tridgell 5a585b90e8 AP_GPS: fixed some warnings in SBP driver 2014-04-05 14:18:01 +11:00
Niels Joubert 33576dfdd9 AP_GPS: Swift Binary Protocol SINGLE-POINT-POSITIONING Driver
This is the SBP driver for Piksi, Lodestar and other forthcoming Swift Navigation GPSes.
This driver currently implements three things:
- Implements a lightweight SBP protocol detection system
- Implements Piksi as a single-point-positioning GPS (same as ublox/others)
- Implements hardware logging of GPS health and baseline messages

Forthcoming iin future updates:
- Need to implement the RTK functionality
2014-04-05 13:42:23 +11:00
Niels Joubert e32b73f075 AP_HAL_AVR_SITL: Adding Swift Binary Protocol stand-alone simulator 2014-04-05 13:42:23 +11:00
Niels Joubert 00064ac883 SITL: Adding GPS types for Swift Binary Protocol 2014-04-05 13:42:23 +11:00
Niels Joubert 879eb5936b AP_MATH: Adding WGS GPS conversions, CRC16 checks, and double-precision Vectors and Matrices 2014-04-05 13:42:23 +11:00
Niels Joubert 161b5f99b3 SITL: Adding Swift Binary Protocol GPS type 2014-04-05 13:42:23 +11:00
Niels Joubert 552f33b39e AP_GPS: Support fix types of DGPS and RTK 2014-04-05 13:42:23 +11:00
Niels Joubert 64d4a1236f AP_Notify: Support all GPS status flags, with status >= GPS_OK_FIX_3D notified as having a lock 2014-04-05 13:42:23 +11:00
Andrew Tridgell 67ed5b73ef AP_GPS: added lock_port() interface
used by SERIAL_CONTROL message
2014-04-05 07:34:33 +11:00
Andrew Tridgell b8675b9abc GCS_MAVLink: implement SERIAL_CONTROL MAVLink message 2014-04-05 07:34:33 +11:00
Andrew Tridgell 493c5dd63f GCS_MAVLink: rebuild MAVLink headers 2014-04-04 21:57:22 +11:00
Andrew Tridgell 14b3696959 GCS_MAVLink: added SERIAL_CONTROL message definition
will be used for on-board radio and GPS firmware update and control
over USB
2014-04-04 21:57:22 +11:00
Andrew Tridgell 07d621c4be AP_NavEKF: used state structure in more places
makes the code a bit easier to read

Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2014-04-04 21:30:16 +11:00
priseborough aa5335b16e AP_NavEKF : Improved GPS position glitch handling
When using GPS after previously rejecting it, the GPS position will
always be offset if outside the specified glitch radius. This was the
original intent of the design and makes handling of glitches smoother.

It has been tested on replay using glitchy flight data
2014-04-04 21:01:22 +11:00
priseborough b1786cf1e5 AP_NavEKF : Do not reset on GPS velocity timeout if good position data 2014-04-04 21:01:20 +11:00
priseborough d25883f712 AP_NavEKF : Limit rate of Z accel bias adaptation
Aliasing can causes the bias estimate to fluctuate very rapidly as it tries
to keep up, which degrades the benefit of switching between
accelerometers to avoid aliasing.

This patch give a much more stable bias estimate during aliasing, and
allows the bias to adapt at a maximum rate of 1.0 m/s2 in 50 seconds
2014-04-04 21:01:18 +11:00
priseborough 36b3cbc365 AP_NavEKF : Relax aliasing check limits
This reduces the chance of noisy data inhibiting GPS glitch protection
2014-04-04 21:01:15 +11:00
priseborough 0ae736c3a0 AP_NavEKF : clean up convoluted logic used in sensor health checks
This doesn't change the behavior, but does make the code easier to
understand
2014-04-04 21:01:13 +11:00
Andrew Tridgell 013aaf4d3e GCS_MAVLink: moved comms functions to not be inline
saves a bit of flash space
2014-04-04 13:19:15 +11:00
Andrew Tridgell d9d038345a AP_GPS: save 800 bytes of code space on APM2
we can assume a single GPS
2014-04-04 10:08:28 +11:00
Andrew Tridgell 9f857529ca AP_GPS: auto-switch primary GPS based on status and number of satellites 2014-04-04 08:32:34 +11:00
Andrew Tridgell 11f196318e RC_Channel: added static functions to simplify operations on all channels
this avoids vehicle code having to loop over all channels for common
operations
2014-04-03 12:18:56 +11:00
Andrew Tridgell 21c205a57e AP_GPS: cope with different MON-HW message size in u-Blox Neo7 2014-04-03 10:55:05 +11:00
Andrew Tridgell cd3038fabd AP_NavEKF: fixed return of offset in getVariances() 2014-04-03 07:49:06 +11:00