rmackay9@yahoo.com
95674b8518
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
45f8112244
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
6c366f041d
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
a3ca869ca4
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
1c22560133
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
76dd412f7d
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
rmackay9@yahoo.com
935bcc036b
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
0f0090ec6c
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
james.goppert
1f9bc81bd6
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
8abc98be90
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
19f6c999ce
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
f4511fa7e6
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
james.goppert
d7c6bc7c16
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
b3089a9c73
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
b9f3fb7d64
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
9f11c97463
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
c45249622c
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
6fe8418253
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
0620d0c631
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
338c60bfb1
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
0b48a85ddf
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
d32d2ded68
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
5c7cfa39f1
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
240c345e22
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
d0540d7373
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
02d6b6414f
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
b006aa6179
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
DrZiplok
15748ea10f
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
4dfd88f287
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
22aa34c8b0
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
3d6075374c
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
a537877b4c
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
3af04d124f
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
59d7a235c8
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
d5ffec8119
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
c1d97878a5
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
1dabb6c9ce
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
973879501b
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
DrZiplok
da957cf50d
Pure virtual classes should declare pure virtual member functions as 0, rather than having the linker go looking for implementations elesewhere. This lets the compiler generate better error messages when a subclass fails to implement one or more required functions.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1339 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-28 23:31:58 +00:00
DrZiplok
22335b531d
Move ToRad here to match ToDeg
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1338 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-28 23:30:09 +00:00
DrZiplok
ed8e70aff0
operator new[] should return a zeroed class object just like operator new does.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1337 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-28 23:29:46 +00:00
DrZiplok
981c3e7570
Add a GPS shim class that lets an external agent update the pseudo-GPS properties.
...
This should obsolete AP_GPS_HIL as it's a little more versatile (and it will generate cheaper code).
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1336 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-28 23:27:12 +00:00
DrZiplok
efd0f2dc57
Improve documentation re: macros used to define serial ports.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1335 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-28 23:26:10 +00:00
james.goppert
1cf0eafdb1
Added macros to AP_Common.h
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1332 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-28 21:30:29 +00:00
james.goppert
1259cb041f
Improved AP_RcChannel examples.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1331 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-28 20:57:03 +00:00
jasonshort
9f0f1efc19
added channel examples
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1330 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-28 19:29:37 +00:00
jasonshort
c03f4aee9e
included setup process
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1329 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-28 19:20:35 +00:00
james.goppert
c5f704d0ec
Added changing values to RcChannel test.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1325 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-28 18:59:58 +00:00
jasonshort
7fbfb4498d
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1320 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-28 18:57:20 +00:00
james.goppert
34ed0b8183
Fixed include problem in AP_RcChannel.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1316 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-28 18:50:22 +00:00