Commit Graph

2142 Commits

Author SHA1 Message Date
uncrustify
2a0242439a uncrustify libraries/AP_GPS/GPS.cpp 2012-08-21 19:02:32 -07:00
uncrustify
671359697e uncrustify libraries/AP_GPS/AP_GPS_HIL.cpp 2012-08-21 19:02:12 -07:00
uncrustify
45c94412ef uncrustify libraries/AP_GPS/AP_GPS_Auto.cpp 2012-08-21 19:02:11 -07:00
uncrustify
f5699540a6 uncrustify libraries/AP_GPS/examples/GPS_MTK_test/GPS_MTK_test.pde 2012-08-21 19:01:35 -07:00
uncrustify
802a04512f uncrustify libraries/AP_GPS/examples/GPS_NMEA_test/GPS_NMEA_test.pde 2012-08-21 19:01:35 -07:00
uncrustify
01cc566199 uncrustify libraries/AP_GPS/examples/GPS_AUTO_test/GPS_AUTO_test.pde 2012-08-21 19:01:34 -07:00
uncrustify
994c292877 uncrustify libraries/AP_GPS/examples/GPS_UBLOX_test/GPS_UBLOX_test.pde 2012-08-21 19:01:34 -07:00
uncrustify
85901d3b44 uncrustify libraries/AP_GPS/examples/GPS_406_test/GPS_406_test.pde 2012-08-21 19:01:34 -07:00
uncrustify
9a440bad90 uncrustify libraries/AP_Declination/AP_Declination.h 2012-08-21 19:01:34 -07:00
uncrustify
06e0708308 uncrustify libraries/AP_Declination/AP_Declination.cpp 2012-08-21 19:01:34 -07:00
uncrustify
f5e8f5e730 uncrustify libraries/AP_Declination/examples/AP_Declination_test/AP_Declination_test.pde 2012-08-21 19:01:34 -07:00
uncrustify
0133fcb64b uncrustify libraries/AP_Compass/AP_Compass_HMC5843.h 2012-08-21 19:01:34 -07:00
uncrustify
c693a6002b uncrustify libraries/AP_Compass/AP_Compass_HIL.h 2012-08-21 19:01:21 -07:00
uncrustify
c8ede643dc uncrustify libraries/AP_Compass/AP_Compass_HMC5843.cpp 2012-08-21 19:01:20 -07:00
uncrustify
662d285f44 uncrustify libraries/AP_Compass/Compass.cpp 2012-08-21 19:01:20 -07:00
uncrustify
ad8df60749 uncrustify libraries/AP_Compass/AP_Compass_HIL.cpp 2012-08-21 19:01:20 -07:00
uncrustify
fe29885835 uncrustify libraries/AP_Compass/examples/AP_Compass_test/AP_Compass_test.pde 2012-08-21 19:01:20 -07:00
uncrustify
f45a727fe6 uncrustify libraries/AP_Common/AP_Loop.h 2012-08-21 19:01:03 -07:00
uncrustify
0ed851024e uncrustify libraries/AP_Common/include/menu.h 2012-08-21 19:01:02 -07:00
uncrustify
ea986d1c6e uncrustify libraries/AP_Common/AP_Common.h 2012-08-21 19:01:02 -07:00
uncrustify
3e37a14e6f uncrustify libraries/AP_Common/AP_MetaClass.h 2012-08-21 19:01:02 -07:00
uncrustify
05ff8d51c9 uncrustify libraries/AP_Common/c++.h 2012-08-21 19:00:52 -07:00
uncrustify
4017224463 uncrustify libraries/AP_Common/tools/eedump.c 2012-08-21 19:00:51 -07:00
uncrustify
3bfe5e9774 uncrustify libraries/AP_Common/tools/eedump_apparam.c 2012-08-21 19:00:51 -07:00
uncrustify
eb1fff9584 uncrustify libraries/AP_Common/menu.cpp 2012-08-21 19:00:51 -07:00
uncrustify
a6567abdc3 uncrustify libraries/AP_Common/AP_Param.cpp 2012-08-21 19:00:51 -07:00
uncrustify
d9234edebc uncrustify libraries/AP_Common/c++.cpp 2012-08-21 19:00:51 -07:00
uncrustify
0890404680 uncrustify libraries/AP_Common/examples/menu/menu.pde 2012-08-21 19:00:51 -07:00
Pat Hickey
b78c1b21a7 uncrustify libraries/AP_Common/AP_Param.h with fixups by hand 2012-08-21 19:00:51 -07:00
uncrustify
11fb74ee7b uncrustify libraries/AP_Camera/AP_Camera.h 2012-08-21 19:00:51 -07:00
uncrustify
03637aa176 uncrustify libraries/AP_Camera/AP_Camera.cpp 2012-08-21 19:00:51 -07:00
uncrustify
14aab7e878 uncrustify libraries/AP_Baro/AP_Baro.h 2012-08-21 19:00:51 -07:00
uncrustify
963e250dca uncrustify libraries/AP_Baro/AP_Baro_MS5611.h 2012-08-21 19:00:50 -07:00
uncrustify
dbb7b33728 uncrustify libraries/AP_Baro/AP_Baro_BMP085.h 2012-08-21 19:00:50 -07:00
uncrustify
1e86bf09de uncrustify libraries/AP_Baro/AP_Baro_BMP085.cpp 2012-08-21 19:00:18 -07:00
uncrustify
bd4f1179b1 uncrustify libraries/AP_Baro/AP_Baro_MS5611.cpp 2012-08-21 19:00:18 -07:00
uncrustify
46c682454a uncrustify libraries/AP_Baro/AP_Baro_BMP085_hil.cpp 2012-08-21 19:00:18 -07:00
uncrustify
2444811dfe uncrustify libraries/AP_Baro/AP_Baro.cpp 2012-08-21 19:00:18 -07:00
uncrustify
003a60d5f6 uncrustify libraries/AP_Baro/examples/AP_Baro_MS5611_test/AP_Baro_MS5611_test.pde 2012-08-21 19:00:18 -07:00
uncrustify
990ad20db5 uncrustify libraries/AP_Baro/examples/AP_Baro_BMP085_test/AP_Baro_BMP085_test.pde 2012-08-21 19:00:17 -07:00
uncrustify
ed2fb8574d uncrustify libraries/AP_AnalogSource/AnalogSource.h 2012-08-21 19:00:17 -07:00
uncrustify
9306fc5870 uncrustify libraries/AP_AnalogSource/AP_AnalogSource_Arduino.h 2012-08-21 19:00:17 -07:00
uncrustify
49f440ae3e uncrustify libraries/AP_AnalogSource/AP_AnalogSource_ADC.h 2012-08-21 19:00:17 -07:00
uncrustify
bf75296577 uncrustify libraries/AP_AnalogSource/AP_AnalogSource_Arduino.cpp 2012-08-21 19:00:17 -07:00
uncrustify
5e7867f972 uncrustify libraries/AP_AnalogSource/examples/AnalogSource_Arduino/AnalogSource_Arduino.pde 2012-08-21 19:00:17 -07:00
uncrustify
89dad7de7b uncrustify libraries/AP_Airspeed/AP_Airspeed.h 2012-08-21 19:00:17 -07:00
uncrustify
314b84f209 uncrustify libraries/AP_Airspeed/AP_Airspeed.cpp 2012-08-21 19:00:17 -07:00
uncrustify
6c5f73fde4 uncrustify libraries/AP_Airspeed/examples/Airspeed/Airspeed.pde 2012-08-21 19:00:17 -07:00
uncrustify
bc04ade2c1 uncrustify libraries/AP_AHRS/AP_AHRS_HIL.cpp 2012-08-21 18:59:34 -07:00
uncrustify
d77b6e7f52 uncrustify libraries/AP_AHRS/AP_AHRS_MPU6000.cpp 2012-08-21 18:59:34 -07:00
uncrustify
4846ba119e uncrustify libraries/AP_AHRS/examples/AHRS_Test/AHRS_Test.pde 2012-08-21 18:59:13 -07:00
uncrustify
520ab058a7 uncrustify libraries/AP_ADC/AP_ADC_HIL.h 2012-08-21 18:59:13 -07:00
uncrustify
2ff3af5e01 uncrustify libraries/AP_ADC/AP_ADC.h 2012-08-21 18:59:13 -07:00
uncrustify
549950ee2d uncrustify libraries/AP_ADC/AP_ADC_ADS7844.h 2012-08-21 18:59:13 -07:00
uncrustify
bd0b3ee6b2 uncrustify libraries/AP_ADC/AP_ADC_HIL.cpp 2012-08-21 18:59:13 -07:00
uncrustify
0fcf421752 uncrustify libraries/AP_ADC/AP_ADC.cpp 2012-08-21 18:59:13 -07:00
uncrustify
dcf4a9824d uncrustify libraries/AP_ADC/AP_ADC_ADS7844.cpp 2012-08-21 18:59:13 -07:00
uncrustify
7bfe32fd3d uncrustify libraries/AP_ADC/examples/AP_ADC_test/AP_ADC_test.pde 2012-08-21 18:59:13 -07:00
uncrustify
7aea7dc825 uncrustify libraries/AC_PID/AC_PID.h 2012-08-21 18:59:13 -07:00
uncrustify
66ab46fa88 uncrustify libraries/AC_PID/AC_PID.cpp 2012-08-21 18:59:13 -07:00
uncrustify
2f5b292d50 uncrustify libraries/AC_PID/examples/AC_PID_test/AC_PID_test.pde 2012-08-21 18:59:13 -07:00
Andrew Tridgell
2b6af43c92 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
37d3affe3b AP_GPS: fixed build of new MTK code 2012-08-22 10:02:21 +10:00
Craig Elder
661d1500d2 GPS: Corrections to Media Tek GPS Driver. Change to 5Hz and SBAS 2012-08-22 09:56:25 +10:00
Robert Lefebvre
e1d6103045 TradHeli: Creating Flybar Acro mode. 2012-08-21 16:54:01 -04:00
Andrew Tridgell
6c0b7b7f53 AHRS: fixed duplicate gps_use variable in DCM 2012-08-21 20:17:03 +10:00
Andrew Tridgell
cc0e8be85a AHRS: moved var_info[] into top level AP_AHRS class 2012-08-21 15:58:09 +10:00
Andrew Tridgell
89db3458c8 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
3d0ef1b3e6 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
ab0559359d Adding new Trad Heli parameters. 2012-08-20 16:45:19 -04:00
rmackay9
4371fdda6c 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
9f81d0c601 AP_GPS: revert delay callback to be "unsigned long" 2012-08-18 20:33:45 +09:00
rmackay9
cef3e1d732 DataFlash: revert delay callbacks to use "unsigned long" 2012-08-18 20:28:31 +09:00
rmackay9
ba48bffb46 DataFlash: change "unsigned long" to "uint32_t" in callback functions 2012-08-18 19:22:14 +09:00
rmackay9
9973e4ae13 DataFlash: replaced "int" with "int16_t" 2012-08-18 18:31:20 +09:00
rmackay9
995b8a571b AP_Common: change a few more "int" to "int16_t" 2012-08-18 18:05:18 +09:00
rmackay9
ea860126e0 AP_Compass: replace "long" with "int32_t" 2012-08-18 16:58:16 +09:00
rmackay9
2ad383505c AP_GPS: replaced "int" with "int16_t" and "long" with "int32_t" 2012-08-18 16:35:38 +09:00
Andrew Tridgell
7d8903a8bf 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
01ae8f8771 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
adda41a2ec Filter: ensure the derivative filter never returns an invalid number 2012-08-18 13:54:11 +10:00
rmackay9
756d1a3fff AP_Limits: change order of initialisation of class variables to remove compiler warnings. 2012-08-18 12:51:32 +09:00
Michael Oborne
0996782582 Fix Airspeed use use 2012-08-18 08:30:15 +08:00
Andrew Tridgell
7948b3aee7 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
84c39774fa DataFlash: fixed SITL build 2012-08-17 16:27:19 +10:00
Andrew Tridgell
1ccff12b54 SITL: added SIM_ENGINE_MUL
this allows for simulated engine failures
2012-08-17 14:22:08 +10:00
Jason Short
ff32718d9b Dataflash fix for missing card error 2012-08-16 15:37:28 -07:00
Andrew Tridgell
faeb206239 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
50e2458df0 math: more abs() fixes
abs() is 16 bit
2012-08-16 15:17:42 +10:00
Jason Short
e2c3149b2f Location Lib : Abs was overflowing causing bad comparison 2012-08-15 22:01:51 -07:00
Jason Short
555e26d5fa 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
a6b874b591 DataFlash : Removed Chip Erase - relying on Block erase only 2012-08-15 21:04:24 -07:00
Jason Short
44b715af9b 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
9c3c1c4f54 APM: fixed hil build 2012-08-16 12:53:37 +10:00
Andrew Tridgell
41a974683e 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
79aae2114c 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
f4023d1b44 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
a361a3aebd 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
7bb8fa1e58 MAVLink: added FENCE_ACTION_REPORT 2012-08-15 12:39:35 +10:00
Andrew Tridgell
44852276da 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
93f45f232f 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
394a3059b7 APM_RC_APM2: updated comments for clarity 2012-08-13 15:34:17 -07:00
rmackay9
4e7e78d091 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
c22f3ae563 GPS_IMU: deleted this empty library as nobody seems to be using it. 2012-08-13 16:35:29 +09:00
rmackay9
cb71edb427 Waypoints: deleted this library as nobody seems to be using it. 2012-08-13 16:35:08 +09:00
rmackay9
8f475f9d38 Trig_LUT: deleted this library as nobody seems to be using it 2012-08-13 16:34:50 +09:00
rmackay9
1115dde0d4 AP_EEPROMB: deleted this library as nobody seems to be using it. 2012-08-13 16:34:33 +09:00
rmackay9
a3a56c488a 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
562069cbd7 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
fa1b72adc5 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
3a92509b18 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
8ddf864431 Mavlink: re-generate with WIND message 2012-08-11 22:06:03 +10:00
Andrew Tridgell
f8a17ba1e9 Mavlink: added WIND message
this allows us to log the wind estimation result
2012-08-11 22:06:03 +10:00
Andrew Tridgell
2c7ab7c659 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
20a30e3a6b AP_Math: added matrix column extraction functions 2012-08-11 22:06:02 +10:00
Amilcar Lucas
f103d375c9 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
708280511c 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
06070dbf23 AP_GPS: added last_ground_speed() method
used for dead-reckoning in AHRS
2012-08-11 11:59:47 +10:00
Andrew Tridgell
f68211a011 AP_GPS: fixed types to be stdint types 2012-08-11 11:59:03 +10:00
Andrew Tridgell
96d1249dad SITL: fill in SIMSTATE.lat and SIMSTATE.lng 2012-08-11 11:58:25 +10:00
Andrew Tridgell
90f00ebd01 MAVLink: re-generate MAVLink C code 2012-08-11 11:58:06 +10:00
Andrew Tridgell
b47cceb442 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
e1ffd37411 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
e48b0f8558 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
d3cc6e5fab ACM: fixed HIL build 2012-08-11 08:34:16 +10:00
Jason Short
d37ca9343b MOTORS Mixer: temp removal of Yaw Contrib code 2012-08-09 17:00:11 -07:00
Jason Short
4e001286a6 AHRS DCM: FOrmatting 2012-08-09 16:59:43 -07:00
Amilcar Lucas
aef8c7af0a 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
a2f802e5da build: fixed more build warnings 2012-08-09 16:19:39 +10:00
Andrew Tridgell
0491188c03 MPU6000: fixed some build warnings 2012-08-09 16:19:21 +10:00
Andrew Tridgell
c69dccceb2 AP_MetaClass: fixed a warning 2012-08-09 16:19:04 +10:00
Andrew Tridgell
73d70354a3 AP_Param: fixed some build warnings 2012-08-09 16:18:53 +10:00
Andrew Tridgell
d3c399c5d9 MAVLink: removed obsolete files 2012-08-09 15:25:49 +10:00
Andrew Tridgell
52b6e4ab2e 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
a7399c405d 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
16d63978f1 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
1683f18bff Allow fully independent operation of two AP_Mount instances 2012-08-08 23:11:23 +02:00
Amilcar Lucas
45b10a51ff 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
eeaa855b03 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
5e19c0cf04 AP_Airspeed: removed values passed to constructor 2012-08-08 16:38:39 +10:00
Andrew Tridgell
fc26d49260 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
3159c9ed99 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
891ed81f74 AP_Math: rename get_bearing() to get_bearing_cd() to make units obvious 2012-08-08 12:12:30 +10:00
Andrew Tridgell
6245592447 SITL: added pgm_read_dword() and pgm_read_float() 2012-08-08 12:11:57 +10:00
Andrew Tridgell
e9d0ae3e7f AP_Param: update remaining libraries for new constructor syntax 2012-08-08 12:11:57 +10:00
Andrew Tridgell
7be604cffd AP_Param: update AHRS for new constructor syntax 2012-08-08 12:11:57 +10:00
Andrew Tridgell
3dfe55e72c AP_Param: update PID libraries for new constructor syntax 2012-08-08 12:11:57 +10:00
Andrew Tridgell
45c7c9b8d1 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
b0e403e6fb 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
fb90d16092 Filter: make the DerivativeFilter test GNUPlot friendly
makes testing easier
2012-08-08 12:07:36 +10:00
Andrew Tridgell
2de06df08d 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
c9a56e2223 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
fbc25e4baa 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
36bcd827b4 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
fe4713b46e 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
f3f89004e9 More work on ch9, 10 and 11 2012-08-04 19:44:41 +02:00
Amilcar Lucas
431ed1c9b9 More flexible RC support 2012-08-04 18:39:20 +02:00
Andreas M. Antonopoulos
1ea2cb7b75 AP_Limits: experimental "bounce" mode. 2012-07-31 18:39:58 -07:00
Robert Lefebvre
54b320a9a0 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
23a1e33e20 AP_InertialSensor_MPU6000: another attempt at fixing the SITL build 2012-07-28 17:19:19 +09:00
rmackay9
06a4aaa763 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
9a558be53e AP_AHRS_MPU6000: cleaning up compiler warning due to unused yaw_deltat variable 2012-07-28 16:23:25 +09:00
rmackay9
ea4e56309d AP_InertialSensor_Oilpan: changed initialisation order of parameters to remove compiler warning 2012-07-28 15:22:37 +09:00
rmackay9
a49454e905 AP_AHRS: updated test sketch to allow use of MPU6000's DMP 2012-07-28 14:27:26 +09:00
rmackay9
0820ebddb9 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
5a9211c278 AP_AHRS: removed var_info from AP_AHRS class (moved to AP_AHRS_DCM) 2012-07-28 14:16:56 +09:00
rmackay9
c2b47d2bf9 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
ae119b08b3 AP_IMU_INS: added gx(), gy() and gz() methods to return gyro offsets 2012-07-28 14:15:23 +09:00
rmackay9
dfea845c37 AP_InertialSensor: methods added to access DMP functionality 2012-07-28 14:14:43 +09:00
Andrew Tridgell
e0b6ed12be MAVLink: rename the message_definitions directory 2012-07-26 10:03:36 +10:00
Andrew Tridgell
b4fc025151 MAVLink: removed MAVLink 0.9 message definitions
we are now 1.0 only
2012-07-26 10:03:36 +10:00
rmackay9
960c2f08af 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
21f0ed00b3 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
99410cbbfe AP_AnalogSource: fixed reporting of VCC
the VCC pin number should not be converted
2012-07-21 19:49:24 +10:00
Andrew Tridgell
5f5c884a6d AHRS: if we don't have gps correction enabled, zero the yaw correction 2012-07-20 17:21:04 +10:00
Andrew Tridgell
4f41b876b1 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
404803a734 MAVLink: imported updated generated mavlink C code
no functionality changes
2012-07-20 11:50:03 +10:00
Jason Short
25c3ed6c4b 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
8a4a9a929e Lead Filter: simplified calculation 2012-07-18 22:57:10 -07:00
Andrew Tridgell
f704408094 GPS-UBlox: removed duplicate config messages
these were left over from debugging
2012-07-19 15:23:15 +10:00
Amilcar Lucas
13fb2e6dc9 RC_Channel parameters: Fix a typo 2012-07-18 22:39:49 +02:00
Amilcar Lucas
dea5b88379 Support up to 7 aux servo outputs 2012-07-18 21:58:22 +02:00
rmackay9
a2e6af1f9c 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
8acc432084 Replace long with int32_t 2012-07-18 02:12:31 +02:00
Amilcar Lucas
f5c2ffca34 Use ascending order in the values 2012-07-18 02:11:49 +02:00
Amilcar Lucas
23f009f665 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
b97f9bb803 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
dfb22554aa 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
bec5321b8b 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
3b9a1d4305 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
e83275d8ae 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
31fd74d94c AP_Limits library, provides modular "limits" such as altitude and geo-fencing. 2012-07-14 19:26:17 -07:00
Michael Oborne
804898c2a5 fix param config names 2012-07-14 15:34:15 +08:00
Robert Lefebvre
716ce6a5a7 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
ab1212d8d2 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
9dfb3c4db9 Added Michael Pursifull's Maxsonar HRLV model support 2012-07-11 18:46:47 -07:00
rmackay9
d3426420ad AP_Camera: moved seme constructor initialisers around to remove compile warnings 2012-07-12 09:33:22 +09:00
rmackay9
1105a35c77 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
eb647b5320 AP_Mount: add support for non-spring-loaded joysticks 2012-07-11 00:07:33 +02:00
Amilcar Lucas
ad60fac863 RC_Channel: improve parameter documentation 2012-07-11 00:07:10 +02:00
Amilcar Lucas
42301af148 Remove unused function, remove unnecessary angle wrapping. 2012-07-11 00:06:45 +02:00
Amilcar Lucas
74ef712cd1 Allow mount control when no AHRS exists
Allow mount control on non stabilized axes
2012-07-11 00:06:26 +02:00
Andrew Tridgell
63a83b95b4 AP_Math: added get_distance_cm() to return in centimeters 2012-07-11 07:49:05 +10:00
Andrew Tridgell
15133b1105 AHRS: fixed HIL build 2012-07-10 18:02:05 +10:00
Andrew Tridgell
9b6acf168e 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
2bc530d04f AP_Param: added some docs on the eeprom header format 2012-07-10 14:03:49 +10:00
Craig Elder
0534ac12b1 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
a79f55656a RC_Channel: Improve documentation 2012-07-07 21:57:30 +02:00
Amilcar Lucas
8bd7ef9b9a 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
ec70e87495 AnalogSource: prevent a division by zero on zero ADC data 2012-07-06 19:59:18 +10:00
Andrew Tridgell
7bc724d118 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
44755bf3ce 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
43d6015811 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
4723698489 AP_Baro: update MS5611 test to use baro library altitude 2012-07-06 15:11:30 +10:00
Andrew Tridgell
9845a55cb1 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
e33554a1f9 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
1ce4a03147 SITL: lower baro noise a bit 2012-07-05 16:29:21 +10:00
Andrew Tridgell
9f3da1bf7f Filter: fixed DerivativeFilter example build 2012-07-05 16:29:21 +10:00
Andrew Tridgell
5f38669666 SITL: run the HIL barometer at 80Hz to match APM2 2012-07-05 16:29:21 +10:00
Andrew Tridgell
735c88e9b3 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
92001e3e7d Filter: fixed typo in 9 point DerivativeFilter 2012-07-05 16:29:20 +10:00
Andrew Tridgell
999a1d1d55 AP_Baro: change to a 7 point DerivativeFilter for climb rate 2012-07-05 13:00:47 +10:00
Andrew Tridgell
a07e280eda 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
ce3f8be6c7 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
fe54329de2 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
9d7ed30023 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
6653c0b874 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
a5d607d25a AP_Baro: use DerivativeFilter in barometer climb rate 2012-07-05 13:00:46 +10:00
Andrew Tridgell
f97289792b Filter: added DerivativeFilter implementation
this adds a DerivativeFilter implementation of up to 10 points
2012-07-05 13:00:46 +10:00
Andrew Tridgell
cf2c546051 AP_Baro: show climb rate in baro test sketch 2012-07-05 13:00:45 +10:00
rmackay9
be3d035a64 AP_Motors: clarified some doxygen descriptions for TradHeli 2012-07-05 08:46:50 +09:00
Amilcar Lucas
6904bef611 Document++ 2012-07-05 00:33:46 +02:00
Amilcar Lucas
8400bd67f8 Remove unused function 2012-07-05 00:33:10 +02:00
Andrew Tridgell
dc6d70bc15 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
cac0757c2e 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
03516b7dfa 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
6cf2e2fa13 AP_Math: cope with co-located waypoints in location_passed_point() 2012-07-04 14:24:04 +10:00
Andrew Tridgell
7be29c8b04 AP_Math: the windows arduino build is missing acosf() 2012-07-04 14:14:58 +10:00
Andrew Tridgell
8fa1acb141 AP_Math: add include of math.h
this is needed for location.cpp
2012-07-04 13:59:23 +10:00
Andrew Tridgell
597170afdc DataFlash: fixed SITL build 2012-07-04 13:44:01 +10:00
Andrew Tridgell
c6ff292721 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
84a489498d Math: added location functions to math library
these do common calculations on struct Location
2012-07-04 12:42:46 +10:00
Andrew Tridgell
e0685f4408 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
1142ec0665 AP_Mount: removed unused enum 2012-07-03 10:39:34 +10:00
Andrew Tridgell
f150c645c8 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
7a77832f45 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
f7b06e0a64 Baro: fixed build of MS5611 test code 2012-07-02 13:44:53 +10:00
Andrew Tridgell
2bd5cd3b9a AnalogSource: added some example code 2012-07-01 15:01:05 +10:00
Andrew Tridgell
0341e0e5f0 SITL: added support for new analog source
removed analogRead() to prevent people using it
2012-07-01 15:01:05 +10:00
Andrew Tridgell
2046e396a2 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
b5aa821071 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
02b9ea4dfe MPU6k: removed an unused variable 2012-06-29 21:54:09 +10:00
Andrew Tridgell
117bae9585 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
37494dda2b 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
21ae2957fb 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
e531061caa AHRS: re-instate new DCM drift correction code
This reverts commit 078489638d47fbaffde7c51249e36b5a8fc4ef9d.
2012-06-28 11:09:22 +10:00
Andrew Tridgell
8600ad8d7f 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
70bfacc350 SITL: removed an unused variable 2012-06-27 16:01:50 +10:00
Andrew Tridgell
57579e494b 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
ce016b5ae8 AHRS: include P term in omega
thanks to Jon for suggesting this
2012-06-27 16:01:50 +10:00
Andrew Tridgell
0fa1f29cf3 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
3ffecc18d8 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
3458962184 GPS: test the more modern MTK16 2012-06-27 16:01:50 +10:00
Andrew Tridgell
426006d98f 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
20c1baf585 SITL: changes UBlox simulation to 5Hz
this matches the real UBlox driver
2012-06-27 16:01:50 +10:00
Andrew Tridgell
d9583ae5eb 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
5370f9c411 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
53e950531e 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
9fd3d15026 Filter: added 5 point average float filter 2012-06-27 16:01:50 +10:00
Jonathan Challinger
1ff9461bfb 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
73faaddc1b 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
0399aa9480 AHRS: update for new _fly_forward flag 2012-06-27 16:01:49 +10:00
Andrew Tridgell
2600afe18a 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
5316a45c20 AHRS: added GPS support to AHRS test 2012-06-27 16:01:49 +10:00
Andrew Tridgell
19954f30e5 GPS: added velocity and acceleration components
used by AHRS for acceleration correction
2012-06-27 16:01:49 +10:00
Andrew Tridgell
2b352d2b5c Math: added comment 2012-06-27 16:01:49 +10:00
Andrew Tridgell
f23cebc808 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
c034e38cbd 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
abb6eb2471 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
cd0411ba33 Add linebreaks to increase readability. 2012-06-21 00:36:10 +02:00
Amilcar Lucas
be6923be0f Improve parameters descriptive text 2012-06-21 00:20:37 +02:00
Amilcar Lucas
1ead5f1690 Documentation improvements, no functional changes (only comments) 2012-06-17 22:53:54 +02:00
Amilcar Lucas
8f646467e5 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
d9e6a1ece9 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
ceba24ff8f 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
b32726e867 GPS: need pgmspace.h for _write_progstr_block() 2012-06-15 16:27:11 +10:00
Andrew Tridgell
ae9883a8e2 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
b7e807cd58 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
a12cb8fd9a Added camera trigger functionality 2012-06-13 21:00:20 +02:00
Amilcar Lucas
f7ef60565e 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
e9226d6f0a Spellcheck 2012-06-13 20:44:35 +02:00
rmackay9
fca914b7cf AP_GPS_NMEA: fix from Roberto Navoni to improve NMEA accuracy 2012-06-12 20:27:50 +09:00
Andrew Tridgell
f9c5b135bc GPS: use the new nav_setting in a couple of the sample sketches 2012-06-10 16:35:13 +10:00
Andrew Tridgell
0542539fc9 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
926dfbc0e9 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
04a71197f9 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
f347572fc2 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
9adaacedcd GPS: added debug code to the main GPS class 2012-06-08 16:42:03 +10:00
Andrew Tridgell
f4718cafad 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
ddebf7b443 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
148e59a4de GPS: tidy up the auto gps test 2012-06-08 16:42:02 +10:00
Robert Lefebvre
f7be9a4b5d TradHeli adding ramp up time to Ch8 Throttle Pass-through. 2012-06-07 22:55:47 -04:00
Robert Lefebvre
0c8078c436 AP_MotorsHeli Syntax correction. 2012-06-04 15:53:07 -04:00
Andrew Tridgell
43fe5bab78 re-enable the AP_Mount build 2012-06-04 19:32:11 +10:00
Andrew Tridgell
b4fbda7a28 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
a6c1a86c23 mavlink: fixed build with uart resend 2012-06-04 13:45:55 +10:00
Andrew Tridgell
1ad17bc78c MAVLink: updates to mavlink headers to fix mavlink 1.0 issues 2012-06-04 13:34:07 +10:00
Andrew Tridgell
4f7a80a04d Mavlink: fixed library build for MAVLink 1.0 2012-06-04 13:14:52 +10:00
Andrew Tridgell
34234b7003 SITL: fixed SITL build with mavlink10 2012-06-04 13:14:52 +10:00
Andrew Tridgell
7602f698eb mavlink10: fixed MAV_VAR -> MAVLINK_TYPE 2012-06-04 13:14:51 +10:00
Andrew Tridgell
2c3bfd896a MAVLink: updated to latest upstream mavlink
this includes no significant changes
2012-06-04 13:14:51 +10:00
Jason Short
1ebfb8fe25 GPS time set to unsigned int32 2012-06-03 11:13:50 -07:00
rmackay9
bad6591e6d AP_Baro: fixed comment to clarify that every-other call updates temperature or pressure 2012-06-03 17:31:17 +09:00
rmackay9
8f8e91a620 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
080c5184d5 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
8f3169a200 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
3246f2bad3 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
37e4637c13 RC_Channel.pde: fixed compile errors so that it actually works! 2012-06-02 14:00:44 +09:00
rmackay9
df3fb5c041 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
477aa6e47a 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
7ee38df5a2 Issue 416: RC_Channel – Fix to make dead_zones still output 0 2012-05-31 12:05:47 -07:00
Jason Short
2cc9fde3c9 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
00cabc6343 Channel rage fix - low output was always 0 vs _low 2012-05-31 11:31:48 -07:00
Robert Lefebvre
bafb478924 TradHeli: Incorporating Ext ESC Control 2012-05-30 21:50:25 -04:00
Robert Lefebvre
ffc04b7305 Fix TradHeli Collective Yaw Effect bug. 2012-05-25 15:25:21 -04:00
Andrew Tridgell
734dcebb2a SITL: fixed ChipErase()
the loop never completed
2012-05-23 21:15:45 +10:00
Andrew Tridgell
5e0d937e50 SITL: fixed build with new ChipErase() call 2012-05-23 17:33:33 +10:00
Andrew Tridgell
c2fb8a7a98 DataFlash: use ChipErase() instead of PageErase() on all pages
This makes the DataFlash erase much faster (about 6 seconds instead of
about 60 seconds).

We need to test and ensure the behaviour is equivalent apart from the
speed
2012-05-22 19:29:02 -07:00
Andrew Tridgell
8f27297896 DCM: fixed a bug when using GPS for yaw correction
When using GPS for yaw correction we need to apply the x and y omegaI
corrections from the _omega_I_sum in the period before we get to the
minimum ground speed for GPS yaw correction. Otherwise we get a large
sudden omega_I change on takeoff.
2012-05-21 12:15:06 +10:00
Andrew Tridgell
37f652e19b AP_Common: fixed some duplicate product ID warnings 2012-05-17 23:37:32 +10:00
rmackay9
eaeaa3811a ArduCopter: bug fix for reversing tri servo
Extended AP_MotorsTri class to take in pointer to rc_tail servo (rc_7) and we use this servo's REV parameter to determine whether to reverse the output to the tail servo or not
2012-05-13 12:36:46 +09:00
Craig Elder
fe742f1c23 IMU: expose IMU_PRODUCT_ID as EEPROM Variable
this will allow us to log the Product ID in tlogs
2012-05-09 18:30:36 -07:00
Craig Elder
c323a71933 AP_InertialSensor: Return product ID from sensor initialization
this exposes the product ID to the IMU Layer
2012-05-09 18:30:36 -07:00
Craig Elder
a22b15adf1 PRODUCT: Define product IDs for all supported products 2012-05-09 18:30:36 -07:00
Craig Elder
b824a87b90 MPU6000: Fixed Scaling on Accelerometers Rev C vs Rev D
Rev C have non standard scaling factor that is 1/2 of the data sheet
Rev D chips conform to the specification
2012-05-09 18:30:35 -07:00
Chris Anderson
46614e9acd fixed typo ("minimum" should have been "maximum") 2012-05-06 15:50:19 -07:00
Andrew Tridgell
76a3fd9a4e MPU6k: added suspend/resume on init 2012-05-01 12:06:54 +10:00
Andrew Tridgell
ae1702c20b Baro: added suspend/resume on init 2012-05-01 12:06:54 +10:00
Andrew Tridgell
3115d48ba1 ADC: added suspend/resume on init 2012-05-01 12:06:54 +10:00
Andrew Tridgell
57ac39649a TimerProcess: added suspend_timer()/resume_timer()
this will be used to avoid races in driver initialisation
2012-05-01 12:06:54 +10:00
rmackay9
3b2d203f0f AP_AHRS: updated default AHRS_YAW_P to 0.2 (was 0.4)
This reduces the compass's default authority over the yaw direction by half
2012-04-30 17:29:45 +09:00
Andrew Tridgell
8f2cecae4d MAVLink: re-generated with new pygen
this moves the enums to make them less order sensitive
2012-04-30 12:27:30 +10:00
Adam M Rivera
292f9699fa Parameters.pde/AP_MotorsHeli: Updated comments to leverage the new value aliases 2012-04-28 20:50:41 -05:00
Andrew Tridgell
3177f57d48 build: cope with Arduino 1.0 in command line build
this should autodetect 1.0 versus older builds
2012-04-27 15:38:42 +10:00
Adam M Rivera
21886104a6 Parameters.pde/AP_MotorsHeli.cpp: Added comments from Roberts clone. 2012-04-26 18:26:14 -05:00
Adam M Rivera
b1f19dbb01 AP_AHRS_DCM.cpp: Added comments that follow the new parse structure 2012-04-25 12:00:42 -05:00
Andrew Tridgell
532ac607b2 sitl: support MAVLink 1.0 builds 2012-04-24 22:24:58 +10:00
Andrew Tridgell
fef4134702 MAVLink: removed the cpp part of the library
this was preventing building MAVLink 1.0 with the arduino GUI as we
can't set cpp defines
2012-04-24 22:24:58 +10:00
Andrew Tridgell
9bf8d60dae MAVLink: one more define for MAVLink 1.0 compat 2012-04-24 19:54:20 +10:00
Andrew Tridgell
fd9d2f856e MAVLink: re-add the XML message definitions
these are a very useful reference for the current headers in the code
2012-04-24 10:57:43 +10:00