Andrew Tridgell
82954f823b
SITL: make abs() 16 bit in SITL
...
this will help us find abs() bugs in autotest
2012-08-16 15:18:17 +10:00
Andrew Tridgell
6300fa7399
math: more abs() fixes
...
abs() is 16 bit
2012-08-16 15:17:42 +10:00
Jason Short
a66e43aff1
Location Lib : Abs was overflowing causing bad comparison
2012-08-15 22:01:51 -07:00
Jason Short
ff38dadd00
Location Lib. Potential fix for bad angle and distance calcs.
...
last_lat changed to int32_t since it can be negative.
2012-08-15 21:36:55 -07:00
Jason Short
3ca57ac105
DataFlash : Removed Chip Erase - relying on Block erase only
2012-08-15 21:04:24 -07:00
Jason Short
ce2a608706
Dataflash Logs : Fixed block erase on APM2
...
Byte order for 512 vs 528 was reversed.
2012-08-15 21:04:24 -07:00
Andrew Tridgell
034fb5b194
APM: fixed hil build
2012-08-16 12:53:37 +10:00
Andrew Tridgell
73dcbc24c3
Quaternion: we no longer support acceleration in the GPS driver
...
remove the linear acceleration compensation code
2012-08-15 20:07:53 +10:00
Andrew Tridgell
2d47bd0386
GPS: support getting raw velocity values from a UBlox
...
this may give better velocity numbers than the value from COG
2012-08-15 20:06:35 +10:00
Andrew Tridgell
47be6d8ad1
AP_Airspeed: remove airspeed filter and run at 10Hz
...
this saves on the filter memory, and gives just as good a result
2012-08-15 12:39:35 +10:00
Andrew Tridgell
a4b1b9f0a4
AP_AnalogSource: make read_average() return a float
...
this allows it to take advantage of better than 1 bit resolution by
averaging
2012-08-15 12:39:35 +10:00
Andrew Tridgell
299711f4a9
MAVLink: added FENCE_ACTION_REPORT
2012-08-15 12:39:35 +10:00
Andrew Tridgell
9b4b7997b6
AHRS: added ahrs.yaw_initialised()
...
this allows the high level code to know if the AHRS driver has a
reliable yaw estimate
2012-08-15 12:39:34 +10:00
Andrew Tridgell
2865434d02
APM: added 'OBC' failsafe module for ArduPlane
...
this adds FS_* parameters for setting up APM to follow the outback
challenge failsafe rules.
This includes:
- manual pin
- heartbeat pin
- waypoint for heartbeat failure
- waypoint for GPS failure
2012-08-15 12:39:34 +10:00
Pat Hickey
99e96031f2
APM_RC_APM2: updated comments for clarity
2012-08-13 15:34:17 -07:00
rmackay9
cf943255a5
AP_RC_Channel: deleted this library as nobody seems to be using it.
...
Everyone is using RC_Channel instead which includes parameters.
2012-08-13 16:36:10 +09:00
rmackay9
35e7a6e018
GPS_IMU: deleted this empty library as nobody seems to be using it.
2012-08-13 16:35:29 +09:00
rmackay9
59cb6e5dba
Waypoints: deleted this library as nobody seems to be using it.
2012-08-13 16:35:08 +09:00
rmackay9
62c3ea9ea1
Trig_LUT: deleted this library as nobody seems to be using it
2012-08-13 16:34:50 +09:00
rmackay9
004c8bd5ed
AP_EEPROMB: deleted this library as nobody seems to be using it.
2012-08-13 16:34:33 +09:00
rmackay9
3482f05b48
APM_RC: rename example sketch directories for APM2 so they can be opened easily from arduino ide
2012-08-13 11:50:53 +09:00
Andrew Tridgell
48e275e22d
AHRS: avoid a compiler bug in quaternion code
...
Having _wind in the AP_AHRS class causes a register allocation error
when building the Quaternion code with some versions of avr-gcc. Quite
bizarre.
2012-08-13 11:08:10 +10:00
Andrew Tridgell
19a5d11669
AHRS: use airspeed for wind in forward flight
...
when not turning we can use the airspeed sensor directly to calculate
the wind speed.
2012-08-12 10:54:25 +10:00
Andrew Tridgell
f5b7ae213c
AHRS: added AHRS_GPS_USE parameter
...
this allows for the GPS to be disables for position updates, which
allows for testing dead-reckoning
2012-08-11 22:06:03 +10:00
Andrew Tridgell
4951d686f6
Mavlink: re-generate with WIND message
2012-08-11 22:06:03 +10:00
Andrew Tridgell
8d914b14e4
Mavlink: added WIND message
...
this allows us to log the wind estimation result
2012-08-11 22:06:03 +10:00
Andrew Tridgell
779dacfd24
AHRS: added wind estimation code
...
this allows us to estimate the wind while we have GPS lock, then use
that estimate in the long term dead reckoning
2012-08-11 22:06:03 +10:00
Andrew Tridgell
0ba57d05eb
AP_Math: added matrix column extraction functions
2012-08-11 22:06:02 +10:00
Amilcar Lucas
c7d1974741
RC_Channel_aux: cycle thru all functions except k_none and k_nr_aux_servo_functions
...
Probably makes no difference because g_rc_function[k_none] == NULL
2012-08-11 13:43:21 +02:00
Andrew Tridgell
af4071894e
AHRS: added long-term dead-reckoning
...
this uses airspeed (if available) or last GPS ground speed to update
our position estimate in AHRS
2012-08-11 12:00:31 +10:00
Andrew Tridgell
618f43bef6
AP_GPS: added last_ground_speed() method
...
used for dead-reckoning in AHRS
2012-08-11 11:59:47 +10:00
Andrew Tridgell
8a6fcf998b
AP_GPS: fixed types to be stdint types
2012-08-11 11:59:03 +10:00
Andrew Tridgell
3419d8e006
SITL: fill in SIMSTATE.lat and SIMSTATE.lng
2012-08-11 11:58:25 +10:00
Andrew Tridgell
d46b7a67b7
MAVLink: re-generate MAVLink C code
2012-08-11 11:58:06 +10:00
Andrew Tridgell
d9ad1c8616
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
87fca1985f
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
f95b06a880
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
b01907cf23
ACM: fixed HIL build
2012-08-11 08:34:16 +10:00
Jason Short
e12ce1d5a7
MOTORS Mixer: temp removal of Yaw Contrib code
2012-08-09 17:00:11 -07:00
Jason Short
52b2aacf28
AHRS DCM: FOrmatting
2012-08-09 16:59:43 -07:00
Amilcar Lucas
32e354be4e
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
f812fc921f
build: fixed more build warnings
2012-08-09 16:19:39 +10:00
Andrew Tridgell
0763bbd1af
MPU6000: fixed some build warnings
2012-08-09 16:19:21 +10:00
Andrew Tridgell
c70bae9617
AP_MetaClass: fixed a warning
2012-08-09 16:19:04 +10:00
Andrew Tridgell
7f4b7703c1
AP_Param: fixed some build warnings
2012-08-09 16:18:53 +10:00
Andrew Tridgell
6213032957
MAVLink: removed obsolete files
2012-08-09 15:25:49 +10:00
Andrew Tridgell
5d1d9e9042
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
dc47074dbd
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
2a7b298bbc
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
0b0b9c29a2
Allow fully independent operation of two AP_Mount instances
2012-08-08 23:11:23 +02:00
Amilcar Lucas
530ea0bebd
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
a8c99f3887
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
dcc50b5705
AP_Airspeed: removed values passed to constructor
2012-08-08 16:38:39 +10:00
Andrew Tridgell
e6e25525bc
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
45c27317ef
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
8ae35cae1c
AP_Math: rename get_bearing() to get_bearing_cd() to make units obvious
2012-08-08 12:12:30 +10:00
Andrew Tridgell
7ff7514a88
SITL: added pgm_read_dword() and pgm_read_float()
2012-08-08 12:11:57 +10:00
Andrew Tridgell
518d6365ff
AP_Param: update remaining libraries for new constructor syntax
2012-08-08 12:11:57 +10:00
Andrew Tridgell
898a5af692
AP_Param: update AHRS for new constructor syntax
2012-08-08 12:11:57 +10:00
Andrew Tridgell
5e8fe8d93e
AP_Param: update PID libraries for new constructor syntax
2012-08-08 12:11:57 +10:00
Andrew Tridgell
c298d5130f
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
a7b9aff79f
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
77f3b60b6f
Filter: make the DerivativeFilter test GNUPlot friendly
...
makes testing easier
2012-08-08 12:07:36 +10:00
Andrew Tridgell
899eeb608b
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
d7d33c64b7
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
2c4a0636f3
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
107155fa1a
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
b8c7b8a786
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
9c1ac2d9e6
More work on ch9, 10 and 11
2012-08-04 19:44:41 +02:00
Amilcar Lucas
bbc4bdb729
More flexible RC support
2012-08-04 18:39:20 +02:00
Andreas M. Antonopoulos
7262b0429a
AP_Limits: experimental "bounce" mode.
2012-07-31 18:39:58 -07:00
Robert Lefebvre
4ffc5e211a
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
5077674043
AP_InertialSensor_MPU6000: another attempt at fixing the SITL build
2012-07-28 17:19:19 +09:00
rmackay9
7683e9d870
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
0eaf427062
AP_AHRS_MPU6000: cleaning up compiler warning due to unused yaw_deltat variable
2012-07-28 16:23:25 +09:00
rmackay9
48074f4766
AP_InertialSensor_Oilpan: changed initialisation order of parameters to remove compiler warning
2012-07-28 15:22:37 +09:00
rmackay9
1b521a9f73
AP_AHRS: updated test sketch to allow use of MPU6000's DMP
2012-07-28 14:27:26 +09:00
rmackay9
dbe7c8ed1a
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
b844bb7919
AP_AHRS: removed var_info from AP_AHRS class (moved to AP_AHRS_DCM)
2012-07-28 14:16:56 +09:00
rmackay9
468170b589
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
7b9782c5ac
AP_IMU_INS: added gx(), gy() and gz() methods to return gyro offsets
2012-07-28 14:15:23 +09:00
rmackay9
6cd0918134
AP_InertialSensor: methods added to access DMP functionality
2012-07-28 14:14:43 +09:00
Andrew Tridgell
4b4b67496b
MAVLink: rename the message_definitions directory
2012-07-26 10:03:36 +10:00
Andrew Tridgell
8dd62829f9
MAVLink: removed MAVLink 0.9 message definitions
...
we are now 1.0 only
2012-07-26 10:03:36 +10:00
rmackay9
bb05dab924
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
9cd98e79dd
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
175b6d2606
AP_AnalogSource: fixed reporting of VCC
...
the VCC pin number should not be converted
2012-07-21 19:49:24 +10:00
Andrew Tridgell
5f5ab9c07c
AHRS: if we don't have gps correction enabled, zero the yaw correction
2012-07-20 17:21:04 +10:00
Andrew Tridgell
c937738732
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
151a50b6af
MAVLink: imported updated generated mavlink C code
...
no functionality changes
2012-07-20 11:50:03 +10:00
Jason Short
c9d3ab5413
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
148da2e4a0
Lead Filter: simplified calculation
2012-07-18 22:57:10 -07:00
Andrew Tridgell
819b6459b2
GPS-UBlox: removed duplicate config messages
...
these were left over from debugging
2012-07-19 15:23:15 +10:00
Amilcar Lucas
3de23220ed
RC_Channel parameters: Fix a typo
2012-07-18 22:39:49 +02:00
Amilcar Lucas
22d2f9ea15
Support up to 7 aux servo outputs
2012-07-18 21:58:22 +02:00
rmackay9
e61cf0e1f9
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
461098b289
Replace long with int32_t
2012-07-18 02:12:31 +02:00
Amilcar Lucas
724c5f6490
Use ascending order in the values
2012-07-18 02:11:49 +02:00
Amilcar Lucas
1da0ce20ce
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
9e4d118fdb
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