Commit Graph

941 Commits

Author SHA1 Message Date
Andrew Tridgell bdfcad234e RC_Channel_aux is needed for ArduPlane build 2011-10-24 10:20:19 +11:00
James Goppert b409173aae Corrected battery monitoring in apo. 2011-10-20 02:28:47 -04:00
James Goppert 4e89f61e27 Arming fixes. 2011-10-19 20:09:06 -04:00
James Goppert b16666bf2f Added loop priority, fixed arming bug for apo. 2011-10-19 13:22:29 -04:00
James Goppert 7dd8875f43 More cleanup. 2011-10-19 00:31:59 -04:00
James Goppert d20d53ee81 Some cleanup. 2011-10-19 00:25:00 -04:00
James Goppert 1aa8586558 Added arming mechanism. 2011-10-19 00:21:19 -04:00
James Goppert 4653ea7629 Incorporated dcm changes from arducopter into apo. 2011-10-18 22:00:24 -04:00
James Goppert 4cc0aec5f1 Updated apo rates. 2011-10-18 20:11:14 -04:00
Andrew Tridgell c8847e0d55 desktop: refactor the TCP code
this supports all 3 serial ports, plus cleans up the code
2011-10-17 19:32:48 +11:00
James Goppert 3cab0fb814 Updated ArduRover/ ArduBoat for new apo changes.
Still need to add arming/ disarming to rover/boat controllers.
2011-10-16 03:15:22 -04:00
James Goppert 185a24a3ae Merge branch 'master' of https://code.google.com/p/ardupilot-mega 2011-10-16 02:58:38 -04:00
James Goppert 32af63f734 Added battery monitoring, arming to apo.
Arming added for quadrotor. Need to add to rover still. Battery
monitoring added with auto shut-off in quadrotor controller.
Finally split apo header and source files to allow faster
compiling/ fix cyclic header inclusions.
2011-10-16 02:55:34 -04:00
Jason Short b8e7eac346 Merge branch 'master' of https://code.google.com/p/ardupilot-mega 2011-10-15 13:09:18 -07:00
Jason Short 142707711e Updates to guided mode from Michael O.
removed or commented unused static vars
2011-10-15 13:09:04 -07:00
James Goppert aacc8a6179 APO quad stabilized flight working well. 2011-10-14 18:28:29 -04:00
Michael Oborne d38b289766 hil sensor cleanup 2011-10-14 18:14:32 +08:00
Michael Oborne 8abd4bbd69 fix delta time in imu shim 2011-10-13 22:36:51 +08:00
Michael Oborne 7ef51f723d Sensor hil fix's 2011-10-13 22:22:03 +08:00
Michael Oborne 29380b3995 Merge branch 'master' of https://code.google.com/p/ardupilot-mega 2011-10-13 17:49:35 +08:00
James Goppert 7285cf28e2 Got APO quad stabilized flight to hover.
Needs more gain tuning.
2011-10-12 20:05:01 -04:00
Michael Oborne 20ed86da28 fastserial tcp 2011-10-13 07:25:30 +08:00
Michael Oborne 12131911b2 Desktop: cygwin fixs for AP and AC SIL 2011-10-11 20:30:34 +08:00
Andrew Tridgell 25d07075b7 desktop: more cygwin fixes 2011-10-11 21:33:31 +11:00
Andrew Tridgell 75d31dcc4c desktop: removed the need for libbsd
this should help the cygwin build that MikeO is working on
2011-10-11 21:04:07 +11:00
Andrew Tridgell b415542690 desktop: added Makefile.desktop 2011-10-11 20:53:43 +11:00
Andrew Tridgell 8290b61951 desktop: fixed a warning 2011-10-11 20:53:43 +11:00
Andrew Tridgell bcb8fb1c7f desktop: silence an implicit cast warning 2011-10-11 20:53:43 +11:00
Andrew Tridgell 4016482573 desktop: make the main loop a bit more responsive
this introduces less delays on linux than usleep()
2011-10-11 17:49:40 +11:00
Andrew Tridgell 3c3db649d5 desktop: make ISRs normal C++ functions
this will make it possible to add an abstract register simulation
class that allows us to intercept device IO
2011-10-11 17:49:40 +11:00
Andrew Tridgell bd42484ab8 update README with build and usage information 2011-10-11 17:49:40 +11:00
Andrew Tridgell ea82b27fe5 support building with common Makefile.desktop 2011-10-11 17:49:40 +11:00
Michael Oborne 14dbc9523c Merge branch 'master' of https://code.google.com/p/ardupilot-mega 2011-10-11 08:05:14 +08:00
Andrew Tridgell 0939b51a4c added build makefiles 2011-10-10 07:18:38 +11:00
James Goppert 3e1ae9b215 APO GPS bug fix. 2011-10-09 15:57:29 -04:00
James Goppert a747a88762 Fixed APO bug. 2011-10-09 11:46:56 -04:00
Andrew Tridgell 632e0312de opticalflow: use the right path for SPI.h 2011-10-09 22:40:00 +11:00
Andrew Tridgell 17aec03a2f added a README 2011-10-09 22:16:14 +11:00
Andrew Tridgell 41dd8d60ba use ifdef for DESKTOP_BUILD 2011-10-09 22:16:14 +11:00
Andrew Tridgell 034755e432 use nanosleep() instead of usleep() 2011-10-09 22:16:14 +11:00
Andrew Tridgell eebd632967 fixed millis() and micros() 2011-10-09 22:16:14 +11:00
Andrew Tridgell 8c8ad0cd55 desktop: use a bit less CPU 2011-10-09 22:16:13 +11:00
Andrew Tridgell 5cf3e92a22 desktop: use non-blocking IO 2011-10-09 22:16:13 +11:00
Andrew Tridgell 65900dd1e0 desktop: expand eeprom to 4k initial size 2011-10-09 22:16:13 +11:00
Andrew Tridgell b8dfdc293b desktop: flush all serial writes 2011-10-09 22:16:13 +11:00
Andrew Tridgell 7098e8cfa1 first rough build for desktop CPUs
this allows ArduPlane to build and startup on 'desktop' systems (eg. a
Linux box). Very rough for now, and only for HIL so far
2011-10-09 22:16:13 +11:00
Andrew Tridgell 28ebca1bf6 fixed PROGMEM declaration for desktop build 2011-10-09 22:16:13 +11:00
Andrew Tridgell 38c033e8dd memcheck: allow memcheck to build on desktop systems 2011-10-09 22:16:12 +11:00
Andrew Tridgell bcc2aed8fb initialise spare bits in AP_Var headers
if we ever need these bits, it would be nice to know that they are
zero in existing eeproms
2011-10-09 22:09:00 +11:00
Andrew Tridgell 288aba074f fastserial: allow vprintf() to build without assembler 2011-10-09 22:08:59 +11:00
Andrew Tridgell 00d52a8bd7 ap_common: use intptr_t for pointer casts
this allows building on systems with pointers that aren't 16 bits long
2011-10-09 22:08:59 +11:00
Andrew Tridgell fc53d5c477 modefilter: fixed type to be consistent with declaration 2011-10-09 22:08:59 +11:00
Andrew Tridgell 6048f3870f GPS: fixed type to be consistent with declaration 2011-10-09 22:08:59 +11:00
Andrew Tridgell 7a5fa24ba5 eeprom: fixed types to be consistent with declarations 2011-10-09 22:08:59 +11:00
James Goppert f6fe6fde33 Updated APO, HIL working well, live mode ready to test 2011-10-06 19:17:49 -04:00
James Goppert 3e988cc5e1 Reducing copy ctor calls in apo. 2011-10-06 12:00:45 -04:00
James Goppert 8409c864a6 Merge branch 'master' of https://code.google.com/p/ardupilot-mega 2011-10-03 13:22:59 -04:00
James Goppert cd451b749e Cleanup of AP_RcChannel, removed scaled class. 2011-10-03 13:22:23 -04:00
Amilcar Lucas 45950489d1 More improvements to MS Windows
Now the avr-gdb, avrdude and avarice tools do not need to be in the path.
2011-10-03 19:16:55 +02:00
James Goppert 0fc595d528 Added AP_RcChannel_Scaled to APO 2011-10-03 12:42:27 -04:00
Amilcar Lucas 69de071281 Spellcheck apo library 2011-10-03 12:50:41 +02:00
amilcar 7a510084b1 Fix serial port on windows 2011-10-03 12:10:27 +02:00
amilcar 550deffbe8 Make it work on windows "out-of-the-box" 2011-10-03 12:08:19 +02:00
James Goppert f83fb23d7a Removed extra waypoint loading. 2011-10-02 23:32:12 -04:00
John Arne Birkeland a621f5821f APM_RC: Cosmetic changes to increase readability and some minor optimizations 2011-10-02 18:05:00 +02:00
Amilcar Lucas 9dca9816f8 Implement relay get() 2011-10-02 02:28:40 +02:00
Amilcar Lucas 7b4ccffa53 Moved relay control functions to it's own library 2011-10-02 01:00:27 +02:00
Jason Short 1c284cacb3 Merge branch 'master' of https://code.google.com/p/ardupilot-mega 2011-10-01 15:55:31 -07:00
Jason Short 0bfa67f413 Heavy Accel Filter + mild Gyro Filter. To use, filter_result must be set to true on ADC. Off by default. 2011-10-01 15:44:53 -07:00
Amilcar Lucas c37fabea66 Added a comment to the BOARD type of teh make configure output file 2011-10-02 00:04:21 +02:00
Amilcar Lucas eaaf44e2c8 Fix Arduino version detection on some systems 2011-10-02 00:03:57 +02:00
rmackay9 12e8e27af1 Merge remote-tracking branch 'origin/master' 2011-10-01 21:56:29 +09:00
rmackay9 c80143b96e AP_Optflow - small fix to lat/lon calculation and made example sketch work again 2011-10-01 21:51:14 +09:00
Jason Short 189fc194b6 Merge branch 'master' of https://code.google.com/p/ardupilot-mega 2011-09-30 18:40:40 -07:00
Jason Short f89da12387 Minimized the accel_filtered vector to be faster and more accurate.
Made the Filter include the Accels and moved from 8 to 4 terms in the filter
2011-09-30 18:40:29 -07:00
James Goppert 0c7c508541 Optional recursion added. 2011-09-30 17:17:51 -04:00
James Goppert 48b811f6fa Updated cmake. 2011-09-30 16:55:27 -04:00
Jason Short a7ea200407 Merge branch 'master' of https://code.google.com/p/ardupilot-mega 2011-09-29 23:27:36 -07:00
Jason Short de61e87128 Added ADC gyro Filtering for quads - this fixes a noise issue introduced into the controller
added Position mode
removed
Added back in the accelerometer experiment
Added filter_result boolean to enable filter on the fly
2011-09-29 23:27:23 -07:00
Jason Short 1f8576559a Optimized PI loop 2011-09-29 22:37:56 -07:00
James Goppert 9e6b47184a Arduino version directory updated to lib/version.txt
Also updated cmake files.
2011-09-29 22:10:26 -04:00
James Goppert 5489b84f8e Improvements to cmake. 2011-09-29 21:23:26 -04:00
James Goppert b0a1721199 Added cmake files. 2011-09-29 14:16:36 -04:00
James Goppert d887a28b91 Added ArduBoat/ ArduRover/ and APO library. 2011-09-29 14:12:15 -04:00
Jason Short 0c847a43f3 Merge branch 'master' of https://code.google.com/p/ardupilot-mega 2011-09-26 22:12:52 -07:00
Jason Short 326cfef808 Dead Zone fix - Now the range is full instead of clipped. Should make the Yaw much more smooth. 2011-09-26 22:12:39 -07:00
Amilcar Lucas 03740469fd fix quotes and indentation 2011-09-27 04:40:00 +02:00
James Goppert 9c766d6373 Added override for mega upload protocol. 2011-09-26 20:29:09 -04:00
Amilcar Lucas e5c248e2bf Moved mavlink_check_target() to the libraries/.
This allows it to be reused by the other libraries and by other projects ArduPlane, ArduCopter, ArduRover ... etc.
It also reduces code duplication
2011-09-24 14:40:07 +02:00
James Goppert 6abb8a0796 Modified Arduino.mk to use correct upload protocol if not overrided.
The previous comment of upload protocol not working cannot be verified on
linux. If this problem persists on cygwin, please override with
UPLOAD_PROTOCOL=arduino in the enivornment before calling Arduino.mk
2011-09-22 13:35:26 -04:00
Jason Short ce338071eb RC_Channel tweaks. using Radio_trim rather than 1500 in Raw output. Cleaned up line in calc PWM to be easier to read. 2011-09-21 14:52:20 -07:00
Jason Short 231e7e961c changed PI to float 2011-09-19 14:41:32 -07:00
Jason Short bf94ba551e changed PI Library to take Float for DeltaTime
Changed timing to be more accurate in main loop. Still need to switch to micros(). Left that for Tridge. This gets rid of six floating point calcs *250. Nice!
2011-09-19 14:02:42 -07:00
Andrew Tridgell f375258699 fixed inconsistent linefeeds in ADC code
the linefeeds had bacome inconsistent in this library, making some
editors fail to load the code
2011-09-19 11:04:02 +10:00
Andrew Tridgell edd7e509d9 MAVLink: enable separate MAVLink helpers
this makes the core MAVLink functions into library calls, instead of
being inlined. The resulting code size doesn't change, but it means we
can safely call MAVLink functions from multiple places without causing
undue code bloat
2011-09-18 11:03:27 +10:00
Amilcar Lucas 227ce0a92d Merge some small misc improvements from APM_Camera branch 2011-09-17 20:25:31 +02:00
Andrew Tridgell 8b90ad84f6 fixed ArduCopter HIL build 2011-09-17 14:58:02 +10:00
Andrew Tridgell 3c69404d5b fixed build of OpticalFlow code 2011-09-17 14:58:02 +10:00
Andrew Tridgell a835912d93 ADC: randomise the sampling rate
this is based on suggestions from Kari and Mike, and should reduce the
aliasing effects we get from the simple averaging
2011-09-17 14:58:02 +10:00
Andrew Tridgell ba6c58a33c build: cope with more depths for libraries
this finds the libraries at more levels up from the current directory
2011-09-17 14:58:02 +10:00
Andrew Tridgell 840c256fe3 ADC: show timing information in ADC test 2011-09-17 14:58:02 +10:00
Andrew Tridgell 197b1d140a show noise levels in ADC test 2011-09-17 14:58:02 +10:00
Andrew Tridgell 1d68953416 ADC: the bottom 3 bits of ADC output are always zero
its a 12 bit ADC .... silly of me to think the bottom 3 bits are
valid!
2011-09-17 14:58:02 +10:00
Andrew Tridgell bd30840518 updated ADC test for new API 2011-09-17 14:58:02 +10:00
Andrew Tridgell 9af7021a98 change ADC sample rate to 1kHz
this costs us about 9% of our CPU, but should make aliasing much less
of a problem.
2011-09-17 14:58:02 +10:00
Andrew Tridgell acb4538073 RangeFinder: use new ADC interface
the new interface gives values 8 times as large as previously
2011-09-17 14:58:02 +10:00
Andrew Tridgell 9314dcaa89 DCM: re-work the DCM to use the new IMU/ADC features
this gives us higher resolution DCM calculations, with much more
accurate timing of the update delta time.
2011-09-17 14:58:02 +10:00
Andrew Tridgell 8b3d9400e5 IMU: re-work the IMU library to take advantage of the ADC Ch6() call
This changes the IMU code to read 6 synchronised ADC channels at one
time, giving us matching values, and exposing the exact averaging time
to callers
2011-09-17 14:58:02 +10:00
Andrew Tridgell 70bf945d40 ADC: re-work for ADC code for full resolution and accurate timing
this changes the ADC code to return the full resolution of the
sensors. It also adds a new Ch6() interface that returns 6 channels at
once, so the IMU can read 3 accelerometers and 3 gyros at once, and
get the exact time that the values were accumulated over
2011-09-17 14:58:02 +10:00
Andrew Tridgell 3a9b7d6458 GPS: change example serial rate to 115200
this matches default for AP/AC
2011-09-17 14:58:02 +10:00
Andrew Tridgell a5d2e96dc6 barometer: print a message on barometer init in example code
this helps track down initialisation problems
2011-09-17 14:58:02 +10:00
Jason Short 45778a4e81 added sin and cos yaw from DCM, renamed "get" function because it doesn't return a value. 2011-09-16 19:24:57 -07:00
Jason Short cd72e6bea9 roughed in an expo option idea
made min and max values 1100, 1900
removed hard coded init for camera values
2011-09-16 19:06:53 -07:00
Jason Short 9bcbe70e59 Merge branch 'master' of https://code.google.com/p/ardupilot-mega 2011-09-16 18:35:14 -07:00
Jason Short d29cfbcee3 Integration of optical flow
bug fixes for new Simple mode
increased Baro filter by 2 fields
2011-09-15 23:33:00 -07:00
Janne M d5e5240e19 Issue #415: Modified spotlight search string. Added UPLOAD_PROTOCOL parameter to makefile to use different programmer. 2011-09-15 22:38:22 +03:00
Mike Smith 42abbb41fd Add options to generate assembly listings for all of the compiled
files.  This is a possible starting point for a tool to analyse the
call graph and stack usage of APM.

It's also interesting by itself.
2011-09-14 22:39:34 -07:00
unknown 7a70cb6169 Merge branch 'master' of https://code.google.com/p/ardupilot-mega/ 2011-09-14 16:02:21 +02:00
unknown a4e001bbcf Adding CMake support 2011-09-14 15:44:55 +02:00
Amilcar Lucas 1f29197771 Revert more of 6dcbc7f44bc0.
Fix an issue with initialization of channels that on-line changed their function.
For the curious people that the code size overhead of having any aux channel do any function (with this code) is 44 bytes.
 To see wich code I'm talking about, do a git diff 05057ac2d455..this_commit (replace this commit with the commit hash of this commit)
2011-09-13 14:01:35 +02:00
Amilcar Lucas f08cea8044 These changes were meant to be inside commit a14c06adc06b. I'm sorry but reverting stuff is not that easy 2011-09-13 01:54:47 +02:00
Amilcar Lucas 5406991831 Added support for routing any function to any of the aux. servos.
This is a manual merge from the APM_Camera branch.
It reverts the stuff that Oliver did not menat to do with his commit 6dcbc7f44bc0
2011-09-13 01:24:06 +02:00
Jason Short fdc56c9ad5 Merge branch 'master' of https://code.google.com/p/ardupilot-mega 2011-09-12 12:57:56 -07:00
Jason Short ecd14f4425 Cleaned up guided mode
Reduced ADC filter to 3 from 6 to increase speed of filter.
2011-09-12 12:57:36 -07:00
DrZiplok c0b4cb661f GNU sed wants -r, Darwin/BSD sed wants -E. 2011-09-12 18:43:31 +00:00
Amilcar Lucas c7b3bfd295 Use the G_RC_AUX macro when possible. Added more comments. Remove unused code 2011-09-12 20:21:12 +02:00
Mike Smith c1460add3b Reinstate a Cygwin workround that was backed out by the previous changes.
Not all platforms support (or require) the -r argument to sed.
2011-09-11 22:20:54 -07:00
Olivier ADLER 1ee65e3ef2 Merge branch 'APM_Camera' of https://code.google.com/p/ardupilot-mega/
Conflicts:
	ArduPlane/ArduPlane.pde
	libraries/AP_Camera/AP_Camera.h
	libraries/AP_Mount/AP_Mount.cpp
	libraries/AP_Mount/AP_Mount.h
2011-09-12 00:31:18 +02:00
Amilcar Lucas 77c798abd5 Use G_RC_AUX macro to simplify accessing the auxiliary servos 2011-09-12 00:02:47 +02:00
Amilcar Lucas 46f9d4cec8 This is ugly, but it fixes compilation on arduino 2011-09-11 23:25:06 +02:00
Amilcar Lucas ce010b4e38 Moved update_aux_servo_function() to the RC_Channel_aux.* files.
This simplifies code sharing between ArduCopter and Arduplane at the expense of 48bytes.
Moved CH_x defines out of the defines.h file and into the library where they belong
2011-09-11 23:07:30 +02:00
Jason Short d50ed35077 Added a state machine intended to run at 250hz to the DCM. Spread load of DCM out to lower CPU. 2011-09-11 11:03:55 -07:00
Amilcar Lucas 213969202a Moved the RC_Channel_aux class to its own file. The includes could be improved, has anyone got any ideas how ? 2011-09-11 19:13:01 +02:00
Amilcar Lucas c5fd792024 Make the switch case complete 2011-09-11 18:32:24 +02:00
Amilcar Lucas 9f14c5f578 Fix RC range reversal 2011-09-11 04:12:46 +02:00
Amilcar Lucas dd19a7302d I do not understand this, but it looks like it needs int8 here 2011-09-11 02:41:48 +02:00
Amilcar Lucas 84f108d598 Fix manual values mapping 2011-09-11 02:36:39 +02:00
Amilcar Lucas d84f80cb0d Moved enum values around to make code simpler to read and use 2011-09-11 02:34:47 +02:00
Amilcar Lucas 386e80eaf6 Added comments and TODO 2011-09-10 23:57:27 +02:00
Andrew Tridgell 0a793a1327 Revert "added support for AP_ADC MAVLink packet"
This reverts commit a65a2dda2c1bfa95437880227a3abddc95b329f5.

I am reverting this not for any sane reason, but because my 3 APM
boards now lock up on any I2C operation, and I don't know why. I can't
see how this change could have caused it, but I don't want to take the
chance.
2011-09-10 22:00:29 +02:00
Andrew Tridgell a2c1caacf5 Revert "added support for AP_ADC MAVLink packet"
This reverts commit a65a2dda2c1bfa95437880227a3abddc95b329f5.

I am reverting this not for any sane reason, but because my 3 APM
boards now lock up on any I2C operation, and I don't know why. I can't
see how this change could have caused it, but I don't want to take the
chance.
2011-09-10 23:29:16 +10:00
Andrew Tridgell 95af8dc172 mavlink: import new version with AP_ADC packet
this adds the AP_ADC packet which gives us raw ADC values
2011-09-10 14:17:45 +02:00
Amilcar Lucas f4998c3673 Moved a function from radio.pde to the RC_Channel_aux library. Now its more readable and reusable 2011-09-10 13:26:29 +02:00
Amilcar Lucas b3d4bb1478 Again remove some more files from the APM_Camera branch 2011-09-10 12:51:48 +02:00
Andrew Tridgell 0b9dbf4645 mavlink: import new version with AP_ADC packet
this adds the AP_ADC packet which gives us raw ADC values
2011-09-10 19:06:46 +10:00
Amilcar Lucas a8e68040f5 These files are not meant to be in master, they should only be in the APM_Camera branch for now 2011-09-09 16:37:42 +02:00
Amilcar Lucas b7a0d8836a This is the real HEAD of the APM_Camera branch. Seams that lots of changes got lost in the SVN to GIT port 2011-09-09 16:18:38 +02:00
Amilcar Lucas f40c85a601 This is the real HEAD of the APM_Camera branch. Seams that lots of changes got lost in the SVN to GIT port 2011-09-09 16:02:22 +02:00
jasonshort e05de48e2d Adding reverse to Channel Raw output (unscaled output) to fix camera reversing.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3297 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-09-08 04:58:42 +00:00
joeholdsworth@gmail.com 6dbfd78197 updated make file for cygwin compatibility
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3277 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-09-05 17:15:01 +00:00