Andrew Tridgell
0399aa9480
AHRS: update for new _fly_forward flag
2012-06-27 16:01:49 +10:00
Andrew Tridgell
2600afe18a
AHRS: implement Bills new drift correction algorithm
...
this is an initial implementation of this paper:
http://gentlenav.googlecode.com/files/RollPitchDriftCompensation.pdf
2012-06-27 16:01:49 +10:00
Andrew Tridgell
5316a45c20
AHRS: added GPS support to AHRS test
2012-06-27 16:01:49 +10:00
Andrew Tridgell
19954f30e5
GPS: added velocity and acceleration components
...
used by AHRS for acceleration correction
2012-06-27 16:01:49 +10:00
Andrew Tridgell
2b352d2b5c
Math: added comment
2012-06-27 16:01:49 +10:00
Andrew Tridgell
f23cebc808
Math: moved more template functions to the .cpp files
...
save a bit more code space for larger functions
2012-06-27 16:01:49 +10:00
rmackay9
c034e38cbd
ArduCopter HIL: changed calls to setHIL to send in time as a uint32_t (it was a float)
2012-06-26 22:50:17 +09:00
Jason Short
abb6eb2471
Added a crude Lead Filter. Needs some fine tuning, lag specification, scaling. Works great on 4hz GPS such as Mtek.
2012-06-21 11:14:20 -07:00
Amilcar Lucas
cd0411ba33
Add linebreaks to increase readability.
2012-06-21 00:36:10 +02:00
Amilcar Lucas
be6923be0f
Improve parameters descriptive text
2012-06-21 00:20:37 +02:00
Amilcar Lucas
1ead5f1690
Documentation improvements, no functional changes (only comments)
2012-06-17 22:53:54 +02:00
Amilcar Lucas
8f646467e5
Move local temp variables to the stack it saves 1952 bytes
...
Add function comments
Only use _ on class member variables
Only point to a 3D GPS point if GPS has a fix
Implement MAV_MOUNT_MODE_MAVLINK_TARGETING
2012-06-17 22:25:51 +02:00
Wingspinner
d9e6a1ece9
Added support for channel curves (and expo) to AP_RC_Channel class. Also updated AP_RC_Channel example/test to demonstrate and test new functionality
2012-06-15 08:40:14 +00:00
Wingspinner
ceba24ff8f
Added support for channel curves (and expo) to AP_RC_Channel class. Also updated AP_RC_Channel example/test to demonstrate and test new functionality
2012-06-15 08:38:52 +00:00
Andrew Tridgell
b32726e867
GPS: need pgmspace.h for _write_progstr_block()
2012-06-15 16:27:11 +10:00
Andrew Tridgell
ae9883a8e2
GPS: fixed auto-config of UBlox setup with no UBX messages
...
if a UBlox is configured for NMEA only, with no UBX messages at all
then it would never trigger the GPS_AUTO detection. This adds a UBX
config message to the init strings that enables the NAV_SOL message
2012-06-15 15:53:27 +10:00
Andrew Tridgell
b7e807cd58
FastSerial: added tx_pending() method
...
this allows the caller to wait for the tx buffer to drain
2012-06-15 15:53:27 +10:00
Amilcar Lucas
a12cb8fd9a
Added camera trigger functionality
2012-06-13 21:00:20 +02:00
Amilcar Lucas
f7ef60565e
Add "3 axis camera stabilization" and "point camera to 3D point" functionality
...
Patch by Gregory Fletcher and reviewed by me
2012-06-13 20:55:19 +02:00
Amilcar Lucas
e9226d6f0a
Spellcheck
2012-06-13 20:44:35 +02:00
rmackay9
fca914b7cf
AP_GPS_NMEA: fix from Roberto Navoni to improve NMEA accuracy
2012-06-12 20:27:50 +09:00
Andrew Tridgell
f9c5b135bc
GPS: use the new nav_setting in a couple of the sample sketches
2012-06-10 16:35:13 +10:00
Andrew Tridgell
0542539fc9
GPS: add stub settings for nav_setting in the other GPS drivers
...
only Ublox supports nav_setting so far
2012-06-10 16:34:53 +10:00
Andrew Tridgell
926dfbc0e9
GPS: added auto-configuration of UBlox GPS
...
the Ublox will now auto-configure for 5Hz with just the messages we
want. It also supports setting the navigation engine type
2012-06-10 16:34:13 +10:00
Andrew Tridgell
04a71197f9
FastSerial: avoid buffer re-allocation on re-open if possible
...
we commonly re-open serial ports a lot in the AUTO GPS driver
2012-06-09 07:43:22 +10:00
Andrew Tridgell
f347572fc2
SITL: map() is a C++ function, so needs to be in C++ part of the header
...
this fixes the ACM build
2012-06-08 17:09:23 +10:00
Andrew Tridgell
9adaacedcd
GPS: added debug code to the main GPS class
2012-06-08 16:42:03 +10:00
Andrew Tridgell
f4718cafad
GPS: re-open the serial port with a 256 byte serial receive buffer
...
this ensures all GPS parsers have a 256 byte buffer available
2012-06-08 16:42:03 +10:00
Andrew Tridgell
ddebf7b443
GPS: fixed the UBLOX parser to handle unknown messages
...
the parser was broken in several ways:
1) when it received an unknown message it didn't update the ck_a and ck_b fields, so it
thought the message had a bad checksum, which meant it got out of protocol sync
2) the read() method would return false if the last message from the GPS was of an unknown type.
So we relied on the last msg always being one that we understand and want
3) the parser considered any valid UBLOX message to be 'new data', whereas we only actually get
a new fix when we get box a new position and velned message
4) the total message size per update is more than 128 bytes, but the serial port was opened
with only a 128 byte buffer, so we got corruption regularly
2012-06-08 16:42:02 +10:00
Andrew Tridgell
148e59a4de
GPS: tidy up the auto gps test
2012-06-08 16:42:02 +10:00
Robert Lefebvre
f7be9a4b5d
TradHeli adding ramp up time to Ch8 Throttle Pass-through.
2012-06-07 22:55:47 -04:00
Robert Lefebvre
0c8078c436
AP_MotorsHeli Syntax correction.
2012-06-04 15:53:07 -04:00
Andrew Tridgell
43fe5bab78
re-enable the AP_Mount build
2012-06-04 19:32:11 +10:00
Andrew Tridgell
b4fbda7a28
GPS: fixed a race condition in the ublox driver
...
the status update comes as a separate message from the lat/lon
2012-06-04 14:47:58 +10:00
Andrew Tridgell
a6c1a86c23
mavlink: fixed build with uart resend
2012-06-04 13:45:55 +10:00
Andrew Tridgell
1ad17bc78c
MAVLink: updates to mavlink headers to fix mavlink 1.0 issues
2012-06-04 13:34:07 +10:00
Andrew Tridgell
4f7a80a04d
Mavlink: fixed library build for MAVLink 1.0
2012-06-04 13:14:52 +10:00
Andrew Tridgell
34234b7003
SITL: fixed SITL build with mavlink10
2012-06-04 13:14:52 +10:00
Andrew Tridgell
7602f698eb
mavlink10: fixed MAV_VAR -> MAVLINK_TYPE
2012-06-04 13:14:51 +10:00
Andrew Tridgell
2c3bfd896a
MAVLink: updated to latest upstream mavlink
...
this includes no significant changes
2012-06-04 13:14:51 +10:00
Jason Short
1ebfb8fe25
GPS time set to unsigned int32
2012-06-03 11:13:50 -07:00
rmackay9
bad6591e6d
AP_Baro: fixed comment to clarify that every-other call updates temperature or pressure
2012-06-03 17:31:17 +09:00
rmackay9
8f8e91a620
ArduCopter: Another attempt at fixing the lat/lon printing bug in which small negative lattitudes or longitudes were appearing as positives.
...
Fixed in both ArduCopter Log.pde and the GPS Auto test sketch
2012-06-03 16:58:19 +09:00
rmackay9
080c5184d5
ArduCopter Desktop Build: added definition of "map" to wiring.h and included WMath.cpp to fix SITL build failures.
...
All real work on this issue done by Michael Oborne.
2012-06-02 17:46:00 +09:00
rmackay9
8f3169a200
AP_MotorsHeli: Added reference to "Arduino.h" to allow autotest builder to work.
...
Moved around initialisation of parmeters in AP_MotorHeli object to remove compiler warnings.
2012-06-02 16:13:23 +09:00
rmackay9
3246f2bad3
RC_Channel library: change all "int" types to "int16_t".
...
Fixes SITL compile error due to type mismatch of set_pwm between .h and .cpp file (this only occurs because on the SITL, "int" is actually "int32_t"
2012-06-02 14:20:58 +09:00
rmackay9
37e4637c13
RC_Channel.pde: fixed compile errors so that it actually works!
2012-06-02 14:00:44 +09:00
rmackay9
df3fb5c041
ArduCopter: fixed print_latlon bug in which it would print negative lat/lon numbers incorrectly (i.e. -1234567890 would be printed as -124.xxx).
2012-06-02 12:51:12 +09:00
Jason Short
477aa6e47a
RC_Channel fix for throttle output.
...
throttle was outputting incorrectly and allowing the user to max out the throttle leaving nothing for attitude control
2012-05-31 14:59:03 -07:00
Jason Short
7ee38df5a2
Issue 416: RC_Channel – Fix to make dead_zones still output 0
2012-05-31 12:05:47 -07:00
Jason Short
2cc9fde3c9
removed never used filter, and fixed a constrain that could make range calcs go bad
2012-05-31 11:45:07 -07:00
Jason Short
00cabc6343
Channel rage fix - low output was always 0 vs _low
2012-05-31 11:31:48 -07:00
Robert Lefebvre
bafb478924
TradHeli: Incorporating Ext ESC Control
2012-05-30 21:50:25 -04:00
Robert Lefebvre
ffc04b7305
Fix TradHeli Collective Yaw Effect bug.
2012-05-25 15:25:21 -04:00
Andrew Tridgell
734dcebb2a
SITL: fixed ChipErase()
...
the loop never completed
2012-05-23 21:15:45 +10:00
Andrew Tridgell
5e0d937e50
SITL: fixed build with new ChipErase() call
2012-05-23 17:33:33 +10:00
Andrew Tridgell
c2fb8a7a98
DataFlash: use ChipErase() instead of PageErase() on all pages
...
This makes the DataFlash erase much faster (about 6 seconds instead of
about 60 seconds).
We need to test and ensure the behaviour is equivalent apart from the
speed
2012-05-22 19:29:02 -07:00
Andrew Tridgell
8f27297896
DCM: fixed a bug when using GPS for yaw correction
...
When using GPS for yaw correction we need to apply the x and y omegaI
corrections from the _omega_I_sum in the period before we get to the
minimum ground speed for GPS yaw correction. Otherwise we get a large
sudden omega_I change on takeoff.
2012-05-21 12:15:06 +10:00
Andrew Tridgell
37f652e19b
AP_Common: fixed some duplicate product ID warnings
2012-05-17 23:37:32 +10:00
rmackay9
eaeaa3811a
ArduCopter: bug fix for reversing tri servo
...
Extended AP_MotorsTri class to take in pointer to rc_tail servo (rc_7) and we use this servo's REV parameter to determine whether to reverse the output to the tail servo or not
2012-05-13 12:36:46 +09:00
Craig Elder
fe742f1c23
IMU: expose IMU_PRODUCT_ID as EEPROM Variable
...
this will allow us to log the Product ID in tlogs
2012-05-09 18:30:36 -07:00
Craig Elder
c323a71933
AP_InertialSensor: Return product ID from sensor initialization
...
this exposes the product ID to the IMU Layer
2012-05-09 18:30:36 -07:00
Craig Elder
a22b15adf1
PRODUCT: Define product IDs for all supported products
2012-05-09 18:30:36 -07:00
Craig Elder
b824a87b90
MPU6000: Fixed Scaling on Accelerometers Rev C vs Rev D
...
Rev C have non standard scaling factor that is 1/2 of the data sheet
Rev D chips conform to the specification
2012-05-09 18:30:35 -07:00
Chris Anderson
46614e9acd
fixed typo ("minimum" should have been "maximum")
2012-05-06 15:50:19 -07:00
Andrew Tridgell
76a3fd9a4e
MPU6k: added suspend/resume on init
2012-05-01 12:06:54 +10:00
Andrew Tridgell
ae1702c20b
Baro: added suspend/resume on init
2012-05-01 12:06:54 +10:00
Andrew Tridgell
3115d48ba1
ADC: added suspend/resume on init
2012-05-01 12:06:54 +10:00
Andrew Tridgell
57ac39649a
TimerProcess: added suspend_timer()/resume_timer()
...
this will be used to avoid races in driver initialisation
2012-05-01 12:06:54 +10:00
rmackay9
3b2d203f0f
AP_AHRS: updated default AHRS_YAW_P to 0.2 (was 0.4)
...
This reduces the compass's default authority over the yaw direction by half
2012-04-30 17:29:45 +09:00
Andrew Tridgell
8f2cecae4d
MAVLink: re-generated with new pygen
...
this moves the enums to make them less order sensitive
2012-04-30 12:27:30 +10:00
Adam M Rivera
292f9699fa
Parameters.pde/AP_MotorsHeli: Updated comments to leverage the new value aliases
2012-04-28 20:50:41 -05:00
Andrew Tridgell
3177f57d48
build: cope with Arduino 1.0 in command line build
...
this should autodetect 1.0 versus older builds
2012-04-27 15:38:42 +10:00
Adam M Rivera
21886104a6
Parameters.pde/AP_MotorsHeli.cpp: Added comments from Roberts clone.
2012-04-26 18:26:14 -05:00
Adam M Rivera
b1f19dbb01
AP_AHRS_DCM.cpp: Added comments that follow the new parse structure
2012-04-25 12:00:42 -05:00
Andrew Tridgell
532ac607b2
sitl: support MAVLink 1.0 builds
2012-04-24 22:24:58 +10:00
Andrew Tridgell
fef4134702
MAVLink: removed the cpp part of the library
...
this was preventing building MAVLink 1.0 with the arduino GUI as we
can't set cpp defines
2012-04-24 22:24:58 +10:00
Andrew Tridgell
9bf8d60dae
MAVLink: one more define for MAVLink 1.0 compat
2012-04-24 19:54:20 +10:00
Andrew Tridgell
fd9d2f856e
MAVLink: re-add the XML message definitions
...
these are a very useful reference for the current headers in the code
2012-04-24 10:57:43 +10:00
Andrew Tridgell
a54cd57568
MAVLink: imported new mavlink header updates
...
this fixes the camera control code which was broken by a previous
import
2012-04-24 10:57:43 +10:00
Andrew Tridgell
bff8fc8947
APM_RC: added OutputCh_current() method
...
this allows logging of the actual servo output values. The radio_out
method previously used doesn't take account of the various override
mechanisms available via waypoints
2012-04-24 10:57:43 +10:00
Andrew Tridgell
6d837891b0
DCM: buffer omega_I changes over 10 seconds
...
this buffers up _omega_I changes in _omega_I_sum over a period of 10
seconds, applying the slope limit only when _omega_I_sum is
transferred to _omega_I.
The result is a huge improvement in the ability of _omega_I to track
gyro drift over the long term.
2012-04-23 12:13:25 +10:00
Andrew Tridgell
398a608b83
DCM: drop the 'drop z' method
...
the 'drop z' method reduced the impact of noise on omegaI, but it also
made us more sensitive to errors in accelerometer calibration and
scaling, as demonstated by the logs from Gabor here:
http://diydrones.com/xn/detail/705844:Comment:834373
Simulation testing shows that the other noise suppression methods
applied in the DCM code, in particular the slope limiting on omegaI
the removal of the weighting and the upcoming use of a _omega_I_sum
buffer have reduced the impact of noise enough that we can now safely
include z in the acceleration calculation.
2012-04-23 12:13:24 +10:00
rmackay9
c62ce95768
AP_Motors - allow tail servo to be reversed. Closes ArduCopter issue #228
2012-04-21 23:07:57 +09:00
rmackay9
346ca5c865
DataFlash_APM2 - moved CS_inactive call (which disables the dataflash) from the beginning to the end of all methods. This means the dataflash does not monopolize the SPI bus.
...
Also formatting changes to use tab instead of space. Sorry, should have done this as a separate check-in to the above changes.
2012-04-21 20:14:45 +09:00
rmackay9
577f18a09c
AP_OpticalFlow - updated test sketch to allow testing of APM2 version
2012-04-21 20:11:18 +09:00
rmackay9
e9fd7c955d
AP_OpticalFlow - added support for optical flow for APM2
2012-04-21 20:10:35 +09:00
rmackay9
026cd4e64f
AP_OpticalFlow - moved most pin definitions into .cpp file
2012-04-21 20:09:15 +09:00
James Goppert
750c30afc1
MAVLink update to 1.0.7
2012-04-20 12:31:50 -04:00
Andrew Tridgell
4652b30adf
GPS: u-center config file for 3DR Ublox
2012-04-20 22:05:30 +10:00
Andrew Tridgell
0b194259be
GPS: fixed auto GPS test
2012-04-20 22:05:30 +10:00
Andrew Tridgell
3141cfe059
GPS: detect new style 3DR UBlox
2012-04-20 22:05:30 +10:00
Andrew Tridgell
64d5f4c26a
GPS: fixed the UBlox test code
2012-04-20 20:57:08 +10:00
James Goppert
b5ca40e8c5
Updated MAVLink to 1.0.6 release.
2012-04-19 15:46:29 -04:00
Adam M Rivera
2c8cd0b07b
AP_AHRS_HIL.h: Fixed HIL build by adding missing public property.
2012-04-16 10:26:14 -05:00
Andrew Tridgell
a9de75156b
AHRS: added AHRS_YAW_P parameter
...
this allows users to change the yaw gain in DCM
2012-04-16 20:55:13 +10:00
analoguedevices
ce5d71c08c
added missing #include
2012-04-09 14:32:54 +00:00
rmackay9
4dac4c4c11
AP_AHRS - changed parameter order to remove compiler warning
2012-04-09 17:37:11 +09:00
rmackay9
cc191b86c0
AP_Compass - changed parameter initialisation order to remove compiler warning
2012-04-09 17:37:02 +09:00
Andrew Tridgell
7921d33c40
MAVLink: imported new mavlink headers
...
this adds local and remote radio noise levels
2012-04-08 12:22:17 +10:00