Commit Graph

916 Commits

Author SHA1 Message Date
Andrew Tridgell e2c6dc68a2 desktop: added Makefile.desktop 2011-10-11 20:53:43 +11:00
Andrew Tridgell 93d09039ce desktop: fixed a warning 2011-10-11 20:53:43 +11:00
Andrew Tridgell 99f0e92531 desktop: silence an implicit cast warning 2011-10-11 20:53:43 +11:00
Andrew Tridgell 3633d846f6 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 6f44415b19 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 74a85a1f3e update README with build and usage information 2011-10-11 17:49:40 +11:00
Andrew Tridgell 52dc221969 support building with common Makefile.desktop 2011-10-11 17:49:40 +11:00
Michael Oborne ec7fa70fd6 Merge branch 'master' of https://code.google.com/p/ardupilot-mega 2011-10-11 08:05:14 +08:00
Andrew Tridgell ed2bec75b9 added build makefiles 2011-10-10 07:18:38 +11:00
James Goppert d47e43e0c4 APO GPS bug fix. 2011-10-09 15:57:29 -04:00
James Goppert 5c16a380c0 Fixed APO bug. 2011-10-09 11:46:56 -04:00
Andrew Tridgell 67630d42e7 opticalflow: use the right path for SPI.h 2011-10-09 22:40:00 +11:00
Andrew Tridgell 6899189395 added a README 2011-10-09 22:16:14 +11:00
Andrew Tridgell ab755ab11f use ifdef for DESKTOP_BUILD 2011-10-09 22:16:14 +11:00
Andrew Tridgell 95475c6221 use nanosleep() instead of usleep() 2011-10-09 22:16:14 +11:00
Andrew Tridgell 41d734846e fixed millis() and micros() 2011-10-09 22:16:14 +11:00
Andrew Tridgell 320d4a330b desktop: use a bit less CPU 2011-10-09 22:16:13 +11:00
Andrew Tridgell ea2823cd5f desktop: use non-blocking IO 2011-10-09 22:16:13 +11:00
Andrew Tridgell e3fd61d758 desktop: expand eeprom to 4k initial size 2011-10-09 22:16:13 +11:00
Andrew Tridgell dfef42ff48 desktop: flush all serial writes 2011-10-09 22:16:13 +11:00
Andrew Tridgell 4109374959 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 e177800116 fixed PROGMEM declaration for desktop build 2011-10-09 22:16:13 +11:00
Andrew Tridgell e6e9334e4c memcheck: allow memcheck to build on desktop systems 2011-10-09 22:16:12 +11:00
Andrew Tridgell a3e6f5d51f 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 cb8f8ec083 fastserial: allow vprintf() to build without assembler 2011-10-09 22:08:59 +11:00
Andrew Tridgell 88668dd2d1 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 298cc51118 modefilter: fixed type to be consistent with declaration 2011-10-09 22:08:59 +11:00
Andrew Tridgell f39deb3589 GPS: fixed type to be consistent with declaration 2011-10-09 22:08:59 +11:00
Andrew Tridgell 09bd94cd6d eeprom: fixed types to be consistent with declarations 2011-10-09 22:08:59 +11:00
James Goppert 6689a99a66 Updated APO, HIL working well, live mode ready to test 2011-10-06 19:17:49 -04:00
James Goppert a02ce5aed7 Reducing copy ctor calls in apo. 2011-10-06 12:00:45 -04:00
James Goppert f988623dab Merge branch 'master' of https://code.google.com/p/ardupilot-mega 2011-10-03 13:22:59 -04:00
James Goppert 684599cd21 Cleanup of AP_RcChannel, removed scaled class. 2011-10-03 13:22:23 -04:00
Amilcar Lucas a751208f9f 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 c678452fe1 Added AP_RcChannel_Scaled to APO 2011-10-03 12:42:27 -04:00
Amilcar Lucas c59c0c2502 Spellcheck apo library 2011-10-03 12:50:41 +02:00
amilcar 85588cb02e Fix serial port on windows 2011-10-03 12:10:27 +02:00
amilcar c6722112e7 Make it work on windows "out-of-the-box" 2011-10-03 12:08:19 +02:00
James Goppert 286dd7c949 Removed extra waypoint loading. 2011-10-02 23:32:12 -04:00
John Arne Birkeland 8464093c18 APM_RC: Cosmetic changes to increase readability and some minor optimizations 2011-10-02 18:05:00 +02:00
Amilcar Lucas c46fe580c2 Implement relay get() 2011-10-02 02:28:40 +02:00
Amilcar Lucas 4b35757a1e Moved relay control functions to it's own library 2011-10-02 01:00:27 +02:00
Jason Short eba281e3de Merge branch 'master' of https://code.google.com/p/ardupilot-mega 2011-10-01 15:55:31 -07:00
Jason Short 945a7c13a7 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 fcbbc89251 Added a comment to the BOARD type of teh make configure output file 2011-10-02 00:04:21 +02:00
Amilcar Lucas d327bdde80 Fix Arduino version detection on some systems 2011-10-02 00:03:57 +02:00
rmackay9 e5c473637f Merge remote-tracking branch 'origin/master' 2011-10-01 21:56:29 +09:00
rmackay9 1ff58aaa81 AP_Optflow - small fix to lat/lon calculation and made example sketch work again 2011-10-01 21:51:14 +09:00
Jason Short cf59e8ad82 Merge branch 'master' of https://code.google.com/p/ardupilot-mega 2011-09-30 18:40:40 -07:00
Jason Short 9a4bd31a8b 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 ac3e73f5c0 Optional recursion added. 2011-09-30 17:17:51 -04:00
James Goppert 10fec5e534 Updated cmake. 2011-09-30 16:55:27 -04:00
Jason Short 4c30b544dc Merge branch 'master' of https://code.google.com/p/ardupilot-mega 2011-09-29 23:27:36 -07:00
Jason Short df1a39f650 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 7b08185d83 Optimized PI loop 2011-09-29 22:37:56 -07:00
James Goppert 9a2da8f22f Arduino version directory updated to lib/version.txt
Also updated cmake files.
2011-09-29 22:10:26 -04:00
James Goppert 112d5e9531 Improvements to cmake. 2011-09-29 21:23:26 -04:00
James Goppert 126508514a Added cmake files. 2011-09-29 14:16:36 -04:00
James Goppert 3a00ceb593 Added ArduBoat/ ArduRover/ and APO library. 2011-09-29 14:12:15 -04:00
Jason Short e384390ec0 Merge branch 'master' of https://code.google.com/p/ardupilot-mega 2011-09-26 22:12:52 -07:00
Jason Short 1243e76f29 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 af105c6967 fix quotes and indentation 2011-09-27 04:40:00 +02:00
James Goppert f7a307e349 Added override for mega upload protocol. 2011-09-26 20:29:09 -04:00
Amilcar Lucas a3152b2410 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 90a3a5b1e5 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 39cefe9554 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 13e83aed2f changed PI to float 2011-09-19 14:41:32 -07:00
Jason Short 3b4743ef03 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 cc4bae4b42 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 e40fe2293b 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 c9d9ee0d3b Merge some small misc improvements from APM_Camera branch 2011-09-17 20:25:31 +02:00
Andrew Tridgell f1974cac21 fixed ArduCopter HIL build 2011-09-17 14:58:02 +10:00
Andrew Tridgell a13c68a404 fixed build of OpticalFlow code 2011-09-17 14:58:02 +10:00
Andrew Tridgell a828d00125 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 465c10a31f 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 1b5c7e8a90 ADC: show timing information in ADC test 2011-09-17 14:58:02 +10:00
Andrew Tridgell 4a7c9c406f show noise levels in ADC test 2011-09-17 14:58:02 +10:00
Andrew Tridgell 2ae78e197e 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 812cd3562f updated ADC test for new API 2011-09-17 14:58:02 +10:00
Andrew Tridgell 1c5e8f0381 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 55bcb8a1c0 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 d96fbf8acf 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 bb35fdec10 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 8a31af801f 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 1b1f955b86 GPS: change example serial rate to 115200
this matches default for AP/AC
2011-09-17 14:58:02 +10:00
Andrew Tridgell 89f664e3b0 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 5d61e9289c 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 1f52ad27d9 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 867e01cab5 Merge branch 'master' of https://code.google.com/p/ardupilot-mega 2011-09-16 18:35:14 -07:00
Jason Short 9a508a20f4 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 45c4872e6d 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 f79d4caeff 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 7bb800aafc Merge branch 'master' of https://code.google.com/p/ardupilot-mega/ 2011-09-14 16:02:21 +02:00
unknown 9f028bb5a0 Adding CMake support 2011-09-14 15:44:55 +02:00
Amilcar Lucas c58b563584 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 ef955eace4 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 dd843d18ec 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 bca934b538 Merge branch 'master' of https://code.google.com/p/ardupilot-mega 2011-09-12 12:57:56 -07:00
Jason Short 4a2f58b013 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 e84a422bd4 GNU sed wants -r, Darwin/BSD sed wants -E. 2011-09-12 18:43:31 +00:00
Amilcar Lucas f7f745055d Use the G_RC_AUX macro when possible. Added more comments. Remove unused code 2011-09-12 20:21:12 +02:00
Mike Smith ae77029c98 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 7e3983210c 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 b8832fe9ab Use G_RC_AUX macro to simplify accessing the auxiliary servos 2011-09-12 00:02:47 +02:00
Amilcar Lucas 69a9f44fee This is ugly, but it fixes compilation on arduino 2011-09-11 23:25:06 +02:00
Amilcar Lucas 5a27954e26 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 e8fcf72966 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 966f9f962a 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 7544b9abd3 Make the switch case complete 2011-09-11 18:32:24 +02:00
Amilcar Lucas 59bd4d731a Fix RC range reversal 2011-09-11 04:12:46 +02:00
Amilcar Lucas a0dc3b552e I do not understand this, but it looks like it needs int8 here 2011-09-11 02:41:48 +02:00
Amilcar Lucas 5bf21d5159 Fix manual values mapping 2011-09-11 02:36:39 +02:00
Amilcar Lucas a78de771d4 Moved enum values around to make code simpler to read and use 2011-09-11 02:34:47 +02:00
Amilcar Lucas 93e13ace97 Added comments and TODO 2011-09-10 23:57:27 +02:00
Andrew Tridgell 6d059b8eba 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 4c8bbb23f4 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 bf7d62e788 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 b977007bdf 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 cba78a29ab Again remove some more files from the APM_Camera branch 2011-09-10 12:51:48 +02:00
Andrew Tridgell 7a0f19d49d 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 a540f60cc8 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 9e80f2e920 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 581603c3b7 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 3b80bc8c58 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 7977cddc13 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
tridge60@gmail.com f61aa4d68c updated XML MAVLink definitions
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3272 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-09-05 06:19:39 +00:00
jasonshort 2e3ae1a30e Changed bit shifts to division, relying on the compiler.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3265 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-09-05 04:32:17 +00:00
tridge60@gmail.com fc0c75963b renamed ACM_PI to APM_PI to fix build
the library name needs to match the header name for the arduino build
to work

git-svn-id: https://arducopter.googlecode.com/svn/trunk@3254 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-09-05 01:15:24 +00:00
jasonshort 2ebcc08b06 Adding ACM_PI
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3253 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-09-05 00:56:50 +00:00
tridge60@gmail.com f2ea0b4fd8 BetterSerial has txspace() now
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3248 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-09-04 22:52:22 +00:00
tridge60@gmail.com 6cfb9a9c2b replace space() with txspace()
space() was actually intended to be tx buffer space, it just had a
bug. The name txspace() is clearer however, and should prevent
confusion as to which buffer its for

git-svn-id: https://arducopter.googlecode.com/svn/trunk@3247 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-09-04 22:52:11 +00:00
tridge60@gmail.com 2dde50366f added comm_get_txspace() to GCS_MAVLink
this gives us the number of bytes available in the transmit buffer for
a mavlink channel

git-svn-id: https://arducopter.googlecode.com/svn/trunk@3246 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-09-04 21:23:24 +00:00
tridge60@gmail.com 85a8d1b5c5 added txspace() method to FastSerial
this returns the number of bytes available in the transmit buffer

git-svn-id: https://arducopter.googlecode.com/svn/trunk@3245 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-09-04 21:23:15 +00:00
tridge60@gmail.com e7b71b3cb6 fixed spelling
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3244 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-09-04 21:23:06 +00:00
jasonshort 58e9a913a1 Added two filters to the RawTemp and RawPress values to increase accuracy from noisy temp sensor.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3242 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-09-04 17:47:50 +00:00
jasonshort 5f8ac1d269 Reverted to older PID. Restored the older filter, and removed PI command. I am no longer using PID for the quad and have switched to PIPI loops which perform much better. The D term in this class is not that great.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3241 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-09-04 17:47:07 +00:00
tridge60@gmail.com b8538ed5fb shrink the size of mavlink_message_t using max dialect message size
this makes mavlink_message_t much smaller, but setting
MAVLINK_MAX_PAYLOAD_LEN to the maximum message size in this
dialect. This saves us 320 bytes of memory

git-svn-id: https://arducopter.googlecode.com/svn/trunk@3239 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-09-04 08:51:51 +00:00
tridge60@gmail.com d5821bb54f import new mavlink version
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3238 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-09-04 08:50:24 +00:00
rmackay9@yahoo.com ada9c36e0c AP_RangeFinder - removed LV version because we use XL which covers both types of sonars
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3237 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-09-04 06:55:58 +00:00
tridge60@gmail.com a2589c3573 AP_Var: added EEPROM wear levelling
This adds a variable length dummy variable at the front of the EEPROM
when we erase it, which has the effect of moving the location of any
hot variables within the EEPROM. This should improve EEPROM
life. Thanks to Mike for the implementation.

Pair-Programmed-With: Mike Smith

git-svn-id: https://arducopter.googlecode.com/svn/trunk@3234 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-09-04 06:39:57 +00:00
tridge60@gmail.com 3255503032 AP_Var: avoid wearing out EEPROM by re-writing the same value
when saving a variable, this avoids EEPROM wear by checking if the
existing value is already the same as the value being written, and
avoiding the write.

Thanks to Mike Smith for the implementation

git-svn-id: https://arducopter.googlecode.com/svn/trunk@3233 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-09-04 06:39:49 +00:00
tridge60@gmail.com cb4c53eddd AP_Var: fixed a logic bug in APVar::key()
We were using && instead of & for a bit check. Thanks to Mike for
spotting this!

Pair-Programmed-With: Mike Smith

git-svn-id: https://arducopter.googlecode.com/svn/trunk@3232 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-09-04 06:39:40 +00:00
tridge60@gmail.com 442e7ddc49 AP_Var: fill all of EEPROM with 0xFF on erase_all()
This wipes all parameter values, and also clears out any waypoints as
the waypoint format could have changed between firmware revisions.

This also ensures that the AP_Var code can't re-use any key values
from the old EEPROM state, which makes us less dependent on the old
EEPROM being in a good state

Pair-Programmed-With: Mike Smith

git-svn-id: https://arducopter.googlecode.com/svn/trunk@3231 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-09-04 06:39:28 +00:00
tridge60@gmail.com 7ac3544573 dataflash: fixed some compiler warnings
tmp is not needed

Pair-Programmed-With: Mike Smith

git-svn-id: https://arducopter.googlecode.com/svn/trunk@3230 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-09-04 06:39:14 +00:00
hazyhxj@gmail.com 2cbb662e1f Fix NMEA GPS error
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3227 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-09-04 05:14:42 +00:00
mich146@hotmail.com 86bc84c259 update "NO_GPS" issue as per Justin Beech
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3225 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-09-04 04:46:14 +00:00
tridge60@gmail.com 5cac97ca8d added memcheck library
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3206 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-09-01 00:50:31 +00:00
tridge60@gmail.com bba6b90104 mavlink: imported new version with MEMINFO message
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3205 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-09-01 00:50:13 +00:00
tridge60@gmail.com ca8141cfb6 imported new MAVLink implementation
this new implementation reduces code size, and also reduces stack
usage, while avoiding the gcc union stack bug

Note that we will gain even more when we move to the new protocol
version, especially in terms of code size

git-svn-id: https://arducopter.googlecode.com/svn/trunk@3200 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-08-31 05:23:18 +00:00
james.goppert 9f7631dc0f Fixed debug command.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3196 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-08-30 17:33:51 +00:00