Commit Graph

847 Commits

Author SHA1 Message Date
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