Commit Graph

2663 Commits

Author SHA1 Message Date
rmackay9@yahoo.com 0f5d01b563 added magnetometer orientation functionality to APM_Compass which requires small change to ArduCopter.pde to include AP_Math.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@561 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-26 13:55:47 +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
CaranchoEngineering 9d8ea2563f refactoring of code beginning
git-svn-id: https://arducopter.googlecode.com/svn/trunk@533 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-20 09:38:11 +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
jjulio1234 d342f7582d Update to Stable mode function to limit the maximun output value. This prevents to enter in unstable state if there are a big external perturbation.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@522 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-16 21:50:26 +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
CaranchoEngineering 813b67cb5e starting migration of functions
git-svn-id: https://arducopter.googlecode.com/svn/trunk@507 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-13 09:07:31 +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
jphelirc a610577701 updated software version number
git-svn-id: https://arducopter.googlecode.com/svn/trunk@446 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-09 14:57:41 +00:00
jphelirc 837c183922 Fixed GPS activation issue, Serial/Serial3 selection and new automatic mode switch feature
git-svn-id: https://arducopter.googlecode.com/svn/trunk@445 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-09 14:56:38 +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