Commit Graph

1774 Commits

Author SHA1 Message Date
Andrew Tridgell
f68211a011 AP_GPS: fixed types to be stdint types 2012-08-11 11:59:03 +10:00
Andrew Tridgell
96d1249dad SITL: fill in SIMSTATE.lat and SIMSTATE.lng 2012-08-11 11:58:25 +10:00
Andrew Tridgell
90f00ebd01 MAVLink: re-generate MAVLink C code 2012-08-11 11:58:06 +10:00
Andrew Tridgell
b47cceb442 MAVLink: added SIMSTATE.lat and SIMSTATE.lng
this allows us to display both true and estimated position on the
groundstation
2012-08-11 11:57:45 +10:00
Andrew Tridgell
e1ffd37411 AP_Math: added location_update() and location_offset() functions
these will be used by AHRS dead reckoning
2012-08-11 11:56:54 +10:00
Andrew Tridgell
e48b0f8558 AHRS: make airspeed sensor available to AHRS
this will be used for long term dead-reckoning
2012-08-11 08:57:32 +10:00
Andrew Tridgell
d3cc6e5fab ACM: fixed HIL build 2012-08-11 08:34:16 +10:00
Jason Short
d37ca9343b MOTORS Mixer: temp removal of Yaw Contrib code 2012-08-09 17:00:11 -07:00
Jason Short
4e001286a6 AHRS DCM: FOrmatting 2012-08-09 16:59:43 -07:00
Amilcar Lucas
aef8c7af0a AP_Mount: Reduce parameter name length, to allow MNT2_* strings to be smaller than the limit of 15 characters 2012-08-10 00:16:52 +02:00
Andrew Tridgell
a2f802e5da build: fixed more build warnings 2012-08-09 16:19:39 +10:00
Andrew Tridgell
0491188c03 MPU6000: fixed some build warnings 2012-08-09 16:19:21 +10:00
Andrew Tridgell
c69dccceb2 AP_MetaClass: fixed a warning 2012-08-09 16:19:04 +10:00
Andrew Tridgell
73d70354a3 AP_Param: fixed some build warnings 2012-08-09 16:18:53 +10:00
Andrew Tridgell
d3c399c5d9 MAVLink: removed obsolete files 2012-08-09 15:25:49 +10:00
Andrew Tridgell
52b6e4ab2e MAVLink: added generator.sh script
this is used to re-generate our MAVLink C code
2012-08-09 15:25:06 +10:00
Andrew Tridgell
a7399c405d MAVLink: removed the need for Mavlink_compat.h
we have now fully transitioned to MAVLink 1.0, so we no longer need
the compatibility layer and the old names in the code
2012-08-09 12:22:46 +10:00
Andrew Tridgell
16d63978f1 MAVLink: moved mavlink variables back to library
these were moved to the main sketches to allow for compile time
selection of MAVLink 0.9 vs 1.0. We no longer support 0.9, so we can
move it back, which simplifies some test sketches
2012-08-09 12:06:21 +10:00
Amilcar Lucas
1683f18bff Allow fully independent operation of two AP_Mount instances 2012-08-08 23:11:23 +02:00
Amilcar Lucas
45b10a51ff AP_Mount: Enable Joystick speed code, now that the framework supports more than 16 parameters per group.
Save some bytes by skiping the redundant *_rc_in initialization in the AP_Mount() constructor
2012-08-08 22:45:36 +02:00
Andrew Tridgell
eeaa855b03 SITL: fixed deletion of eeprom.bin
with the new AP_Param constructor order, we need to erase rather than
unlink the eeprom
2012-08-08 18:01:06 +10:00
Andrew Tridgell
5e19c0cf04 AP_Airspeed: removed values passed to constructor 2012-08-08 16:38:39 +10:00
Andrew Tridgell
fc26d49260 AP_Param: avoid saving values within 0.01% of the default value
this saves some more space due to rounding errors
2012-08-08 13:13:30 +10:00
Andrew Tridgell
3159c9ed99 AP_Mount: fixed defaults for angles
this saves some eeprom space by not saving the 4500 values
2012-08-08 13:04:49 +10:00
Andrew Tridgell
891ed81f74 AP_Math: rename get_bearing() to get_bearing_cd() to make units obvious 2012-08-08 12:12:30 +10:00
Andrew Tridgell
6245592447 SITL: added pgm_read_dword() and pgm_read_float() 2012-08-08 12:11:57 +10:00
Andrew Tridgell
e9d0ae3e7f AP_Param: update remaining libraries for new constructor syntax 2012-08-08 12:11:57 +10:00
Andrew Tridgell
7be604cffd AP_Param: update AHRS for new constructor syntax 2012-08-08 12:11:57 +10:00
Andrew Tridgell
3dfe55e72c AP_Param: update PID libraries for new constructor syntax 2012-08-08 12:11:57 +10:00
Andrew Tridgell
45c7c9b8d1 AP_Param: major update to use default values in var_info table
this stores the default value for all scalar variables in the var_info
table, which makes it possible to avoid storing default values in
eeprom. That allows us to oversubscribe the eeprom space with a much
lower risk of overrun.
2012-08-08 12:11:57 +10:00
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