DrZiplok@gmail.com
63643f73fc
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
DrZiplok@gmail.com
d2bd744244
Metaclass improvements:
...
- Add a default ctor/dtor pair. The dtor ensures that all dtors are virtual, and guarantees that there is something in the dtor vtable slot for classes that don't implement their own.
- serialize must not alter the class, mark it const
- Improve documentation
- Fix handle validation to prevent trying to read 2 bytes beyond the end of memory
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1416 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-04 08:46:01 +00:00
jasonshort
87a1043f25
Added Tri-copter support for Max
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1414 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-04 06:54:40 +00:00
DrZiplok@gmail.com
d7fccd1aa9
Checking these in makes the libraries too bulky. We need to host them somewhere.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1413 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-04 06:22:02 +00:00
jasonshort
ff256d95e2
Added Tri-copter support for Max
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1412 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-04 06:06:26 +00:00
rmackay9@yahoo.com
9c9c541a51
ArduCopterNG -
...
#1 - changed GPS hold to ver2 which builds up PID's I term on the long + lat instead of roll+pitch.
#2 - added ability to use Sonar and Barometer at the same time for altitude control (it uses Sonar if available, but if not uses Barometer).
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1405 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-03 04:37:23 +00:00
rmackay9@yahoo.com
ef673e5162
AP_RangeFinder - changes to allow sonar to work using pitot tube. Also moved most functionality into RangeFinder class instead of child classes.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1404 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-03 04:17:43 +00:00
DrZiplok
57f3f4e65b
Beef up the unit tests for AP_Var. Most of the basic functionality is now covered.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1403 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-03 02:29:17 +00:00
DrZiplok
277105c437
Rename the base class for variables AP_Var; less confusing, less to type. Rename the template type instead.
...
We don't need any of the arithmetic overloads, so strip them.
Fix includes.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1402 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-03 02:28:35 +00:00
DrZiplok
ea9c7859f8
Don't allow the default serialize/unserialize to be inlined.
...
Fix some includes and remove an old implementation of meta_cast.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1401 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-03 02:26:18 +00:00
DrZiplok
a02136236f
Add the ability to find the sketchbook when called from a Makefile in a library example.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1400 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-02 22:16:21 +00:00
DrZiplok
a3a9fe59e3
Following discussions with James, a complete rewrite of AP_Var.
...
The overriding principle here is to keep the use of AP_Vars as simple as possible, whilst letting the implementation do useful things behind the scenes. To that end, we define AP_Float, AP_Int8, AP_Int16 and AP_Int32. These are strongly typed, so that there is no ambiguity about what a variable "really" is.
The classes behave like the variables they are storing; you can use an AP_Float in most places you would use a regular float; you can add to it, multiply by it, etc. If it has been given an address in EEPROM you can load and save it.
Variables can be given names, and if they are named then they can be looked up. This allows e.g. a GCS or a test tool to find and traffic in variables that it may not explicitly know about.
AP_Var does not attempt to solve the problem of EEPROM address space management.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1399 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-02 22:14:36 +00:00
jasonshort
8ce92b6711
Big update - motors re-assigned to new positions.
...
New, fabulous Yaw control.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1398 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-02 20:34:42 +00:00
rmackay9@yahoo.com
cc86861b26
ArduCopter - moved to "legacy_do_not_use" directory
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1393 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-01 15:06:42 +00:00
rmackay9@yahoo.com
851101218d
APM_Compass - moving to "legacy_do_not_use" directory
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1391 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-01 15:00:32 +00:00
DrZiplok
68be029a17
Don't define constant AP_Var's extern
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1381 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-01 00:31:39 +00:00
rmackay9@yahoo.com
a8349f3b74
ArduCopterNG - Sonar - modified code to use AN5 to match the wiki
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1380 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-31 23:58:34 +00:00
james.goppert
634f2734b5
Added AP_Controller library.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1379 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-31 06:20:28 +00:00
james.goppert
4e421a319a
Updated docs.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1377 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-30 07:51:53 +00:00
DrZiplok@gmail.com
cd341cef90
We should call imu.update() before asking for accel/gyro values so that we get timely, fresh numbers.
...
Most other consumers of the accel/gyro values should be asking us for them anyway. At that point, what they are getting are the values we sampled here.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1376 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-30 07:52:35 +00:00
james.goppert
3f30b897fa
Fixed non-standard value in RcChannel examples.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1375 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-30 07:43:56 +00:00
jasonshort
95e66d9f06
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1374 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-30 07:41:43 +00:00
jasonshort
852c9e3cc8
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1373 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-30 07:40:57 +00:00
james.goppert
5b79ed9f53
Updated RcChannel examples.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1372 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-30 07:02:56 +00:00
james.goppert
8bc3fc599d
Fixed casting issues with EEPROM Registry
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1371 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-30 06:46:40 +00:00
jasonshort
5f15380877
cosmetic
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1370 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-30 06:43:35 +00:00
james.goppert
86feb8bf7b
Fixed issues with RcChannel EEPROM var ownership.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1369 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-30 05:25:28 +00:00
DrZiplok
23e78d0f4b
Fix/improve depdendency handling. Deps are autogenerated on the first compile pass and consumed on subsequent builds. This helps work around the difficulty of building the 'clean' target with Eclipse.
...
Don't depend on the build directory anywhere; we automake it as required.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1368 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-30 03:45:50 +00:00
DrZiplok
7bc153f038
More awk-related changes. mawk hangs on the parser scripts, so try gawk; it's what we'll need for cygwin anyway.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1367 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-30 03:20:33 +00:00
DrZiplok
f0f13752d0
We need TOOLPATH even when ARDUINO is defined. Refactor.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1366 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-30 02:25:55 +00:00
DrZiplok
f65076dccc
Adjust the awk scanners to deal with the somewhat less featureful awk found on many Linux systems.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1365 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-30 02:16:01 +00:00
DrZiplok
0dac8fca62
Better TOOLPATH handling for Linux
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1364 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-29 23:13:44 +00:00
DrZiplok
4d490359e7
Try to find the AVR tools on Linux
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1363 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-29 22:39:39 +00:00
DrZiplok
c1e9a04ce6
Add Eclipse project metadata.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1362 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-29 20:35:16 +00:00
DrZiplok@gmail.com
2ec1d69a0f
Move Arduino.mk here. This library should always be present in a constant location for our projects.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1361 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-29 19:43:58 +00:00
james.goppert
e3041f08fe
RcChannel now owns channel config params.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1354 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-29 08:26:21 +00:00
DrZiplok@gmail.com
f2f38f2e71
Make the GPS ctor protected so that it can't be accidentally constructed or copied.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1353 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-29 03:32:37 +00:00
DrZiplok@gmail.com
75e78dabae
Back out the memset optimisation. It helps with code size but causes inexplicable link-time failures (undefined references to __cxa_pure_virtual).
...
Thank you very much Mr GCC. Can I have my evening back?
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1352 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-29 03:09:29 +00:00
jasonshort
a446389c8e
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1351 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-29 01:36:30 +00:00
DrZiplok
669e276da6
Curse you, CodeLite.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1350 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-29 00:36:08 +00:00
DrZiplok
ba6ba990f0
Undo the ^M nonsense that CodeLite pulled.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1349 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-29 00:35:53 +00:00
DrZiplok
67aa0cd92d
This shouldn't be here.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1348 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-29 00:33:21 +00:00
james.goppert
7ca8aa323f
Moved examples.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1347 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-28 23:56:12 +00:00
james.goppert
c6eb6c574b
Updated RcChannel examples.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1346 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-28 23:54:52 +00:00
DrZiplok
faa2b9909e
Break AP_Var and friends out into their own header.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1345 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-28 23:51:12 +00:00
DrZiplok
f8ed279b14
Fix over-clever macro.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1344 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-28 23:50:50 +00:00
DrZiplok@gmail.com
bf59d7abc7
Update for changes to AP_IMU
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1343 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-28 23:41:26 +00:00
DrZiplok
94fd2431e4
Implement an abstract IMU class.
...
Refactor the existing AP_IMU as AP_IMU_Oilpan (this will require changes in other projects TBD).
Add a shim IMU class for use by e.g. HIL protocol handlers.
This paves the way for a better handling of HIL_MODE_SENSORS as well as the mooted SPI-based oilpan IMU.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1342 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-28 23:41:00 +00:00
DrZiplok
632d0f574a
Don't actually implement __cxa_pure_virtual, we'd prefer to have link-time errors rather than classes with pure virtual functions.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1341 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-28 23:33:27 +00:00
DrZiplok
5faadf4cd1
use memset rather than explicit assignments to zero to zero an array, this saves code space.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1340 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-28 23:32:37 +00:00