Commit Graph

909 Commits

Author SHA1 Message Date
Andrew Tridgell
c7b47a0e47 APM: allow for arbitrary ranges and reversal on 2nd aileron
this ensures you can setup a 2nd aileron with different reversal from
main aileron
2012-11-05 23:37:58 +11:00
Andrew Tridgell
9c140356f5 APM: remove unused variable 2012-11-05 15:22:56 +11:00
Andrew Tridgell
2793e432ff APM: use raw GPS velocity in GLOBAL_POSITION_INT
a much more useful value to log
2012-11-05 14:58:40 +11:00
Andrew Tridgell
aa236c43f8 APM: prepare for 2.66 2012-10-31 13:25:19 +11:00
Andrew Tridgell
81d507d39e APM: fixed differential spoilers in manual mode
make them follow the elevons
2012-10-31 12:43:53 +11:00
Andrew Tridgell
8c0296b27a APM: fixed additional aileron channels in manual mode 2012-10-31 12:43:53 +11:00
Xichen Shi
8c46fced16 APM: Added functionality to use differential spoilers in elevon mode
spoiler 1 and 2 are connected to 2 auxiliary channels, functions are
set to 16 on left wing and 17 om right wing respectively. Worked in
FBW + mode (auto etc.). No manual mode supported yet (need more
channels in my case).
2012-10-31 12:43:42 +11:00
Andrew Tridgell
e479af67ff APM: fixed loiter radius docs to reflect new limit 2012-10-30 16:19:24 +11:00
Pat Hickey
d4bb8a10d7 Update ArduCopter and ArduPlane dependencies on AP_Menu 2012-10-18 20:53:39 -07:00
Andrew Tridgell
07c291bb73 APM: fixed a comment typo 2012-10-16 17:21:04 +11:00
Andrew Tridgell
f828956cb8 battery: use set_pin() to allow pins to be changed at runtime 2012-10-16 17:20:49 +11:00
rmackay9
775489d658 ArduPlane: added BATT_VOLT_PIN and BATT_CURR_PIN parameters to allow support for new 3DR IV battery monitor 2012-10-13 20:51:41 +09:00
Andrew Tridgell
0bc1f89f27 APM: fixed typo 2012-10-11 15:03:52 +11:00
Andrew Tridgell
c9f10f0e00 APM: fixed auto-takeoff with zero lat/lng
consider a non-zero altitude to mean that we should use the relative
altitude specified
2012-10-11 15:03:00 +11:00
Andrew Tridgell
0495a0debc APM: make error msg clearer 2012-10-11 11:51:24 +11:00
rmackay9
f695db61ea ArduPlane: added AP_Semaphore.h to list of includes 2012-10-06 13:14:28 +09:00
Michael Oborne
a38fef65c7 AP,AC Add ability to override an altitude in any auto mode, on the current active target 2012-09-30 07:29:33 +08:00
rmackay9
8c6fd340d7 AP_AHRS: added scheduler parameter to init
Required by the AP_AHRS_MPU6000 class which needs to disable timed processes that could interfere with it's communication with the mpu6000
2012-09-29 13:51:21 +09:00
rmackay9
41fbb19cf5 AP_InertialSensor_MPU6000: replaced _cs_pin parameter with #define and saved 1 byte of memory
Updated ArduCopter, ArduPlane and example sketches in AP_InertialSensor, AP_IMU and AP_AHRS libraries because they no longer need to pass in cs_pin to the constructor
2012-09-28 19:21:59 +09:00
Andrew Tridgell
bbec662483 APM: fixed build warning 2012-09-25 07:21:03 +10:00
Andrew Tridgell
fbc053e6e4 APM: change to one low priority status buffer per GCS instance
this allows us to operate the low priority messages on each link
independently.

Thanks to David Buzz for the suggestion!
2012-09-24 17:39:19 +10:00
Andrew Tridgell
51aeb2dd4c APM: prepare for 2.65 2012-09-24 07:14:30 +10:00
Andrew Tridgell
d5c35fcc8b APM: fixed stick mixing for STABILISE mode
this is embarrassing
2012-09-24 07:14:30 +10:00
Andrew Tridgell
a4c3c5973d APM: prepare for 2.64 release 2012-09-23 19:32:56 +10:00
Andrew Tridgell
56c354eb4f APM: fixed stick mixing in CIRCLE mode on throttle failsafe
Many thanks to Andke for finding this bug!
2012-09-23 19:27:42 +10:00
Andrew Tridgell
41017442f8 APM: removed unnecessary waypoint_sending flag 2012-09-22 20:17:19 +10:00
Andrew Tridgell
f0f47f929a APM: send right parameter index when possible 2012-09-22 20:17:17 +10:00
Andrew Tridgell
764d86216e APM: fixed mission reset by setting waypoint to zero
this does a full mission reset (equivalent to rebooting)
2012-09-22 20:17:13 +10:00
Andrew Tridgell
6bae5ecd51 APM: added THR_SUPP_MAN option
this allows for manual throttle control during auto throttle
suppression. This is useful for keeping a petrol engine idling before
takeoff
2012-09-22 20:17:06 +10:00
Andrew Tridgell
5c402fa398 APM: allow RawSensors stream rate to be saved if <= 5
this makes it possible to configure all stream rates via a parameter
file
2012-09-22 20:17:02 +10:00
Andrew Tridgell
63940d3ab6 APM: don't send GPS_STATUS MAVLink message
it now provides no useful information as satellites_visible is in
GPS_RAW_INT in MAVLink 1.0
2012-09-22 20:12:43 +10:00
Andrew Tridgell
cbc4a57abb APM: send airspeed sensor value, not estimate, when enabled
this solves the problem of people reporting that airspeed is not shown
when ARSPD_USE is zero.
2012-09-20 08:00:54 +10:00
Andrew Tridgell
832c5e996e APM: make it possible to fetch parameters by index 2012-09-20 07:42:46 +10:00
Andrew Tridgell
3077de0d33 APM: much faster parameter fetching
allow up to 30% of bandwidth to be used for parameter send
2012-09-20 07:29:23 +10:00
Andrew Tridgell
68f1b6336f APM: tweak the default options for an APM1 1280 board
this allows a few more things to fit in
2012-09-19 19:36:19 +10:00
Andrew Tridgell
cebb67e1df APM: removed the unused sonar code
when we start supporting a sonar we'll add a AP_Sonar library, like
AP_Airspeed
2012-09-19 19:35:22 +10:00
Andrew Tridgell
2324997e16 APM: added ALT_OFFSET parameter
useful to adjust for barometric pressure changes during a long flight
2012-09-19 16:23:25 +10:00
Andrew Tridgell
37cb56f3e1 APM: save another few bytes 2012-09-18 13:58:50 +10:00
Andrew Tridgell
df962d25a8 APM: fixed a comment 2012-09-18 13:58:49 +10:00
Andrew Tridgell
12dc2e79cf APM: save 100 bytes of memory
remove flight_mode_strings array
2012-09-18 13:58:49 +10:00
Andrew Tridgell
86face0a03 APM: preparing for 2.63 release 2012-09-17 17:32:13 +10:00
Andrew Tridgell
4d4a95501f APM: updates for new GPS detection 2012-09-17 14:45:47 +10:00
Andrew Tridgell
7e8ef0ae95 APM: fixed handling of DO_REPEAT_SERVO and DO_REPEAT_RELAY 2012-09-17 14:45:47 +10:00
Andrew Tridgell
c8e84d18a4 APM: tidy up a comment 2012-09-16 15:51:13 +10:00
Andrew Tridgell
c0798730a8 APM: only copy manual channels in failsafe
this prevents non-manual channels changing value away from the trim
value on startup
2012-09-16 15:51:01 +10:00
Andrew Tridgell
127117b640 APM: ensure DO_SET_SERVO channels are enabled 2012-09-16 15:08:14 +10:00
Andrew Tridgell
208b878988 APM: allow update of last waypoint
fixed off by one error
2012-09-16 15:06:26 +10:00
Michael Oborne
94f956a0ca fix AP attitude hil - with randys help 2012-09-15 16:47:18 +08:00
Andrew Tridgell
b55e7903aa APM: prepare for 2.62 release 2012-09-13 12:02:18 +10:00
Andrew Tridgell
bad73b0686 APM: fixed elevon mixing
this was broken in 2.61
2012-09-13 12:01:40 +10:00
Andrew Tridgell
6e9abb616a APM: show real raw RC input, not mixed input
this makes it easier to diagnose elevon mixing issues
2012-09-13 12:00:49 +10:00
Andrew Tridgell
589c8fcc12 APM: report throttle and ground speed mission changes 2012-09-12 13:09:32 +10:00
Andrew Tridgell
b1408008c9 APM: allow for landing pitch control until final stage 2012-09-12 13:09:16 +10:00
Andrew Tridgell
05e72c6e68 APM: fixed roll in landing approach 2012-09-12 11:53:17 +10:00
Andrew Tridgell
5f3ffe4839 APM: switch to Randys new IMU rate control method
this drives the speed of the 50Hz loop by the number of samples
accumulated in the IMU. This should give much more consistent timing
in DCM.

Thanks to Randy for introducing this scheme in ArduCopter!
2012-09-11 16:39:36 +10:00
Andrew Tridgell
7e672628ea APM: removed the GPS_enabled flag
this fixes using GPS_PROTOCOL to specify a specific GPS with a GPS
that takes a few updates before it works (eg. needing baud rate
changes).

This makes it easier to use an APM1-1280 with more features enabled
2012-09-11 13:37:34 +10:00
Andrew Tridgell
c9a299665c APM: added speed scaling to wheeled steering
this allows for a larger amount of steering control at low speeds
without causing osciallation after takeoff
2012-09-11 13:37:34 +10:00
Andrew Tridgell
0812fc4890 APM: reboot only works on the APM2 2012-09-10 11:50:48 +10:00
Andrew Tridgell
cb88681914 APM: added support for MAV_CMD_PREFLIGHT_REBOOT_SHUTDOWN
this allows for remote reboot of APM
2012-09-10 11:42:30 +10:00
Andrew Tridgell
e2779523ea APM: fixed fetch of relative altitude waypoints
when we fetch relative altitude waypoints from APM to a file, we need
to preserve the altitude
2012-09-10 09:40:29 +10:00
Andrew Tridgell
feb3fe77ce APM: simplify radio_trim code
this removes the duplicate code. Throttle trim is not changed.
2012-09-09 19:39:09 +10:00
Andrew Tridgell
5c3595e0dc APM: fixed throttle nudging
The nudge value depended on RC3_TRIM, which is not a reliable
value. It tried to only take effect when the throttle stick was above
50%, but if RC3_TRIM was high for some reason (say 1500) then it would
actually depress the throttle by a large amount, which could cause the
plane to stall.

This also adds a boolean option THROTTLE_NUDGE to allow disabling of
throttle nudging
2012-09-09 19:39:04 +10:00
Andrew Tridgell
657dd5969f APM: preparing for 2.61 release 2012-09-08 18:36:17 +10:00
Andrew Tridgell
49468953a3 APM: updated for new RC_Channel_aux API 2012-09-08 15:14:41 +10:00
Andrew Tridgell
a6422be8fb APM: added mtk and mtk16 build targets
useful for testing non-auto gps detection
2012-09-08 12:43:36 +10:00
Andrew Tridgell
f26b9ab286 APM: prevent crosstrack from takeoff point after takeoff completion 2012-09-08 11:37:14 +10:00
Andrew Tridgell
dec12c7370 APM: use ahrs.airspeed_estimate() in two more places
this applies the wind constraint
2012-09-08 11:37:11 +10:00
Andrew Tridgell
cde7d8c5e7 APM: fixed some compiler warnings 2012-09-08 10:14:32 +10:00
Andrew Tridgell
d07d42403e APM: tidy up an if() statement 2012-09-08 10:14:20 +10:00
Andrew Tridgell
164c60d25f APM: added RUDDER_STEER option
when enabled, this uses only the rudder to steer during takeoff and
landing, using aileron only for levelling
2012-09-08 10:07:03 +10:00
Andrew Tridgell
130b26e1f9 APM: support DO_SET_SERVO command 2012-09-08 10:06:53 +10:00
Andrew Tridgell
96ea350143 APM: added XTRK_MIN_DIST option
this allows you to disable crosstrack correction on short legs
2012-09-08 10:06:44 +10:00
Andrew Tridgell
a446a7a9ed APM: allow serial buffer size to be configured
very useful for packet forwarding setups
2012-09-08 10:06:35 +10:00
Andrew Tridgell
9b2ad55773 APM: added forwarding of unknown MAVLink types 2012-09-08 10:06:15 +10:00
Andrew Tridgell
68705fe7e6 APM: accumulate mag readings during spare cycles in ArduPlane
With this change we average over 100 mag readings per compass.read()
call, which means we are reading the compass at over 1kHz instead of
10Hz. The noise reduction is huge.
2012-09-08 10:05:58 +10:00
Michael Oborne
cd08420c3e AP fix takeoff alt issue
issue 733
2012-09-06 20:19:12 +08:00
Pat Hickey
b02340fe10 APM_Config.h for ArduCopter/ArduPlane: better descr of APM2_BETA_HARDWARE 2012-09-05 15:36:57 -07:00
Andrew Tridgell
83153eebd4 APM: obey pitch limits in FBWA as well
this means pitch limits are constrained by LIM_PITCH_MIN and
LIM_PITCH_MAX
2012-08-30 20:15:42 +10:00
Andrew Tridgell
9a987ce116 APM: fixed docs for LIM_PITCH_MIN 2012-08-30 14:55:08 +10:00
Michael Oborne
1e7adac365 AP fix attitude hil.
we where waiting on new_data that had no way of getting there.
2012-08-30 07:54:20 +08:00
Andrew Tridgell
f6c3197cd2 APM: added new TELEM_DELAY parameter
number of seconds to delay telemetry
2012-08-30 08:59:39 +10:00
Craig Elder
4ad516c445 Arducopter: increased MAVLINK delay to 6s to reduce the chance of xBee bricking
Arduplane:  increased MAVLINK delay to 6s to reduce the chance of xBee bricking
Ardurover:  increased MAVLINK delay to 6s to reduce the chance of xBee bricking
2012-08-28 20:09:10 -07:00
Andrew Tridgell
e2b8817a89 APM: added the ability to forcibly crash the plane on OBC failsafe breach
this allows a user to setup the OBC failsafe system to forcibly crash
the plane (surfaces at limits, zero throttle) when the failsafe system
triggers. This is to allow APM to be used in the Outback Challenge. In
the OBC an external failsafe board also does this using the heartbeat
control pin, so this is an extra safety mechanism.

To prevent users accidentially triggering a crash, this code only
activates if FS_TERM_ACTION is set to to the magic value 42.
2012-08-28 20:18:24 +10:00
Andrew Tridgell
fce01464b1 APM: added ALT_CTRL_ALG parameter
this allows you to select different altitude control algorithms. The
current choices are for the default (automatic based on if airspeed is
available), or to force a non-airspeed algorithm

The idea is to make it possible to use airspeed for some things (like
wind speed, speed scaling) but not for alt control
2012-08-28 20:18:24 +10:00
Andrew Tridgell
85e9fa8c3b APM: fixed another problem with DO_JUMP
off by one error!
2012-08-28 20:18:24 +10:00
Andrew Tridgell
ded64fd9ea APM: check for geofence fence total of 0 2012-08-28 20:18:24 +10:00
Andrew Tridgell
d13d117e61 APM: removed reset_I() and instead auto-reset integrator in PID library
this prevents us resetting key integrators on waypoint change, while
still preventing old integrators being used when a PID starts to be
used again
2012-08-28 20:18:23 +10:00
Andrew Tridgell
dcbd0fbd44 APM: cleanup throttle suppression code and don't use airspeed to unsupress
this removes the throttle suppression when any of the conditions are
met once, as otherwise flying slow below 10m could zero the throttle.

It also removes the use of airspeed for disabling throttle
supression. Otherwise a strong gust of wind can cause ArduPlane to
try to takeoff!
2012-08-28 20:18:23 +10:00
Amilcar Lucas
b48a1f1fc4 ArduPlane: Fix 1280 builds
Added fine-granular features in the AP_Mount class to reduce code size on 1280 chips
Remove camera trigger support on 1280 chips
2012-08-27 01:33:45 +02:00
Amilcar Lucas
769f04b7d6 Improve comments, no functional changes 2012-08-27 01:32:27 +02:00
Andrew Tridgell
ecc6a52904 APM: report estimated airspeed if airspeed not available 2012-08-25 17:49:26 +10:00
Andrew Tridgell
3c7d7ba228 APM: use airspeed estimate for speed scaling if available 2012-08-25 17:49:26 +10:00
Andrew Tridgell
c9cf483822 APM: added XTRK_USE_WIND parameter
when enabled this will use the wind estimation code to adjust the
navigation bearing, allowing the navigation code to cope with much
higher levels of wind while using a compass
2012-08-25 17:49:26 +10:00
Andrew Tridgell
abe5bbfa4d APM: support forcing MANUAL of FBWA mode over MAVLink 2012-08-24 15:18:22 +10:00
Andrew Tridgell
b4134de550 APM: ensure fence_total is positive
thanks to David Buzz for the suggestion
2012-08-24 14:56:46 +10:00
Andrew Tridgell
c35530c362 APM: fixed wheeled takeoff with Jons new controllers 2012-08-22 17:34:01 +10:00
Andrew Tridgell
c730d9072e APM: prepare for ArduPlane 2.60 2012-08-22 16:28:38 +10:00
Andrew Tridgell
2d8f99433c APM: removed factor of 0.5 in non-airspeed takeoff pitch
this limited the pitch far below the specified target pitch
2012-08-22 16:28:38 +10:00
Andrew Tridgell
4668f8b7db APM: ensure takeoff_complete is reset 2012-08-22 16:17:55 +10:00
Andrew Tridgell
95c941664f APM: fixed bug in do_jump() navigation
this avoids a problem where the jump can cause the next command to be
reset to 0
2012-08-22 15:29:46 +10:00
Andrew Tridgell
6ab2a861f7 APM: added RSSI to RC_CHANNELS_RAW as well
and prevent double read
2012-08-22 13:58:25 +10:00
Andrew Tridgell
2d5bb7c51b APM: added RSSI in raw message too 2012-08-22 13:48:09 +10:00
Andrew Tridgell
c0c0b8c976 APM: added RECEIVER_RSSI_PIN option
this allows for the receiver RSSI to be sent over MAVLink

Thanks to Burt Green for the suggestion
2012-08-22 13:33:12 +10:00
Andrew Tridgell
d445482ace APM: added optional use of new APM_Control library
thanks to Jon Challinger for the new controllers!
2012-08-22 12:45:14 +10:00
Andrew Tridgell
9e926eae51 APM: optional build with new controller libs 2012-08-22 12:39:07 +10:00
uncrustify
70048f3d6f uncrustify ArduPlane/Parameters.h 2012-08-21 19:19:51 -07:00
uncrustify
3bee769405 uncrustify ArduPlane/config.h 2012-08-21 19:19:51 -07:00
uncrustify
d0ed723c1e uncrustify ArduPlane/planner.pde 2012-08-21 19:19:51 -07:00
uncrustify
a8e5900624 uncrustify ArduPlane/system.pde 2012-08-21 19:19:51 -07:00
uncrustify
8c2d604971 uncrustify ArduPlane/test.pde 2012-08-21 19:19:51 -07:00
uncrustify
d504ae680a uncrustify ArduPlane/setup.pde 2012-08-21 19:19:51 -07:00
uncrustify
f7b8fecad9 uncrustify ArduPlane/GCS_Mavlink.pde 2012-08-21 19:19:51 -07:00
uncrustify
0e8a76ccdd uncrustify ArduPlane/ArduPlane.pde 2012-08-21 19:19:51 -07:00
uncrustify
ff4afa767b uncrustify ArduPlane/commands.pde 2012-08-21 19:19:51 -07:00
uncrustify
43991712be uncrustify ArduPlane/radio.pde 2012-08-21 19:19:50 -07:00
uncrustify
d5767ef817 uncrustify ArduPlane/Attitude.pde 2012-08-21 19:19:50 -07:00
uncrustify
0f415bbc6a uncrustify ArduPlane/Parameters.pde 2012-08-21 19:19:50 -07:00
uncrustify
39ab309b87 uncrustify ArduPlane/Log.pde 2012-08-21 19:19:50 -07:00
uncrustify
b960619195 uncrustify ArduPlane/defines.h 2012-08-21 18:59:05 -07:00
uncrustify
2c56e5c690 uncrustify ArduPlane/APM_Config.h 2012-08-21 18:59:05 -07:00
uncrustify
bd0146f776 uncrustify ArduPlane/GCS.h 2012-08-21 18:58:53 -07:00
uncrustify
5267ea6aad uncrustify ArduPlane/sensors.pde 2012-08-21 18:58:40 -07:00
uncrustify
e212c152f7 uncrustify ArduPlane/geofence.pde 2012-08-21 18:58:31 -07:00
uncrustify
326ca1b7cd uncrustify ArduPlane/failsafe.pde 2012-08-21 18:58:24 -07:00
uncrustify
4e795d4f1e uncrustify ArduPlane/commands_process.pde 2012-08-21 18:58:17 -07:00
uncrustify
909e39d667 uncrustify ArduPlane/navigation.pde 2012-08-21 18:58:17 -07:00
uncrustify
4793162a9d uncrustify ArduPlane/commands_logic.pde 2012-08-21 18:58:11 -07:00
uncrustify
9b133019b3 uncrustify ArduPlane/events.pde 2012-08-21 18:57:59 -07:00
uncrustify
0683be294b uncrustify ArduPlane/climb_rate.pde 2012-08-21 18:57:21 -07:00
uncrustify
c69772388b uncrustify ArduPlane/control_modes.pde 2012-08-21 18:57:21 -07:00
Andrew Tridgell
343f7d2de0 APM: removed DMP support from ArduPlane
Without centripetal correction the DMP code will almost certainly
crash a plane
2012-08-22 11:46:35 +10:00
Andrew Tridgell
6d11940ada AHRS: removed Quaternion build support from APM/ACM/rover 2012-08-22 10:42:21 +10:00
Andrew Tridgell
bf2319a0fc AHRS: fixed reference to AHRS var_info for APM and ACM 2012-08-21 15:58:32 +10:00
Andrew Tridgell
c5b77f3909 APM: reset steering PID integrator in reset_I() 2012-08-21 15:01:01 +10:00
rmackay9
11e946eb54 ArduCopter, ArduPilot: revert mavlink delay callback to be "unsigned long" 2012-08-18 20:34:41 +09:00
rmackay9
360c1198a6 ArduPlane: more "int" to "int16_t" and added cast to (int) in printf statements.
Also modified dump_log function's last_log_num to be int16_t which matches return type from DataFlash's find_last_log method.
2012-08-18 18:55:14 +09:00
rmackay9
6d489947cf ArduPlane: replaced many "int" with "int16_t", "long" with "int32_t" 2012-08-18 18:26:13 +09:00
rmackay9
9773c8ce93 ArduPlane: commented out two unused variables to remove compiler warning 2012-08-18 13:20:34 +09:00
Andrew Tridgell
0868bb76e5 APM: fixed SITL build 2012-08-17 16:28:45 +10:00
Andrew Tridgell
5e690d5680 APM: added parameter FBWB_ELEV_REV
this fixes issue 343
2012-08-17 15:04:53 +10:00
Andrew Tridgell
6300fa7399 math: more abs() fixes
abs() is 16 bit
2012-08-16 15:17:42 +10:00
Andrew Tridgell
034fb5b194 APM: fixed hil build 2012-08-16 12:53:37 +10:00
Andrew Tridgell
d27e51f20a APM: allow telemetry send during parameter and waypoint fetch
this slows down telemetry by a factor of 4 during parameter or
waypoint transmit. That ensures that mode changes and gps position are
still updated during a long parameter fetch
2012-08-16 10:50:12 +10:00
Andrew Tridgell
ed064b2506 MAVLink: enable fetching of single parameters
this makes it possible for the GCS to fetch a single parameter by
name, which is useful for parameters that change in flight
2012-08-16 10:14:46 +10:00
Andrew Tridgell
c960db7af5 APM: allow for separate calibration of airspeed/barometer
this is useful just before takeoff, to account for temperature changes
2012-08-15 19:49:09 +10:00
Andrew Tridgell
ad73c229ab APM: added LAND_FLARE_ALT and LAND_FLARE_SEC
these allow you to configure the altitude and time before touchdown to
flare the plane and lock the heading. Useful on larger planes.
2012-08-15 18:11:16 +10:00
Andrew Tridgell
1252ddfe0c APM: rename RDRSTEER to WHEELSTEER
thanks to Jon for the suggestion
2012-08-15 16:28:59 +10:00
Andrew Tridgell
ffbd229841 APM: use AHRS position for geo-fence
this allows it to take account of dead-reckoning
2012-08-15 14:31:10 +10:00
Andrew Tridgell
df3c8a5bc0 APM: when land_complete is true, use land_pitch
this gives a flare on final landing
2012-08-15 12:39:35 +10:00
Andrew Tridgell
2d7fcbd14b APM: reload airspeed and throttle after landing
this allows for restarting a mission after landing with reasonable
airspeed values
2012-08-15 12:39: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
e26e8b3b67 APM: added RDRSTEER_ PID for steering on ground
this allows for rolling takeoff with steering, and use of rudder in
landing
2012-08-15 12:39:35 +10:00
Andrew Tridgell
52064772ee APM: report speed changes via MAVLink 2012-08-15 12:39:35 +10:00
Andrew Tridgell
817017658d APM: implement FENCE_ACTION_REPORT
when FENCE_ACTION is set to FENCE_ACTION_REPORT a fence breach is
reported, but the flight mode is not changed
2012-08-15 12:39:35 +10:00
Andrew Tridgell
8cb55eb75a APM: keep the time of the last heartbeat message
this will be used for failsafe processing
2012-08-15 12:39:34 +10:00
Andrew Tridgell
0584017aff APM: expose change_command() and geofence_breached() to libraries
this makes a failsafe library easier
2012-08-15 12:39:34 +10:00
Andrew Tridgell
ff6301fb46 APM: show waypoint number in jump message 2012-08-15 12:39:34 +10:00
Andrew Tridgell
92bdc23ab6 APM: minor formatting fix 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
Andrew Tridgell
5631b90222 APM: interpret zero lat/lng as being current location
this makes it easy to have a "loiter in current position" mission
element
2012-08-15 12:39:34 +10:00
Andrew Tridgell
93f1d5645b APM: fixed LOITER_TIME and LOITER_TURNS
These now follow the mavlink spec. Loiter time is in seconds, and
loiter turns is now 32 bit angle, so can handle larger numbers of
turns.
2012-08-15 12:39:34 +10:00
Andrew Tridgell
3bdc7d41be INS: disable INS AP_Param table when not on APM1 hardware
this could cause overwriting of memory with default values
2012-08-11 22:06:03 +10:00
Andrew Tridgell
c31eef59ae Mavlink: log wind estimation result 2012-08-11 22:06:03 +10:00
Andrew Tridgell
d9b09d2c93 APM: allow for navigation by dead-reckoning
we now ask AHRS if we have a position estimate, and use that if
available
2012-08-11 12:01:08 +10:00
Andrew Tridgell
9fea3e3ac1 APM: pass airspeed sensor to AHRS 2012-08-11 08:57:44 +10:00
Andrew Tridgell
0ffc89d512 APM: support the MISSION_WRITE_PARTIAL_LIST command
this allows missions to be partially updated in flight
2012-08-09 17:13:36 +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
Andrew Tridgell
5498d347f3 APM: Added RST_MISSION_CH option
this allows a pilot to reset the mission using a transmitter
switch. Very useful for repeating a mission during testing
2012-08-09 10:33:16 +10:00
Andrew Tridgell
e2c8ec2c9e APM: removed THROTTLE_REVERSE option
Better to use RC3_REV
2012-08-09 10:04:44 +10:00
Andrew Tridgell
e133900c68 APM: Added STICK_MIXING option
this replaces the compile time option. Disabling during long distance
flights when the transmitter may be out of range is useful.
2012-08-09 08:53:29 +10:00
Amilcar Lucas
d34549f386 Add an optional second mount to ArduPlane and ArduCopter 2012-08-08 23:22:24 +02:00
Andrew Tridgell
dc99586981 APM: removed pointless load() call 2012-08-08 16:51:23 +10:00
Andrew Tridgell
dcc50b5705 AP_Airspeed: removed values passed to constructor 2012-08-08 16:38:39 +10:00
Andrew Tridgell
2114acddf1 APM: fixed default flap speed
the default of 255 translates to -1 as a AP_Int8, so use zero to mean
no flaps
2012-08-08 13:04:21 +10:00
Andrew Tridgell
5bfd1200d6 APM: change variables to use _cm, _cd and _ms suffix for units
this makes it less likely that we mix up units
2012-08-08 12:12:30 +10:00
Andrew Tridgell
a823c9ceae APM: removed cli slider and dipswitch options
use mavlink/eeprom for all config
2012-08-08 12:12:29 +10:00
Andrew Tridgell
12cd6b68ff AP_Param: update ArduPlane core for new AP_Param interface 2012-08-08 12:11:57 +10:00
Jonathan Challinger
7815e3d810 APM: fixed rounding of altitude
the cast was rounding to the nearest meter
2012-08-08 12:07:35 +10:00
Amilcar Lucas
f14237126a Add me :) 2012-08-06 00:40:12 +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
95f2af6d2d Implement set ROI 2012-08-04 18:44:29 +02:00
Amilcar Lucas
4ba847c449 The mount type must be updated periodically 2012-08-04 18:44:08 +02:00
Amilcar Lucas
bbc4bdb729 More flexible RC support 2012-08-04 18:39:20 +02:00
Amilcar Lucas
50b5d33745 Enable camera triggering by default 2012-08-04 16:32:47 +02:00
Amilcar Lucas
82b82283be ATmega1280 does not have enough memory for mount support so disable AUTO GPS support, to allow mount support to fit.
This should almost have no side effects, because the most users use MTK anyways.
If the user defined a GPS protocol, than we will NOT overwrite it
2012-08-04 16:32:20 +02:00
Andrew Tridgell
301ab00c5b 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
176e6fdd68 ArduPlane: bug fix to global var_info parameter list for ahrs object. 2012-08-01 10:52:34 +09:00
Andrew Tridgell
0b49ac0ed0 APM: fixed overflow in geofence code for altitudes above 327 meters 2012-07-31 15:46:47 +10:00
Andrew Tridgell
cb61c3be96 APM: fixed case of 'LAND_PITCH_CD'
mavlink parameters are uppercase by convention
2012-07-29 17:07:38 +10:00
rmackay9
06e35820e5 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
842ce47219 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
cb0eacca37 AP Fix Hil Airspeed calc in m/s 2012-07-26 20:21:17 +08:00
Andrew Tridgell
9eb05a2e1a APM: update version for 2.50 release 2012-07-26 11:36:17 +10:00
Andrew Tridgell
6bcfe913f7 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
3c2fc72654 APM: fixed HIL build 2012-07-26 10:09:07 +10:00
Andrew Tridgell
07992bc943 APM: fixed build
the SET_ROI commands are not supported yet
2012-07-26 10:03:36 +10:00
Andrew Tridgell
7e697e4abd 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
39ad8b5eec AP fix sitl hil attitude mode. 2012-07-24 07:18:25 +08:00
Andrew Tridgell
9e72d4c3f4 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
85465c9126 MAVLink: fixed another two places where micros() was used for a millisecond time 2012-07-20 11:57:15 +10:00
Jason Short
98237a0e00 Added Oilpan INS group object param 2012-07-18 23:07:50 -07:00
Jason Short
e574f3c8cf Arduplane: Fixed unsigned int comparison warning 2012-07-18 23:07:34 -07:00
Jeff Taylor
d02655ac56 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
d6e370886f 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
1cf5057c61 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
c7da63509b APM: Removed unused YAW_DAMPENER code.
YAW_DAMPENER was defined as zero
2012-07-19 11:50:21 +10:00
Jonathan Challinger
d9d055ef78 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
3d385c0fb4 ArduPlane parameters: re-order the files, looks like the second file gets ignored :( 2012-07-18 22:52:17 +02:00
Amilcar Lucas
8a8e11fa7f ArduPlane parameters: Add base class info as well 2012-07-18 22:39:49 +02:00
Amilcar Lucas
610fdeacc1 Support up to 11 servos in APM2
Conflicts:

	ArduPlane/ArduPlane.pde
2012-07-18 22:01:19 +02:00
Michael Oborne
636fcadde4 fix rc libray param gen 2012-07-18 07:03:39 +08:00
Jonathan Challinger
fc4f111d15 Changed mavlink GLOBAL_POSITION_INT.relative_alt message to correctly return altitude above ground. 2012-07-17 16:15:11 +10:00
Andrew Tridgell
de3c9ce56d 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
67ecaa9252 AP fix duplicate keys in param config 2012-07-13 07:06:01 +08:00
Amilcar Lucas
dfe0983e1e 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
c80a88766f APM: added credit for FBW altitude limit code
thanks Yuri!
2012-07-10 08:36:50 +10:00
Andreas M. Antonopoulos
de64c05f8e param_parser: cosmetic
Arduplane: doc fixes
2012-07-08 21:45:26 -07:00
Andrew Tridgell
78c51b945f APM: fixed DisplayName/Description mixups in parameter docs 2012-07-07 17:40:43 +10:00
Andrew Tridgell
f6d7d1bc59 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
58fd91165f APM: fixed some build warnings and type errors 2012-07-06 19:59:18 +10:00
Andrew Tridgell
5abd26a142 APM: more parameter documentation 2012-07-05 15:06:45 +10:00
Andrew Tridgell
21f06f8a39 GeoFence: fixed default return altitude units
off by 100x!
2012-07-05 15:06:44 +10:00
Andrew Tridgell
0385932afb MAVLink: added climb rate reporting 2012-07-05 13:00:46 +10:00
Andrew Tridgell
95d9569b35 Docs: fixed some units in APM parameter docs 2012-07-05 13:00:46 +10:00
Andrew Tridgell
60caaa4b04 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
fb66899414 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
6ee9f1ae97 APM: use new location functions 2012-07-04 12:42:46 +10:00
Andrew Tridgell
99b11e4f19 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
b2d73d8f68 fixup sitl attribute group for planner. - causing invalid advanced/standard views 2012-07-01 21:43:32 +08:00
Andrew Tridgell
82ede937e7 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
55092c25a6 SITL: enable the SIM_* parameters in ArduCopter and ArduPlane 2012-06-29 15:10:52 +10:00
Andrew Tridgell
5bccfbd94c 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
3a2594fa1a APM: ArduPlane updates for new compass interface 2012-06-27 16:01:50 +10:00
Andrew Tridgell
6639294c72 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
2934b4173b APM: set_centripetal() is now set_fly_forward()
this controls more than just centripetal correction
2012-06-27 16:01:49 +10:00
rmackay9
621e020dac 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
b072a59843 Improve parameters descriptive text 2012-06-21 00:20:37 +02:00
Andrew Tridgell
4a50686c3e APM: prepare for 2.40 release 2012-06-16 10:11:26 +10:00
Andrew Tridgell
58379b928f MAVLink: make usage of MAVLink defines more consistent 2012-06-15 16:27:11 +10:00
Andrew Tridgell
619bcc00d9 APM: parameter enums should not be conditionally compiled 2012-06-15 11:57:00 +10:00
Andrew Tridgell
0900751bcd APM: added longer comment on k_format_version 2012-06-15 11:55:09 +10:00
Amilcar Lucas
6d2ac62006 Let's keep the same format version until CAMERA is activated by default 2012-06-13 21:28:13 +02:00
Amilcar Lucas
07a18904fc 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
1906e06b69 Added camera trigger functionality 2012-06-13 21:00:20 +02:00
Amilcar Lucas
a32b7c200b 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
5ffd489d87 Spellcheck 2012-06-13 20:44:35 +02:00
Jason Short
448e4d8728 Added CLI level command 2012-06-11 23:01:25 -07:00
Jason Short
c804860243 Cosmetic changes only. 2012-06-10 13:10:07 -07:00
Jason Short
4e50db2f6e Added missing Manual_level config 2012-06-10 13:08:48 -07:00
Jason Short
37d8f86d33 Added missing Manual Level initializer 2012-06-10 13:08:22 -07:00
Andrew Tridgell
940d994efb GPS: Use appropiate GPS_ENGINE settings in APM, ACM and rover 2012-06-10 16:36:18 +10:00
Andrew Tridgell
99b39aef93 APM: ready for 2.40-beta 2012-06-08 18:03:21 +10:00
Andrew Tridgell
a684bddbda 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
25c17a5425 re-enable the AP_Mount build 2012-06-04 19:32:11 +10:00
Andrew Tridgell
e7cf643386 added mavlink09 targets
allows easier building with mavlink0.9
2012-06-04 13:14:52 +10:00
Andrew Tridgell
3af29bd84e AP_Mount: disable AP_Mount until it works with MAVLINK10 2012-06-04 13:14:51 +10:00
Michael Oborne
a71ed6c5ce enable mavlink10 by default 2012-06-04 08:02:08 +08:00
Michael Oborne
b4a1b03fd3 AP: add fake satellite count for hil. 2012-06-02 16:38:20 +08:00
Pat Hickey
5766afa6c8 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
1c00d1ffe3 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
c307b69515 increase resolution on params 0.1 > 0.01 2012-05-24 06:22:57 +08:00
Andrew Tridgell
d9457ecc38 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
66544a5db2 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
b3aa704c49 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
8e01bc3593 MAVlink: update ArduPlane for param fetch during DataFlash erase
same changes as for ArduCopter
2012-05-22 16:13:35 +10:00
Andrew Tridgell
251fe26875 GPS: added ublox build target
useful for 1280 APM1s
2012-05-18 22:31:50 +10:00
Andrew Tridgell
3ae1c6f9e0 APM: prepare for 2.34 2012-05-14 14:29:59 +10:00
Michael Oborne
218e70cd8b AP - fix attitude level hil mavlink 1.0 issue 2012-05-06 11:05:35 +08:00
Andrew Tridgell
f43f5900bc 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
75f091cd9c more arduplane param info 2012-04-30 20:39:41 +08:00
Michael Oborne
c1115d83c7 update some arduplane config items 2012-04-30 18:44:20 +08:00
Andrew Tridgell
8fab91e063 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
67afdc7485 autotest: fixes for MAVLink 1.0 in autotest 2012-04-27 15:15:53 +10:00
Andrew Tridgell
b6a475f6a5 MAVLink: make APM build with MAVLink 1.0 possible with arduino GUI 2012-04-24 22:24:58 +10:00
Andrew Tridgell
95be2c5922 APM: updates for MAVLink 1.0 2012-04-24 19:54:20 +10:00
Andrew Tridgell
615defdc37 use build_all.sh to ensure we don't break the mount code 2012-04-24 10:57:43 +10:00
Andrew Tridgell
8e6fdb8981 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
8d797fec3c fix potential null pointer 2012-04-20 17:57:06 +08:00
Andrew Tridgell
1cc7adbac0 sitl: allow sitl build with MAVLink 1.0 2012-04-20 10:09:21 +10:00
James Goppert
5390467f3d Worked on ArduCopter cmake options. 2012-04-19 16:05:08 -04:00
James Goppert
6fae800dc2 Working on ArduPlane options. 2012-04-19 02:23:54 -04:00
James Goppert
53c143a575 Improved cmake options. 2012-04-18 23:15:29 -04:00
James Goppert
0f90164f03 Changed default cmake port for ArduPlane. 2012-04-18 21:31:46 -04:00
James Goppert
0e7e77760a Updated ArduPlane/ArduCopter cmake options. 2012-04-18 15:16:02 -04:00
James Goppert
a9f0bd24d7 Switched to project specific cmake lists.
This is better since each project has very different options.
2012-04-17 23:07:20 -04:00
James Goppert
fb07cddd6f Making cmake local to projects. 2012-04-17 21:31:10 -04:00
Andrew Tridgell
d07b77237e AHRS: enable AHRS_ group in ArduPlane 2012-04-16 20:55:13 +10:00
Andrew Tridgell
85ba978a65 ready for 2.33 release 2012-04-09 18:16:49 +10:00
Andrew Tridgell
e1270401bf MAVLink: make parameter send use adaptive stream rate
this makes it possible to fetch parameters with very low air data
rates
2012-04-02 11:18:53 +10:00
Andrew Tridgell
7b50724f60 MAVLink: allow for find grained stream rate control
streams can now be requested at any multiple of 20ms. So if you ask
for a stream at 7Hz then you will get it at close to 7Hz.
2012-04-02 11:18:53 +10:00
Andrew Tridgell
e0bb7e2777 MAVLink: don't waste 100 bytes of bandwidth sending 1 byte of information
the GPS_STATUS message is a massive waste of bandwidth, but it is the
only message that tells us the number of visible satellites. So only
send it if that information changes.

This makes MAVLink work better at low baud rates
2012-03-30 17:46:20 +11:00
Andrew Tridgell
87ed39ea46 APM: use set_blocking_writes(false) when we have done ground start 2012-03-30 17:46:20 +11:00
Andrew Tridgell
b4107d35e8 MAVLink: raise the serial transmit buffer size to 256 bytes
the 128 byte serial transmit buffer was causing significant problems
with queueing of mavlink messages. With 256 bytes we can fit a lot
more messages out in each pass of the code, which makes telemetry more
efficient

As we discussed on the dev call, we now have enough free ram for this
to be worthwhile
2012-03-30 17:46:20 +11:00
Andrew Tridgell
86cc7a5e1d APM: enable AP_Declination by default 2012-03-30 14:25:27 +11:00
Andrew Tridgell
168c45ab12 AP_Declination: enabled auto declination by default in APM 2012-03-30 14:25:27 +11:00
Andrew Tridgell
9d193f06c9 APM: Change version to 2.32 2012-03-29 12:50:12 +11:00
Andrew Tridgell
4c4c38f69a APM: Added MANUAL_LEVEL option
when MANUAL_LEVEL is set to 1, we don't do accelerometer levelling at
startup, and instead used the values saved in the EEPROM. This makes
it easier to do levelling on the bench, or once for a series of
flights for the day
2012-03-29 12:39:53 +11:00
Andrew Tridgell
1c934dc7ef APM: increase ArduPlane version to 2.31 2012-03-27 16:13:29 +11:00
Andrew Tridgell
34506b170f Mavlink: fixed warnings about limits on int32 values 2012-03-27 15:37:25 +11:00
Andrew Tridgell
989304fb47 APM: enable the new offset nulling in APM 2012-03-27 15:37:24 +11:00
Andrew Tridgell
458d55e5bc MAVLink: constrain variable changes to the datatype range
if someone tries to set a AP_Int16 to a value of 300000, they now get
32767 instead of -27678
2012-03-19 17:29:02 +11:00
Andrew Tridgell
8afd196907 APM: adapt ArduPlane for AHRS framework 2012-03-19 17:29:02 +11:00
Andrew Tridgell
e81060a1a6 APM: removed some config file cruft
these options are now settable via MAVLink
2012-03-18 13:34:40 +11:00
Michael Oborne
3944c1e665 update AP version to 2.30 2012-03-18 10:27:49 +08:00
Amilcar Lucas
6e9ffb4249 correct small typos in comments 2012-03-11 21:30:09 +01:00
Andrew Tridgell
2a03a0584f AP_Declination: disable library when AUTOMATIC_DECLINATION is not ENABLED
unfortunately this library was causing avrdude to fail to load the hex
to my APM2. Until we work out why, it's disabled.
2012-03-11 21:46:41 +11:00
Adam M Rivera
d3667faef4 AP_Declination: Added call to compass.set_initial_location if the compass is enabled when the 3D fix is obtained.
Signed-off-by: Andrew Tridgell <tridge@samba.org>
2012-03-11 20:59:47 +11:00
Adam M Rivera
2524f9c8df AP_Declination: Added new config value to allow the user to have the declination overwritten on every 3D fix.
Signed-off-by: Andrew Tridgell <tridge@samba.org>
2012-03-11 20:59:47 +11:00
Andrew Tridgell
d75e883fe8 GCS: get_integrator() is now get_gyro_drift() in DCM 2012-03-10 10:34:33 +11:00
Andrew Tridgell
9a06d35772 make 'ENABLE' and 'ENABLED' mean the same things
users get this wrong far too often!
2012-03-10 10:34:33 +11:00
Andrew Tridgell
13d5839778 APM: removed quaternion special cases 2012-03-10 10:34:32 +11:00
Andrew Tridgell
371677610d APM: avoid fetching the DCM matrix twice
also no special case for quaternions
2012-03-10 10:34:32 +11:00
Andrew Tridgell
7a9b3d3388 Quaternion: show "Quaternion test" on startup if enabled 2012-03-10 10:34:29 +11:00
Andrew Tridgell
e39c3cb9d2 APM: make it possible to build ArduPlane with quaternion support 2012-03-10 10:34:29 +11:00
Andrew Tridgell
367947fd33 HWSTATUS: if we don't know the voltage, report it as zero
this will tell us if board_voltage() is really working
2012-03-10 10:34:28 +11:00
Andrew Tridgell
511f65e2ef APM: fixed reset of control switch when short_fs_action is disabled
When FS_SHORT_ACTN is 0, we should not re-read the control switch
unless we changed mode on the initial short fs action
2012-03-10 10:34:28 +11:00
Andrew Tridgell
b455443e2c APM: added logging of DCM, HWSTATUS and SIMSTATE 2012-03-10 10:34:27 +11:00
Andrew Tridgell
b20084af7d APM: added board_voltage() function 2012-03-02 15:48:27 +11:00
Pat Hickey
ff0fc26484 Cleanup: rename files with spaces in their names, replace with underscores
* Skipped /Tools/ArdupilotMegaPlanner/Resources/new...
  and /archive/Configurator/Source/Utilities/TDMS/G...
  because I don't want to mess with that.
2012-02-28 16:14:31 -08:00
rmackay9
02cf07bb6b ArduPlane - updated to use new filter library 2012-02-28 21:03:04 +09:00
rmackay9
e1114bf7f7 ArduPlane - added Filter.h to unbreak the build! 2012-02-26 17:05:56 +09:00
rmackay9
21d7a77009 ArduPlane - switch sonar to use new mode filter from filter library 2012-02-26 15:35:42 +09:00
Andrew Tridgell
0248b48d30 allow MAG_ENABLE to be changed in flight
this disables the compass in DCM if MAG_ENABLE is changed in
flight. Without this we would use a fixed yaw once the compass is
disabled

This also makes sure we don't pass the compass to DCM till we have
done a read. This ensures we have a good compass fix for the initial
DCM heading
2012-02-25 14:51:09 +11:00
Andrew Tridgell
690dc9052a GCS: force scalar type in copy_name()
this enables access to compass offsets over MAVLink
2012-02-25 11:37:20 +11:00
Andrew Tridgell
95ef9206dc DCM: renorm_sqrt_count is now called renorm_range_count 2012-02-23 08:16:08 +11:00
Andrew Tridgell
df8a557630 AP_Param: update users of AP_Param for ParamToken 2012-02-19 17:05:28 +11:00
Andrew Tridgell
16009777d9 APM: expanded parameter area to match ACM
this ensures waypoints and basic eeprom layout remain in sync
2012-02-18 10:51:57 +11:00
Andrew Tridgell
718a5b70e3 AP_Param: fixed saving of sensor calibration
this fixes the saving of the accel and gyro calibration to EEPROM,
which was initially broken by the AP_Param conversion
2012-02-18 10:51:57 +11:00
Andrew Tridgell
78babd37fa APM: use set_and_save_ifchanged() for GCS stream rates
this avoids a lot of EEPROM scan operations when the groundstation
updates the stream rates
2012-02-18 10:51:57 +11:00
Phil
9242c157ee APM: Fix rudder in elevon mode.
elevon planes can have rudders too
2012-02-16 14:43:24 +11:00
Andrew Tridgell
c14097ffa1 APM: changed hold_course for landing to be based on yaw_sensor
when we are in the final stages of a landing (less than 2 seconds from
landing waypoint, or less than 3m above landing altitude) we switch
the navigation to use a fixed course. The code previously used the
crosstrack_bearing for this, but this can lead to a large nav_roll in
this final stage of the approach, which can put a wing into the
runway. In autotest we were seeing a nav_roll value of -45 degrees as
we crossed the transition point for the landing, which often led to a
crash.

This changes the code to use the current yaw_sensor value instead,
which is much less likely to lead to large rolls in the final landing
stages.
2012-02-15 08:50:45 +11:00
Andrew Tridgell
c662140a2b APM: report the nav_bearing as hold_course when enabled
this gives a more accurate view of the navigation code, as when
hold_course is not -1 it overrides nav_bearing
2012-02-15 08:50:45 +11:00
Andrew Tridgell
330ff5dc8b APM: added some comments related to hold_course
hold_course is either -1 (for disabled) or a course to hold for
takeoff/landing. This makes the code a bit clearer.

It also resets hold_course in all non-auto modes, to ensure it isn't
used
2012-02-15 08:50:45 +11:00
Andrew Tridgell
11835508a7 when setting airspeed and groundspeed in a mission, don't save to EEPROM
If you include airspeed, throttle or groundspeed changes in a mission
then those should not be saved to EEPROM, as otherwise if you restart
and re-fly the mission you will be starting with different parameters
to the ones you used for the first flight.

This is particularly important for setting the target airspeed when
coming in for a landing. You typically set a low target, but if you
fly again the next day I think it would be a real surprise to find
that your loiter airspeed has then changed to the value from the
landing part of your last mission.

This one can be argued either way, but I think that not saving these
changes is the more conservative choice, and better fits the
'principal of least surprise'
2012-02-14 15:20:44 +11:00
Andrew Tridgell
c042ef1298 APM: fixed some build warnings 2012-02-14 08:58:56 +11:00
Andrew Tridgell
8d1729b3ba Mavlink: report the corrected pitch via MAVLink
this subtracts the TRIM_PITCH_CD from the pitch reported via
MAVLink. That gives a better indication of the true pitch in the tlog
2012-02-14 08:58:56 +11:00
Andrew Tridgell
cdf296d8f6 fixed some printf casts 2012-02-14 08:34:10 +11:00
Andrew Tridgell
35badbb97d APM: the CLI fits nicely on the 1280 again now
I find the CLI very useful for testing, so enable it by default on the
1280. Logging is still off by default.
2012-02-14 08:33:49 +11:00
Andrew Tridgell
ecdbfd257a token is 16 bits now 2012-02-13 16:22:53 +11:00
Andrew Tridgell
d55a0c3a71 added AP_Param::show_all()
this moves the logic into common code
2012-02-13 16:22:52 +11:00
Andrew Tridgell
0f9adbdae0 token size for first()/next() is now 16 bits 2012-02-13 16:22:52 +11:00
Andrew Tridgell
617082769a go back to 1024 bytes for variables in EEPROM 2012-02-13 16:22:52 +11:00
Andrew Tridgell
0b3e3ec5c8 added group indexes to GCS_MAVLINK class 2012-02-13 16:22:52 +11:00
Andrew Tridgell
e85da68fe6 expand parameter area for ArduPlane
this ensures all parameters can be saved without overflow
2012-02-13 16:22:52 +11:00
Andrew Tridgell
983192c5d5 tidy up a comment 2012-02-13 16:22:52 +11:00
Andrew Tridgell
2c3ec5de99 fixed two parameter names 2012-02-13 16:22:51 +11:00
Andrew Tridgell
676ca03977 expose mavlink stream rates as parameters 2012-02-13 16:22:51 +11:00
Andrew Tridgell
f22988163e imported new Parameters code to APM 2012-02-13 16:22:51 +11:00