Commit Graph

2169 Commits

Author SHA1 Message Date
uncrustify cdb6c60799 uncrustify libraries/AP_LeadFilter/AP_LeadFilter.cpp 2012-08-21 19:03:15 -07:00
uncrustify 966c0a0d1c uncrustify libraries/AP_LeadFilter/examples/AP_LeadFilter/AP_LeadFilter.pde 2012-08-21 19:03:14 -07:00
uncrustify ad51ac5e11 uncrustify libraries/AP_InertialSensor/AP_InertialSensor_MPU6000.h 2012-08-21 19:03:14 -07:00
uncrustify 323ab9acf4 uncrustify libraries/AP_InertialSensor/AP_InertialSensor_Oilpan.h 2012-08-21 19:03:14 -07:00
uncrustify 8e5a031987 uncrustify libraries/AP_InertialSensor/AP_InertialSensor_Stub.h 2012-08-21 19:03:14 -07:00
uncrustify ac3960b3e7 uncrustify libraries/AP_InertialSensor/AP_InertialSensor.h 2012-08-21 19:03:14 -07:00
uncrustify e6c2616769 uncrustify libraries/AP_InertialSensor/AP_InertialSensor_MPU6000.cpp 2012-08-21 19:03:14 -07:00
uncrustify 77729b847f uncrustify libraries/AP_InertialSensor/AP_InertialSensor_Oilpan.cpp 2012-08-21 19:03:14 -07:00
uncrustify 0c322fb18a uncrustify libraries/AP_InertialSensor/AP_InertialSensor_Stub.cpp 2012-08-21 19:03:14 -07:00
uncrustify 25eaeff6a8 uncrustify libraries/AP_InertialSensor/examples/MPU6000/MPU6000.pde 2012-08-21 19:03:14 -07:00
uncrustify c8ff85a598 uncrustify libraries/AP_IMU/AP_IMU_Shim.h 2012-08-21 19:03:13 -07:00
uncrustify 7f57d462d0 uncrustify libraries/AP_IMU/AP_IMU_INS.h 2012-08-21 19:03:13 -07:00
uncrustify 5601c52c46 uncrustify libraries/AP_IMU/IMU.h 2012-08-21 19:03:13 -07:00
uncrustify 5a2ec6843e uncrustify libraries/AP_IMU/AP_IMU_INS.cpp 2012-08-21 19:03:13 -07:00
uncrustify a5ed2f9a53 uncrustify libraries/AP_IMU/IMU.cpp 2012-08-21 19:03:13 -07:00
uncrustify 849c492a5d uncrustify libraries/AP_IMU/examples/IMU_Oilpan_test/IMU_Oilpan_test.pde 2012-08-21 19:03:13 -07:00
uncrustify 8e00b6d0a9 uncrustify libraries/AP_IMU/examples/IMU_MPU6000_test/IMU_MPU6000_test.pde 2012-08-21 19:03:13 -07:00
uncrustify d8200a6aea uncrustify libraries/AP_GPS/AP_GPS_HIL.h 2012-08-21 19:03:13 -07:00
uncrustify 8ad83695b8 uncrustify libraries/AP_GPS/AP_GPS_MTK16.h 2012-08-21 19:03:02 -07:00
uncrustify a91687f1cb uncrustify libraries/AP_GPS/AP_GPS_None.h 2012-08-21 19:03:02 -07:00
uncrustify c95fc7b166 uncrustify libraries/AP_GPS/AP_GPS_406.h 2012-08-21 19:02:53 -07:00
uncrustify 65f55328e2 uncrustify libraries/AP_GPS/AP_GPS.h 2012-08-21 19:02:53 -07:00
uncrustify 4950bf3b95 uncrustify libraries/AP_GPS/AP_GPS_UBLOX.h 2012-08-21 19:02:46 -07:00
uncrustify a8ad5f62a5 uncrustify libraries/AP_GPS/AP_GPS_MTK.h 2012-08-21 19:02:40 -07:00
uncrustify 9b3081345e uncrustify libraries/AP_GPS/AP_GPS_Auto.h 2012-08-21 19:02:40 -07:00
uncrustify a133b098a5 uncrustify libraries/AP_GPS/AP_GPS_SIRF.h 2012-08-21 19:02:40 -07:00
uncrustify 5c24c373d0 uncrustify libraries/AP_GPS/AP_GPS_Shim.h 2012-08-21 19:02:40 -07:00
uncrustify cdaf2f923d uncrustify libraries/AP_GPS/GPS.cpp 2012-08-21 19:02:32 -07:00
uncrustify c5451b0e9b uncrustify libraries/AP_GPS/AP_GPS_HIL.cpp 2012-08-21 19:02:12 -07:00
uncrustify b9d3f449b9 uncrustify libraries/AP_GPS/AP_GPS_Auto.cpp 2012-08-21 19:02:11 -07:00
uncrustify 9e43a9d090 uncrustify libraries/AP_GPS/examples/GPS_MTK_test/GPS_MTK_test.pde 2012-08-21 19:01:35 -07:00
uncrustify 0f5aff35fc uncrustify libraries/AP_GPS/examples/GPS_NMEA_test/GPS_NMEA_test.pde 2012-08-21 19:01:35 -07:00
uncrustify 1e8ea08bce uncrustify libraries/AP_GPS/examples/GPS_AUTO_test/GPS_AUTO_test.pde 2012-08-21 19:01:34 -07:00
uncrustify 9f2d71e544 uncrustify libraries/AP_GPS/examples/GPS_UBLOX_test/GPS_UBLOX_test.pde 2012-08-21 19:01:34 -07:00
uncrustify 12b5e53ce7 uncrustify libraries/AP_GPS/examples/GPS_406_test/GPS_406_test.pde 2012-08-21 19:01:34 -07:00
uncrustify d6d51e4116 uncrustify libraries/AP_Declination/AP_Declination.h 2012-08-21 19:01:34 -07:00
uncrustify bcfff533f0 uncrustify libraries/AP_Declination/AP_Declination.cpp 2012-08-21 19:01:34 -07:00
uncrustify 6f4533c8a8 uncrustify libraries/AP_Declination/examples/AP_Declination_test/AP_Declination_test.pde 2012-08-21 19:01:34 -07:00
uncrustify 6bc9c5707f uncrustify libraries/AP_Compass/AP_Compass_HMC5843.h 2012-08-21 19:01:34 -07:00
uncrustify f534730fab uncrustify libraries/AP_Compass/AP_Compass_HIL.h 2012-08-21 19:01:21 -07:00
uncrustify 4f9c6bbb19 uncrustify libraries/AP_Compass/AP_Compass_HMC5843.cpp 2012-08-21 19:01:20 -07:00
uncrustify 7840eebaef uncrustify libraries/AP_Compass/Compass.cpp 2012-08-21 19:01:20 -07:00
uncrustify d1190e1ed4 uncrustify libraries/AP_Compass/AP_Compass_HIL.cpp 2012-08-21 19:01:20 -07:00
uncrustify 53ef9e8b9e uncrustify libraries/AP_Compass/examples/AP_Compass_test/AP_Compass_test.pde 2012-08-21 19:01:20 -07:00
uncrustify 4b60e53736 uncrustify libraries/AP_Common/AP_Loop.h 2012-08-21 19:01:03 -07:00
uncrustify 7d438cd65d uncrustify libraries/AP_Common/include/menu.h 2012-08-21 19:01:02 -07:00
uncrustify 6bb8e4e8ac uncrustify libraries/AP_Common/AP_Common.h 2012-08-21 19:01:02 -07:00
uncrustify 0c99546f45 uncrustify libraries/AP_Common/AP_MetaClass.h 2012-08-21 19:01:02 -07:00
uncrustify e79d9adea0 uncrustify libraries/AP_Common/c++.h 2012-08-21 19:00:52 -07:00
uncrustify 3a26b94af2 uncrustify libraries/AP_Common/tools/eedump.c 2012-08-21 19:00:51 -07:00
uncrustify 4a50e56a48 uncrustify libraries/AP_Common/tools/eedump_apparam.c 2012-08-21 19:00:51 -07:00
uncrustify 3e4507a4a2 uncrustify libraries/AP_Common/menu.cpp 2012-08-21 19:00:51 -07:00
uncrustify 09c4f76b57 uncrustify libraries/AP_Common/AP_Param.cpp 2012-08-21 19:00:51 -07:00
uncrustify c18e73a54d uncrustify libraries/AP_Common/c++.cpp 2012-08-21 19:00:51 -07:00
uncrustify ca476e5851 uncrustify libraries/AP_Common/examples/menu/menu.pde 2012-08-21 19:00:51 -07:00
Pat Hickey 42e24a869f uncrustify libraries/AP_Common/AP_Param.h with fixups by hand 2012-08-21 19:00:51 -07:00
uncrustify 6f09714618 uncrustify libraries/AP_Camera/AP_Camera.h 2012-08-21 19:00:51 -07:00
uncrustify 30107b9665 uncrustify libraries/AP_Camera/AP_Camera.cpp 2012-08-21 19:00:51 -07:00
uncrustify fa90f0b80f uncrustify libraries/AP_Baro/AP_Baro.h 2012-08-21 19:00:51 -07:00
uncrustify 1196285266 uncrustify libraries/AP_Baro/AP_Baro_MS5611.h 2012-08-21 19:00:50 -07:00
uncrustify cfcef93e16 uncrustify libraries/AP_Baro/AP_Baro_BMP085.h 2012-08-21 19:00:50 -07:00
uncrustify 5a99d6b697 uncrustify libraries/AP_Baro/AP_Baro_BMP085.cpp 2012-08-21 19:00:18 -07:00
uncrustify b0003c020f uncrustify libraries/AP_Baro/AP_Baro_MS5611.cpp 2012-08-21 19:00:18 -07:00
uncrustify b39411e8d4 uncrustify libraries/AP_Baro/AP_Baro_BMP085_hil.cpp 2012-08-21 19:00:18 -07:00
uncrustify 6f02a645c3 uncrustify libraries/AP_Baro/AP_Baro.cpp 2012-08-21 19:00:18 -07:00
uncrustify 12497c51b5 uncrustify libraries/AP_Baro/examples/AP_Baro_MS5611_test/AP_Baro_MS5611_test.pde 2012-08-21 19:00:18 -07:00
uncrustify fce9044fb4 uncrustify libraries/AP_Baro/examples/AP_Baro_BMP085_test/AP_Baro_BMP085_test.pde 2012-08-21 19:00:17 -07:00
uncrustify 4a7e79b3ac uncrustify libraries/AP_AnalogSource/AnalogSource.h 2012-08-21 19:00:17 -07:00
uncrustify 46eeaffdf1 uncrustify libraries/AP_AnalogSource/AP_AnalogSource_Arduino.h 2012-08-21 19:00:17 -07:00
uncrustify d7fe646829 uncrustify libraries/AP_AnalogSource/AP_AnalogSource_ADC.h 2012-08-21 19:00:17 -07:00
uncrustify 3c1a4b249a uncrustify libraries/AP_AnalogSource/AP_AnalogSource_Arduino.cpp 2012-08-21 19:00:17 -07:00
uncrustify e9b5e28b40 uncrustify libraries/AP_AnalogSource/examples/AnalogSource_Arduino/AnalogSource_Arduino.pde 2012-08-21 19:00:17 -07:00
uncrustify 90419ad834 uncrustify libraries/AP_Airspeed/AP_Airspeed.h 2012-08-21 19:00:17 -07:00
uncrustify 37c79f5501 uncrustify libraries/AP_Airspeed/AP_Airspeed.cpp 2012-08-21 19:00:17 -07:00
uncrustify 3c2873b4f5 uncrustify libraries/AP_Airspeed/examples/Airspeed/Airspeed.pde 2012-08-21 19:00:17 -07:00
uncrustify d6d7606c84 uncrustify libraries/AP_AHRS/AP_AHRS_HIL.cpp 2012-08-21 18:59:34 -07:00
uncrustify 9e4e08699d uncrustify libraries/AP_AHRS/AP_AHRS_MPU6000.cpp 2012-08-21 18:59:34 -07:00
uncrustify 6327305116 uncrustify libraries/AP_AHRS/examples/AHRS_Test/AHRS_Test.pde 2012-08-21 18:59:13 -07:00
uncrustify fc11f7e3f0 uncrustify libraries/AP_ADC/AP_ADC_HIL.h 2012-08-21 18:59:13 -07:00
uncrustify f302ee3d7f uncrustify libraries/AP_ADC/AP_ADC.h 2012-08-21 18:59:13 -07:00
uncrustify 44941072dc uncrustify libraries/AP_ADC/AP_ADC_ADS7844.h 2012-08-21 18:59:13 -07:00
uncrustify 149e222e6a uncrustify libraries/AP_ADC/AP_ADC_HIL.cpp 2012-08-21 18:59:13 -07:00
uncrustify 7b41104d7e uncrustify libraries/AP_ADC/AP_ADC.cpp 2012-08-21 18:59:13 -07:00
uncrustify 79b370cf1d uncrustify libraries/AP_ADC/AP_ADC_ADS7844.cpp 2012-08-21 18:59:13 -07:00
uncrustify 796d23277c uncrustify libraries/AP_ADC/examples/AP_ADC_test/AP_ADC_test.pde 2012-08-21 18:59:13 -07:00
uncrustify 6c5757e775 uncrustify libraries/AC_PID/AC_PID.h 2012-08-21 18:59:13 -07:00
uncrustify fc9f1a8216 uncrustify libraries/AC_PID/AC_PID.cpp 2012-08-21 18:59:13 -07:00
uncrustify 7c4f980638 uncrustify libraries/AC_PID/examples/AC_PID_test/AC_PID_test.pde 2012-08-21 18:59:13 -07:00
Andrew Tridgell 6d28b3519f AHRS: removed AP_AHRS_Quaternion
this AHRS backend is causing compiler errors with the Arduino build
environment on windows. The quaternion AHRS backend is currently not
being developed/supported anyway. We can resurrect it if someone wants
to start developing it again.
2012-08-22 10:41:31 +10:00
Andrew Tridgell ddf9541c0a AP_GPS: fixed build of new MTK code 2012-08-22 10:02:21 +10:00
Craig Elder 2493ffaad1 GPS: Corrections to Media Tek GPS Driver. Change to 5Hz and SBAS 2012-08-22 09:56:25 +10:00
Robert Lefebvre 575b99b4be TradHeli: Creating Flybar Acro mode. 2012-08-21 16:54:01 -04:00
Andrew Tridgell 2985de279f AHRS: fixed duplicate gps_use variable in DCM 2012-08-21 20:17:03 +10:00
Andrew Tridgell 134cd51d17 AHRS: moved var_info[] into top level AP_AHRS class 2012-08-21 15:58:09 +10:00
Andrew Tridgell ac72db8f00 AHRS: added set_fast_gains() method
this will be used by arducopter on the ground
2012-08-21 15:38:06 +10:00
Robert Lefebvre bf6c934c32 Changing TradHeli param motors.acro_mode to motors.flybar_mode to better reflect it's intent. 2012-08-20 23:13:50 -04:00
Robert Lefebvre e6b5af7143 Adding new Trad Heli parameters. 2012-08-20 16:45:19 -04:00
rmackay9 9b3ced93ee AP_Compass: fix for mismatching set_initial_location parameters (forgot to change long to int32_t in .cpp file) 2012-08-18 20:41:38 +09:00
rmackay9 c10d01f24b AP_GPS: revert delay callback to be "unsigned long" 2012-08-18 20:33:45 +09:00
rmackay9 2b24e422de DataFlash: revert delay callbacks to use "unsigned long" 2012-08-18 20:28:31 +09:00
rmackay9 20cb2e56a0 DataFlash: change "unsigned long" to "uint32_t" in callback functions 2012-08-18 19:22:14 +09:00
rmackay9 94552b57a7 DataFlash: replaced "int" with "int16_t" 2012-08-18 18:31:20 +09:00
rmackay9 976679208c AP_Common: change a few more "int" to "int16_t" 2012-08-18 18:05:18 +09:00
rmackay9 71f12fbc9b AP_Compass: replace "long" with "int32_t" 2012-08-18 16:58:16 +09:00
rmackay9 8a29f47ce0 AP_GPS: replaced "int" with "int16_t" and "long" with "int32_t" 2012-08-18 16:35:38 +09:00
Andrew Tridgell c9ba693e1f AP_Baro: the HIL baro needs to inherit calibrate() from the parent class
this was what caused the renorm errors
2012-08-18 16:32:23 +10:00
Andrew Tridgell 14cdbd36cb AHRS: check for bad values in the error before they can affect DCM
this should fix the DCM renorm errors in autotest, probably caused by
bad climb rates
2012-08-18 13:54:11 +10:00
Andrew Tridgell 81cd4b6c13 Filter: ensure the derivative filter never returns an invalid number 2012-08-18 13:54:11 +10:00
rmackay9 2e77691ca1 AP_Limits: change order of initialisation of class variables to remove compiler warnings. 2012-08-18 12:51:32 +09:00
Michael Oborne bcceedffab Fix Airspeed use use 2012-08-18 08:30:15 +08:00
Andrew Tridgell d9cc967508 AHRS: force an extra read of the compass on startup
the first read from the compass can be bad. This ensures we have a
good value when getting the initial AHRS yaw.

Thanks to Randy and Jason for the bug report!
2012-08-17 17:57:39 +10:00
Andrew Tridgell e171720608 DataFlash: fixed SITL build 2012-08-17 16:27:19 +10:00
Andrew Tridgell 34a1297842 SITL: added SIM_ENGINE_MUL
this allows for simulated engine failures
2012-08-17 14:22:08 +10:00
Jason Short bd91215770 Dataflash fix for missing card error 2012-08-16 15:37:28 -07:00
Andrew Tridgell 82954f823b SITL: make abs() 16 bit in SITL
this will help us find abs() bugs in autotest
2012-08-16 15:18:17 +10:00
Andrew Tridgell 6300fa7399 math: more abs() fixes
abs() is 16 bit
2012-08-16 15:17:42 +10:00
Jason Short a66e43aff1 Location Lib : Abs was overflowing causing bad comparison 2012-08-15 22:01:51 -07:00
Jason Short ff38dadd00 Location Lib. Potential fix for bad angle and distance calcs.
last_lat changed to int32_t since it can be negative.
2012-08-15 21:36:55 -07:00
Jason Short 3ca57ac105 DataFlash : Removed Chip Erase - relying on Block erase only 2012-08-15 21:04:24 -07:00
Jason Short ce2a608706 Dataflash Logs : Fixed block erase on APM2
Byte order for 512 vs 528 was reversed.
2012-08-15 21:04:24 -07:00
Andrew Tridgell 034fb5b194 APM: fixed hil build 2012-08-16 12:53:37 +10:00
Andrew Tridgell 73dcbc24c3 Quaternion: we no longer support acceleration in the GPS driver
remove the linear acceleration compensation code
2012-08-15 20:07:53 +10:00
Andrew Tridgell 2d47bd0386 GPS: support getting raw velocity values from a UBlox
this may give better velocity numbers than the value from COG
2012-08-15 20:06:35 +10:00
Andrew Tridgell 47be6d8ad1 AP_Airspeed: remove airspeed filter and run at 10Hz
this saves on the filter memory, and gives just as good a result
2012-08-15 12:39:35 +10:00
Andrew Tridgell a4b1b9f0a4 AP_AnalogSource: make read_average() return a float
this allows it to take advantage of better than 1 bit resolution by
averaging
2012-08-15 12:39:35 +10:00
Andrew Tridgell 299711f4a9 MAVLink: added FENCE_ACTION_REPORT 2012-08-15 12:39:35 +10:00
Andrew Tridgell 9b4b7997b6 AHRS: added ahrs.yaw_initialised()
this allows the high level code to know if the AHRS driver has a
reliable yaw estimate
2012-08-15 12:39:34 +10:00
Andrew Tridgell 2865434d02 APM: added 'OBC' failsafe module for ArduPlane
this adds FS_* parameters for setting up APM to follow the outback
challenge failsafe rules.

This includes:

 - manual pin
 - heartbeat pin
 - waypoint for heartbeat failure
 - waypoint for GPS failure
2012-08-15 12:39:34 +10:00
Pat Hickey 99e96031f2 APM_RC_APM2: updated comments for clarity 2012-08-13 15:34:17 -07:00
rmackay9 cf943255a5 AP_RC_Channel: deleted this library as nobody seems to be using it.
Everyone is using RC_Channel instead which includes parameters.
2012-08-13 16:36:10 +09:00
rmackay9 35e7a6e018 GPS_IMU: deleted this empty library as nobody seems to be using it. 2012-08-13 16:35:29 +09:00
rmackay9 59cb6e5dba Waypoints: deleted this library as nobody seems to be using it. 2012-08-13 16:35:08 +09:00
rmackay9 62c3ea9ea1 Trig_LUT: deleted this library as nobody seems to be using it 2012-08-13 16:34:50 +09:00
rmackay9 004c8bd5ed AP_EEPROMB: deleted this library as nobody seems to be using it. 2012-08-13 16:34:33 +09:00
rmackay9 3482f05b48 APM_RC: rename example sketch directories for APM2 so they can be opened easily from arduino ide 2012-08-13 11:50:53 +09:00
Andrew Tridgell 48e275e22d AHRS: avoid a compiler bug in quaternion code
Having _wind in the AP_AHRS class causes a register allocation error
when building the Quaternion code with some versions of avr-gcc. Quite
bizarre.
2012-08-13 11:08:10 +10:00
Andrew Tridgell 19a5d11669 AHRS: use airspeed for wind in forward flight
when not turning we can use the airspeed sensor directly to calculate
the wind speed.
2012-08-12 10:54:25 +10:00
Andrew Tridgell f5b7ae213c AHRS: added AHRS_GPS_USE parameter
this allows for the GPS to be disables for position updates, which
allows for testing dead-reckoning
2012-08-11 22:06:03 +10:00
Andrew Tridgell 4951d686f6 Mavlink: re-generate with WIND message 2012-08-11 22:06:03 +10:00
Andrew Tridgell 8d914b14e4 Mavlink: added WIND message
this allows us to log the wind estimation result
2012-08-11 22:06:03 +10:00
Andrew Tridgell 779dacfd24 AHRS: added wind estimation code
this allows us to estimate the wind while we have GPS lock, then use
that estimate in the long term dead reckoning
2012-08-11 22:06:03 +10:00
Andrew Tridgell 0ba57d05eb AP_Math: added matrix column extraction functions 2012-08-11 22:06:02 +10:00
Amilcar Lucas c7d1974741 RC_Channel_aux: cycle thru all functions except k_none and k_nr_aux_servo_functions
Probably makes no difference because g_rc_function[k_none] == NULL
2012-08-11 13:43:21 +02:00
Andrew Tridgell af4071894e AHRS: added long-term dead-reckoning
this uses airspeed (if available) or last GPS ground speed to update
our position estimate in AHRS
2012-08-11 12:00:31 +10:00
Andrew Tridgell 618f43bef6 AP_GPS: added last_ground_speed() method
used for dead-reckoning in AHRS
2012-08-11 11:59:47 +10:00
Andrew Tridgell 8a6fcf998b AP_GPS: fixed types to be stdint types 2012-08-11 11:59:03 +10:00
Andrew Tridgell 3419d8e006 SITL: fill in SIMSTATE.lat and SIMSTATE.lng 2012-08-11 11:58:25 +10:00
Andrew Tridgell d46b7a67b7 MAVLink: re-generate MAVLink C code 2012-08-11 11:58:06 +10:00
Andrew Tridgell d9ad1c8616 MAVLink: added SIMSTATE.lat and SIMSTATE.lng
this allows us to display both true and estimated position on the
groundstation
2012-08-11 11:57:45 +10:00
Andrew Tridgell 87fca1985f AP_Math: added location_update() and location_offset() functions
these will be used by AHRS dead reckoning
2012-08-11 11:56:54 +10:00
Andrew Tridgell f95b06a880 AHRS: make airspeed sensor available to AHRS
this will be used for long term dead-reckoning
2012-08-11 08:57:32 +10:00
Andrew Tridgell b01907cf23 ACM: fixed HIL build 2012-08-11 08:34:16 +10:00
Jason Short e12ce1d5a7 MOTORS Mixer: temp removal of Yaw Contrib code 2012-08-09 17:00:11 -07:00
Jason Short 52b2aacf28 AHRS DCM: FOrmatting 2012-08-09 16:59:43 -07:00
Amilcar Lucas 32e354be4e AP_Mount: Reduce parameter name length, to allow MNT2_* strings to be smaller than the limit of 15 characters 2012-08-10 00:16:52 +02:00
Andrew Tridgell f812fc921f build: fixed more build warnings 2012-08-09 16:19:39 +10:00
Andrew Tridgell 0763bbd1af MPU6000: fixed some build warnings 2012-08-09 16:19:21 +10:00
Andrew Tridgell c70bae9617 AP_MetaClass: fixed a warning 2012-08-09 16:19:04 +10:00
Andrew Tridgell 7f4b7703c1 AP_Param: fixed some build warnings 2012-08-09 16:18:53 +10:00
Andrew Tridgell 6213032957 MAVLink: removed obsolete files 2012-08-09 15:25:49 +10:00
Andrew Tridgell 5d1d9e9042 MAVLink: added generator.sh script
this is used to re-generate our MAVLink C code
2012-08-09 15:25:06 +10:00
Andrew Tridgell dc47074dbd MAVLink: removed the need for Mavlink_compat.h
we have now fully transitioned to MAVLink 1.0, so we no longer need
the compatibility layer and the old names in the code
2012-08-09 12:22:46 +10:00
Andrew Tridgell 2a7b298bbc MAVLink: moved mavlink variables back to library
these were moved to the main sketches to allow for compile time
selection of MAVLink 0.9 vs 1.0. We no longer support 0.9, so we can
move it back, which simplifies some test sketches
2012-08-09 12:06:21 +10:00
Amilcar Lucas 0b0b9c29a2 Allow fully independent operation of two AP_Mount instances 2012-08-08 23:11:23 +02:00
Amilcar Lucas 530ea0bebd AP_Mount: Enable Joystick speed code, now that the framework supports more than 16 parameters per group.
Save some bytes by skiping the redundant *_rc_in initialization in the AP_Mount() constructor
2012-08-08 22:45:36 +02:00
Andrew Tridgell a8c99f3887 SITL: fixed deletion of eeprom.bin
with the new AP_Param constructor order, we need to erase rather than
unlink the eeprom
2012-08-08 18:01:06 +10:00
Andrew Tridgell dcc50b5705 AP_Airspeed: removed values passed to constructor 2012-08-08 16:38:39 +10:00
Andrew Tridgell e6e25525bc AP_Param: avoid saving values within 0.01% of the default value
this saves some more space due to rounding errors
2012-08-08 13:13:30 +10:00
Andrew Tridgell 45c27317ef AP_Mount: fixed defaults for angles
this saves some eeprom space by not saving the 4500 values
2012-08-08 13:04:49 +10:00
Andrew Tridgell 8ae35cae1c AP_Math: rename get_bearing() to get_bearing_cd() to make units obvious 2012-08-08 12:12:30 +10:00
Andrew Tridgell 7ff7514a88 SITL: added pgm_read_dword() and pgm_read_float() 2012-08-08 12:11:57 +10:00
Andrew Tridgell 518d6365ff AP_Param: update remaining libraries for new constructor syntax 2012-08-08 12:11:57 +10:00
Andrew Tridgell 898a5af692 AP_Param: update AHRS for new constructor syntax 2012-08-08 12:11:57 +10:00
Andrew Tridgell 5e8fe8d93e AP_Param: update PID libraries for new constructor syntax 2012-08-08 12:11:57 +10:00
Andrew Tridgell c298d5130f AP_Param: major update to use default values in var_info table
this stores the default value for all scalar variables in the var_info
table, which makes it possible to avoid storing default values in
eeprom. That allows us to oversubscribe the eeprom space with a much
lower risk of overrun.
2012-08-08 12:11:57 +10:00
Andrew Tridgell a7b9aff79f AP_Baro: the DerivativeFilter now handles duplicate data
this saves a few bytes of memory
2012-08-08 12:07:36 +10:00
Andrew Tridgell 77f3b60b6f Filter: make the DerivativeFilter test GNUPlot friendly
makes testing easier
2012-08-08 12:07:36 +10:00
Andrew Tridgell 899eeb608b Filter: automatically cope with duplicate timestamps
this makes it easier for callers to avoid excessive slope calculations

Thanks to Jon Challinger for the idea
2012-08-08 12:07:35 +10:00
Andrew Tridgell d7d33c64b7 Filter: fixed a off-by-one DerivativeFilter bug
many thanks to Jon Challinger for noticing this!
2012-08-08 12:07:35 +10:00
Amilcar Lucas 2c4a0636f3 AP_Mount: move mount to a "retracted position" into the fuselage with a fourth servo 2012-08-06 01:27:29 +02:00
Amilcar Lucas 107155fa1a AP_Mount: Allow using any RC channel to control any of the mount axes.
This has the added benefit of saving 60 bytes and simplifying Mission Planner gui.
Moved some code from RC_Channel_aux to AP_Mount class
The servos get written by the update_mount_position() function, this simplifies main()
PS: The beauty of using libraries: I did not have to touch a single line of ArduPlane's code!
2012-08-05 23:48:57 +02:00
Amilcar Lucas b8c7b8a786 RC_Channel: Allow each channel to know who they are, this simplifies the enabling and output function calls. 2012-08-05 23:08:31 +02:00
Amilcar Lucas 9c1ac2d9e6 More work on ch9, 10 and 11 2012-08-04 19:44:41 +02:00
Amilcar Lucas bbc4bdb729 More flexible RC support 2012-08-04 18:39:20 +02:00
Andreas M. Antonopoulos 7262b0429a AP_Limits: experimental "bounce" mode. 2012-07-31 18:39:58 -07:00
Robert Lefebvre 4ffc5e211a Fixing Trad Heli Ext ESC Controller
-Added ramp-down rate instead of instantly setting ramp to zero when throttle is dropped to bottom. This is to allow "warm-restart" if shutdown was unintentional.
-Actual ESC still goes to zero while throttle is dropped to the bottom, only the ramp counter winds down slowly behind the scenes.
2012-07-31 17:47:25 -04:00
rmackay9 5077674043 AP_InertialSensor_MPU6000: another attempt at fixing the SITL build 2012-07-28 17:19:19 +09:00
rmackay9 7683e9d870 AP_InertialSensor_MPU6000: changed DMP memory definition (dmpMem) to const uint8_t to remove SITL compile errors (hopefully)
Removed unused 'dump' variable from dmp_load_mem to reduce compiler warnings
2012-07-28 16:33:04 +09:00
rmackay9 0eaf427062 AP_AHRS_MPU6000: cleaning up compiler warning due to unused yaw_deltat variable 2012-07-28 16:23:25 +09:00
rmackay9 48074f4766 AP_InertialSensor_Oilpan: changed initialisation order of parameters to remove compiler warning 2012-07-28 15:22:37 +09:00
rmackay9 1b521a9f73 AP_AHRS: updated test sketch to allow use of MPU6000's DMP 2012-07-28 14:27:26 +09:00
rmackay9 dbe7c8ed1a AP_AHRS_MPU6000: first draft implementation of class that uses MPU6000's DMP to calculate attitude 2012-07-28 14:17:38 +09:00
rmackay9 b844bb7919 AP_AHRS: removed var_info from AP_AHRS class (moved to AP_AHRS_DCM) 2012-07-28 14:16:56 +09:00
rmackay9 468170b589 AP_AHRS_DCM: moved var_info to belong to AP_AHRS_DCM instead of AP_AHRS 2012-07-28 14:16:15 +09:00
rmackay9 7b9782c5ac AP_IMU_INS: added gx(), gy() and gz() methods to return gyro offsets 2012-07-28 14:15:23 +09:00
rmackay9 6cd0918134 AP_InertialSensor: methods added to access DMP functionality 2012-07-28 14:14:43 +09:00
Andrew Tridgell 4b4b67496b MAVLink: rename the message_definitions directory 2012-07-26 10:03:36 +10:00
Andrew Tridgell 8dd62829f9 MAVLink: removed MAVLink 0.9 message definitions
we are now 1.0 only
2012-07-26 10:03:36 +10:00
rmackay9 bb05dab924 AP_Mount: addition of Amilcar's mount_type
set_roi_cmd modified to take a Location.  I know the intention was for set_roi_cmd to interpret the MAVLink command directly but unfortunately in arduCopter missions are only made up of waypoints (which are Locations).
2012-07-25 11:00:38 +09:00
Jonathan Challinger 9cd98e79dd AHRS: normalise GA_b before computing error vector only if too large
When GA_b is small the direction of the vector is unreliable, so
normalising can exacerbate the error in the direction
2012-07-23 17:16:50 +10:00
Andrew Tridgell 175b6d2606 AP_AnalogSource: fixed reporting of VCC
the VCC pin number should not be converted
2012-07-21 19:49:24 +10:00
Andrew Tridgell 5f5ab9c07c AHRS: if we don't have gps correction enabled, zero the yaw correction 2012-07-20 17:21:04 +10:00
Andrew Tridgell c937738732 AHRS: allow the gps/accelerometers to control yaw when rolled
this solves a problem with yaw estimation when at high roll angles,
when the compass code becomes ineffective
2012-07-20 11:50:04 +10:00
Andrew Tridgell 151a50b6af MAVLink: imported updated generated mavlink C code
no functionality changes
2012-07-20 11:50:03 +10:00
Jason Short c9d3ab5413 Oilpan ADC parameters added
including a function that configures each Accel Axis
Defaults matching old behavior
Added param group
2012-07-18 22:57:11 -07:00
Jason Short 148da2e4a0 Lead Filter: simplified calculation 2012-07-18 22:57:10 -07:00
Andrew Tridgell 819b6459b2 GPS-UBlox: removed duplicate config messages
these were left over from debugging
2012-07-19 15:23:15 +10:00
Amilcar Lucas 3de23220ed RC_Channel parameters: Fix a typo 2012-07-18 22:39:49 +02:00
Amilcar Lucas 22d2f9ea15 Support up to 7 aux servo outputs 2012-07-18 21:58:22 +02:00
rmackay9 e61cf0e1f9 AP_Mount: added set_manual_rc_channel and set_manual_rc_channel_function to allow input of pitch, roll and yaw controls from a regular RC_Channel (i.e. not RC_Channel_aux)
For now, angles red in are always of the range -45 deg ~ 45 deg which is consistent with the existing arducopter implementation but should be improved to scale the pilot's input to the mount's actual range.
2012-07-18 23:20:05 +09:00
Amilcar Lucas 461098b289 Replace long with int32_t 2012-07-18 02:12:31 +02:00
Amilcar Lucas 724c5f6490 Use ascending order in the values 2012-07-18 02:11:49 +02:00
Amilcar Lucas 1da0ce20ce Improve parameter documentation, it still does not work, but is an improvement.
I just do not understand why these parameters do not appear in Mission planner :(
2012-07-17 23:32:30 +02:00
Michael Oborne 9e4d118fdb Airspeed Library - fix param names.
The Group definition give the start of the param name.
This way we can maintain multiple instances if required of the same library as options.
2012-07-16 21:48:47 +08:00
Andrew Tridgell feb456de56 Airspeed: Added AP_Airspeed sensor library
this will allow an airspeed sensor object to be passed to AHRS for
dead reckoning
2012-07-16 11:21:20 +10:00
rmackay9 acef75319c AP_MotorsMatrix: small bug fix to limit checking on remove_motor call. Fix thanks to Michael Peschel! 2012-07-16 00:38:58 +09:00
rmackay9 669ffb5ef8 RC_Channel_aux: added enable_out method to help stop servos from moving before the mount has initialised.
changed parameter names of "update_aux_servo_function" to make it more clear that any 4 servos can be passed in (not just servos 5~8).
Also allowed NULL servos to be passed in as parameters because we only need 3 in ArduCopter.
2012-07-15 16:28:53 +09:00
rmackay9 5616b1769b AP_Camera: changed "int" to "int16_t" and "long" to "int32_t" here and there. 2012-07-15 16:26:12 +09:00
Andreas M. Antonopoulos c73f7ef3ab AP_Limits library, provides modular "limits" such as altitude and geo-fencing. 2012-07-14 19:26:17 -07:00
Michael Oborne a469682b7b fix param config names 2012-07-14 15:34:15 +08:00
Robert Lefebvre ed235a3924 Change to prevent Tricopter servos from going hard-over during Disarmed state.
Believe this was an oversight when the change to AP_Motors went in.
2012-07-13 23:12:26 -04:00
Robert Lefebvre 8ce9aae2f7 Instituting Yaw Differential on Multirotors. Intent is to stop "rise on yaw input".
Since motors with increasing speed due to yaw input seem to generate more thrust that motors that slow lose thrust, thus net thrust goes up, causing copter to climb.
Values are a guesstimate, proven out by test flying.  This could probably become a parameter.
2012-07-13 22:59:28 -04:00
Andreas M. Antonopoulos d4a0cb5db1 Added Michael Pursifull's Maxsonar HRLV model support 2012-07-11 18:46:47 -07:00
rmackay9 6f8d0a02a4 AP_Camera: moved seme constructor initialisers around to remove compile warnings 2012-07-12 09:33:22 +09:00
rmackay9 4dd4c95d5c AP_AnalogSource_Arduino: fix to allow analog port to be read to be specified as a "channel" (i.e. A0)
Also fixed example range finder sketch to work with interrupt enabled AP_AnalogSource_Arduino class
2012-07-11 21:19:17 +09:00
Amilcar Lucas cc02d85cdf AP_Mount: add support for non-spring-loaded joysticks 2012-07-11 00:07:33 +02:00
Amilcar Lucas 9a41cbffdf RC_Channel: improve parameter documentation 2012-07-11 00:07:10 +02:00
Amilcar Lucas 46d20c2d6b Remove unused function, remove unnecessary angle wrapping. 2012-07-11 00:06:45 +02:00
Amilcar Lucas bccb07cbd0 Allow mount control when no AHRS exists
Allow mount control on non stabilized axes
2012-07-11 00:06:26 +02:00
Andrew Tridgell a72f6acef6 AP_Math: added get_distance_cm() to return in centimeters 2012-07-11 07:49:05 +10:00
Andrew Tridgell 165604a55c AHRS: fixed HIL build 2012-07-10 18:02:05 +10:00
Andrew Tridgell 0f9fb2c64b AHRS: added AHRS_GPS_GAIN parameter
this allows control of how much GPS velocity information is used in
doing centripetal correction in DCM
2012-07-10 16:22:48 +10:00
Andrew Tridgell e1725e9ea5 AP_Param: added some docs on the eeprom header format 2012-07-10 14:03:49 +10:00
Craig Elder 6d3fdfc03a DataFlash: The current method for checking if chip erase worked is producing false positives. We are forcing the block erase until we have a deterministic test method. 2012-07-09 15:23:35 -07:00
Amilcar Lucas af338939be RC_Channel: Improve documentation 2012-07-07 21:57:30 +02:00
Amilcar Lucas 46552b4222 AP_Mount: Fix radians/degrees scaling regressions
Rename calculate() into stabilize()
Implement MAV_MOUNT_MODE_RC_TARGETING initialization
Document to make sure this radians/degrees mess up does not happen again
2012-07-07 21:56:56 +02:00
Andrew Tridgell d755fedc26 AnalogSource: prevent a division by zero on zero ADC data 2012-07-06 19:59:18 +10:00
Andrew Tridgell f6d7d1bc59 APM: changed PID library to do automatic deltat calculation
this fixes a problem with the HDNG2RLL PID, which was using the wrong
time base and prevents similar bugs from happening in the future
2012-07-06 19:59:18 +10:00
Andrew Tridgell f501503eb0 AP_Baro: improved barometer averaging
this changes the barometer calculations to floating point. On a MS5611
this is actually about twice as fast as the previous 64 bit
calculations, but gains us more accuracy as we are able to take
advantage of sub-bit precision when we average over 8 samples.
2012-07-06 15:11:30 +10:00
Andrew Tridgell 520d762382 Filter: split the DerivativeFilter steps into update() and slope()
this allows us to apply new data at a different rate than we calculate
the slope.
2012-07-06 15:11:30 +10:00
Andrew Tridgell 3c7e521f70 AP_Baro: update MS5611 test to use baro library altitude 2012-07-06 15:11:30 +10:00
Andrew Tridgell 302696951a AHRS: make the yaw independent drift correction optional and disable
the new correction algorithm copes poorly with gyro drift, leading to
signification attitude errors in the face of drift
2012-07-06 15:11:30 +10:00
Andrew Tridgell 8c5ef3e60f AHRS: only enable barometer for AHRS if it is smooth enough
if we used less than 5 samples to compute the pressure then don't use
it for climb rate
2012-07-05 16:29:21 +10:00
Andrew Tridgell ec0995eea1 SITL: lower baro noise a bit 2012-07-05 16:29:21 +10:00
Andrew Tridgell 6534dab719 Filter: fixed DerivativeFilter example build 2012-07-05 16:29:21 +10:00
Andrew Tridgell d29b6ce0a8 SITL: run the HIL barometer at 80Hz to match APM2 2012-07-05 16:29:21 +10:00
Andrew Tridgell 209136386b AP_Baro: added get_pressure_samples() interface
this returns how many samples were used to calculate the last pressure
2012-07-05 16:29:21 +10:00
Andrew Tridgell 1a42b10255 Filter: fixed typo in 9 point DerivativeFilter 2012-07-05 16:29:20 +10:00
Andrew Tridgell 185c6e5b32 AP_Baro: change to a 7 point DerivativeFilter for climb rate 2012-07-05 13:00:47 +10:00
Andrew Tridgell 75470dc912 Filter: cope with non-uniform time steps in the DerivativeFilter
this helps with the barometer a lot, as the timing is quite variable
2012-07-05 13:00:47 +10:00
Andrew Tridgell f03ba86d9d SITL: add some minimal noise when motors are off
this actually improves the gyro calibration
2012-07-05 13:00:46 +10:00
Andrew Tridgell 60caaa4b04 MAVLink: remove MAVLink 0.9 protocol support
this simplifies the code a lot. We're not going back to 1.0
2012-07-05 13:00:46 +10:00
Andrew Tridgell 2cd6da2539 AHRS: only use GPS for yaw when compass is not being used
this avoids having two competing controllers
2012-07-05 13:00:46 +10:00
Andrew Tridgell adfa97b6f8 AHRS: enable barometer for vertical velocity
this re-enables the barometer for vertical velocity information
for drift correction, now that we have a better filter
on the climb rate
2012-07-05 13:00:46 +10:00
Andrew Tridgell f9fc7aafe7 AP_Baro: use DerivativeFilter in barometer climb rate 2012-07-05 13:00:46 +10:00
Andrew Tridgell f19e5a6273 Filter: added DerivativeFilter implementation
this adds a DerivativeFilter implementation of up to 10 points
2012-07-05 13:00:46 +10:00
Andrew Tridgell 9f8703274c AP_Baro: show climb rate in baro test sketch 2012-07-05 13:00:45 +10:00
rmackay9 b5f47f5e63 AP_Motors: clarified some doxygen descriptions for TradHeli 2012-07-05 08:46:50 +09:00
Amilcar Lucas 0febf76d9d Document++ 2012-07-05 00:33:46 +02:00
Amilcar Lucas e9c72822dc Remove unused function 2012-07-05 00:33:10 +02:00
Andrew Tridgell c35a2e999b SITL: added SIM_GPS_DELAY parameter
this allows a delay to be added to the gps data to test the impact on
AHRS/DCM
2012-07-04 21:05:22 +10:00
rmackay9 faeda3713e AP_AHRS: removed DCM_test example sketch
No longer required because it doesn't compile and is redundant anyway because the AP_AHRS_DCM class is tested in the AHRS_Test example sketch.
2012-07-04 18:22:51 +09:00
Andrew Tridgell 3849ca8b5c AHRS: make DCM drift correction not rely on accurate yaw
this uses a new formulation of the GPS based drift correction from
Bill Premerlani that rotates the error vector to avoid relying on
accurate yaw. This means we should get accurate roll/pitch correction
even with lots of magnetometer interference

It also makes it possible to fly a multicopter with no compass. It can
even navigate and correct yaw (slowly!)
2012-07-04 17:00:40 +10:00
Andrew Tridgell 1cd8c54f21 AP_Math: cope with co-located waypoints in location_passed_point() 2012-07-04 14:24:04 +10:00
Andrew Tridgell 468dfe3faa AP_Math: the windows arduino build is missing acosf() 2012-07-04 14:14:58 +10:00
Andrew Tridgell 0bdce404a5 AP_Math: add include of math.h
this is needed for location.cpp
2012-07-04 13:59:23 +10:00
Andrew Tridgell be9b9f3e67 DataFlash: fixed SITL build 2012-07-04 13:44:01 +10:00
Andrew Tridgell dd24330645 DataFlash: fallback to BlockErase if ChipErase fails
The errata on the APM2 dataflash chip says that ChipErase may not work
on some chips
2012-07-04 12:42:46 +10:00
Andrew Tridgell dd200cba31 Math: added location functions to math library
these do common calculations on struct Location
2012-07-04 12:42:46 +10:00
Andrew Tridgell 1314e4f872 AHRS: make P gain on PI roll/pitch controller tunable
this is to make it easier for Craig and Alan to tune
2012-07-04 12:42:46 +10:00
Andrew Tridgell 060cbe2030 AP_Mount: removed unused enum 2012-07-03 10:39:34 +10:00
Andrew Tridgell 99b11e4f19 Mount: enable mount control via eeprom parameters
this enables MNT_* parameter control of the camera mount code. It also
fixes the conversion of calculated angles between degrees and
integers, and fixes stabilised mount control when yaw control is not
available.
2012-07-03 10:21:01 +10:00
Andrew Tridgell 057eb5e6f6 Baro: average over all pressure/temperature samples on MS5611
this allows us to use the MS5611 barometer at its full 100Hz sample
rate (80Hz for pressure, 20Hz for temperature). The pressure and
temperature values are averaged between reads without adding any
latency. Previously the driver would throw away values between
readings

This also fixes a race condition in reading from the SPI bus that
could lead to bad values from the barometer
2012-07-02 13:44:53 +10:00
Andrew Tridgell f70cd71791 Baro: fixed build of MS5611 test code 2012-07-02 13:44:53 +10:00
Andrew Tridgell 769011e947 AnalogSource: added some example code 2012-07-01 15:01:05 +10:00
Andrew Tridgell 1fdcc3e8f0 SITL: added support for new analog source
removed analogRead() to prevent people using it
2012-07-01 15:01:05 +10:00
Andrew Tridgell c8befe4536 AnalogSource: make the Arduino AnalogSource interrupt driven
this fixes several problems with reading analog sources:

 - we were getting poor values because we didn't wait long enough for
   an analog source to settle

 - we wasted a lot of CPU cycles waiting for conversions

 - we were not taking averages over many samples, which we did with
   the old AP_ADC driver on the APM1
2012-07-01 15:01:05 +10:00
Andrew Tridgell 136c03c3c0 AHRS: include the P terms in get_gyro()
this makes it more useful for navigation controllers
2012-06-29 21:54:09 +10:00
Andrew Tridgell acc6adf6e9 MPU6k: removed an unused variable 2012-06-29 21:54:09 +10:00
Andrew Tridgell ed691fc465 SITL: added SITL class for controlling simulation
this holds mavlink settable parameters for controlling sensor noise
levels
2012-06-29 15:10:51 +10:00
Andrew Tridgell 16c55c64d4 AHRS: don't add the P terms in _omega
this can lead feedback via the _P_gain()
2012-06-29 15:10:51 +10:00
Andrew Tridgell 37fc6c46b9 AHRS: disable barometer for vertical acceleration
this seems to have been the cause of the 'flips' seen by Marco and
others. Testing by Craig and Alan shows that the flips are gone when
the barometric acceleration is removed.

It looks like a 5 point average filter is not enough to keep the
vertical acceleteration noise low. With high noise in the z axes, the
x and y axes are scaled back when the ge vector is normalised.
2012-06-28 11:12:49 +10:00
Andrew Tridgell 58c4d458dc AHRS: re-instate new DCM drift correction code
This reverts commit 078489638d47fbaffde7c51249e36b5a8fc4ef9d.
2012-06-28 11:09:22 +10:00
Andrew Tridgell fd241692d0 AHRS: revert to the old drift correction algorithm
we need to work out why Craigs quad flipped today before we enable
this new drift correction
2012-06-27 18:16:41 +10:00
Andrew Tridgell a6543f1e84 SITL: removed an unused variable 2012-06-27 16:01:50 +10:00
Andrew Tridgell 5bccfbd94c Barometer: fixed airstart for APM
we need to re-load the ground pressure and temperature from eeprom on
and airstart
2012-06-27 16:01:50 +10:00
Andrew Tridgell 8e044a560b AHRS: include P term in omega
thanks to Jon for suggesting this
2012-06-27 16:01:50 +10:00
Andrew Tridgell 37e2f2ee2c AHRS: implement spin rate limits
this follows the method that Bill developed in his fastRotations
paper. We've demonstrated that this is indeed needed in APM, as we
were able to produce the 'dizzy' effects in both the ArduPlane and
ArduCopter simulator
2012-06-27 16:01:50 +10:00
Andrew Tridgell e4a245179c AHRS: cope with copters with no compass
if a copter doesn't have a compass, we can't use the GPS for gyro
drift correction
2012-06-27 16:01:50 +10:00
Andrew Tridgell f4faf941e2 GPS: test the more modern MTK16 2012-06-27 16:01:50 +10:00
Andrew Tridgell 27761737ce SITL: fixed GPS heading in simulated UBlox
longitude scale does not apply to velocity->heading conversions
2012-06-27 16:01:50 +10:00
Andrew Tridgell b811653800 SITL: changes UBlox simulation to 5Hz
this matches the real UBlox driver
2012-06-27 16:01:50 +10:00
Andrew Tridgell e4d28b12e5 Compass: remove the need to call calculate() on the compass object
the new AHRS code doesn't use calculate() and the compass.heading
attribute. Instead it works on the raw magnetometer vector. This
change removes the internal calculate state from the compass object
and instead adds calculate_heading() for use by older code that
doesn't go via AHRS.

This significantly reduces the calculation involved in compass updates

The null offsets enable/disable code is also removed, as it is not
needed now that compass offsets are not linked to the AHRS state.
2012-06-27 16:01:50 +10:00
Andrew Tridgell 3a41ad8e7c AHRS: normalize the ge vector in drift correction, and use barometer
The normalisation ensures the error term scales uniformly with
different accelerations.

The barometer is used for vertical acceleration estimation
2012-06-27 16:01:50 +10:00
Andrew Tridgell c387edd74c Baro: added get_altitude() and get_climb_rate() interfaces
this allows the barometer driver to calibrate and return altitude and
climb rate values. This will be used by the AHRS drift correction code
for vertical velocity

The climb rate uses a 5 point average filter
2012-06-27 16:01:50 +10:00
Andrew Tridgell 06c8763881 Filter: added 5 point average float filter 2012-06-27 16:01:50 +10:00
Jonathan Challinger d230690b7b AHRS: brought DCM more inline with Bill's implementation
omega_I applied continuously. _ki larger. Stop integrating when _omega.length()>20

The key change was the scaling of ge to ensure the error is not
quadratic
2012-06-27 16:01:49 +10:00
Andrew Tridgell d4c8041c51 AHRS: first successful version of Bills new drift correction system
This makes 3 major changes:

 1) fixes the scaling of the yaw drift correction term to fix the time
 constant

 2) don't integrate the mag vector over multiple readings

 3) accumulate omega_I changes over 15 seconds before applying, to try
 to prevent omega_I picking up short term responses
2012-06-27 16:01:49 +10:00
Andrew Tridgell 4d08f75292 AHRS: update for new _fly_forward flag 2012-06-27 16:01:49 +10:00
Andrew Tridgell 0f5c22bd8e AHRS: implement Bills new drift correction algorithm
this is an initial implementation of this paper:

  http://gentlenav.googlecode.com/files/RollPitchDriftCompensation.pdf
2012-06-27 16:01:49 +10:00
Andrew Tridgell 52d77407d4 AHRS: added GPS support to AHRS test 2012-06-27 16:01:49 +10:00
Andrew Tridgell 37db5247cd GPS: added velocity and acceleration components
used by AHRS for acceleration correction
2012-06-27 16:01:49 +10:00
Andrew Tridgell fe865bc1dc Math: added comment 2012-06-27 16:01:49 +10:00
Andrew Tridgell c30b0d85a3 Math: moved more template functions to the .cpp files
save a bit more code space for larger functions
2012-06-27 16:01:49 +10:00
rmackay9 068fe64b9b ArduCopter HIL: changed calls to setHIL to send in time as a uint32_t (it was a float) 2012-06-26 22:50:17 +09:00
Jason Short 7b9583453b Added a crude Lead Filter. Needs some fine tuning, lag specification, scaling. Works great on 4hz GPS such as Mtek. 2012-06-21 11:14:20 -07:00
Amilcar Lucas 78ccb9d37f Add linebreaks to increase readability. 2012-06-21 00:36:10 +02:00
Amilcar Lucas b072a59843 Improve parameters descriptive text 2012-06-21 00:20:37 +02:00
Amilcar Lucas 594cedd324 Documentation improvements, no functional changes (only comments) 2012-06-17 22:53:54 +02:00
Amilcar Lucas f4e9587aca Move local temp variables to the stack it saves 1952 bytes
Add function comments
Only use _ on class member variables
Only point to a 3D GPS point if GPS has a fix
Implement MAV_MOUNT_MODE_MAVLINK_TARGETING
2012-06-17 22:25:51 +02:00
Wingspinner d09ac5899b Added support for channel curves (and expo) to AP_RC_Channel class. Also updated AP_RC_Channel example/test to demonstrate and test new functionality 2012-06-15 08:40:14 +00:00
Wingspinner b699c77323 Added support for channel curves (and expo) to AP_RC_Channel class. Also updated AP_RC_Channel example/test to demonstrate and test new functionality 2012-06-15 08:38:52 +00:00
Andrew Tridgell a851c53de4 GPS: need pgmspace.h for _write_progstr_block() 2012-06-15 16:27:11 +10:00
Andrew Tridgell 70f18289c5 GPS: fixed auto-config of UBlox setup with no UBX messages
if a UBlox is configured for NMEA only, with no UBX messages at all
then it would never trigger the GPS_AUTO detection. This adds a UBX
config message to the init strings that enables the NAV_SOL message
2012-06-15 15:53:27 +10:00
Andrew Tridgell 1fe297ab63 FastSerial: added tx_pending() method
this allows the caller to wait for the tx buffer to drain
2012-06-15 15:53:27 +10:00
Amilcar Lucas 1906e06b69 Added camera trigger functionality 2012-06-13 21:00:20 +02:00
Amilcar Lucas a32b7c200b Add "3 axis camera stabilization" and "point camera to 3D point" functionality
Patch by Gregory Fletcher and reviewed by me
2012-06-13 20:55:19 +02:00
Amilcar Lucas 5ffd489d87 Spellcheck 2012-06-13 20:44:35 +02:00
rmackay9 1e38b0d535 AP_GPS_NMEA: fix from Roberto Navoni to improve NMEA accuracy 2012-06-12 20:27:50 +09:00
Andrew Tridgell f9560ef093 GPS: use the new nav_setting in a couple of the sample sketches 2012-06-10 16:35:13 +10:00
Andrew Tridgell 33a2ad7e07 GPS: add stub settings for nav_setting in the other GPS drivers
only Ublox supports nav_setting so far
2012-06-10 16:34:53 +10:00
Andrew Tridgell 514be604a5 GPS: added auto-configuration of UBlox GPS
the Ublox will now auto-configure for 5Hz with just the messages we
want. It also supports setting the navigation engine type
2012-06-10 16:34:13 +10:00
Andrew Tridgell 9c1ce9e1c5 FastSerial: avoid buffer re-allocation on re-open if possible
we commonly re-open serial ports a lot in the AUTO GPS driver
2012-06-09 07:43:22 +10:00
Andrew Tridgell cf4e56457b SITL: map() is a C++ function, so needs to be in C++ part of the header
this fixes the ACM build
2012-06-08 17:09:23 +10:00
Andrew Tridgell cbf477addd GPS: added debug code to the main GPS class 2012-06-08 16:42:03 +10:00
Andrew Tridgell a8bfc5d8e9 GPS: re-open the serial port with a 256 byte serial receive buffer
this ensures all GPS parsers have a 256 byte buffer available
2012-06-08 16:42:03 +10:00
Andrew Tridgell 296e651b30 GPS: fixed the UBLOX parser to handle unknown messages
the parser was broken in several ways:

 1) when it received an unknown message it didn't update the ck_a and ck_b fields, so it
    thought the message had a bad checksum, which meant it got out of protocol sync

 2) the read() method would return false if the last message from the GPS was of an unknown type. 
    So we relied on the last msg always being one that we understand and want

 3) the parser considered any valid UBLOX message to be 'new data', whereas we only actually get 
    a new fix when we get box a new position and velned message

 4) the total message size per update is more than 128 bytes, but the serial port was opened 
    with only a 128 byte buffer, so we got corruption regularly
2012-06-08 16:42:02 +10:00
Andrew Tridgell 9c2ba2e814 GPS: tidy up the auto gps test 2012-06-08 16:42:02 +10:00
Robert Lefebvre 238a1ced2c TradHeli adding ramp up time to Ch8 Throttle Pass-through. 2012-06-07 22:55:47 -04:00
Robert Lefebvre df17ff3bc1 AP_MotorsHeli Syntax correction. 2012-06-04 15:53:07 -04:00
Andrew Tridgell 25c17a5425 re-enable the AP_Mount build 2012-06-04 19:32:11 +10:00
Andrew Tridgell 0f0cbce22f GPS: fixed a race condition in the ublox driver
the status update comes as a separate message from the lat/lon
2012-06-04 14:47:58 +10:00
Andrew Tridgell 012fc35314 mavlink: fixed build with uart resend 2012-06-04 13:45:55 +10:00
Andrew Tridgell b6467cb1fa MAVLink: updates to mavlink headers to fix mavlink 1.0 issues 2012-06-04 13:34:07 +10:00
Andrew Tridgell d8919731ee Mavlink: fixed library build for MAVLink 1.0 2012-06-04 13:14:52 +10:00
Andrew Tridgell ec1abbf987 SITL: fixed SITL build with mavlink10 2012-06-04 13:14:52 +10:00
Andrew Tridgell 60f8d09506 mavlink10: fixed MAV_VAR -> MAVLINK_TYPE 2012-06-04 13:14:51 +10:00
Andrew Tridgell bccfb08c55 MAVLink: updated to latest upstream mavlink
this includes no significant changes
2012-06-04 13:14:51 +10:00
Jason Short 73e23aab2a GPS time set to unsigned int32 2012-06-03 11:13:50 -07:00
rmackay9 5c9dc00ae2 AP_Baro: fixed comment to clarify that every-other call updates temperature or pressure 2012-06-03 17:31:17 +09:00
rmackay9 dcdeae412e ArduCopter: Another attempt at fixing the lat/lon printing bug in which small negative lattitudes or longitudes were appearing as positives.
Fixed in both ArduCopter Log.pde and the GPS Auto test sketch
2012-06-03 16:58:19 +09:00
rmackay9 173ae33627 ArduCopter Desktop Build: added definition of "map" to wiring.h and included WMath.cpp to fix SITL build failures.
All real work on this issue done by Michael Oborne.
2012-06-02 17:46:00 +09:00
rmackay9 c82a403b88 AP_MotorsHeli: Added reference to "Arduino.h" to allow autotest builder to work.
Moved around initialisation of parmeters in AP_MotorHeli object to remove compiler warnings.
2012-06-02 16:13:23 +09:00
rmackay9 c3b1a79f6a RC_Channel library: change all "int" types to "int16_t".
Fixes SITL compile error due to type mismatch of set_pwm between .h and .cpp file (this only occurs because on the SITL, "int" is actually "int32_t"
2012-06-02 14:20:58 +09:00
rmackay9 d9f124afbb RC_Channel.pde: fixed compile errors so that it actually works! 2012-06-02 14:00:44 +09:00
rmackay9 2a216ce900 ArduCopter: fixed print_latlon bug in which it would print negative lat/lon numbers incorrectly (i.e. -1234567890 would be printed as -124.xxx). 2012-06-02 12:51:12 +09:00
Jason Short c2d14a5cad RC_Channel fix for throttle output.
throttle was outputting incorrectly and allowing the user to max out the throttle leaving nothing for attitude control
2012-05-31 14:59:03 -07:00
Jason Short 0adb5cb396 Issue 416: RC_Channel – Fix to make dead_zones still output 0 2012-05-31 12:05:47 -07:00
Jason Short 1c690b44de removed never used filter, and fixed a constrain that could make range calcs go bad 2012-05-31 11:45:07 -07:00
Jason Short 862b374d19 Channel rage fix - low output was always 0 vs _low 2012-05-31 11:31:48 -07:00