Andrew Tridgell
b0e403e6fb
AP_Baro: the DerivativeFilter now handles duplicate data
...
this saves a few bytes of memory
2012-08-08 12:07:36 +10:00
Andrew Tridgell
fb90d16092
Filter: make the DerivativeFilter test GNUPlot friendly
...
makes testing easier
2012-08-08 12:07:36 +10:00
Andrew Tridgell
2de06df08d
Filter: automatically cope with duplicate timestamps
...
this makes it easier for callers to avoid excessive slope calculations
Thanks to Jon Challinger for the idea
2012-08-08 12:07:35 +10:00
Andrew Tridgell
c9a56e2223
Filter: fixed a off-by-one DerivativeFilter bug
...
many thanks to Jon Challinger for noticing this!
2012-08-08 12:07:35 +10:00
Amilcar Lucas
fbc25e4baa
AP_Mount: move mount to a "retracted position" into the fuselage with a fourth servo
2012-08-06 01:27:29 +02:00
Amilcar Lucas
36bcd827b4
AP_Mount: Allow using any RC channel to control any of the mount axes.
...
This has the added benefit of saving 60 bytes and simplifying Mission Planner gui.
Moved some code from RC_Channel_aux to AP_Mount class
The servos get written by the update_mount_position() function, this simplifies main()
PS: The beauty of using libraries: I did not have to touch a single line of ArduPlane's code!
2012-08-05 23:48:57 +02:00
Amilcar Lucas
fe4713b46e
RC_Channel: Allow each channel to know who they are, this simplifies the enabling and output function calls.
2012-08-05 23:08:31 +02:00
Amilcar Lucas
f3f89004e9
More work on ch9, 10 and 11
2012-08-04 19:44:41 +02:00
Amilcar Lucas
431ed1c9b9
More flexible RC support
2012-08-04 18:39:20 +02:00
Andreas M. Antonopoulos
1ea2cb7b75
AP_Limits: experimental "bounce" mode.
2012-07-31 18:39:58 -07:00
Robert Lefebvre
54b320a9a0
Fixing Trad Heli Ext ESC Controller
...
-Added ramp-down rate instead of instantly setting ramp to zero when throttle is dropped to bottom. This is to allow "warm-restart" if shutdown was unintentional.
-Actual ESC still goes to zero while throttle is dropped to the bottom, only the ramp counter winds down slowly behind the scenes.
2012-07-31 17:47:25 -04:00
rmackay9
23a1e33e20
AP_InertialSensor_MPU6000: another attempt at fixing the SITL build
2012-07-28 17:19:19 +09:00
rmackay9
06a4aaa763
AP_InertialSensor_MPU6000: changed DMP memory definition (dmpMem) to const uint8_t to remove SITL compile errors (hopefully)
...
Removed unused 'dump' variable from dmp_load_mem to reduce compiler warnings
2012-07-28 16:33:04 +09:00
rmackay9
9a558be53e
AP_AHRS_MPU6000: cleaning up compiler warning due to unused yaw_deltat variable
2012-07-28 16:23:25 +09:00
rmackay9
ea4e56309d
AP_InertialSensor_Oilpan: changed initialisation order of parameters to remove compiler warning
2012-07-28 15:22:37 +09:00
rmackay9
a49454e905
AP_AHRS: updated test sketch to allow use of MPU6000's DMP
2012-07-28 14:27:26 +09:00
rmackay9
0820ebddb9
AP_AHRS_MPU6000: first draft implementation of class that uses MPU6000's DMP to calculate attitude
2012-07-28 14:17:38 +09:00
rmackay9
5a9211c278
AP_AHRS: removed var_info from AP_AHRS class (moved to AP_AHRS_DCM)
2012-07-28 14:16:56 +09:00
rmackay9
c2b47d2bf9
AP_AHRS_DCM: moved var_info to belong to AP_AHRS_DCM instead of AP_AHRS
2012-07-28 14:16:15 +09:00
rmackay9
ae119b08b3
AP_IMU_INS: added gx(), gy() and gz() methods to return gyro offsets
2012-07-28 14:15:23 +09:00
rmackay9
dfea845c37
AP_InertialSensor: methods added to access DMP functionality
2012-07-28 14:14:43 +09:00
Andrew Tridgell
e0b6ed12be
MAVLink: rename the message_definitions directory
2012-07-26 10:03:36 +10:00
Andrew Tridgell
b4fc025151
MAVLink: removed MAVLink 0.9 message definitions
...
we are now 1.0 only
2012-07-26 10:03:36 +10:00
rmackay9
960c2f08af
AP_Mount: addition of Amilcar's mount_type
...
set_roi_cmd modified to take a Location. I know the intention was for set_roi_cmd to interpret the MAVLink command directly but unfortunately in arduCopter missions are only made up of waypoints (which are Locations).
2012-07-25 11:00:38 +09:00
Jonathan Challinger
21f0ed00b3
AHRS: normalise GA_b before computing error vector only if too large
...
When GA_b is small the direction of the vector is unreliable, so
normalising can exacerbate the error in the direction
2012-07-23 17:16:50 +10:00
Andrew Tridgell
99410cbbfe
AP_AnalogSource: fixed reporting of VCC
...
the VCC pin number should not be converted
2012-07-21 19:49:24 +10:00
Andrew Tridgell
5f5c884a6d
AHRS: if we don't have gps correction enabled, zero the yaw correction
2012-07-20 17:21:04 +10:00
Andrew Tridgell
4f41b876b1
AHRS: allow the gps/accelerometers to control yaw when rolled
...
this solves a problem with yaw estimation when at high roll angles,
when the compass code becomes ineffective
2012-07-20 11:50:04 +10:00
Andrew Tridgell
404803a734
MAVLink: imported updated generated mavlink C code
...
no functionality changes
2012-07-20 11:50:03 +10:00
Jason Short
25c3ed6c4b
Oilpan ADC parameters added
...
including a function that configures each Accel Axis
Defaults matching old behavior
Added param group
2012-07-18 22:57:11 -07:00
Jason Short
8a4a9a929e
Lead Filter: simplified calculation
2012-07-18 22:57:10 -07:00
Andrew Tridgell
f704408094
GPS-UBlox: removed duplicate config messages
...
these were left over from debugging
2012-07-19 15:23:15 +10:00
Amilcar Lucas
13fb2e6dc9
RC_Channel parameters: Fix a typo
2012-07-18 22:39:49 +02:00
Amilcar Lucas
dea5b88379
Support up to 7 aux servo outputs
2012-07-18 21:58:22 +02:00
rmackay9
a2e6af1f9c
AP_Mount: added set_manual_rc_channel and set_manual_rc_channel_function to allow input of pitch, roll and yaw controls from a regular RC_Channel (i.e. not RC_Channel_aux)
...
For now, angles red in are always of the range -45 deg ~ 45 deg which is consistent with the existing arducopter implementation but should be improved to scale the pilot's input to the mount's actual range.
2012-07-18 23:20:05 +09:00
Amilcar Lucas
8acc432084
Replace long with int32_t
2012-07-18 02:12:31 +02:00
Amilcar Lucas
f5c2ffca34
Use ascending order in the values
2012-07-18 02:11:49 +02:00
Amilcar Lucas
23f009f665
Improve parameter documentation, it still does not work, but is an improvement.
...
I just do not understand why these parameters do not appear in Mission planner :(
2012-07-17 23:32:30 +02:00
Michael Oborne
b97f9bb803
Airspeed Library - fix param names.
...
The Group definition give the start of the param name.
This way we can maintain multiple instances if required of the same library as options.
2012-07-16 21:48:47 +08:00
Andrew Tridgell
dfb22554aa
Airspeed: Added AP_Airspeed sensor library
...
this will allow an airspeed sensor object to be passed to AHRS for
dead reckoning
2012-07-16 11:21:20 +10:00
rmackay9
bec5321b8b
AP_MotorsMatrix: small bug fix to limit checking on remove_motor call. Fix thanks to Michael Peschel!
2012-07-16 00:38:58 +09:00
rmackay9
3b9a1d4305
RC_Channel_aux: added enable_out method to help stop servos from moving before the mount has initialised.
...
changed parameter names of "update_aux_servo_function" to make it more clear that any 4 servos can be passed in (not just servos 5~8).
Also allowed NULL servos to be passed in as parameters because we only need 3 in ArduCopter.
2012-07-15 16:28:53 +09:00
rmackay9
e83275d8ae
AP_Camera: changed "int" to "int16_t" and "long" to "int32_t" here and there.
2012-07-15 16:26:12 +09:00
Andreas M. Antonopoulos
31fd74d94c
AP_Limits library, provides modular "limits" such as altitude and geo-fencing.
2012-07-14 19:26:17 -07:00
Michael Oborne
804898c2a5
fix param config names
2012-07-14 15:34:15 +08:00
Robert Lefebvre
716ce6a5a7
Change to prevent Tricopter servos from going hard-over during Disarmed state.
...
Believe this was an oversight when the change to AP_Motors went in.
2012-07-13 23:12:26 -04:00
Robert Lefebvre
ab1212d8d2
Instituting Yaw Differential on Multirotors. Intent is to stop "rise on yaw input".
...
Since motors with increasing speed due to yaw input seem to generate more thrust that motors that slow lose thrust, thus net thrust goes up, causing copter to climb.
Values are a guesstimate, proven out by test flying. This could probably become a parameter.
2012-07-13 22:59:28 -04:00
Andreas M. Antonopoulos
9dfb3c4db9
Added Michael Pursifull's Maxsonar HRLV model support
2012-07-11 18:46:47 -07:00
rmackay9
d3426420ad
AP_Camera: moved seme constructor initialisers around to remove compile warnings
2012-07-12 09:33:22 +09:00
rmackay9
1105a35c77
AP_AnalogSource_Arduino: fix to allow analog port to be read to be specified as a "channel" (i.e. A0)
...
Also fixed example range finder sketch to work with interrupt enabled AP_AnalogSource_Arduino class
2012-07-11 21:19:17 +09:00
Amilcar Lucas
eb647b5320
AP_Mount: add support for non-spring-loaded joysticks
2012-07-11 00:07:33 +02:00
Amilcar Lucas
ad60fac863
RC_Channel: improve parameter documentation
2012-07-11 00:07:10 +02:00
Amilcar Lucas
42301af148
Remove unused function, remove unnecessary angle wrapping.
2012-07-11 00:06:45 +02:00
Amilcar Lucas
74ef712cd1
Allow mount control when no AHRS exists
...
Allow mount control on non stabilized axes
2012-07-11 00:06:26 +02:00
Andrew Tridgell
63a83b95b4
AP_Math: added get_distance_cm() to return in centimeters
2012-07-11 07:49:05 +10:00
Andrew Tridgell
15133b1105
AHRS: fixed HIL build
2012-07-10 18:02:05 +10:00
Andrew Tridgell
9b6acf168e
AHRS: added AHRS_GPS_GAIN parameter
...
this allows control of how much GPS velocity information is used in
doing centripetal correction in DCM
2012-07-10 16:22:48 +10:00
Andrew Tridgell
2bc530d04f
AP_Param: added some docs on the eeprom header format
2012-07-10 14:03:49 +10:00
Craig Elder
0534ac12b1
DataFlash: The current method for checking if chip erase worked is producing false positives. We are forcing the block erase until we have a deterministic test method.
2012-07-09 15:23:35 -07:00
Amilcar Lucas
a79f55656a
RC_Channel: Improve documentation
2012-07-07 21:57:30 +02:00
Amilcar Lucas
8bd7ef9b9a
AP_Mount: Fix radians/degrees scaling regressions
...
Rename calculate() into stabilize()
Implement MAV_MOUNT_MODE_RC_TARGETING initialization
Document to make sure this radians/degrees mess up does not happen again
2012-07-07 21:56:56 +02:00
Andrew Tridgell
ec70e87495
AnalogSource: prevent a division by zero on zero ADC data
2012-07-06 19:59:18 +10:00
Andrew Tridgell
7bc724d118
APM: changed PID library to do automatic deltat calculation
...
this fixes a problem with the HDNG2RLL PID, which was using the wrong
time base and prevents similar bugs from happening in the future
2012-07-06 19:59:18 +10:00
Andrew Tridgell
44755bf3ce
AP_Baro: improved barometer averaging
...
this changes the barometer calculations to floating point. On a MS5611
this is actually about twice as fast as the previous 64 bit
calculations, but gains us more accuracy as we are able to take
advantage of sub-bit precision when we average over 8 samples.
2012-07-06 15:11:30 +10:00
Andrew Tridgell
43d6015811
Filter: split the DerivativeFilter steps into update() and slope()
...
this allows us to apply new data at a different rate than we calculate
the slope.
2012-07-06 15:11:30 +10:00
Andrew Tridgell
4723698489
AP_Baro: update MS5611 test to use baro library altitude
2012-07-06 15:11:30 +10:00
Andrew Tridgell
9845a55cb1
AHRS: make the yaw independent drift correction optional and disable
...
the new correction algorithm copes poorly with gyro drift, leading to
signification attitude errors in the face of drift
2012-07-06 15:11:30 +10:00
Andrew Tridgell
e33554a1f9
AHRS: only enable barometer for AHRS if it is smooth enough
...
if we used less than 5 samples to compute the pressure then don't use
it for climb rate
2012-07-05 16:29:21 +10:00
Andrew Tridgell
1ce4a03147
SITL: lower baro noise a bit
2012-07-05 16:29:21 +10:00
Andrew Tridgell
9f3da1bf7f
Filter: fixed DerivativeFilter example build
2012-07-05 16:29:21 +10:00
Andrew Tridgell
5f38669666
SITL: run the HIL barometer at 80Hz to match APM2
2012-07-05 16:29:21 +10:00
Andrew Tridgell
735c88e9b3
AP_Baro: added get_pressure_samples() interface
...
this returns how many samples were used to calculate the last pressure
2012-07-05 16:29:21 +10:00
Andrew Tridgell
92001e3e7d
Filter: fixed typo in 9 point DerivativeFilter
2012-07-05 16:29:20 +10:00
Andrew Tridgell
999a1d1d55
AP_Baro: change to a 7 point DerivativeFilter for climb rate
2012-07-05 13:00:47 +10:00
Andrew Tridgell
a07e280eda
Filter: cope with non-uniform time steps in the DerivativeFilter
...
this helps with the barometer a lot, as the timing is quite variable
2012-07-05 13:00:47 +10:00
Andrew Tridgell
ce3f8be6c7
SITL: add some minimal noise when motors are off
...
this actually improves the gyro calibration
2012-07-05 13:00:46 +10:00
Andrew Tridgell
fe54329de2
MAVLink: remove MAVLink 0.9 protocol support
...
this simplifies the code a lot. We're not going back to 1.0
2012-07-05 13:00:46 +10:00
Andrew Tridgell
9d7ed30023
AHRS: only use GPS for yaw when compass is not being used
...
this avoids having two competing controllers
2012-07-05 13:00:46 +10:00
Andrew Tridgell
6653c0b874
AHRS: enable barometer for vertical velocity
...
this re-enables the barometer for vertical velocity information
for drift correction, now that we have a better filter
on the climb rate
2012-07-05 13:00:46 +10:00
Andrew Tridgell
a5d607d25a
AP_Baro: use DerivativeFilter in barometer climb rate
2012-07-05 13:00:46 +10:00
Andrew Tridgell
f97289792b
Filter: added DerivativeFilter implementation
...
this adds a DerivativeFilter implementation of up to 10 points
2012-07-05 13:00:46 +10:00
Andrew Tridgell
cf2c546051
AP_Baro: show climb rate in baro test sketch
2012-07-05 13:00:45 +10:00
rmackay9
be3d035a64
AP_Motors: clarified some doxygen descriptions for TradHeli
2012-07-05 08:46:50 +09:00
Amilcar Lucas
6904bef611
Document++
2012-07-05 00:33:46 +02:00
Amilcar Lucas
8400bd67f8
Remove unused function
2012-07-05 00:33:10 +02:00
Andrew Tridgell
dc6d70bc15
SITL: added SIM_GPS_DELAY parameter
...
this allows a delay to be added to the gps data to test the impact on
AHRS/DCM
2012-07-04 21:05:22 +10:00
rmackay9
cac0757c2e
AP_AHRS: removed DCM_test example sketch
...
No longer required because it doesn't compile and is redundant anyway because the AP_AHRS_DCM class is tested in the AHRS_Test example sketch.
2012-07-04 18:22:51 +09:00
Andrew Tridgell
03516b7dfa
AHRS: make DCM drift correction not rely on accurate yaw
...
this uses a new formulation of the GPS based drift correction from
Bill Premerlani that rotates the error vector to avoid relying on
accurate yaw. This means we should get accurate roll/pitch correction
even with lots of magnetometer interference
It also makes it possible to fly a multicopter with no compass. It can
even navigate and correct yaw (slowly!)
2012-07-04 17:00:40 +10:00
Andrew Tridgell
6cf2e2fa13
AP_Math: cope with co-located waypoints in location_passed_point()
2012-07-04 14:24:04 +10:00
Andrew Tridgell
7be29c8b04
AP_Math: the windows arduino build is missing acosf()
2012-07-04 14:14:58 +10:00
Andrew Tridgell
8fa1acb141
AP_Math: add include of math.h
...
this is needed for location.cpp
2012-07-04 13:59:23 +10:00
Andrew Tridgell
597170afdc
DataFlash: fixed SITL build
2012-07-04 13:44:01 +10:00
Andrew Tridgell
c6ff292721
DataFlash: fallback to BlockErase if ChipErase fails
...
The errata on the APM2 dataflash chip says that ChipErase may not work
on some chips
2012-07-04 12:42:46 +10:00
Andrew Tridgell
84a489498d
Math: added location functions to math library
...
these do common calculations on struct Location
2012-07-04 12:42:46 +10:00
Andrew Tridgell
e0685f4408
AHRS: make P gain on PI roll/pitch controller tunable
...
this is to make it easier for Craig and Alan to tune
2012-07-04 12:42:46 +10:00
Andrew Tridgell
1142ec0665
AP_Mount: removed unused enum
2012-07-03 10:39:34 +10:00
Andrew Tridgell
f150c645c8
Mount: enable mount control via eeprom parameters
...
this enables MNT_* parameter control of the camera mount code. It also
fixes the conversion of calculated angles between degrees and
integers, and fixes stabilised mount control when yaw control is not
available.
2012-07-03 10:21:01 +10:00
Andrew Tridgell
7a77832f45
Baro: average over all pressure/temperature samples on MS5611
...
this allows us to use the MS5611 barometer at its full 100Hz sample
rate (80Hz for pressure, 20Hz for temperature). The pressure and
temperature values are averaged between reads without adding any
latency. Previously the driver would throw away values between
readings
This also fixes a race condition in reading from the SPI bus that
could lead to bad values from the barometer
2012-07-02 13:44:53 +10:00
Andrew Tridgell
f7b06e0a64
Baro: fixed build of MS5611 test code
2012-07-02 13:44:53 +10:00
Andrew Tridgell
2bd5cd3b9a
AnalogSource: added some example code
2012-07-01 15:01:05 +10:00