Commit Graph

940 Commits

Author SHA1 Message Date
jasonshort 2e3ae1a30e Changed bit shifts to division, relying on the compiler.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3265 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-09-05 04:32:17 +00:00
tridge60@gmail.com fc0c75963b renamed ACM_PI to APM_PI to fix build
the library name needs to match the header name for the arduino build
to work

git-svn-id: https://arducopter.googlecode.com/svn/trunk@3254 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-09-05 01:15:24 +00:00
jasonshort 2ebcc08b06 Adding ACM_PI
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3253 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-09-05 00:56:50 +00:00
tridge60@gmail.com f2ea0b4fd8 BetterSerial has txspace() now
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3248 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-09-04 22:52:22 +00:00
tridge60@gmail.com 6cfb9a9c2b replace space() with txspace()
space() was actually intended to be tx buffer space, it just had a
bug. The name txspace() is clearer however, and should prevent
confusion as to which buffer its for

git-svn-id: https://arducopter.googlecode.com/svn/trunk@3247 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-09-04 22:52:11 +00:00
tridge60@gmail.com 2dde50366f added comm_get_txspace() to GCS_MAVLink
this gives us the number of bytes available in the transmit buffer for
a mavlink channel

git-svn-id: https://arducopter.googlecode.com/svn/trunk@3246 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-09-04 21:23:24 +00:00
tridge60@gmail.com 85a8d1b5c5 added txspace() method to FastSerial
this returns the number of bytes available in the transmit buffer

git-svn-id: https://arducopter.googlecode.com/svn/trunk@3245 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-09-04 21:23:15 +00:00
tridge60@gmail.com e7b71b3cb6 fixed spelling
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3244 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-09-04 21:23:06 +00:00
jasonshort 58e9a913a1 Added two filters to the RawTemp and RawPress values to increase accuracy from noisy temp sensor.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3242 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-09-04 17:47:50 +00:00
jasonshort 5f8ac1d269 Reverted to older PID. Restored the older filter, and removed PI command. I am no longer using PID for the quad and have switched to PIPI loops which perform much better. The D term in this class is not that great.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3241 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-09-04 17:47:07 +00:00
tridge60@gmail.com b8538ed5fb shrink the size of mavlink_message_t using max dialect message size
this makes mavlink_message_t much smaller, but setting
MAVLINK_MAX_PAYLOAD_LEN to the maximum message size in this
dialect. This saves us 320 bytes of memory

git-svn-id: https://arducopter.googlecode.com/svn/trunk@3239 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-09-04 08:51:51 +00:00
tridge60@gmail.com d5821bb54f import new mavlink version
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3238 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-09-04 08:50:24 +00:00
rmackay9@yahoo.com ada9c36e0c AP_RangeFinder - removed LV version because we use XL which covers both types of sonars
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3237 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-09-04 06:55:58 +00:00
tridge60@gmail.com a2589c3573 AP_Var: added EEPROM wear levelling
This adds a variable length dummy variable at the front of the EEPROM
when we erase it, which has the effect of moving the location of any
hot variables within the EEPROM. This should improve EEPROM
life. Thanks to Mike for the implementation.

Pair-Programmed-With: Mike Smith

git-svn-id: https://arducopter.googlecode.com/svn/trunk@3234 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-09-04 06:39:57 +00:00
tridge60@gmail.com 3255503032 AP_Var: avoid wearing out EEPROM by re-writing the same value
when saving a variable, this avoids EEPROM wear by checking if the
existing value is already the same as the value being written, and
avoiding the write.

Thanks to Mike Smith for the implementation

git-svn-id: https://arducopter.googlecode.com/svn/trunk@3233 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-09-04 06:39:49 +00:00
tridge60@gmail.com cb4c53eddd AP_Var: fixed a logic bug in APVar::key()
We were using && instead of & for a bit check. Thanks to Mike for
spotting this!

Pair-Programmed-With: Mike Smith

git-svn-id: https://arducopter.googlecode.com/svn/trunk@3232 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-09-04 06:39:40 +00:00
tridge60@gmail.com 442e7ddc49 AP_Var: fill all of EEPROM with 0xFF on erase_all()
This wipes all parameter values, and also clears out any waypoints as
the waypoint format could have changed between firmware revisions.

This also ensures that the AP_Var code can't re-use any key values
from the old EEPROM state, which makes us less dependent on the old
EEPROM being in a good state

Pair-Programmed-With: Mike Smith

git-svn-id: https://arducopter.googlecode.com/svn/trunk@3231 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-09-04 06:39:28 +00:00
tridge60@gmail.com 7ac3544573 dataflash: fixed some compiler warnings
tmp is not needed

Pair-Programmed-With: Mike Smith

git-svn-id: https://arducopter.googlecode.com/svn/trunk@3230 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-09-04 06:39:14 +00:00
hazyhxj@gmail.com 2cbb662e1f Fix NMEA GPS error
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3227 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-09-04 05:14:42 +00:00
mich146@hotmail.com 86bc84c259 update "NO_GPS" issue as per Justin Beech
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3225 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-09-04 04:46:14 +00:00
tridge60@gmail.com 5cac97ca8d added memcheck library
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3206 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-09-01 00:50:31 +00:00
tridge60@gmail.com bba6b90104 mavlink: imported new version with MEMINFO message
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3205 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-09-01 00:50:13 +00:00
tridge60@gmail.com ca8141cfb6 imported new MAVLink implementation
this new implementation reduces code size, and also reduces stack
usage, while avoiding the gcc union stack bug

Note that we will gain even more when we move to the new protocol
version, especially in terms of code size

git-svn-id: https://arducopter.googlecode.com/svn/trunk@3200 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-08-31 05:23:18 +00:00
james.goppert 9f7631dc0f Fixed debug command.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3196 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-08-30 17:33:51 +00:00
joeholdsworth@gmail.com 725ccbc109 update to arduino.mk file to allow easier use with cygwin.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3166 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-08-23 23:02:39 +00:00
joeholdsworth@gmail.com 9e36c13f9c nightly check in, version not stable.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3164 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-08-23 20:36:30 +00:00
joeholdsworth@gmail.com c140113583 Checkin before beddy byes
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3154 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-08-22 21:50:11 +00:00
joeholdsworth@gmail.com f92e7323f5 Amilcar Lucas & Ritchie Wilson's camera code mixed in with ap_mount code, this needs to be separated.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3145 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-08-21 21:14:02 +00:00
joeholdsworth@gmail.com 2048d132b0 change of mind payloads should be split into their separate folders.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3144 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-08-21 19:58:15 +00:00
joeholdsworth@gmail.com 8c020108cb git-svn-id: https://arducopter.googlecode.com/svn/trunk@3143 f9c3cf11-9bcb-44bc-f272-b75c42450872 2011-08-21 19:55:54 +00:00
joeholdsworth@gmail.com 764619f6e7 git-svn-id: https://arducopter.googlecode.com/svn/trunk@3142 f9c3cf11-9bcb-44bc-f272-b75c42450872 2011-08-21 19:33:32 +00:00
joeholdsworth@gmail.com 463dc4b533 git-svn-id: https://arducopter.googlecode.com/svn/trunk@3141 f9c3cf11-9bcb-44bc-f272-b75c42450872 2011-08-21 18:49:42 +00:00
joeholdsworth@gmail.com 71725824e9 git-svn-id: https://arducopter.googlecode.com/svn/trunk@3140 f9c3cf11-9bcb-44bc-f272-b75c42450872 2011-08-21 18:48:28 +00:00
joeholdsworth@gmail.com 3fa8b249e5 Payload libraries, code for things like camera control, mount control antenna control should go here.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3139 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-08-21 18:33:39 +00:00
jasonshort 9cdba838a6 removed AP_Common ref
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3102 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-08-14 19:27:40 +00:00
jasonshort 9336fa9bd1 upped D filter to 6
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3096 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-08-14 05:44:29 +00:00
tridge60@gmail.com eb8de79be4 Compass: added a gain multiplier
this adjusts the calibration based on the change in gain between
calibration and runtime

git-svn-id: https://arducopter.googlecode.com/svn/trunk@3090 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-08-13 10:39:11 +00:00
tridge60@gmail.com 69b6e5225a added SET_MAG_OFFSETS magnetometer message
this allows reset of the mag offsets without wiping your EEPROM

git-svn-id: https://arducopter.googlecode.com/svn/trunk@3088 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-08-13 09:00:21 +00:00
tridge60@gmail.com 32c576f28c Compass: several fixes to compass calibration code
this changes the calibration code to require at least 5 good reads
from the compass during initialisation. The calibration is taken as
the average of the 5 values.

This also fixes the expected values for the 3 axes for the 5883 to
match reality.

We also save a bit of code space by adding a common rotate_for_5883L()
routine.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@3087 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-08-13 08:17:25 +00:00
tridge60@gmail.com 5ffd66bc83 MAVLink: added missing files from recent update
thanks to Randy for spotting this

git-svn-id: https://arducopter.googlecode.com/svn/trunk@3086 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-08-13 06:30:29 +00:00
tridge60@gmail.com 1989497ae9 we don't have a separate 5883L driver any more
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3085 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-08-13 06:30:13 +00:00
tridge60@gmail.com 9232a0f652 Compass: removed the old 5883L driver
we now use a single driver for both mags

git-svn-id: https://arducopter.googlecode.com/svn/trunk@3083 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-08-13 05:09:58 +00:00
tridge60@gmail.com 1dcd7a358e PID: fixed an uninitialised variable
we did not initialise derivative to zero

git-svn-id: https://arducopter.googlecode.com/svn/trunk@3082 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-08-13 04:46:21 +00:00
tridge60@gmail.com 92822dbd6b ModeFilter: fixed a shadowed variable
mode is a member of the class already, so call the local variable
fmode

git-svn-id: https://arducopter.googlecode.com/svn/trunk@3081 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-08-13 04:46:10 +00:00
tridge60@gmail.com 6205752740 MAVLink: pull in latest changes from upstream MAVLink
this gives us the new SENSOR_OFFSETS message for debugging sensor
calibration

git-svn-id: https://arducopter.googlecode.com/svn/trunk@3080 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-08-13 04:45:48 +00:00
jasonshort 1d9bc92d41 Added a generic Sin and Cos look table. Not sure if it works yet as a library.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3075 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-08-11 22:31:15 +00:00
tridge60@gmail.com 4f099ae158 cope with double initialisation of the compass
if we've already initialised, then the orientation matrix will already
be right

git-svn-id: https://arducopter.googlecode.com/svn/trunk@3072 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-08-10 14:07:15 +00:00
tridge60@gmail.com 2995878e99 compass: add a small delay in compass init
this adds a 50ms delay after setting the compass gains before reading
the compass. Added as paranoia after some strange results on a 5843

git-svn-id: https://arducopter.googlecode.com/svn/trunk@3070 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-08-10 12:47:25 +00:00
rmackay9@yahoo.com 998b00693c AP_OpticalFlow - small but important fixes for position calcs
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3040 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-08-07 13:19:18 +00:00
mich146@hotmail.com 22d6499ef7 perl version of eedump
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3037 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-08-07 10:36:31 +00:00
james.goppert 1e4f463298 Updated GCS_MAVLink to match mavlink master.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3017 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-08-05 08:18:08 +00:00
tridge60@gmail.com f951ffb602 IMU: fixed HIL init with callback
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2988 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-07-31 23:35:37 +00:00
tridge60@gmail.com 22b5eb4273 GPS: added delay hook for GPS detection
this allows for MAVLink to be up during GPS detection

git-svn-id: https://arducopter.googlecode.com/svn/trunk@2987 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-07-31 22:34:37 +00:00
tridge60@gmail.com 28cf3dfc79 IMU: added delay callback hooks to IMU initialisation
this allows the imu init() call to use a custom replacement for
delay(), which will allow for the processing of MAVLink packets during
IMU initialisation

git-svn-id: https://arducopter.googlecode.com/svn/trunk@2986 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-07-31 22:34:25 +00:00
rmackay9@yahoo.com f096d8cb23 OpticalFlow - add check to see if sensor has initialised correctly.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2974 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-07-31 04:31:36 +00:00
jasonshort e63fc0fe68 removed scaling on control in because it might cause rounding issues.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2969 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-07-30 23:48:38 +00:00
jasonshort e32f8057bb Reworked the filtering algorithm based on Maxbotics recommendations to use a Mode filter
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2968 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-07-30 23:34:25 +00:00
jasonshort ebf1697158 Reworked the filtering algorithm based on Maxbotics recommendations to use a Mode filter
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2965 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-07-30 20:35:36 +00:00
jasonshort 39677e7e66 Added some missing functions needed to get HIL to compile
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2964 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-07-30 20:34:23 +00:00
jasonshort 5c3837757a Added ability to grab an unfiltered value from the ADC
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2963 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-07-30 20:33:45 +00:00
tridge60@gmail.com 74edb558f4 GPS: fixed the GPS specific test programs
This fixes the build

git-svn-id: https://arducopter.googlecode.com/svn/trunk@2962 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-07-30 08:48:17 +00:00
jasonshort 7026405951 Changed the PID derivative filter to a moving average with 4 samples. Having great luck with it and High kD when using noisy sensors.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2957 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-07-29 21:52:37 +00:00
tridge60@gmail.com 1dc0063e67 HIL: fixed radio_status in setHIL() for APM_RC
thanks to Michael Oborne for noticing this!

git-svn-id: https://arducopter.googlecode.com/svn/trunk@2952 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-07-28 12:11:25 +00:00
rmackay9@yahoo.com b930b892c2 DataFlash library - changed to use standard arduino SPI library
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2928 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-07-19 23:00:18 +00:00
rmackay9@yahoo.com ab8d8fedb9 AP_OpticalFlow - fixes to position calculations (lat was reversed and would calculate position even with surface quality was very low)
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2913 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-07-18 21:51:27 +00:00
jasonshort 5c3113955d doubled Slew rate limiter to 2 m/s max @ 10 hz.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2912 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-07-18 18:18:47 +00:00
tridge60@gmail.com f915eb7052 GPS-HIL: set new_data on setHIL()
this fixes navigation for ACM in HIL

git-svn-id: https://arducopter.googlecode.com/svn/trunk@2909 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-07-18 12:42:36 +00:00
jasonshort de76785499 Added a slew rate limit
reworked filter, same results, just wanted to get rid of modulus.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@2900 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-07-17 19:05:18 +00:00
tridge60@gmail.com c22ebd22b4 compass: fixed a compiler warning
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2844 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-07-13 09:10:24 +00:00
tridge60@gmail.com d71ed55596 build: added EXTRAFLAGS to make rules
this allows you to create a local makefile like this:

 include Makefile

 hil:
	make -f Makefile EXTRAFLAGS="-DHIL_MODE=HIL_MODE_ATTITUDE -DSERIAL3_BAUD=115200"

and then use 'make hil'

git-svn-id: https://arducopter.googlecode.com/svn/trunk@2843 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-07-13 09:07:09 +00:00
jasonshort f6e5825349 Cleaned up or reverse code.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2842 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-07-13 05:54:40 +00:00
tridge60@gmail.com db2e139812 fixed 5843 detection code
we were looking for the wrong regA value

Thanks to Chris for the debugging help! (and happy birthday!)

git-svn-id: https://arducopter.googlecode.com/svn/trunk@2828 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-07-09 22:27:15 +00:00
tridge60@gmail.com ddb823829d compass: added error checking on I2C transactions
this adds error checking to all operations on the compass, to ensure
that we don't accept invalid data

This also fixes the calibration values for the 5883L to match the
recommended values in the spec

git-svn-id: https://arducopter.googlecode.com/svn/trunk@2815 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-07-09 12:10:00 +00:00
tridge60@gmail.com a45c33727a mavlink: fixed a signed/unsigned warning
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2814 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-07-09 12:09:50 +00:00
jasonshort d18262b729 Added heavily filtered Accelerometer values for experimentation.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2779 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-07-08 03:58:19 +00:00
jasonshort ce7dc48026 added ki_Yaw private variable and accessors.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2778 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-07-08 03:57:12 +00:00
jasonshort 8a0843e69a Added a limit to the atan function to calc the heading. Just trying to avoid, bad values screwing up the DCM. - Jason
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2777 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-07-08 03:56:04 +00:00
deweibel@gmail.com 45e57a0639 Commit test - just adding an unneeded comment
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2740 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-07-03 19:39:55 +00:00
tridge60@gmail.com 02351bd23a compass: fixed normal operation mode change for 5883L
We need to set the right rates after config too. Thanks to Randy for
spotting this one

git-svn-id: https://arducopter.googlecode.com/svn/trunk@2737 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-07-03 12:00:45 +00:00
tridge60@gmail.com cde84445b3 compass: fixed output rate and averaging for 5883L
we need to setup the right output rate, or the compass gets very laggy

git-svn-id: https://arducopter.googlecode.com/svn/trunk@2736 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-07-03 08:32:58 +00:00
tridge60@gmail.com 8fcceaa919 AP_Compass: fixed calibration of 5883L compass
this fixes a compass initialisation bug where if the first value from
the compass isn't in the right range we would set bad calibration
scaling factors.

This also changes the maximum acceptable calibration values to 2000,
which is needed for the 5883 compass

pair-programmed-with: Randy Mackay

git-svn-id: https://arducopter.googlecode.com/svn/trunk@2718 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-07-02 11:31:38 +00:00
tridge60@gmail.com e9bb030fd4 AP_Compass: report compass initialisation failure
don't just put out rubbish values

git-svn-id: https://arducopter.googlecode.com/svn/trunk@2717 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-07-02 11:31:27 +00:00
rmackay9@yahoo.com fd2547216d AP_Compass_test - added display to auto detected compass
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2716 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-07-01 16:26:27 +00:00
jasonshort 98632a97c0 temporally revert to prior version of Sonar class to narrow in on a bug.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2708 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-06-30 22:32:26 +00:00
rmackay9@yahoo.com f7ba02f825 AP_Compass - added auto detect of 5843 vs 5883L to AP_Compass_HMC5843 class
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2700 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-06-28 16:47:53 +00:00
rmackay9@yahoo.com 151aa5d415 AP_Compass - added auto detect of 5843 vs 5883L to AP_Compass_HMC5843 class
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2699 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-06-28 16:30:42 +00:00
jasonshort db0e5760a4 removed redundant FP calcs for speed up.
added ability to alternate normalization and drift correction. Not fully implemented, needs further testing.


git-svn-id: https://arducopter.googlecode.com/svn/trunk@2691 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-06-26 22:54:08 +00:00
jasonshort ebfb132f34 IMU speedup by shorting the temp calculation. If someone bothers to temp calibrate their sensors, they'll need to edit this shortcut.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2677 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-06-26 06:23:22 +00:00
DrZiplok 569087199d Add a simple tool for dumping AP_Var data from an EEPROM dump.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2676 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-06-25 07:56:38 +00:00
james.goppert 6959c2d6f9 Added debug/ upload targets to Arduino.mk
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2656 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-06-23 21:36:20 +00:00
james.goppert f2457c94d9 Added config.mk file inclusion for global configurations settings on make based builds. See ArduPilotOne for scripts/configure to see an example. config.mk should be located in the temporary directory where the rest of the build results are placed.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2655 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-06-23 19:01:06 +00:00
DrZiplok 8ab94794cd Enable map file generation.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2636 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-06-22 05:54:55 +00:00
deweibel@gmail.com 71d4015bc8 revert gps lib to 2602
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2608 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-06-21 01:38:31 +00:00
deweibel@gmail.com b99362dc18 remove static declaration from idleTimeout
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2607 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-06-21 01:26:57 +00:00
deweibel@gmail.com 8a35079907 clean up idleTimeout
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2606 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-06-21 01:20:39 +00:00
deweibel@gmail.com 0a0c6f9c26 Fix initialization of idleTimeout
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2602 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-06-20 21:11:45 +00:00
jasonshort d090f92b66 Vector3<T>() { x = y = x = 0; }
changed to :
	Vector3<T>() { x = y = z = 0; }

git-svn-id: https://arducopter.googlecode.com/svn/trunk@2600 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-06-20 16:31:31 +00:00
jasonshort b70d2d4c29 update to Baro lib to remove temp filtering.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2569 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-06-18 05:08:48 +00:00
jasonshort 3c27be40fc silly formatting
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2566 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-06-16 16:43:43 +00:00
jasonshort 16d1e5d0b8 removed some initial settings
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2565 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-06-16 16:35:11 +00:00
jasonshort 350b2c5ea2 added optimization note
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2564 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-06-16 16:34:23 +00:00
jasonshort dafe217178 made timeout public, settable
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2563 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-06-16 16:33:08 +00:00
jasonshort cb7da41e55 removed duplicate filter from ADC based input
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2562 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-06-16 16:30:37 +00:00
tridge60@gmail.com 60ae24dca6 disable the re-ordered initialisation warnings
these are not useful for us, and will always happen with our parameter
code

git-svn-id: https://arducopter.googlecode.com/svn/trunk@2561 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-06-15 12:25:10 +00:00
tridge60@gmail.com 24491fce74 fixed warnings in PID.h
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2560 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-06-15 12:25:00 +00:00
tridge60@gmail.com 88b00edaf3 fixed warnings in AP_DCM
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2559 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-06-15 12:24:51 +00:00
tridge60@gmail.com 439b65324d fixed a warning in AP_Var.h
index is in system headers as a string function

git-svn-id: https://arducopter.googlecode.com/svn/trunk@2558 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-06-15 12:24:40 +00:00
jasonshort 153c166ef3 Based on Doug's recommendation - increased Accel weighting to .66 – 1.33 Gs
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2557 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-06-14 23:37:43 +00:00
jasonshort e63fe14ce7 the temp change in the state machine didn't really help the altitude issue after all. Need more testing as the temp sway is the major factor in the lack of air pressure accuracy.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2556 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-06-14 15:46:38 +00:00
jasonshort ab6bafbd5c reworked filter on temperature.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2554 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-06-14 05:08:11 +00:00
jasonshort 65e161cbfb removed filter on temp, was causing init problems.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2553 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-06-14 04:51:07 +00:00
jasonshort d2330b4239 Adjusted the state machine to read the temperature less often (from twice a second to every 4 seconds). Added a small smoothing filter.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2552 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-06-12 23:57:36 +00:00
jasonshort 65345160d1 Implemented moving average filter to deal with noise issues on quads, default is a 6 member filter.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2551 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-06-12 23:50:15 +00:00
jasonshort b07c32acd0 Added dynamic setting of kp_rollpitch, ki_rollpitch, kp_yaw.
Added three constants for kp_rollpitch, (high, med -default, low)
Functionally equivalent to prior version.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@2550 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-06-12 23:49:01 +00:00
DrZiplok 4d6637389a Add a method to BetterStream and FastSerial that can be used to report
the amount of data that can be written without blocking.



git-svn-id: https://arducopter.googlecode.com/svn/trunk@2549 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-06-12 22:26:39 +00:00
deweibel@gmail.com 8b18bd3481 Add clearOverride message to allow failsafe recovery from joystick control
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2540 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-06-11 23:59:35 +00:00
rmackay9@yahoo.com 13203fd211 RC_Channel.h - small change to store _reverse setting to eeprom
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2528 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-06-10 03:33:31 +00:00
rmackay9@yahoo.com b640e7b68c AP_Compass - added support for HMC5883L
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2461 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-06-01 13:21:20 +00:00
rmackay9@yahoo.com 9b1be05369 AP_Compass - added support for HMC5883L
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2460 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-06-01 13:16:18 +00:00
rmackay9@yahoo.com 65cb8d6bdb AP_OpticalFlow - moved chip select pin so it doesn't interfere with AP_ADC
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2452 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-05-31 13:46:56 +00:00
deweibel@gmail.com 530eeb4184 Fix bug for GCS joystick control
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2440 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-05-30 03:44:07 +00:00
deweibel@gmail.com 5d5b51cbe6 Change setHIL to return a bool based on if GCS joystick control is active
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2423 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-05-27 23:15:29 +00:00
jasonshort dd510e68ae http://code.google.com/p/arducopter/issues/detail?id=161
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2395 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-05-24 05:17:12 +00:00
rmackay9@yahoo.com 4017bb39d1 AP_OpticalFlow - fixed some bugs in get_position
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2380 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-05-22 14:44:51 +00:00
james.goppert 886032141a Synced with mavlink dev branch, RC_CHANNELS_OVERRIDE packet added.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2344 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-05-18 03:24:31 +00:00
jasonshort 7bfeab7a6d I am Adding A "PI" loop to the mix. This is a need for AC2. We can optimize the internals later, but I basically duped the get_PID and removed the D term internals.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2338 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-05-16 16:05:49 +00:00
rmackay9@yahoo.com 4ce3cb9be8 AP_OpticalFlow - added set_orientation
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2245 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-05-11 12:49:19 +00:00
deweibel@gmail.com e6aa5fc927 Add hDOP for ublox gps driver
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2241 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-05-11 02:54:43 +00:00
deweibel@gmail.com a19b5a5c10 Add an alternate compass.calculate() function substituting 1 sqrt func for 4 trig funcs.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2221 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-05-08 18:15:29 +00:00
james.goppert 3fe8829396 Fixed script typo.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2188 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-05-07 20:51:19 +00:00
james.goppert 08e644d969 Updated mavlink to latest roi branch.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2187 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-05-07 20:49:13 +00:00
jasonshort 19e5cad091 changed a bool to uint8_t
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2120 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-05-06 17:51:26 +00:00
jasonshort 88a8c1113c Added new output type AMGLE_RAW - this will ouput non-scaled PWM, better for copters than fixed wings.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2093 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-05-05 17:46:11 +00:00
jasonshort 063d6a1e9a git-svn-id: https://arducopter.googlecode.com/svn/trunk@2092 f9c3cf11-9bcb-44bc-f272-b75c42450872 2011-05-05 05:22:12 +00:00
james.goppert e6c4595d3c Massive warning fixes.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2089 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-05-04 19:12:27 +00:00
DrZiplok 9d089920ae Suppress warnings from the Arduino core, since we can't do anything about them.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2076 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-05-03 05:04:27 +00:00
jasonshort b56992c5dd Libraries to support non AP_VAR usage. This is for Ardupilot legacy hardware.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2075 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-05-03 04:33:32 +00:00
jasonshort 6d4b77340b fixed an overflow issue in AP_RC
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2074 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-05-03 04:32:37 +00:00
DrZiplok 85d006c290 Re-order class members to avoid initializer-order warnings.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2073 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-05-02 05:56:21 +00:00
DrZiplok d257e12dc0 Re-order initialisers to suppress warnings
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2072 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-05-02 05:55:59 +00:00
DrZiplok b8cc8755f6 Rename some ctor arguments to suppress shadow-related warnings.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2071 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-05-02 05:55:34 +00:00
tridge60@gmail.com bad640fd27 added a few more warning flags for when building with the Makefile
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2070 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-05-02 05:50:13 +00:00
james.goppert cec995adf7 Added const AP_Var access.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1958 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-05-01 19:29:33 +00:00
james.goppert 6d13081fcf Removed APO lib.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1957 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-05-01 17:38:12 +00:00
james.goppert 80f941e8e0 Moved APO quad/ rover projects.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1956 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-05-01 17:14:54 +00:00
jasonshort 9b3510bd15 typo
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1955 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-05-01 04:55:51 +00:00
jasonshort be601efae3 removed yaw towards WP option. Should now be handled with a mission script.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1954 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-05-01 04:55:07 +00:00
jasonshort ceb1c1e81d git-svn-id: https://arducopter.googlecode.com/svn/trunk@1953 f9c3cf11-9bcb-44bc-f272-b75c42450872 2011-05-01 04:54:15 +00:00
james.goppert ba4756bcaf Heartbeat failsafe added for APO.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1940 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-05-01 03:38:41 +00:00
james.goppert 2e8904c120 APO comment fixes.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1939 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-05-01 03:20:19 +00:00
james.goppert 6d53028345 Example cleanup for APO.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1938 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-05-01 03:05:15 +00:00
james.goppert cb787573ef Added Car/Quad APO examples.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1937 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-05-01 02:43:46 +00:00
rmackay9@yahoo.com 3b87530b74 DataFlash - backed out recent changes to make it use SPI while I figure out the cause of some people's compile errors
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1936 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-05-01 02:27:18 +00:00
james.goppert a840314b97 APO merge.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1935 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-05-01 02:05:17 +00:00
rmackay9@yahoo.com 8d1f9c9fd9 AP_OpticalFlow - first draft of optical flow library for use with experimental ADNS3080 sensor
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1933 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-04-30 08:29:28 +00:00
rmackay9@yahoo.com 3ef57bf3bf DataFlash - modified to use Arduino SPI interface instead of directly using registers. Also moved "dataflash_CS_inactive" calls to end of functions instead of beginning so that it doesn't monopolize the SPI bus.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1931 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-04-30 03:25:31 +00:00
mich146@hotmail.com f76f81cfd9 update dataflash for 528 and 512 byte pages
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1906 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-04-18 11:19:31 +00:00
rmackay9@yahoo.com edcc48c475 Removing BinComm because we're using MavLink now
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1905 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-04-18 02:51:19 +00:00
jasonshort 0f5505e529 just formatting
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1887 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-04-16 04:55:32 +00:00
jasonshort ec42665831 my quicky GCS debug library
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1886 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-04-16 04:52:01 +00:00
jasonshort e1d945812d defaulted to 38400 baud
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1885 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-04-16 04:50:38 +00:00
jasonshort ead4ce4344 Added more wp options
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1884 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-04-16 04:49:46 +00:00
james.goppert@gmail.com 2068c83cba Fixed bug in compass tests, had it initialize fastserial.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1862 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-04-09 19:57:54 +00:00
james.goppert@gmail.com 90676903ba Eclipse makefile support for examples.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1861 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-04-09 19:39:27 +00:00
james.goppert@gmail.com 58118ef9f0 Eclipse makefile support for examples.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1860 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-04-09 19:38:12 +00:00
james.goppert 5e726335fa Fixed rc channel.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1850 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-04-06 01:19:03 +00:00
tridge60@gmail.com 81c5770b77 GPS: fixed the idle timer
we need to reset the idle timer only on good data, or a call to
init(). Otherwise we never use it.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@1849 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-04-04 22:00:06 +00:00
james.goppert@gmail.com eb6962568b Removed AP_Controller.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1848 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-04-04 21:40:43 +00:00
james.goppert f67c4d7c99 Fixed controller prototype for update.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1847 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-04-04 03:26:58 +00:00
james.goppert 2868181322 Updated Car controller demo.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1846 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-04-04 02:23:32 +00:00
james.goppert b646cdd61a AP_Controller update.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1845 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-04-04 02:22:55 +00:00
mich146@hotmail.com f4403be163 ADC Library - reimplement overflow
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1832 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-03-31 14:19:59 +00:00
mich146@hotmail.com ea4700ad6e Fix adc issue causing serial problems/other issues. (DOUG please check)
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1829 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-03-29 11:16:21 +00:00
mich146@hotmail.com bff541a8a6 FastSerial Fix
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1826 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-03-29 00:08:27 +00:00
jasonshort 68e48de0f6 Temp revert to previous version, while I hunt down a bug.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1822 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-03-27 23:34:50 +00:00
jasonshort 3c54965c30 reformatted
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1817 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-03-26 21:05:02 +00:00
james.goppert db3b7ba12a Added back some APO libraries.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1813 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-03-25 17:08:35 +00:00
DrZiplok cdc5241363 Print the key associated with a variable when the variable is printed using AP_Var_menu_show.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1812 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-03-25 02:51:03 +00:00
DrZiplok 0431b6dc69 Add an interface for locating a variable by key.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1811 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-03-25 02:46:45 +00:00
deweibel@gmail.com c7deedd785 Change waypoint/command storage to include options byte.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1809 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-03-23 03:29:46 +00:00
tridge60@gmail.com 776b9b6f7a added -Wformat in Arduino.mk
when building with 'make' we get warnings related to printf() format
strings

git-svn-id: https://arducopter.googlecode.com/svn/trunk@1798 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-03-21 07:26:03 +00:00
tridge60@gmail.com 211de598c3 implemented typesafe PSTR()
This makes PSTR() type safe by using a 1 byte wrapper
structure. Attempts to use the wrong varient of a print function will
generate a compilation error.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@1797 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-03-21 07:25:48 +00:00
jasonshort fd10614822 a basic mission uploader
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1796 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-03-21 00:51:43 +00:00
mich146@hotmail.com e7c0fea807 MavLink Update
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1795 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-03-20 23:28:42 +00:00
jasonshort 4e29176262 a basic mission uploader
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1794 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-03-20 21:56:48 +00:00
tridge60@gmail.com f5b1c84e2d mavlink: sync with upstream
this syncs with 7e1c274437f09a8a03a5bef990e14b93c8fc8b07 from 
March 17 2011

git-svn-id: https://arducopter.googlecode.com/svn/trunk@1782 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-03-18 01:34:13 +00:00
tridge60@gmail.com cc548e4c19 added dummy save() method to AP_IMU_Shim
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1781 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-03-18 01:34:00 +00:00
mich146@hotmail.com 4c2e458be6 Mavlink update
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1777 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-03-16 10:09:22 +00:00
jasonshort 28011d8800 removed options - not going to go that route without proper GCS support.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1760 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-03-09 06:38:46 +00:00
mich146@hotmail.com d5ab8f3a79 Mavlink update
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1757 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-03-08 11:07:58 +00:00
deweibel@gmail.com 967130ed7e Add method definition for set_centripetal()
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1756 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-03-08 01:47:43 +00:00
jasonshort b8e904bd54 Added Options Bitmask to Location Struct
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1741 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-03-05 04:39:23 +00:00
deweibel@gmail.com 5f853768f4 Add member/method to allow HIL to override radio values
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1732 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-28 02:37:51 +00:00
deweibel@gmail.com 0642e1144d Fix imu_health metric
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1728 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-25 20:09:00 +00:00
deweibel@gmail.com 85672b5ab2 Change gyro/accel calibration to guard against improper orientations or motion during cal
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1727 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-25 17:49:31 +00:00
jasonshort c29ff2a99d removed unused save_trim() function
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1716 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-23 05:17:24 +00:00
mich146@hotmail.com 2989bf2cde Fix hil issue
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1712 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-21 23:16:57 +00:00
DrZiplok@gmail.com 1115986749 Fix ::set_and_save to return the result of the ::save call.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1707 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-21 05:12:58 +00:00
DrZiplok@gmail.com 57bead1964 Fix the return value from ::save() on AP_Var_groups so that the caller can verify that a save was successful.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1706 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-21 05:11:02 +00:00
DrZiplok@gmail.com 94537aa143 Increase the maximum save size to 64B, so that a Vector3f can be saved.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1704 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-21 04:42:28 +00:00
jasonshort bd9f0f4647 added more time to IMU startup. added more accessors and removed private flag.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1702 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-20 23:10:18 +00:00
jasonshort 0ff00e3a53 added names to output in show
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1698 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-20 03:46:18 +00:00
DrZiplok@gmail.com d036cb9360 Fix AP_Var::load - it has to ask the serialiser, not the unserialiser, for the variable's size.
Fix AP_Float16 - scaling was being done in the wrong direction, and the unserialiser wasn't reporting errors.

Add test cases for the above.


git-svn-id: https://arducopter.googlecode.com/svn/trunk@1696 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-20 00:38:09 +00:00
james.goppert 7dc91e5dcb Consolidating APO.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1691 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-19 21:36:29 +00:00
jasonshort 053e747428 quick.fix
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1688 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-19 21:01:32 +00:00
jasonshort 95462e0bdd quick.fix
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1687 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-19 21:01:07 +00:00
jasonshort caf6a3dc0f Added setHIL to GPS.cpp
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1686 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-19 18:33:42 +00:00
james.goppert 4c79a2c9a5 Mavlink update.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1685 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-19 17:54:14 +00:00
mich146@hotmail.com b268578975 fix compass shim
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1684 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-19 10:04:00 +00:00
mich146@hotmail.com caf9fe5777 fix imu shim
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1683 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-19 09:52:59 +00:00
jasonshort 3c330fc211 Added MAV_CMD_NAV_R_WAYPOINT, MAV_CONDITION_ANGLE
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1679 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-19 03:59:06 +00:00
jasonshort 2c4fc16ce8 Added MAV_CMD_NAV_R_WAYPOINT, MAV_CONDITION_ANGLE
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1678 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-19 03:58:48 +00:00
jasonshort 385e3af27e Added accessors declination.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1677 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-19 03:57:53 +00:00
jasonshort e6e161d56d Added accessors back for Accels. I need them there until we need to find another solution.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1676 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-19 03:57:19 +00:00
deweibel@gmail.com c1c2021719 Correct factoring issue for AP_GPS_IMU XPlane HIL interface.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1673 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-17 21:36:56 +00:00
deweibel@gmail.com 72d9f52d3b Small bug fix for HIL gps when using auto-detect
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1663 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-16 18:19:07 +00:00
DrZiplok@gmail.com ad13b691de DCM needs a reference to a pointer so that we can change the GPS under it during init.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1662 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-16 07:54:48 +00:00
DrZiplok@gmail.com f8f0027c7f Add a little code to track the amount of memory used by AP_Var subclasses.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1661 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-16 07:01:17 +00:00
james.goppert 6e0d023c95 Add saturation and sink blocks.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1660 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-15 03:10:01 +00:00
james.goppert dd51139b36 AP_Controller working.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1659 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-15 00:57:23 +00:00
james.goppert 57892082b2 Debugging controller.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1658 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-14 21:02:35 +00:00
DrZiplok@gmail.com 92bfbb1ca4 Use a more explicit loop termination condition.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1657 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-14 17:49:02 +00:00
DrZiplok@gmail.com a8d6b839a5 Don't return a name for a variable if it has no name, even if it's in a group that does have a name.
When displaying variables, don't display variables with no name, or that are groups.


git-svn-id: https://arducopter.googlecode.com/svn/trunk@1656 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-14 17:44:33 +00:00
DrZiplok@gmail.com b750e2b006 Variable names must be PROGMEM strings.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1655 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-14 17:43:33 +00:00
DrZiplok 099ca305c9 Add a constant that can be used to identify groups.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1653 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-14 07:11:42 +00:00
DrZiplok@gmail.com 223af24398 Use AP_Var to store PID scaling values.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1652 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-14 04:45:31 +00:00
DrZiplok@gmail.com 8e7301b4d3 Use AP_Var to store channel calibration.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1651 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-14 04:43:44 +00:00
DrZiplok@gmail.com ddfab124cd Use AP_Var to store accel/gyro calibration.
Refactor AP_IMU_Oilpan and remove all the old EEPROM code.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@1650 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-14 04:42:37 +00:00
DrZiplok@gmail.com b9152dc544 Line ending property changes.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1649 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-14 04:27:07 +00:00
DrZiplok@gmail.com dee05d1838 ::transposed does not change the matrix; make it const.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1648 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-14 04:26:05 +00:00
DrZiplok@gmail.com 1f04ecbfdb Major update including AP_Var support.
Most of the compass functionality is now abstracted in a base class, with the various sub-classes implementing just their unique functionality.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@1647 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-14 04:25:20 +00:00
DrZiplok@gmail.com 90bae93a50 Eclipse project config changes.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1646 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-14 03:16:03 +00:00
DrZiplok@gmail.com 3dbffbfcb4 Add a template AP_VarS that handles arbitrary structure/class types.
Note that the object must still be <= 32 bytes in size to be saved/loaded.


git-svn-id: https://arducopter.googlecode.com/svn/trunk@1644 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-14 01:47:24 +00:00
jasonshort 1f56ef5f21 updated formatting, baud
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1643 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-14 00:43:35 +00:00
jasonshort 6512531bf9 updated formatting, baud
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1642 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-14 00:43:11 +00:00
deweibel@gmail.com 17804fbc29 Speed IMU initialization
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1641 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-13 23:25:04 +00:00
deweibel@gmail.com 2dc7621e4e Change ADC overflow correction
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1640 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-13 23:24:37 +00:00
james.goppert 1e63c2f368 AP_RcChannel demos updated for AP_Var.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1632 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-13 01:24:32 +00:00
mich146@hotmail.com 89eaff17bc Mavlink update
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1630 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-11 11:04:52 +00:00
mich146@hotmail.com 7d80ff5dc8 Fix Mavlink include
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1628 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-11 00:04:39 +00:00
DrZiplok 3e65cdf689 Fix for log() being a bad idea.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1617 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-09 23:15:11 +00:00
mich146@hotmail.com d81237d43f MavLink Update
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1616 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-08 23:16:58 +00:00
deweibel fac0e0a1d9 Add code for auto magnetometer offset nulling.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1615 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-08 20:17:16 +00:00
DrZiplok 107e06d849 Implement a cast_to_float method for convenience; at a cost of a couple of bytes in the vtable this will save many callers having to play type introspection games.
It might be possible to implement a set of virtual cast operator overrides, but only float lets us return NAN to indicate that a cast can't be made, so for now we'll stick with just this one.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@1614 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-08 10:17:45 +00:00
DrZiplok 56eea84a89 Correct knots -> m/sec conversion. Thanks to Paul M. for spotting this.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1613 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-08 07:06:47 +00:00
james.goppert ef95309e9a APO Compiling with new AP_Var!
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1612 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-08 01:58:51 +00:00
james.goppert d4007c3fca Working on updating AP_Controller/RC_Channel for new AP_Var
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1611 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-07 23:33:12 +00:00
deweibel d5e48364a1 Change MediaTek timestamps to millisecond Time of Day
Add epoch method to return timestamp epoch.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@1589 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-01 23:50:36 +00:00
DrZiplok@gmail.com ff5ce694a2 Add a template AP_VarA that defines a variable that is an array of some basic type. This is like AP_VarT for arrays, with minor changes in behaviour consistent with the difference between regular variables and arrays.
Note that AP_VarA arrays are still limited by the constraints on the total size of a variable (AP_Var::k_size_max).

Add a basic unit test for arrays; more are needed.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@1579 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-30 20:58:34 +00:00
DrZiplok@gmail.com 072103ef07 Comments, minor consting, use a better target for sizeof in AP_VarT
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1578 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-30 20:14:42 +00:00
DrZiplok@gmail.com f6dec2503e Minor whitespace fixes.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1577 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-30 20:13:07 +00:00
deweibel@gmail.com 343c6565db Add FinishWrite method to the DataFlash class to support using an index system.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1575 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-30 01:53:04 +00:00
deweibel@gmail.com fba3e62135 Add reversing for PWM outputs in angle_to_pwm case.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1566 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-27 18:16:22 +00:00
james.goppert b8e53931b9 Started updating AP_Controller and AP_RcChannel for AP_Var
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1559 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-26 07:05:22 +00:00
mich146@hotmail.com 0ed855541f Mavlink update
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1555 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-25 00:31:38 +00:00
DrZiplok 0913a26513 Try to pre-empt subsequent inclusions of wiring.h by grabbing it here and giving ourselves a chance to undo some of the less well-advised macros it defines.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1554 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-24 02:44:31 +00:00
jasonshort 95d6e2cac0 fixed a scaling bug in imax
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1553 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-24 02:07:25 +00:00
DrZiplok@gmail.com d38874cd05 Move the unit test framework out of the unit tests. Add unit tests for the k_typeid_* constants.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1543 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-23 23:59:26 +00:00
DrZiplok@gmail.com 27c36583d0 Add a function to AP_Var for finding a variable by name. It is not efficient, but convenient for e.g. interactive use.
Add pseudo-constant copies of the AP_Meta_calss::Type_id for the standard AP_VarT subclasses.  This makes checking the type of a possible AP_Var much cheaper than calling ::meta_cast, as there is no object con/destruction involved.

Add some helper functions for manipulating AP_Vars from Menu interfaces.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@1541 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-23 23:58:07 +00:00
DrZiplok@gmail.com 7f5b882e1a Don't include AP_Vector (in preparation for retirement) and AP_Loop (because it's not being used by APM*). Interested clients can still include AP_Loop if they need it.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1540 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-23 23:48:07 +00:00
DrZiplok@gmail.com ce651511d7 Rename AP_Meta_class::AP_Type_id to AP_Meta_class::Type_id in keeping with the coding standard.
Add a non-static version of AP_Meta_class::meta_cast that can be used against any subclass object directly.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@1539 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-23 23:46:58 +00:00
DrZiplok fd83ba7753 Fix a serious typo, add more documentation.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1538 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-23 20:33:20 +00:00
DrZiplok e2f15b3b97 Move the Test unit test framework out into its own header, so that it can be used by other libraries.
Add some documentation explaining how it is used.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@1537 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-23 20:26:11 +00:00
DrZiplok@gmail.com b8598c7ef6 Simplify AP_Var_group::_serialize_unserialize slightly by removing some variables.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1535 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-23 10:04:24 +00:00
DrZiplok@gmail.com 8de4cc56da Improve performance when saving a number of variables that don't have space allocated in the EEPROM. This avoids scanning the entire EEPROM every time a variable that has not yet had space allocated is written.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1534 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-23 09:56:58 +00:00
DrZiplok@gmail.com 82fdeb11bb Fix ::save_all/::load_all so that they check the correct criteria for opt-out. Now load/save_all work.
Fix prototype for AP_Var_group::serialize so that it's called correctly when saving a group.  Now group load/save works.

Add load/save_all and group load/save unit tests.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@1533 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-23 09:27:58 +00:00
DrZiplok@gmail.com 3adec05593 Fixes for EEPROM space allocation and mapping.
- We can't count on the first EEPROM scan knowing about everything; new variables may be constructed later so be willing to go back and re-scan the EEPROM if we encounter a new variable that hasn't been loaded yet.
- Sort out where _key actually points (the variable's data) in the EEPROM and get everyone to use the same interpretation.
- Fix return values from ::save and ::load.
- Make it possible to re-save after ::erase_all by de-locating all variables before the EEPROM is blown away.
- Fix args to eeprom_read_block/eeprom_write_block so that we don't spam random memory.

Add unit tests for basic save/load operations.


git-svn-id: https://arducopter.googlecode.com/svn/trunk@1532 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-23 08:11:53 +00:00
DrZiplok@gmail.com 1a2ce433e1 I never liked the plan that variable groups could only be statically scoped; it was much too fragile. These changes address that issue by splitting the global variable list into two lists, one for standalone variables (including groups), and one for variables that are members of a group.
Now a variable belonging to a group can safely be constructed before the group it belongs to, and the group can be destroyed before its member variables.  This greatly simplifies the AP_Var constructor(s).

Remove the lookup-by-index and lookup-by-key interfaces to AP_Var and replace them with first/next interfaces for all variables, and for variables belonging to a specific group.  Document their usage.  Add an accessor for the key associated with a variable so that search-by-key can be performed by a consumer.  Throw away the lookup cache implementation, as it's not required anymore.

Re-layout the EEPROM variable header and tweak the EEPROM space allocator so that it's more resistant to interruptions during variable save.

Fix the global constants so that they work.

Add an interface for erasing all variables in EEPROM (only writes one byte).

Fix unit tests so that they work with the changed interfaces.  Also tweak the unit test framework so that it doesn't inline all its code.  This is a WIP - many more tests need to be written still.


git-svn-id: https://arducopter.googlecode.com/svn/trunk@1531 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-23 06:52:59 +00:00
DrZiplok@gmail.com 8317c090da Add a templated version of AP_Meta_class::meta_type_id so that you can get a type ID for any named type without having to have an instance of the type lying around. Update the comments about caching type IDs to reflect its availability.
Fix the comments around AP_Meta_class::meta_cast; they were leftovers from an earlier implementation and entirely not helpful.


git-svn-id: https://arducopter.googlecode.com/svn/trunk@1530 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-23 06:44:07 +00:00
DrZiplok@gmail.com 6cf396074b Implement the missing AP_Var_group::*serialize functions.
Rather than implementing empty default constructors, make sure that AP_Var and friends have useful default constructors instead.  This works around AP_Meta_class::meta_cast requiring a default constructor without having empty ctors scattered around.

Add accessors to AP_Var so that the global variable list can be traversed and the group/variable relationship comprehended by outsiders.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@1523 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-22 18:42:44 +00:00
DrZiplok@gmail.com d53844c52d Implement a pure data serialisation load/save model for AP_Var.
The format is a simple TLV format; a tag identifying the variable, a length for the variable, and then the actual data.  This format could ultimately be extended to include waypoint/commands as well.

This allows us to load and save groups of variables to EEPROM without having to have a static EEPROM map.

Still needs unit tests and (probably) bugfixing.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@1522 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-22 08:37:52 +00:00
james.goppert 8ec3a8de4a Updated AP_RcChannel for AP_Var.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1509 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-18 04:56:45 +00:00
mich146@hotmail.com dbb40ad9a4 Reinstate Float loading and saving
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1507 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-17 22:57:48 +00:00
deweibel@gmail.com 82e6e29d2f Add initial values for scaling and dead zone to RC_Channel constructor
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1506 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-17 04:05:48 +00:00
deweibel@gmail.com c9788d7b0b Add back AP_GPS_IMU to provide Xplane functionality
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1504 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-17 01:50:34 +00:00
jasonshort 709b56f477 Added getter functions to accels
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1503 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-16 20:42:11 +00:00
DrZiplok@gmail.com ea3570ded0 Formatting and naming changes for conformance with the ArduPilot Coding Conventions.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1502 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-16 09:14:21 +00:00
DrZiplok 91efbeac56 Deal more gracefully with the case where the incoming PPM stream has more than 8 channels encoded.
This makes it possible to move one resistor on the APM board and feed it PPM directly from a receiver emitting a PPM stream.



git-svn-id: https://arducopter.googlecode.com/svn/trunk@1498 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-15 19:32:04 +00:00
DrZiplok e552b7c7e1 Update to current MAVLink dev branch protocol version. This has NOT been tested yet.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1494 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-12 08:57:54 +00:00
DrZiplok 3f663597b5 Based on explaining AP_VarNoAddress to Doug, improve the description of the value.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1491 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-12 02:43:25 +00:00
DrZiplok@gmail.com 3cdeffa372 Bring AP_GPS_Auto closer to ready for prime-time:
- disable NMEA autodetection; false positives are still a risk
 - trim down the console output to a minimum; we still need something to help users diagnose potential problems, but the old output was much too verbose
 - rather than block forever, only do one autodetect pass for each ::read call.  That's still too long (five seconds or so) but better than blocking forever.
 - don't block forever if no GPS is attached.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@1480 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-10 08:20:41 +00:00
DrZiplok@gmail.com b88cfe92f4 Extend the logic that preserves buffer sizing on re-begin by also avoiding freeing and re-allocating buffers when they don't change in size.
This can make re-opening a port faster (as the free/malloc pair can be avoided) and possibly more robust (in the case where e.g. the heap has been corrupted).

git-svn-id: https://arducopter.googlecode.com/svn/trunk@1479 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-10 08:17:31 +00:00
DrZiplok@gmail.com 7cb9579edf Update the NMEA example code in conjunction with the new parser.
Added an init string for SiRF receivers that will bring them back out of the binary mode configuration that AP_GPS_Auto sets them to.  

Picked up the GPS logging format from the AP_GPS_Auto test.



git-svn-id: https://arducopter.googlecode.com/svn/trunk@1469 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-10 01:57:16 +00:00
DrZiplok@gmail.com e27af48391 Implement a completely new NMEA parser based on the TinyGPS parser by Mikal Hart.
Major new features:

 - No RAM buffer for the NMEA message being parsed; saves 120 bytes of RAM.
 - More robust parser, a little less likely to be confused by bad messages.
 - Added configuration strings for SiRF, ublox and MediaTek GPS in NMEA mode to select just the messages of interest.

Note that the issue that TinyGPS has with co-ordinates with "different" numbers of decimal digits is addressed in this code.

Size is comparable to the old parser.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@1468 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-10 01:55:45 +00:00
DrZiplok@gmail.com 3ac2193d48 Add a delay after sending the GPS mode switch strings in an attempt to give any NMEA data time to drain before we attempt to sniff again.
Otherwise, we can end up settling on NMEA as a mode just after switching a SiRF GPS to binary mode.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@1467 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-10 01:50:42 +00:00
DrZiplok@gmail.com 0b2e2c55f9 Add more unit tests for AP_Var.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1466 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-10 01:44:23 +00:00
DrZiplok@gmail.com e243149f61 Add more documentation for AP_MetaClass.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1465 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-10 01:43:41 +00:00
DrZiplok@gmail.com adb54428da Add a new macro PROGMEM_STRING that can be used to define a constant string in program memory.
This is a partial workaround for not being able to use PSTR at global scope, e.g. in an argument to a constructor; it makes the intent of the otherwise somewhat bulky declaration of the string more obvious.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@1464 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-10 01:42:59 +00:00
DrZiplok afc68ba45c Use operator new from AP_Common rather than our own. This also makes AP_Common available to the GPS drivers that work with AP_GPS_Auto.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1463 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-10 01:19:15 +00:00
DrZiplok@gmail.com c2c663a188 Add documentation and reformat closer to our current code standard.
Add support for re-opening a port without changing the baudrate or buffer sizes.  By passing zero for the parameters that aren't to be changed, code can reconfigure a port without needing to know how it was originally configured.





git-svn-id: https://arducopter.googlecode.com/svn/trunk@1462 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-10 01:17:03 +00:00
DrZiplok fa6ebd23d1 Add a date field to the standard GPS data. This may be zero, and its format is TBD (may be GPS-dependent).
Increase the no-data timeout to slightly more than a second, so that GPS' with a 1Hz update rate don't cause problems.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@1461 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-10 00:44:09 +00:00
rmackay9@yahoo.com f5ff57a5b7 AP_RangeFinder_test.pde - corrected some inaccurate comments in the code
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1459 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-09 14:20:26 +00:00
DrZiplok 9e79b78d2a Add a flags byte to variables, and implement a "no auto load" bit that opts variables out of load_all / save_all.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1449 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-05 17:56:46 +00:00
DrZiplok 6c0fc63e61 Save AP_Var's initial value as a default value, and add a function for restoring the default value.
Fix the AP_Var::lookup cache, which was very busted.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@1448 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-05 09:25:07 +00:00
DrZiplok fe1311b2c4 More unit tests.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1447 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-05 07:40:35 +00:00
DrZiplok 0f2a1ac411 Fix the assignment operator overload for AP_VarT so that direct assignments to the type work correctly.
Add a variant of AP_Float that stores the value as Q5.10 (16-bit fixed-point) to save EEPROM space.


git-svn-id: https://arducopter.googlecode.com/svn/trunk@1446 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-05 07:40:06 +00:00
DrZiplok 6ff11ea1fd Simplify FastSerial::begin baudrate calculations in line with the changes made in Arduino-0022
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1424 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-04 18:41:27 +00:00
rmackay9@yahoo.com e47352e941 AP_RangeFinder - tiny bit of extra initialisation on table holding averages
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1419 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-04 14:33:29 +00:00
DrZiplok@gmail.com 6425327190 Unit tests for scope-based address offsetting.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1418 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-04 08:50:24 +00:00
DrZiplok@gmail.com 4545c3df80 Move the AP_Var ctor out of the class definition; it's big enough that we don't want to inline it.
AP_Vars with either a name or an address are 'interesting' (the latter so we can save_all).

Add the concept of address offsets to scopes.  Now we have a container that we can put AP_Vars into that can be moved around in the EEPROM.  This will make it easier for things like the PID library which need to support multiple instances getting their parameters from different parts of the ROM.

Improve documentation.

Suck it up and admit that we aren't going to do "identity"-based addressing for the EEPROM and just call the property "address".



git-svn-id: https://arducopter.googlecode.com/svn/trunk@1417 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-04 08:49:55 +00:00