Commit Graph

519 Commits

Author SHA1 Message Date
james.goppert 05622fe225 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 0328f926b5 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 50c3b2e4fd 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 5e0fff1618 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 80689920af 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 96d2dc33fe 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 5113a12144 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 cbdf462acc 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 aaf125e441 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 52a0a03d56 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 fdde092213 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 eb39264834 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 cad260a481 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 1bfcdaa2cb 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 dd6ede36ee 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 6366cdc094 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 44cac7a853 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 07dec5e1b7 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 8c9a5d36d8 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 2c0e8515d5 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 1448b6991e 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 e299d5f58a 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 c0de571afd 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 0e868ca343 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 765cef724d 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 814a16000a 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 e0607712a3 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 d8046957c6 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 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
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
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
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
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
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
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
DrZiplok eb81becdb6 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 6f4e63e8b3 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 9b1863f4b2 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 c1f19797d9 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 44b95ac5b3 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 482f124212 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 498894317a 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 3d529b3a51 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 0738870e64 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 f683d9bb77 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 3f61f5aa49 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 54fa069f10 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
jasonshort 55667fd905 removed EEPROMB references
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1315 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-28 18:42:56 +00:00
jasonshort 7dd1b3cbe7 removed EEPROMB references
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1314 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-28 18:42:03 +00:00
jasonshort ef160226cc cosmetic
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1313 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-28 18:34:55 +00:00
jasonshort bf3ee6f843 fixed bug
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1304 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-27 23:03:26 +00:00
james.goppert 6c10842562 Fixed PID error for low pass filter.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1295 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-27 05:59:49 +00:00
DrZiplok b90508e777 Retire the old FastSerial code.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1294 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-27 05:22:15 +00:00
james.goppert 65b7c00689 Fixed comment style for doxygen.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1293 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-27 04:11:00 +00:00
james.goppert 47d8320e54 Removed version/ timestamps to avoid html mods
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1290 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-27 03:23:35 +00:00
james.goppert 615bd78fef Modified doc script.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1289 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-27 03:07:45 +00:00
james.goppert 23bddca1af Updated doc script.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1288 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-27 03:05:41 +00:00
james.goppert 3f0db9c0f0 Updated documentation.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1287 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-27 02:59:34 +00:00
james.goppert 9ee30a4eee Modified doc script.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1286 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-27 02:58:31 +00:00
james.goppert 80a22834af Removed junk files from doc.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1285 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-27 02:49:50 +00:00
james.goppert 9770a743d2 Added doxygen doc for library.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1282 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-27 00:59:17 +00:00
james.goppert e259a22f2f Internalized APM_RC in AP_RcChannel
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1277 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-26 18:07:08 +00:00
jasonshort 68eec6805a update use EEPROM class, new scaled input for RC_Channel
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1264 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-26 01:17:04 +00:00
james.goppert 31f33ccfd8 RC_ChannelB rename.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1263 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-25 19:14:47 +00:00
james.goppert fb6d537156 Fixed comments.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1262 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-25 19:05:35 +00:00
james.goppert 76b4dd5f73 Fixed RC_ChannelB errors.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1261 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-25 19:03:38 +00:00
james.goppert 28a29923e8 Working on RC_ChannelB example.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1260 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-25 16:51:35 +00:00
james.goppert 60f9a6d216 Added AP_Variable.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1259 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-25 07:09:37 +00:00
james.goppert 3ce38444b5 Added alternate RC_Channel class.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1253 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-25 00:06:37 +00:00
james.goppert 8bd5cd041e Fixed EEProm for new vector style.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1252 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-24 23:59:52 +00:00
james.goppert 0a4bc9b172 Added Loop class.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1251 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-24 23:59:10 +00:00
DrZiplok@gmail.com 7e76b64515 Give AP_GPS_None a ctor so that it fits in.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1247 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-24 19:59:07 +00:00
DrZiplok@gmail.com 8da4a29d58 Add support for the DIYD MTK v1.6 firmware
Nuke AP_GPS_IMU, as nothing is using it anymore.
Simplify the handling of no GPS/no fix detection.
Fix prototypes for ::init and ::read.
Update AP_GPS_Auto and corresponding example, nearly ready for primetime.
Use uint8_t rather than byte.
Strip some _error() calls to save space.  More could still go.



git-svn-id: https://arducopter.googlecode.com/svn/trunk@1246 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-24 06:35:09 +00:00
james.goppert f682c4bf32 Added EEProm file.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1245 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-24 05:29:56 +00:00
james.goppert 9e983c452e Some EEProm cleanup.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1244 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-24 05:25:13 +00:00
james.goppert 0344d54d3d Fixed EEProm set bug.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1243 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-24 04:25:40 +00:00
james.goppert 8e34d41cce Improved test program for EEProm, and added sync option, still some issues to work out.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1242 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-24 00:45:16 +00:00
james.goppert 93047fc9dd Added basic EEPROM library back.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1241 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-23 23:29:59 +00:00
james.goppert 7be8e77711 Removed conflicting AP_EEPROM library.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1240 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-23 23:27:04 +00:00
james.goppert 125b971173 Updated mavlink added eeprom class.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1239 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-23 23:02:51 +00:00
jasonshort b8ffddb061 EEPROM base class
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1238 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-23 19:35:39 +00:00
rmackay9@yahoo.com 9eb889d30d AP_RangeFinder - added support for MaxsonarLV and corrected some descriptions and links for the other rangefinders
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1234 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-23 01:23:10 +00:00
jasonshort f75c7b47ff minor changes, fixed IMU class
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1225 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-22 03:34:47 +00:00
rmackay9@yahoo.com c2db64116a AP_RangeFinder - bug fix for cases when analog value is zero.
- addition of filter call which averages the past 4 values

git-svn-id: https://arducopter.googlecode.com/svn/trunk@1224 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-21 12:34:24 +00:00
james.goppert 24bb547eae Added some functionality to RC_Channel to meet APM needs.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1223 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-21 03:53:26 +00:00
james.goppert 075fb61a92 Added lasttime to GPS HIL.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1216 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-20 06:52:23 +00:00
jasonshort f544b20747 Mega328 version of APM_RC
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1215 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-20 06:09:15 +00:00
jasonshort 80a5016658 Wasn't compiling.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1213 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-20 02:34:46 +00:00
DrZiplok@gmail.com 290635b354 Minor code size optimisation; use memset to zero *this rather than explicitly assigning zero to the vector elements. Still not quite optimal for matrix3 as it gets three memsets, but still cheaper in terms of code size.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1212 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-20 01:52:23 +00:00
DrZiplok 47bb4d22c6 Use the presence of UDRx as an indication that the serial port x might need to be supported.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1200 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-19 19:57:34 +00:00
james.goppert dfe94bc77e Removed delay from MTK library.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1189 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-19 15:34:09 +00:00
james.goppert aa115aea68 AP_GPS libs now recover from disconnect or failed initialization.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1188 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-19 13:24:29 +00:00
rmackay9@yahoo.com a257c51a09 Some changes to fix compile errors when using ATmega2560.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1187 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-19 13:05:02 +00:00
jasonshort 82c4815e2c added direct setting of accel offsets
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1160 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-19 03:21:38 +00:00
rmackay9@yahoo.com d5cc9946c5 AP_Compass - small change to include file used in example.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1152 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-18 04:48:52 +00:00
rmackay9@yahoo.com 173afc91d1 AP_RangeFinder library. Simple library to support the Sharpe IR range finder and the Maxsonic XL sonar
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1147 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-17 03:01:29 +00:00
DrZiplok@gmail.com 363d9156d1 Change the way that we do board-to-board portability to avoid knowing about specific AVR devices; use the availability of registers/vectors instead. This lets us reduce the overall macro evil as well.
Drop some unused, old vector code.

Strip the UDR pointer from the class instance, since it's never used.

Fix up the comment describing RAM savings.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@1145 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-16 08:48:20 +00:00
deweibel 1da23bc3c0 Fix bug in transposed DCM matrix accessor
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1134 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-14 18:39:02 +00:00
jasonshort e194e2fa75 git-svn-id: https://arducopter.googlecode.com/svn/trunk@1118 f9c3cf11-9bcb-44bc-f272-b75c42450872 2010-12-13 04:08:22 +00:00
jasonshort f64fab442d added ability to get the integrator for debugging
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1117 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-13 04:05:55 +00:00
jasonshort 7945937874 added ability to get the transpose of the DCM
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1116 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-13 04:01:26 +00:00
jasonshort e3e8dbb0b3 added ability to zero out the accels
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1115 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-13 03:57:42 +00:00
rmackay9@yahoo.com abacc627d8 AP_Compass - changed include for AP_Math to use relative path (it was erroring for me at least when compiling ArduCopterNG with AP_Compass)
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1113 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-12 14:02:21 +00:00
rmackay9@yahoo.com af741882c6 AP_Compass - moved example sketch from APM_Compass to AP_Compass
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1112 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-12 13:13:12 +00:00
james.goppert 9ddeb716c3 Corrected adc conversion.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1109 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-12 07:34:12 +00:00
james.goppert 21634dad19 Added AP_DCM_HIL class.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1103 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-10 10:17:27 +00:00
james.goppert 415786a480 Added airspeed message to mavlink.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1102 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-10 07:26:59 +00:00
james.goppert c7a8291725 Added --force to svn add on sync script to find new unversioned files.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1098 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-09 06:05:48 +00:00
james.goppert e2e3b9eee9 Added svn add to sync script to prevent further problems.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1092 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-08 21:51:27 +00:00
james.goppert 37e137a82c Synced mavlink.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1091 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-08 21:49:44 +00:00
bjpcaltech 1436b034b5 Addresses APM issue 250
Location of mavlink_msg_debug_vect.h corrected
Stub for previously non-existent mavlink_msg_gps_local_origin_set.h added

git-svn-id: https://arducopter.googlecode.com/svn/trunk@1090 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-08 19:37:37 +00:00
james.goppert 887c0b8d4a Updated mavlink.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1066 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-07 21:25:25 +00:00
james.goppert efa785394a Removed old file.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1059 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-06 21:14:58 +00:00
jasonshort 718bf566c8 rc range bug fixed
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1058 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-06 17:22:05 +00:00
james.goppert d13850c941 Added load_gains to PID constructor.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1055 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-06 11:52:31 +00:00
james.goppert 9c9fd95408 Fixed inclusion guard for mavlink.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1023 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-05 09:48:58 +00:00