ArduPlane, ArduCopter, ArduRover, ArduSub source
Go to file
DrZiplok@gmail.com 39fea200ca 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
ArduCopterMega Added Arming light. LED A solid = safe, blinking = armed. 2011-01-23 02:36:22 +00:00
ArducopterNG TradHeli - updated Heli.h to use AP_Compass instead of the outdated APM_Compass. Also changed autopilot on/off switch to be consistent with Quad. 2011-01-15 01:41:51 +00:00
Configurator Configurator.Net: Added Fake Arducopter comms, Wrapped progress bar into custom control, improved Mono compatibility 2010-12-23 15:59:00 +00:00
Frame PowerDistro -PCB layer files 2010-10-30 08:31:30 +00:00
legacy_do_not_use ArduCopter - moved to "legacy_do_not_use" directory 2011-01-01 15:06:42 +00:00
libraries 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. 2011-01-23 06:52:59 +00:00
Install.txt This is just a test for SVN 2011-01-11 02:42:53 +00:00