Commit Graph

916 Commits

Author SHA1 Message Date
jasonshort 68e48de0f6 Temp revert to previous version, while I hunt down a bug.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1822 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-03-27 23:34:50 +00:00
jasonshort 3c54965c30 reformatted
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1817 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-03-26 21:05:02 +00:00
james.goppert db3b7ba12a Added back some APO libraries.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1813 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-03-25 17:08:35 +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 fd10614822 a basic mission uploader
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1796 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-03-21 00:51:43 +00:00
mich146@hotmail.com e7c0fea807 MavLink Update
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1795 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-03-20 23:28:42 +00:00
jasonshort 4e29176262 a basic mission uploader
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1794 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-03-20 21:56:48 +00:00
tridge60@gmail.com f5b1c84e2d mavlink: sync with upstream
this syncs with 7e1c274437f09a8a03a5bef990e14b93c8fc8b07 from 
March 17 2011

git-svn-id: https://arducopter.googlecode.com/svn/trunk@1782 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-03-18 01:34:13 +00:00
tridge60@gmail.com cc548e4c19 added dummy save() method to AP_IMU_Shim
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1781 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-03-18 01:34:00 +00:00
mich146@hotmail.com 4c2e458be6 Mavlink update
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1777 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-03-16 10:09:22 +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
mich146@hotmail.com d5ab8f3a79 Mavlink update
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1757 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-03-08 11:07:58 +00:00
deweibel@gmail.com 967130ed7e Add method definition for set_centripetal()
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1756 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-03-08 01:47:43 +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
deweibel@gmail.com 5f853768f4 Add member/method to allow HIL to override radio values
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1732 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-28 02:37:51 +00:00
deweibel@gmail.com 0642e1144d Fix imu_health metric
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1728 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-25 20:09:00 +00:00
deweibel@gmail.com 85672b5ab2 Change gyro/accel calibration to guard against improper orientations or motion during cal
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1727 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-25 17:49:31 +00:00
jasonshort c29ff2a99d removed unused save_trim() function
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1716 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-23 05:17:24 +00:00
mich146@hotmail.com 2989bf2cde Fix hil issue
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1712 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-21 23:16:57 +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
jasonshort bd9f0f4647 added more time to IMU startup. added more accessors and removed private flag.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1702 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-20 23:10:18 +00:00
jasonshort 0ff00e3a53 added names to output in show
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1698 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-20 03:46:18 +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
james.goppert 7dc91e5dcb Consolidating APO.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1691 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-19 21:36:29 +00:00
jasonshort 053e747428 quick.fix
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1688 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-19 21:01:32 +00:00
jasonshort 95462e0bdd quick.fix
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1687 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-19 21:01:07 +00:00
jasonshort caf6a3dc0f Added setHIL to GPS.cpp
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1686 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-19 18:33:42 +00:00
james.goppert 4c79a2c9a5 Mavlink update.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1685 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-19 17:54:14 +00:00
mich146@hotmail.com b268578975 fix compass shim
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1684 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-19 10:04:00 +00:00
mich146@hotmail.com caf9fe5777 fix imu shim
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1683 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-19 09:52:59 +00:00
jasonshort 3c330fc211 Added MAV_CMD_NAV_R_WAYPOINT, MAV_CONDITION_ANGLE
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1679 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-19 03:59:06 +00:00
jasonshort 2c4fc16ce8 Added MAV_CMD_NAV_R_WAYPOINT, MAV_CONDITION_ANGLE
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1678 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-19 03:58:48 +00:00
jasonshort 385e3af27e Added accessors declination.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1677 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-19 03:57:53 +00:00
jasonshort e6e161d56d Added accessors back for Accels. I need them there until we need to find another solution.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1676 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-19 03:57:19 +00:00
deweibel@gmail.com c1c2021719 Correct factoring issue for AP_GPS_IMU XPlane HIL interface.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1673 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-17 21:36:56 +00:00
deweibel@gmail.com 72d9f52d3b Small bug fix for HIL gps when using auto-detect
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1663 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-16 18:19:07 +00:00
DrZiplok@gmail.com ad13b691de DCM needs a reference to a pointer so that we can change the GPS under it during init.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1662 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-16 07:54:48 +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
james.goppert 6e0d023c95 Add saturation and sink blocks.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1660 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-15 03:10:01 +00:00
james.goppert dd51139b36 AP_Controller working.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1659 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-15 00:57:23 +00:00
james.goppert 57892082b2 Debugging controller.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1658 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-14 21:02:35 +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@gmail.com b750e2b006 Variable names must be PROGMEM strings.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1655 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-14 17:43: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 223af24398 Use AP_Var to store PID scaling values.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1652 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-14 04:45:31 +00:00
DrZiplok@gmail.com 8e7301b4d3 Use AP_Var to store channel calibration.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1651 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-14 04:43:44 +00:00
DrZiplok@gmail.com ddfab124cd Use AP_Var to store accel/gyro calibration.
Refactor AP_IMU_Oilpan and remove all the old EEPROM code.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@1650 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-14 04:42:37 +00:00
DrZiplok@gmail.com b9152dc544 Line ending property changes.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1649 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-14 04:27:07 +00:00
DrZiplok@gmail.com dee05d1838 ::transposed does not change the matrix; make it const.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1648 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-14 04:26:05 +00:00
DrZiplok@gmail.com 1f04ecbfdb Major update including AP_Var support.
Most of the compass functionality is now abstracted in a base class, with the various sub-classes implementing just their unique functionality.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@1647 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-14 04:25:20 +00:00
DrZiplok@gmail.com 90bae93a50 Eclipse project config changes.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1646 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-14 03:16:03 +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
jasonshort 1f56ef5f21 updated formatting, baud
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1643 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-14 00:43:35 +00:00
jasonshort 6512531bf9 updated formatting, baud
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1642 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-14 00:43:11 +00:00
deweibel@gmail.com 17804fbc29 Speed IMU initialization
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1641 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-13 23:25:04 +00:00
deweibel@gmail.com 2dc7621e4e Change ADC overflow correction
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1640 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-13 23:24:37 +00:00
james.goppert 1e63c2f368 AP_RcChannel demos updated for AP_Var.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1632 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-13 01:24:32 +00:00
mich146@hotmail.com 89eaff17bc Mavlink update
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1630 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-11 11:04:52 +00:00
mich146@hotmail.com 7d80ff5dc8 Fix Mavlink include
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1628 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-11 00:04:39 +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
mich146@hotmail.com d81237d43f MavLink Update
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1616 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-08 23:16:58 +00:00
deweibel fac0e0a1d9 Add code for auto magnetometer offset nulling.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1615 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-08 20:17:16 +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 56eea84a89 Correct knots -> m/sec conversion. Thanks to Paul M. for spotting this.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1613 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-08 07:06:47 +00:00
james.goppert ef95309e9a APO Compiling with new AP_Var!
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1612 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-08 01:58:51 +00:00
james.goppert d4007c3fca Working on updating AP_Controller/RC_Channel for new AP_Var
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1611 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-07 23:33:12 +00:00
deweibel d5e48364a1 Change MediaTek timestamps to millisecond Time of Day
Add epoch method to return timestamp epoch.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@1589 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-01 23:50:36 +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
deweibel@gmail.com 343c6565db Add FinishWrite method to the DataFlash class to support using an index system.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1575 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-30 01:53:04 +00:00
deweibel@gmail.com fba3e62135 Add reversing for PWM outputs in angle_to_pwm case.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1566 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-27 18:16:22 +00:00
james.goppert b8e53931b9 Started updating AP_Controller and AP_RcChannel for AP_Var
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1559 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-26 07:05:22 +00:00
mich146@hotmail.com 0ed855541f Mavlink update
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1555 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-25 00:31:38 +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
jasonshort 95d6e2cac0 fixed a scaling bug in imax
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1553 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-24 02:07:25 +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
DrZiplok@gmail.com ce651511d7 Rename AP_Meta_class::AP_Type_id to AP_Meta_class::Type_id in keeping with the coding standard.
Add a non-static version of AP_Meta_class::meta_cast that can be used against any subclass object directly.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@1539 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-23 23:46:58 +00:00
DrZiplok fd83ba7753 Fix a serious typo, add more documentation.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1538 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-23 20:33:20 +00:00
DrZiplok e2f15b3b97 Move the Test unit test framework out into its own header, so that it can be used by other libraries.
Add some documentation explaining how it is used.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@1537 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-23 20:26:11 +00:00
DrZiplok@gmail.com b8598c7ef6 Simplify AP_Var_group::_serialize_unserialize slightly by removing some variables.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1535 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-23 10:04:24 +00:00
DrZiplok@gmail.com 8de4cc56da Improve performance when saving a number of variables that don't have space allocated in the EEPROM. This avoids scanning the entire EEPROM every time a variable that has not yet had space allocated is written.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1534 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-23 09:56:58 +00:00
DrZiplok@gmail.com 82fdeb11bb Fix ::save_all/::load_all so that they check the correct criteria for opt-out. Now load/save_all work.
Fix prototype for AP_Var_group::serialize so that it's called correctly when saving a group.  Now group load/save works.

Add load/save_all and group load/save unit tests.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@1533 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-23 09:27:58 +00:00
DrZiplok@gmail.com 3adec05593 Fixes for EEPROM space allocation and mapping.
- We can't count on the first EEPROM scan knowing about everything; new variables may be constructed later so be willing to go back and re-scan the EEPROM if we encounter a new variable that hasn't been loaded yet.
- Sort out where _key actually points (the variable's data) in the EEPROM and get everyone to use the same interpretation.
- Fix return values from ::save and ::load.
- Make it possible to re-save after ::erase_all by de-locating all variables before the EEPROM is blown away.
- Fix args to eeprom_read_block/eeprom_write_block so that we don't spam random memory.

Add unit tests for basic save/load operations.


git-svn-id: https://arducopter.googlecode.com/svn/trunk@1532 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-23 08:11:53 +00:00
DrZiplok@gmail.com 1a2ce433e1 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
DrZiplok@gmail.com 8317c090da Add a templated version of AP_Meta_class::meta_type_id so that you can get a type ID for any named type without having to have an instance of the type lying around. Update the comments about caching type IDs to reflect its availability.
Fix the comments around AP_Meta_class::meta_cast; they were leftovers from an earlier implementation and entirely not helpful.


git-svn-id: https://arducopter.googlecode.com/svn/trunk@1530 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-23 06:44:07 +00:00
DrZiplok@gmail.com 6cf396074b Implement the missing AP_Var_group::*serialize functions.
Rather than implementing empty default constructors, make sure that AP_Var and friends have useful default constructors instead.  This works around AP_Meta_class::meta_cast requiring a default constructor without having empty ctors scattered around.

Add accessors to AP_Var so that the global variable list can be traversed and the group/variable relationship comprehended by outsiders.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@1523 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-22 18:42:44 +00:00
DrZiplok@gmail.com d53844c52d Implement a pure data serialisation load/save model for AP_Var.
The format is a simple TLV format; a tag identifying the variable, a length for the variable, and then the actual data.  This format could ultimately be extended to include waypoint/commands as well.

This allows us to load and save groups of variables to EEPROM without having to have a static EEPROM map.

Still needs unit tests and (probably) bugfixing.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@1522 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-22 08:37:52 +00:00
james.goppert 8ec3a8de4a 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 dbb40ad9a4 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 82e6e29d2f 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 c9788d7b0b 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 709b56f477 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 ea3570ded0 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 91efbeac56 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 e552b7c7e1 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 3f663597b5 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 3cdeffa372 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 b88cfe92f4 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 7cb9579edf 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 e27af48391 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 3ac2193d48 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 0b2e2c55f9 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 e243149f61 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 adb54428da 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 afc68ba45c 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 c2c663a188 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 fa6ebd23d1 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 f5ff57a5b7 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 9e79b78d2a 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 6c0fc63e61 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 fe1311b2c4 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 0f2a1ac411 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 6ff11ea1fd 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 e47352e941 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 6425327190 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 4545c3df80 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 158b3c91d3 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 6cf3a8cb71 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 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
jasonshort 09b02a06fd 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 857046eea4 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 9abc190940 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 daaa8232a7 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 3a06c856b9 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 c38d9d324e 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 4c4274e7c3 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 3e89e3639a 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 634de1c12a 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 02ccc9eee2 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 b852085f44 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 27188b7c12 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 a2ffef83e1 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 fa6a80f809 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 47e937baad 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 5d6c90b723 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 dd8c20b03d 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 935df033b2 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 c65981ab3e 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 de5c16722a 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 b88d96d111 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 8a6df23405 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 c63973e313 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 98624b3de7 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 d6818f99c3 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 7fc6515300 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 53d387bdb4 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 a749820ab1 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 bc7068b4df 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 f8f9575c3d 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 87307484b1 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 253f361781 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 0a3e657b76 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
james.goppert a37d1ddb91 Updated mavlink to latest dev branch version.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1015 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-05 00:49:04 +00:00
james.goppert 665dbefbd4 Added storage options to PID.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1011 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-04 10:32:19 +00:00
jasonshort 2f2aaa88fd Added dynamic setting of compass
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1010 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-04 06:24:21 +00:00
deweibel 126383fe43 Bug fix for IMU / DCM
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1008 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-03 02:12:13 +00:00
jasonshort a142d8ee7d imu enhancements
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1007 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-02 22:09:25 +00:00
jasonshort 963ee5843e git-svn-id: https://arducopter.googlecode.com/svn/trunk@1004 f9c3cf11-9bcb-44bc-f272-b75c42450872 2010-12-02 06:41:32 +00:00
james.goppert b66b0f6cce Fixed issues with AP_Compass
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1003 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-02 06:23:56 +00:00
jasonshort b62c287f5e git-svn-id: https://arducopter.googlecode.com/svn/trunk@1002 f9c3cf11-9bcb-44bc-f272-b75c42450872 2010-12-02 05:54:36 +00:00
jasonshort 729cf47b3c needs some help
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1001 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-02 05:54:02 +00:00
james.goppert 559229a667 Added HIL and HMC5843 compass libs.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@998 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-02 05:19:38 +00:00
james.goppert 110685f880 Updated DCM library.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@996 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-02 05:13:35 +00:00
james.goppert 45ddbbf982 Updated compass library.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@995 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-02 05:13:12 +00:00
jasonshort 93206020cb Moved Health to DCM, Centripetal correct
git-svn-id: https://arducopter.googlecode.com/svn/trunk@988 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-01 22:52:11 +00:00
jasonshort 275624358d boolean to disable centrifugal correction.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@987 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-01 19:53:40 +00:00
jasonshort d209f3d59e update - See ArducopterMega in Branch for implementation details
git-svn-id: https://arducopter.googlecode.com/svn/trunk@986 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-01 07:58:04 +00:00
jasonshort efa2c199f9 update - See Arducopter for implementation details
git-svn-id: https://arducopter.googlecode.com/svn/trunk@985 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-01 07:57:30 +00:00
jasonshort 4ef6bd673f added trim save
git-svn-id: https://arducopter.googlecode.com/svn/trunk@980 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-29 01:44:40 +00:00
jasonshort 2ac2faf7a7 git-svn-id: https://arducopter.googlecode.com/svn/trunk@979 f9c3cf11-9bcb-44bc-f272-b75c42450872 2010-11-29 01:44:25 +00:00
DrZiplok@gmail.com a64c5ef782 Correct misunderstanding about the intent of the external gain array.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@978 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-28 21:51:10 +00:00
rmackay9@yahoo.com 4ddf743cae Deleted APM_RC_QUAD library which is no longer used - we should all be relying on APM_RC now
git-svn-id: https://arducopter.googlecode.com/svn/trunk@976 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-28 13:34:04 +00:00
jasonshort 44f2139951 added filter option
git-svn-id: https://arducopter.googlecode.com/svn/trunk@969 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-28 07:03:23 +00:00
james.goppert 7a0fcd6f59 Full HIL working!
git-svn-id: https://arducopter.googlecode.com/svn/trunk@963 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-28 01:58:53 +00:00
james.goppert 4e4a1bc375 Added inclusion guard to menu.h
git-svn-id: https://arducopter.googlecode.com/svn/trunk@962 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-28 00:35:59 +00:00
james.goppert 40f1d184a1 Cleaned up AP_ADC_HIL
git-svn-id: https://arducopter.googlecode.com/svn/trunk@961 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-28 00:28:01 +00:00
DrZiplok@gmail.com 458dfde81d Move the warning controls for APM out to AP_Common. This makes it easier to grab these for libraries uniformly.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@960 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-27 23:27:08 +00:00
DrZiplok@gmail.com 72cf1b4e57 Add a default ctor; due to 0 being magic, PID pid(0) is ambiguous.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@959 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-27 20:30:53 +00:00
DrZiplok da65814ece Use fabs() rather than abs() for floating-point values.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@958 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-27 09:50:03 +00:00
DrZiplok 2bf62274ab Use fabs(), not abs() for floating point values.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@957 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-27 09:48:01 +00:00
DrZiplok@gmail.com d159986be4 Use fabs() for floating point values, not abs(). The latter causes truncation (cast to int) and generates a lot more code.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@956 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-27 09:24:06 +00:00
DrZiplok@gmail.com cb4e8144f4 Eliminate GPS::_error, as it's responsible for pulling in the old printf, which doesn't work anymore. Fixing it's not worth the effort.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@955 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-27 08:46:41 +00:00
james.goppert cce122d387 Moved APM_ADC to AP_ADC
git-svn-id: https://arducopter.googlecode.com/svn/trunk@954 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-27 05:36:19 +00:00
jasonshort 386dab70f9 re-uploaded
git-svn-id: https://arducopter.googlecode.com/svn/trunk@953 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-27 05:01:44 +00:00
jasonshort 66c553fc96 re-uploaded
git-svn-id: https://arducopter.googlecode.com/svn/trunk@952 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-27 05:01:29 +00:00
jasonshort 8df8401b76 outdated - replaced with better RC_Channel class
git-svn-id: https://arducopter.googlecode.com/svn/trunk@951 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-27 04:58:47 +00:00
james.goppert a6c315b6f1 AP_IMU modified to use AP_ADC, fixes HIL bugs.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@949 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-27 04:45:29 +00:00
james.goppert da9ecf342c Updated AP_DCM to use AP_ADC, fixes HIL bugs.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@948 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-27 04:44:34 +00:00
jasonshort 7a3683e104 outdated - replaced with better RC_Channel class
git-svn-id: https://arducopter.googlecode.com/svn/trunk@947 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-27 04:42:51 +00:00
james.goppert e865622f66 Added generic ADC library.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@946 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-27 04:41:25 +00:00
deweibel 607b86c9a2 Change roll, pitch, yaw to be public verus private/accessors per Jason's request.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@945 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-27 04:30:11 +00:00
jasonshort 59a3087cb6 added control / nav mixing
git-svn-id: https://arducopter.googlecode.com/svn/trunk@944 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-27 03:04:30 +00:00
DrZiplok@gmail.com 0fd1228e27 Add ::peek for compatibility with trunk Arduino.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@943 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-27 01:49:10 +00:00
DrZiplok@gmail.com 73eab31d0c Shrink the ctor slightly more
git-svn-id: https://arducopter.googlecode.com/svn/trunk@942 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-27 00:58:01 +00:00
DrZiplok@gmail.com e699812af4 Don't zero fields in the ctor that can be zeroed by reset_I; the code gets replicated for every static instance of the class, which is obscene.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@941 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-27 00:54:21 +00:00
james.goppert 0f9ac71e6a HIL debugging AP_DCM
git-svn-id: https://arducopter.googlecode.com/svn/trunk@940 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-26 21:45:16 +00:00
james.goppert 51696e63af HIL debugging APM_ADC
git-svn-id: https://arducopter.googlecode.com/svn/trunk@939 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-26 21:44:53 +00:00
james.goppert 929be190fd Changed from float to int16_t for HIL.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@938 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-26 09:09:07 +00:00
james.goppert 001d831359 Synced with mavlink master.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@937 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-26 08:14:29 +00:00
DrZiplok@gmail.com 9a45c2babc Re-type delta t, explicitly size error args to get_pid.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@936 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-26 04:36:43 +00:00
james.goppert f04e58c6b3 Added default scalar of 1 to PID.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@935 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-26 03:16:37 +00:00
DrZiplok@gmail.com b0fbe39459 Remove spurious scaling
git-svn-id: https://arducopter.googlecode.com/svn/trunk@934 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-26 01:56:03 +00:00
DrZiplok@gmail.com 342b759fea Move the eeprom.h include out of the header, it's not needed there.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@933 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-26 01:54:47 +00:00
DrZiplok@gmail.com 52abef58d5 More syntax, etc. fixes. Compiles OK now.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@932 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-26 01:53:12 +00:00
DrZiplok@gmail.com dc40ee00ae Fix accessors, _RC
git-svn-id: https://arducopter.googlecode.com/svn/trunk@931 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-26 01:45:17 +00:00
DrZiplok 264cca6d24 With apologies to Jason for breaking his branch, clean this up and document it.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@930 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-26 01:30:21 +00:00
james.goppert 3ca85f94d4 Checked for dt>0 in PID and modified ctor
git-svn-id: https://arducopter.googlecode.com/svn/trunk@929 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-26 00:06:06 +00:00
james.goppert 7598c02f51 Added load/save gain overloads for float arrays to PID,
supports mavlink style gain get/set now


git-svn-id: https://arducopter.googlecode.com/svn/trunk@928 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-25 23:26:44 +00:00
james.goppert 00e7f9b6d0 Added lowpass filter on PID lib derivative calc
git-svn-id: https://arducopter.googlecode.com/svn/trunk@927 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-25 23:14:37 +00:00
jasonshort dc16a2961d git-svn-id: https://arducopter.googlecode.com/svn/trunk@926 f9c3cf11-9bcb-44bc-f272-b75c42450872 2010-11-25 07:10:06 +00:00
DrZiplok@gmail.com 7582353b08 Library wrapper for MAVLink protocol bits.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@924 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-25 06:38:18 +00:00
DrZiplok 0037b40329 Rename to make it a little more clear that this is a GCS-related library for the MAVLink protocol.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@923 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-25 04:09:28 +00:00
james.goppert cdd9a22322 Adding mavlink library (master 5e560f7d76e4a4f431b9b296e7b199899b899145)
git-svn-id: https://arducopter.googlecode.com/svn/trunk@922 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-25 04:04:30 +00:00
DrZiplok@gmail.com 70baf31139 Resurrect lf -> crlf translation that was lost when I dropped the stdio support.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@921 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-25 03:41:52 +00:00
DrZiplok@gmail.com a468abcdbf Add a better workaround for a GCC bug that generates spurious warnings for PSTR()
git-svn-id: https://arducopter.googlecode.com/svn/trunk@920 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-25 02:59:30 +00:00
DrZiplok@gmail.com aa2bbe9131 A better workaround for the PSTR warning bug. This seems to work correctly.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@919 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-25 02:59:15 +00:00
DrZiplok@gmail.com 2dfb44907f Add a test case for printf_P
git-svn-id: https://arducopter.googlecode.com/svn/trunk@918 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-25 01:55:21 +00:00
james.goppert 13d586dd01 Debugging HIL classes.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@917 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-25 01:34:33 +00:00
james.goppert 9331f8616c Fixed several HIL class bugs.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@914 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-24 16:32:30 +00:00
DrZiplok c473af0082 Back out the "workaround" for PSTR() warnings; it doesn't.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@913 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-24 08:07:04 +00:00
DrZiplok f345d5392f Back out the workaround for PSTR() warnings; it doesn't.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@912 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-24 08:06:09 +00:00
jasonshort 2eb714aa51 almost ready for use, still testing
git-svn-id: https://arducopter.googlecode.com/svn/trunk@906 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-23 21:20:38 +00:00
jasonshort 2dd479ea62 almost ready for use, still testing
git-svn-id: https://arducopter.googlecode.com/svn/trunk@905 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-23 21:20:29 +00:00
jasonshort@gmail.com 4fa2491adf This is a new Library for managing RC input channels which will replace the current way of storing RC input in Arrays and most of the Radio.pde tab
git-svn-id: https://arducopter.googlecode.com/svn/trunk@902 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-23 19:28:19 +00:00
DrZiplok@gmail.com f30bf9cab7 Add format attributes to printf and printf_P. The latter is a bit wishful as gcc isn't smart enough to deal with what PSTR does, but with some other hackery this can be used to generate useful warnings.
Add a workaround for a GCC bug that generates spurious warnings when PSTR() is used.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@901 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-23 09:09:52 +00:00
DrZiplok@gmail.com 906239160d Add a workaround for a GCC bug that generates spurious warnings for PSTR()
git-svn-id: https://arducopter.googlecode.com/svn/trunk@900 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-23 09:07:47 +00:00
DrZiplok@gmail.com 5560f4fcf9 Attribute fix.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@899 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-23 04:05:27 +00:00
DrZiplok@gmail.com d759ee97c5 Fix this so that it compiles again.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@898 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-23 04:03:43 +00:00
DrZiplok@gmail.com 43262a573f Bring in floating point support for BetterStream::printf, courtesy of the avr-libc implementation.
Strip the stdio integration from FastSerial as we aren't using it and it just wastes space.

Note that this does not attempt to fix the bogus floating point handling in ::print(ln).  That's an issue for another day.

BetterStream::printf(_P) aka FastSerial::printf(_P) support is now as documented for avr-libc printf with floating point support enabled.


git-svn-id: https://arducopter.googlecode.com/svn/trunk@895 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-23 00:38:16 +00:00
rmackay9@yahoo.com 3d80d7e580 APM_BMP085 - added InitialiseWireLib parameter to Init function. This allows us to skip the Wire.begin which should only be called once.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@884 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-22 12:55:34 +00:00
rmackay9@yahoo.com 39b86313a2 APM_Compass - added InitialiseWireLib parameter to Init function. This allows us to skip the Wire.begin which should only be called once.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@883 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-22 12:53:55 +00:00
rmackay9@yahoo.com e930dacb4d AP_Math - initialise vector2 and vector3 x,y,z values to zero. Doug found (and I confirmed) that if vectors or matrices were declared in a function (i.e. a local variable), they would often have non-zero values. Global declarations don't have this problem - it's a C++ performance thing it seems.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@878 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-22 02:29:15 +00:00
james.goppert 0eef05b734 Working on HIL for sensors.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@873 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-19 21:20:49 +00:00
jasonshort 391e4268c4 git-svn-id: https://arducopter.googlecode.com/svn/trunk@859 f9c3cf11-9bcb-44bc-f272-b75c42450872 2010-11-19 07:18:40 +00:00
james.goppert e245b7c7b3 Added sensor level HIL support.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@857 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-19 05:42:47 +00:00
DrZiplok d2a2ee0fd8 More runtime magic; this time support required for static class objects at function scope.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@855 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-18 17:52:41 +00:00
james.goppert 71076dad27 Switched APM_RC to uint16_t from int16_t for radio channels to fix servo bug in APM trunk.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@853 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-18 05:21:53 +00:00
deweibel 0e32cb34c5 bug fix, enhancements
Now in a flyable state.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@852 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-17 21:20:20 +00:00
deweibel 52ed7fac8c corrections to imu and dcm libs, addition of vector member to compass class for magnetic vector
git-svn-id: https://arducopter.googlecode.com/svn/trunk@844 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-15 02:15:16 +00:00
DrZiplok@gmail.com c0c28f8eae Recover 256 bytes of RAM by making the packet transmission code smarter. Now we emit the packet directly from the procedure parameters, rather than wasting time and space packing it into a temporary buffer.
Revert the buffer overflow test until I can work out what James was doing with it.

Don't try to send a text message in response to a message we don't like; we should probably implement a NAK message instead.

Improve the text string sender a bit.  We need to fix the protocol generator for this to be less sucky on the send side.


git-svn-id: https://arducopter.googlecode.com/svn/trunk@827 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-11 07:16:32 +00:00
james.goppert 2e048125ef Fixed some bincomm errors.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@826 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-11 04:31:04 +00:00
james.goppert ab1df51b5f Added navigation augmentation messages.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@825 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-11 04:22:43 +00:00
james.goppert afb134b915 Added buffersize member to BinComm.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@824 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-11 02:42:43 +00:00
james.goppert d8b3dd9aa1 Added some useful error messages.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@823 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-11 01:55:14 +00:00
james.goppert b839951ce5 Switched to generic servo output.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@821 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-10 19:02:22 +00:00
james.goppert a771cbacc0 Added buffer overflow warning.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@810 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-09 11:41:08 +00:00
james.goppert 33a7d26846 Adding missing loop counter for menu.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@809 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-09 01:58:00 +00:00
james.goppert 687f5ebc00 Removed strlcpy.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@808 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-09 01:17:38 +00:00
paulbmather@gmail.com bd205a48e8 GPS units that don't have 2 digits after decimal on heading and alt would cause serious math problem.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@807 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-08 19:21:42 +00:00
james.goppert 7dd853642c Fixed ack error.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@805 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-08 04:38:42 +00:00
james.goppert 3ec939888e Removed Serial references.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@804 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-08 04:23:13 +00:00
james.goppert 744d72ea2b Command upload functional.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@803 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-08 04:12:35 +00:00
james.goppert d72c61b80a Setup bincomm auto acknowledge.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@793 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-07 05:59:11 +00:00
james.goppert f28c752bbb Updated command parameters.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@792 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-07 05:37:18 +00:00
james.goppert 91caffaf95 Changed to 32bit alt.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@791 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-07 05:28:47 +00:00
james.goppert e308f2410e Fixed yaw.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@789 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-07 04:02:10 +00:00
james.goppert 5207844480 Added 0x70, other minor changes.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@788 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-07 03:19:49 +00:00
DrZiplok@gmail.com bfaf2f2f9b Fix pack pragma usage
git-svn-id: https://arducopter.googlecode.com/svn/trunk@773 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-05 08:57:33 +00:00
DrZiplok@gmail.com aec22fc639 Fix the idle timer.
Init a few more critical fields in the ctor.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@772 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-05 08:20:33 +00:00
DrZiplok@gmail.com 9e7876fee7 Dangling comma
git-svn-id: https://arducopter.googlecode.com/svn/trunk@771 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-05 03:53:46 +00:00
DrZiplok@gmail.com 1049bf2153 Add init method so that the comms stream can be set after construction.
Template the pack/unpack functions, make the code a little cleaner.

Fix a few message definitions.


git-svn-id: https://arducopter.googlecode.com/svn/trunk@770 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-05 03:47:29 +00:00
rmackay9@yahoo.com a5cb22207a modified APM_PerfMon to display results sorted by %cpu
git-svn-id: https://arducopter.googlecode.com/svn/trunk@766 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-03 07:49:37 +00:00
rmackay9@yahoo.com c9e7d227fe added APM_PerfMon library which can be used to track down performance bottlenecks
git-svn-id: https://arducopter.googlecode.com/svn/trunk@765 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-03 06:50:42 +00:00
deweibel 7b752babf0 checking in working copy to work on bad bug
DO NOT ATTEMPT TO FLY

git-svn-id: https://arducopter.googlecode.com/svn/trunk@762 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-02 04:34:49 +00:00
DrZiplok@gmail.com c833182dbe Duplicate include protection for BetterStream.h
git-svn-id: https://arducopter.googlecode.com/svn/trunk@761 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-01 07:42:51 +00:00
DrZiplok@gmail.com c39639045c Default un-supplied command arguments to the empty string and zero rather than leaving them potentially un-initialised. This makes it safe for commands to compare argument strings without adding the expense of checking argc first.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@760 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-01 03:40:54 +00:00
DrZiplok 8b2245acda More documentation.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@758 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-10-31 00:35:13 +00:00
deweibel b49032d9ea Changes to DCM and IMU libraries to put accel into m/s^2 units
git-svn-id: https://arducopter.googlecode.com/svn/trunk@757 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-10-30 16:17:16 +00:00
rmackay9@yahoo.com 7f4137569b Added orientations for Sparkfun magnetometer.
Also corrected some typos in the orientations for the DIYDrones mag.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@751 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-10-30 05:25:48 +00:00
jasonshort e7b26da27d A simple OO PID library
git-svn-id: https://arducopter.googlecode.com/svn/trunk@742 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-10-28 04:59:24 +00:00
deweibel 610609f98d Delete obsolete / incomplete DCM library.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@730 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-10-25 03:02:56 +00:00
deweibel a80eb66e77 fix bugs from factoring imu object.
Tested & working - integration and roll/pitch drift correction
Untested - yaw drift correction and centrepetal comp

git-svn-id: https://arducopter.googlecode.com/svn/trunk@729 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-10-25 02:03:52 +00:00
deweibel 6272955567 small correction to imu lib
git-svn-id: https://arducopter.googlecode.com/svn/trunk@728 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-10-24 20:10:09 +00:00
deweibel de51162e81 Correct file references for repository
git-svn-id: https://arducopter.googlecode.com/svn/trunk@727 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-10-24 19:12:09 +00:00
deweibel 489365e7fc Add IMU library
git-svn-id: https://arducopter.googlecode.com/svn/trunk@726 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-10-24 18:37:56 +00:00
deweibel 3e30d2566d Add DCM library
git-svn-id: https://arducopter.googlecode.com/svn/trunk@725 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-10-24 18:37:10 +00:00
DrZiplok@gmail.com 271d4736a8 Factor the Stream-related enhancements out from FastSerial proper, so that we could use them on other Stream subclasses if that seemed worthwhile.
Add print_P and println_P implementations to give folks wedded to the vanilla Stream methods a way to print PROGMEM strings.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@715 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-10-23 05:59:40 +00:00
rmackay9@yahoo.com 8eeb81f792 reduced APM_Compass library RAM and code footprint
git-svn-id: https://arducopter.googlecode.com/svn/trunk@700 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-10-22 14:07:41 +00:00
DrZiplok 84697f4111 Fix ::printf_P to transmit to the correct interface. Fixes the XBee test.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@685 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-10-18 04:40:33 +00:00
DrZiplok 502b6ee0f7 Teach the compass init code how to detect whether there is a compass present
at all.  This lets systems where it's optional decide whether to try to use
it or not...



git-svn-id: https://arducopter.googlecode.com/svn/trunk@684 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-10-17 21:07:25 +00:00
DrZiplok 2e5be5d86b Revert the MTK GPS driver to only claiming a fix when the GPS has a 3D solution, per discussion with Paul.
Minor tidying and documentation.



git-svn-id: https://arducopter.googlecode.com/svn/trunk@683 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-10-17 20:13:53 +00:00
DrZiplok@gmail.com ee105a0ebf The previous initialisation strategy for auto-detection doesn't play well with the way APM uses the GPS.
Switch to subclassing GPS and manipulating a global pointer.  Update the test program so that it works again.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@673 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-10-17 07:22:11 +00:00
DrZiplok@gmail.com ca6d51cddb If ::begin() is called on a port that is already open, preserve the previous buffer settings. This makes it easy to change serial speeds without having to know how the port buffers were set up originally.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@672 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-10-17 06:15:47 +00:00
DrZiplok@gmail.com 0a94520682 Add support for automatically detecting the connected GPS and configuring accordingly.
Note that this is currently disabled as changes need to be made to APM to support it.

Tested with MTK, u-blox and SiRF GPS'.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@671 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-10-17 06:06:04 +00:00
paulbmather@gmail.com 079dd3c617 Changes to accommodate blinking lights and loss of GPS commands. Tested with NMEA, uBlox, Sirf and MTK. Does not function correctly with rmack's changes to APM_Compass posted 10/17/2010 (I don't know why).
git-svn-id: https://arducopter.googlecode.com/svn/trunk@669 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-10-17 04:07:46 +00:00
DrZiplok 23ccff2ccd Add support for 'new' and 'delete', so we can cons things on the fly.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@668 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-10-17 04:02:06 +00:00
rmackay9@yahoo.com e29ea04fb1 fixed bug in APM_compass Init method (MagGain should be sent to ConfigRegB). Also repeats calibration if invalid values received from compass.
fixed bugs in rotation matrices.  default orientation is now "Components up pins forward".

Added simple (but not perfect) method of figuring out offsets to APM_Compass_test.pde

git-svn-id: https://arducopter.googlecode.com/svn/trunk@666 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-10-17 01:34:57 +00:00
paulbmather@gmail.com 614d43c905 git-svn-id: https://arducopter.googlecode.com/svn/trunk@665 f9c3cf11-9bcb-44bc-f272-b75c42450872 2010-10-16 16:59:03 +00:00
paulbmather@gmail.com 0bbc8651e4 Added #defines for PMTK commands
git-svn-id: https://arducopter.googlecode.com/svn/trunk@664 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-10-16 16:56:29 +00:00
paulbmather@gmail.com d7e71b602c Fixed issue with comma parsing (space after comma was causing routine to misread data)
Added init functions (PMTK)

git-svn-id: https://arducopter.googlecode.com/svn/trunk@663 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-10-16 16:55:56 +00:00
rmackay9@yahoo.com 3c00a92d14 incorporated Jose's offset code into main compass library.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@636 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-10-09 23:22:46 +00:00
DrZiplok@gmail.com c5155aa623 Add servo output message, fixes issue #163
Check in my host-side test framework.

Minor tidying.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@635 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-10-09 18:11:24 +00:00
DrZiplok 58c1714bd3 Add more documentation to the Menu class.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@569 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-30 04:28:10 +00:00
rmackay9@yahoo.com e7d4273d52 ported John's compass calibration code to trunk.
also added 45 deg angles to orientation matrices to allow more flexibility in mounting the compass to the APM frame.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@565 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-28 13:21:38 +00:00
DrZiplok@gmail.com 4e91c0c7d6 Fix AP_Math include.
Fixes issue #137



git-svn-id: https://arducopter.googlecode.com/svn/trunk@562 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-27 04:05:10 +00:00
rmackay9@yahoo.com 16df19a26d added magnetometer orientation functionality to APM_Compass
git-svn-id: https://arducopter.googlecode.com/svn/trunk@560 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-26 13:54:24 +00:00
DrZiplok@gmail.com 5ba0c7328f Hook up stdio input, for the heck of it. We seem to be moving away from it, but there are things it can do that are hard to do with the Stream interfaces.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@555 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-25 18:15:56 +00:00
DrZiplok@gmail.com 6838829428 Use strtok_r rather than strtok. Saves a stack frame, two bytes of global, and fixes backwards compatibility with older avr-libc versions.
Fixes issue #131

git-svn-id: https://arducopter.googlecode.com/svn/trunk@554 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-25 18:13:08 +00:00
DrZiplok@gmail.com 4b09c9fade Fell asleep before committing these, oops.
Cut menu entry return type down to int8_t, make menu command checks case-insensitive.

Fixes issue #135

git-svn-id: https://arducopter.googlecode.com/svn/trunk@553 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-25 18:02:41 +00:00
rmackay9@yahoo.com 8708675b1f added constructor with 9 elements to matrix3.h
corrected matrix * vector function.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@551 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-25 02:43:11 +00:00
DrZiplok@gmail.com d45f67b3ef Add a carriage return before printing a newline when we are called as stdout/stderr.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@547 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-24 07:32:38 +00:00
DrZiplok@gmail.com e2184615d9 Change the way pre-prompt printing works to avoid having to deal with "magic" menu entries.
Add a default 'exit' command to back out of a menu.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@546 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-24 07:31:59 +00:00
DrZiplok@gmail.com 064dda10bf Provide an easy way to print stuff before displaying the prompt.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@545 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-24 06:18:59 +00:00
DrZiplok@gmail.com eb6113e685 Add a simple commandline menu library.
The library has an interface suitable for both interactive and automated use (i.e. Arduino console or GCS operation).


git-svn-id: https://arducopter.googlecode.com/svn/trunk@544 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-24 05:50:02 +00:00
DrZiplok@gmail.com 7721e622aa Rather than subclassing from the templated classes, just typedef directly to them.
This should solve the issues related to assigning to the convenience types.


git-svn-id: https://arducopter.googlecode.com/svn/trunk@543 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-23 05:45:43 +00:00
DrZiplok@gmail.com f72129bdb3 Clean up the bitrate calculations per the Atmel datasheet.
Verified that when configured for 115200, the actual output as seen on a scope is around 117600Hz consistent with the +2.1% error in the datasheet.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@542 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-23 05:41:30 +00:00
rmackay9@yahoo.com 15e6469ca9 added downcasting to MATRIX3_CTORS. this fixes some problems with setting the results from a formula to a variable (i..e m1 = m2*2).
git-svn-id: https://arducopter.googlecode.com/svn/trunk@541 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-23 05:39:50 +00:00
rmackay9@yahoo.com b3e1b6c57d minor corrections to the operator *= and constructor so that matrix can be more easily created from vector objects
git-svn-id: https://arducopter.googlecode.com/svn/trunk@540 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-23 03:14:15 +00:00
deweibel 34aa823003 Bug fixes for EM-406
git-svn-id: https://arducopter.googlecode.com/svn/trunk@539 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-23 00:20:11 +00:00
DrZiplok@gmail.com ac2e14c4ec Remove a bunch of probably wrong const cruft. Ditch the dubious array index operators from vector2.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@538 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-22 17:41:49 +00:00
DrZiplok@gmail.com 815e5f871a Remove the trivial operator= implementations, the default shallow copy is fine.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@537 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-22 16:32:38 +00:00
DrZiplok@gmail.com 646045ef44 Some minor fixes prompted while looking at the code for other reasons.
Return non-const values from assignment.  Fix operator* for matrix3.



git-svn-id: https://arducopter.googlecode.com/svn/trunk@536 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-22 16:15:26 +00:00
DrZiplok@gmail.com 9db013e648 Stop trying to be so clever in the tx interrupt handler. We may race with the code stuffing bytes into the ring such that we consume the last byte and empty the ring before they set the UDRE interrupt.
If that happens since we weren't checking the ring for emptiness we would loop and spit out the whole ring again.  It's cheaper in terms of interrupt latency to just check the ring at interrupt time than it is to futz with ATOMIC_BLOCKs in the ::write code.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@535 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-22 06:56:27 +00:00
DrZiplok@gmail.com 6d31545b8d Per Jose, fix the interrupt vectors to work for non-1280-based Arduino.
Make Serial0 also stdin and stderr.



git-svn-id: https://arducopter.googlecode.com/svn/trunk@534 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-22 03:00:10 +00:00
rmackay9@yahoo.com 241fd41289 fixed issue #34 from issues list regarding incredibly minor issue in keywords.txt. Also fixed a spelling mistake and removed the "n" from Jordi's name that causes Arduino IDE to complain about non-standard characters.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@529 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-19 03:06:46 +00:00
jasonshort 6fa92cc299 still unstable
git-svn-id: https://arducopter.googlecode.com/svn/trunk@528 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-18 19:18:55 +00:00
jasonshort 6cf2d1e86e better error wrapping
git-svn-id: https://arducopter.googlecode.com/svn/trunk@519 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-15 01:45:25 +00:00
jasonshort b9f8b6727d Made ground course from Xplane an unsigned int.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@518 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-14 19:13:02 +00:00
DrZiplok@gmail.com 0f53cc4c8e Add a guard ifdef to catch folks trying to build APM with the wrong board selected.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@517 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-14 15:22:08 +00:00
jasonshort b0d81d3b68 git-svn-id: https://arducopter.googlecode.com/svn/trunk@514 f9c3cf11-9bcb-44bc-f272-b75c42450872 2010-09-14 02:33:00 +00:00
DrZiplok@gmail.com 11865c1718 Remove the method call from the interrupt handlers. This brings the rx and tx interrupt paths down to < 60 instructions worst case, or ~4us.
At 115200 we expect ~100us between interrupts, or around 5% CPU overhead.  4us latency is probably acceptable for servo signal jitter too if we decide to consider using the Arduino Servo library.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@513 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-13 17:44:59 +00:00
DrZiplok@gmail.com 1f7f814183 Spell 'latitude'.
Fixes to make this build.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@506 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-13 03:51:27 +00:00
DrZiplok@gmail.com 2f39f95556 Fix class def to match implementation.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@505 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-13 03:50:42 +00:00
DrZiplok@gmail.com 3ea33576f6 Add twitch_servos required by ArduPilot.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@504 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-13 03:50:12 +00:00
DrZiplok@gmail.com 29ba4b8be1 Forgot to include the IMU GPS emulator, breaking X-Plane
git-svn-id: https://arducopter.googlecode.com/svn/trunk@483 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-12 00:51:44 +00:00
jasonshort f4b024f194 changed read_pwm to read
git-svn-id: https://arducopter.googlecode.com/svn/trunk@480 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-11 19:42:49 +00:00
deweibel b7778b2ad9 Returned channel read order to the original order
git-svn-id: https://arducopter.googlecode.com/svn/trunk@473 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-11 14:21:16 +00:00
DrZiplok@gmail.com dc85377587 Don't count on things including <stdint.h> before AP_Common.h.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@456 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-11 06:15:12 +00:00
DrZiplok@gmail.com 10f3a6f9cb Drop a couple things in here in support of code moving to libraries.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@455 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-11 06:13:28 +00:00
deweibel 8a4b060873 correct typo
git-svn-id: https://arducopter.googlecode.com/svn/trunk@450 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-10 23:58:19 +00:00
deweibel 72d031b4b5 Reorder the channels
Fix overflow issue

git-svn-id: https://arducopter.googlecode.com/svn/trunk@449 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-10 20:41:41 +00:00
DrZiplok@gmail.com 80bc831363 Reinstate the ground course filter for the not-really-suppored SiRF GPS.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@448 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-10 06:32:33 +00:00
jasonshort dff31e7dde git-svn-id: https://arducopter.googlecode.com/svn/trunk@444 f9c3cf11-9bcb-44bc-f272-b75c42450872 2010-09-09 06:35:21 +00:00
analoguedevices 63ae72648e Commented out AP_Common, which is not implemented yet.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@443 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-08 22:18:58 +00:00
DrZiplok@gmail.com b918f21567 Replace the questionable rotation operation with a conventional transposition.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@442 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-08 08:41:29 +00:00
DrZiplok@gmail.com 097161cd8d Beginnings of a math library for ArduPilot(Mega) systems.
The vector classes are light adaptations of work by Bill Perone
(billperone@yahoo.com), the Matrix3 class draws on them for
inspiration.

Bill's matrix classes are too heavyweight and not templated, so
they're less suitable for us here.

This code compiles, and some trivial tests seem to work, but
it should not be considered "golden" yet.



git-svn-id: https://arducopter.googlecode.com/svn/trunk@441 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-08 08:21:46 +00:00
DrZiplok@gmail.com ffa25b0846 Fix the MTK test to use the same baud rate that APM does.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@440 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-08 05:07:35 +00:00
DrZiplok@gmail.com f665e944f0 Add a single header for the library that brings in declarations for all of the GPS types supported by the library.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@439 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-08 05:06:56 +00:00
DrZiplok@gmail.com 31ab494aaa Jason's GPS_None pointed out a few changes that in turn drastically simplify it.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@431 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-07 05:57:39 +00:00
jasonshort dd8c883995 git-svn-id: https://arducopter.googlecode.com/svn/trunk@430 f9c3cf11-9bcb-44bc-f272-b75c42450872 2010-09-07 05:45:06 +00:00
jasonshort fd42ef7225 git-svn-id: https://arducopter.googlecode.com/svn/trunk@429 f9c3cf11-9bcb-44bc-f272-b75c42450872 2010-09-07 05:43:57 +00:00
jasonshort 66a45523d6 don't fly
git-svn-id: https://arducopter.googlecode.com/svn/trunk@428 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-07 05:43:30 +00:00
jasonshort a496ef2b17 don't fly
git-svn-id: https://arducopter.googlecode.com/svn/trunk@427 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-07 05:43:08 +00:00
jasonshort 5dc67ce6c6 don't fly
git-svn-id: https://arducopter.googlecode.com/svn/trunk@426 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-07 05:42:50 +00:00
DrZiplok@gmail.com 6268189d31 Dynamically allocate serial buffers at ::begin time. Allow buffer sizes to be dynamically set.
This provides an opportunity for saving memory in the case of ports that do little or no work (e.g. the console) as well as increasing buffering for ports that receive large amounts of data in a short time (e.g. high-bitrate NMEA).



git-svn-id: https://arducopter.googlecode.com/svn/trunk@425 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-07 05:41:35 +00:00
DrZiplok@gmail.com ba021b5fe8 Remove a diagnostic I missed.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@424 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-07 04:22:13 +00:00
DrZiplok@gmail.com c6ceb85c21 Refactor the EM-406 support into a 406-specific init routine and a generic SiRF parser.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@423 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-07 04:20:34 +00:00
DrZiplok@gmail.com c981b7d0b0 Rework the u-blox driver.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@422 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-06 22:31:18 +00:00
DrZiplok@gmail.com a83f663942 Private member naming
git-svn-id: https://arducopter.googlecode.com/svn/trunk@421 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-06 22:30:29 +00:00
DrZiplok@gmail.com 3e1cd1ea2e Set native line endings on checkout to help avoid confusion.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@419 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-06 20:18:32 +00:00
DrZiplok@gmail.com 7e345e027c Push server-native line endings.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@418 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-06 20:16:50 +00:00
DrZiplok@gmail.com add89239f3 Rework the MTK protocol decoder for robustness and code size.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@417 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-06 20:00:57 +00:00
DrZiplok@gmail.com 1dd4bc9080 Fix MTK lat/lon scaling.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@414 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-06 17:40:12 +00:00
DrZiplok@gmail.com 63d1cf06c1 Fix the GPS port for MediaTek tests.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@413 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-06 17:22:37 +00:00
DrZiplok@gmail.com ed24b47fb3 Decouple BinComm from FastSerial, now that we can use Stream instead.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@405 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-06 09:40:45 +00:00