Commit Graph

120 Commits

Author SHA1 Message Date
unknown 9f028bb5a0 Adding CMake support 2011-09-14 15:44:55 +02:00
DrZiplok e84a422bd4 GNU sed wants -r, Darwin/BSD sed wants -E. 2011-09-12 18:43:31 +00:00
Mike Smith ae77029c98 Reinstate a Cygwin workround that was backed out by the previous changes.
Not all platforms support (or require) the -r argument to sed.
2011-09-11 22:20:54 -07:00
joeholdsworth@gmail.com 7977cddc13 updated make file for cygwin compatibility
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3277 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-09-05 17:15:01 +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
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
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
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
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
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 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
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
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
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 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
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 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
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
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
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
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
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 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 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
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
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@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
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
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