Commit Graph

472 Commits

Author SHA1 Message Date
Andrew Tridgell 526344ab7c APM: added control switch debouncer
this adds a switch debouncer, similar to the one used in
ArduCopter. I'm adding this after a flight on the weekend where noise
on the control mode channel caused a mode change away from auto.

To prevent this change adding excessive mode switch latency, it also
moves the reading of the control switch to the 10Hz loop, away from
the 3.3Hz loop. That gives us 0.2s delay in mode switch changes and
allows for spikes in the control mode for 0.1 seconds without changing
mode.
2012-08-01 13:59:37 +10:00
rmackay9 95522fb8a3 ArduPlane: bug fix to global var_info parameter list for ahrs object. 2012-08-01 10:52:34 +09:00
Andrew Tridgell 24ba59f528 APM: fixed overflow in geofence code for altitudes above 327 meters 2012-07-31 15:46:47 +10:00
Andrew Tridgell cc9712860b APM: fixed case of 'LAND_PITCH_CD'
mavlink parameters are uppercase by convention
2012-07-29 17:07:38 +10:00
rmackay9 717d0d25d4 ArduPlane: allow MPU6000's DMP to be used for attitude estimation.
Enable by adding this line to APM_Config.h:
#define DMP_ENABLED ENABLED
2012-07-28 19:50:40 +09:00
rmackay9 d9e92c0beb ArduPlane: change to Parameters.pde to support moving var_info from AP_AHRS to AP_AHRS_DCM 2012-07-28 14:31:01 +09:00
Michael Oborne eeac211b1d AP Fix Hil Airspeed calc in m/s 2012-07-26 20:21:17 +08:00
Andrew Tridgell cfe19c8f53 APM: update version for 2.50 release 2012-07-26 11:36:17 +10:00
Andrew Tridgell 6243cf77a8 APM: added a SCALING_SPEED parameter
this allows users to adjust the base speed used for scaling roll/pitch
PIDs. This can be used to make PIDs work for both airspeed and
non-airspeed control
2012-07-26 11:30:23 +10:00
Andrew Tridgell caa16cbb54 APM: fixed HIL build 2012-07-26 10:09:07 +10:00
Andrew Tridgell efc184c3ad APM: fixed build
the SET_ROI commands are not supported yet
2012-07-26 10:03:36 +10:00
Andrew Tridgell d4599aa4f0 APM: switch back to old nav_roll calculation
the old nav_roll will be used for the 2.50 release to prevent the need
for re-tuning. For the release after that we will use the new
calculation
2012-07-26 10:03:36 +10:00
Michael Oborne 7dd58227a6 AP fix sitl hil attitude mode. 2012-07-24 07:18:25 +08:00
Andrew Tridgell 16ddc9fb8a APM: fixed a problem with wayoints completing early
when a user forces a waypoint jump, we may need to reset prev_WP to
prevent us thinking the waypoint is complete before we have started
2012-07-21 20:32:07 +10:00
Andrew Tridgell d0ebb4ca26 MAVLink: fixed another two places where micros() was used for a millisecond time 2012-07-20 11:57:15 +10:00
Jason Short dbcfbfe857 Added Oilpan INS group object param 2012-07-18 23:07:50 -07:00
Jason Short fdf8724b66 Arduplane: Fixed unsigned int comparison warning 2012-07-18 23:07:34 -07:00
Jeff Taylor c083ca5f35 APM: Fixed bug where landing_pitch wasnt initialized properly
this adds a new LAND_PITCH_CD parameter to control the landing pitch
when an airspeed sensor is not being used
2012-07-19 13:59:30 +10:00
Andrew Tridgell 2121491197 APM: rename airspeed_cruise to airspeed_cruise_cm to make the units clearer
it is in cm/s, not m/s
2012-07-19 11:50:41 +10:00
Andrew Tridgell 2673179075 APM: Use g.airspeed_cruise for turn rate calculation if the airspeed sensor is disabled.
This gives our best approximation for auto flight
2012-07-19 11:50:41 +10:00
Jonathan Challinger 3c4f971618 APM: Removed unused YAW_DAMPENER code.
YAW_DAMPENER was defined as zero
2012-07-19 11:50:21 +10:00
Jonathan Challinger 87c78cff5e APM: Removed incorrect nav_gain_scaler from nav_roll calculation.
nav_gain_scaler was originally added due to a perceived improvement in
loiter performance, but is incorrect for navigation. Turn rate is a
function of airspeed and bank angle, ground speed has no effect on
that.
2012-07-19 11:50:06 +10:00
Amilcar Lucas 504809d146 ArduPlane parameters: re-order the files, looks like the second file gets ignored :( 2012-07-18 22:52:17 +02:00
Amilcar Lucas 61f0cd15be ArduPlane parameters: Add base class info as well 2012-07-18 22:39:49 +02:00
Amilcar Lucas d911e4f61e Support up to 11 servos in APM2
Conflicts:

	ArduPlane/ArduPlane.pde
2012-07-18 22:01:19 +02:00
Michael Oborne 45609b3e6f fix rc libray param gen 2012-07-18 07:03:39 +08:00
Jonathan Challinger e271f97b53 Changed mavlink GLOBAL_POSITION_INT.relative_alt message to correctly return altitude above ground. 2012-07-17 16:15:11 +10:00
Andrew Tridgell ead41670c4 Airspeed: change APM to use new AP_Airspeed library
the next step is AHRS dead reckoning
2012-07-16 11:21:50 +10:00
Michael Oborne e877650c06 AP fix duplicate keys in param config 2012-07-13 07:06:01 +08:00
Amilcar Lucas 8e14ebbc10 Merge the changes from APM_Camera branch into ArduCopter
Conflicts:

	ArduCopter/Camera.pde
	ArduCopter/Parameters.pde
2012-07-11 00:39:13 +02:00
Andrew Tridgell d07593b3bb APM: added credit for FBW altitude limit code
thanks Yuri!
2012-07-10 08:36:50 +10:00
Andreas M. Antonopoulos 3b0a4f8c68 param_parser: cosmetic
Arduplane: doc fixes
2012-07-08 21:45:26 -07:00
Andrew Tridgell 58fd1d1cf6 APM: fixed DisplayName/Description mixups in parameter docs 2012-07-07 17:40:43 +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 6ced622da4 APM: fixed some build warnings and type errors 2012-07-06 19:59:18 +10:00
Andrew Tridgell 855d67c30a APM: more parameter documentation 2012-07-05 15:06:45 +10:00
Andrew Tridgell 85332ff85b GeoFence: fixed default return altitude units
off by 100x!
2012-07-05 15:06:44 +10:00
Andrew Tridgell ba39738606 MAVLink: added climb rate reporting 2012-07-05 13:00:46 +10:00
Andrew Tridgell 6afbfdafeb Docs: fixed some units in APM parameter docs 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 5623ef99a0 APM: changed test for having completed a waypoint
the new test is that we have passed a "finish line" perpendicular to
the track between the last waypoint and the current waypoint.

The previous tests are also still used, so if we circle a waypoint or
get within the waypoint radius we also consider it completed
2012-07-04 12:42:46 +10:00
Andrew Tridgell d9351ff681 APM: use new location functions 2012-07-04 12:42:46 +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
Michael Oborne 84d2782c33 fixup sitl attribute group for planner. - causing invalid advanced/standard views 2012-07-01 21:43:32 +08:00
Andrew Tridgell e791cad9ef AnalogSource: convert analogRead() calls to the new API
this should give us much better analog values, plus save a bunch of
CPU time
2012-07-01 15:01:05 +10:00
Andrew Tridgell 1cb96e14a9 SITL: enable the SIM_* parameters in ArduCopter and ArduPlane 2012-06-29 15:10:52 +10:00
Andrew Tridgell 57579e494b Barometer: fixed airstart for APM
we need to re-load the ground pressure and temperature from eeprom on
and airstart
2012-06-27 16:01:50 +10:00
Andrew Tridgell 44b7d94b1c APM: ArduPlane updates for new compass interface 2012-06-27 16:01:50 +10:00
Andrew Tridgell 4fda89beb7 APM: update for new barometer interface
the barometer can now calibrate and return altitude values.

A 0.3 low pass filter is used on altitude to match the previous code
2012-06-27 16:01:50 +10:00
Andrew Tridgell 4a91c267d7 APM: set_centripetal() is now set_fly_forward()
this controls more than just centripetal correction
2012-06-27 16:01:49 +10:00
rmackay9 74d37a3713 ArduPlane HIL: fixed bug so g_gps->setHil calls send time as a uint32_t (was sending a float but was cast back to an uint32_t resulting in a meaningless time that never changed). 2012-06-26 22:59:24 +09:00
Amilcar Lucas be6923be0f Improve parameters descriptive text 2012-06-21 00:20:37 +02:00
Andrew Tridgell 7941abad16 APM: prepare for 2.40 release 2012-06-16 10:11:26 +10:00
Andrew Tridgell 5525180814 MAVLink: make usage of MAVLink defines more consistent 2012-06-15 16:27:11 +10:00
Andrew Tridgell d4056213ad APM: parameter enums should not be conditionally compiled 2012-06-15 11:57:00 +10:00
Andrew Tridgell 3a9096aa41 APM: added longer comment on k_format_version 2012-06-15 11:55:09 +10:00
Amilcar Lucas bd632e9d01 Let's keep the same format version until CAMERA is activated by default 2012-06-13 21:28:13 +02:00
Amilcar Lucas 2cebd44313 With CLI and MOUNT active, the linker says: region `text' overflowed by 3858 bytes
So disable CLI when MOUNT is active. Sorry I did not detect it before, but the APM_Camera branch worked in a different way.
2012-06-13 21:08:09 +02: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
Jason Short 29bb39f580 Added CLI level command 2012-06-11 23:01:25 -07:00
Jason Short 8e570fa2d0 Cosmetic changes only. 2012-06-10 13:10:07 -07:00
Jason Short 1eb2d0e485 Added missing Manual_level config 2012-06-10 13:08:48 -07:00
Jason Short b03feabacc Added missing Manual Level initializer 2012-06-10 13:08:22 -07:00
Andrew Tridgell 8f1121c980 GPS: Use appropiate GPS_ENGINE settings in APM, ACM and rover 2012-06-10 16:36:18 +10:00
Andrew Tridgell c034a3a6f7 APM: ready for 2.40-beta 2012-06-08 18:03:21 +10:00
Andrew Tridgell bfb2c1ee87 GPS: open the GPS serial port with a 256 byte buffer
the UBLOX needs more than 128 bytes for reliable parsing
2012-06-08 16:42:03 +10:00
Andrew Tridgell 43fe5bab78 re-enable the AP_Mount build 2012-06-04 19:32:11 +10:00
Andrew Tridgell 8d28cb51fc added mavlink09 targets
allows easier building with mavlink0.9
2012-06-04 13:14:52 +10:00
Andrew Tridgell 18b5933240 AP_Mount: disable AP_Mount until it works with MAVLINK10 2012-06-04 13:14:51 +10:00
Michael Oborne 7d2532450a enable mavlink10 by default 2012-06-04 08:02:08 +08:00
Michael Oborne 7007d46761 AP: add fake satellite count for hil. 2012-06-02 16:38:20 +08:00
Pat Hickey c2060d6d5f ArduPlane: Increment format number in Parameters.h
* Force all users to reconfigure to take advantage of elevon patch
  ( 669e6867 )
2012-05-28 20:51:12 -07:00
Pat Hickey cb9459afed ArduPlane: Fix effect of ELEVON_REVERSE
* Previously, the ELEVON_REVERSE parameter was equivelant in function to the
  ELEVON_CH1_REVERSE parameter. These parameter values are found in
  g.reverse_elevons and g.reverse_ch1_elevon, and used to map to the radio_out
  channels in ArduPlane/Attitude.pde
* It seems the author's intent was for ELEVON_REVERSE to change the sign for
  the combination of pitch & roll into ch1 & ch2, as there are already
  parameters which change just the sign of ch1 and just the sign of ch2.
* Discovered this bug because I happened to build an elevon airframe which was
  not possible to setup with the existing ELEVON_ and RCn_REV parameters.
* This will break existing elevon setups if the user used ELEVON_REVERSE
  instead of ELEVON_CH1_REVERSE, since they were previously interchangable.
2012-05-27 22:15:08 -07:00
Michael Oborne 36f8f7c4eb increase resolution on params 0.1 > 0.01 2012-05-24 06:22:57 +08:00
Andrew Tridgell 1fc8347af3 MAVLink: send time of GPS fix accurately
when we send a GPS_RAW message, set the usec field to the time we got
the fix from the GPS, not the current time. This makes it possible for
aerial photo processing to be more accurate, as the usec field with
more accurately reflect the planes position/time pair
2012-05-23 17:33:33 +10:00
Andrew Tridgell 5b5d43f5d0 Log: don't print '+' while erasing logs
we no longer do page based erase, so printing a + every 128 pages
makes no sense
2012-05-22 20:10:29 -07:00
Andrew Tridgell 557834f9a9 AirSpeed: added parameter ARSPD_USE
setting ARSPD_ENABLE to 1 and ARSPD_USE to 0 allows the airspeed
sensor to be initialised and logged without it being used for flight
control. This is very useful when initially testing an airspeed sensor
in a new plane. It also makes it possible to enable/disable the use of
the airspeed sensor during a flight at any time.
2012-05-22 20:02:23 +10:00
Andrew Tridgell 9eb3f44ce1 MAVlink: update ArduPlane for param fetch during DataFlash erase
same changes as for ArduCopter
2012-05-22 16:13:35 +10:00
Andrew Tridgell 07dac1a5a7 GPS: added ublox build target
useful for 1280 APM1s
2012-05-18 22:31:50 +10:00
Andrew Tridgell 116ed39e77 APM: prepare for 2.34 2012-05-14 14:29:59 +10:00
Michael Oborne 922338e982 AP - fix attitude level hil mavlink 1.0 issue 2012-05-06 11:05:35 +08:00
Andrew Tridgell 78d273fa34 Telemetry: make it possible to use UART2 on APM2
building with TELEMETRY_UART2=ENABLED allows you to use the solder
bridge on the APM2 to enable telemetry on UART2. This allows both USB
telemetry and a radio at the same time.
2012-05-04 10:39:44 +10:00
Michael Oborne eee5a5bff0 more arduplane param info 2012-04-30 20:39:41 +08:00
Michael Oborne 650e9467d7 update some arduplane config items 2012-04-30 18:44:20 +08:00
Andrew Tridgell 1017b0f6a3 APM-nav: set NAV I value defaults to 0.1
a small I value is good on most planes, so I think this is a better
default than 0. Thanks to Chris for asking about this.
2012-04-30 12:27:30 +10:00
Andrew Tridgell 8134c9a883 autotest: fixes for MAVLink 1.0 in autotest 2012-04-27 15:15:53 +10:00
Andrew Tridgell 9d56d28615 MAVLink: make APM build with MAVLink 1.0 possible with arduino GUI 2012-04-24 22:24:58 +10:00
Andrew Tridgell a51593d4ad APM: updates for MAVLink 1.0 2012-04-24 19:54:20 +10:00
Andrew Tridgell 3347f461f6 use build_all.sh to ensure we don't break the mount code 2012-04-24 10:57:43 +10:00
Andrew Tridgell 0eadae9704 APM: use OutputCh_current() in MAVLink servo logging
this gives a more accurate picture of what is actually happening with
the servos
2012-04-24 10:57:43 +10:00
Michael Oborne 71f9e33f2f fix potential null pointer 2012-04-20 17:57:06 +08:00
Andrew Tridgell 781280b001 sitl: allow sitl build with MAVLink 1.0 2012-04-20 10:09:21 +10:00
James Goppert 1bc4d54ce9 Worked on ArduCopter cmake options. 2012-04-19 16:05:08 -04:00
James Goppert 49744de519 Working on ArduPlane options. 2012-04-19 02:23:54 -04:00
James Goppert f094085c25 Improved cmake options. 2012-04-18 23:15:29 -04:00
James Goppert cc66e8e259 Changed default cmake port for ArduPlane. 2012-04-18 21:31:46 -04:00
James Goppert 0a38e2b8d4 Updated ArduPlane/ArduCopter cmake options. 2012-04-18 15:16:02 -04:00
James Goppert 26e3d6ae45 Switched to project specific cmake lists.
This is better since each project has very different options.
2012-04-17 23:07:20 -04:00