Commit Graph

57 Commits

Author SHA1 Message Date
Andrew Tridgell a5bda3ffef Plane: changed to using a "aircraft parameters" structure
this structure can be passed to libraries to give them easy access to
critical user parameters
2013-07-04 16:56:57 +10:00
Andrew Tridgell 056e0ca40d Plane: APM2 doesn't have channel 9 PWM output 2013-06-24 13:06:54 +10:00
Andrew Tridgell 6bac13f9e2 Plane: fixed RCMAP_* to fix channel ranges for no-reboot changes 2013-06-03 21:20:39 +10:00
Andrew Tridgell 4c9bc30f58 Plane: make it possible to change control channel ordering without reboot
this makes configuration a bit easier
2013-06-03 16:42:38 +10:00
Andrew Tridgell a1f64d606a Plane: fixed remaining places where primary channel ordering was assumed
should now use rcmap for all inputs
2013-06-03 16:23:48 +10:00
Andrew Tridgell fb9bf21522 Plane: allow channel mapping of first 4 channels
this makes it easier to support DSM and SBUS radios
2013-06-03 16:23:48 +10:00
Andrew Tridgell 515d726ee0 Plane: use RC_Channel::rc_channel() instead of rc_ch[] 2013-06-03 16:23:48 +10:00
Andrew Tridgell 0b8c2da4df Plane: support 12 output channels on PX4 2013-04-25 20:10:53 +10:00
Andrew Tridgell 8f091e70c8 Plane: move elevon variables into a structure 2013-04-15 14:53:56 +10:00
Andrew Tridgell c47bc09a3c Plane: avoid doing radio trim if less than 20% of travel available
this prevents problems with awful trim on bootup due to RC TX being
off
2013-04-12 12:47:59 +10:00
Andrew Tridgell 5d54215221 Plane: use int16_t() not int() to ensure simulator matches AVR 2013-04-01 22:17:05 +11:00
Andrew Tridgell dfb14d760b Plane: added HIL_SERVOS option
this allows for real servo output in HIL
2013-03-30 14:38:43 +11:00
Michael b9a5be6c8b Plane: added secondary elevator support 2013-02-05 08:57:58 +11:00
Andrew Tridgell 9178022a73 Plane: don't change trims if radio_in is zero 2013-01-25 20:44:36 +11:00
Andrew Tridgell 9058949558 Plane: fixed some warnings 2013-01-16 14:19:25 +11:00
Andrew Tridgell edad43611d Plane: reset last heartbeat time on startup completion
this gives more time for the GCS to send its first heartbeat
2012-12-26 08:46:36 +11:00
Andrew Tridgell feca411943 Plane: added new TRAINING mode
this mode gives manual control when the roll or pitch is within the
set limits (the same limits as FBW mode), and prevents the pilot from
flying beyond those limits, essentially a "attitude limited manual"
mode
2012-12-20 22:41:58 +11:00
Pat Hickey f8dec9ae4a ArduPlane: fixes to use CONFIG_HAL_BOARD instead of CONFIG_APM_HARDWARE 2012-12-20 14:51:37 +11:00
Pat Hickey 92b0c302f2 ArduPlane: Ported to AP_HAL 2012-12-20 14:51:36 +11:00
Andrew Tridgell 84300c85d6 APM: make it possible to run the CLI on any serial port 2012-11-21 21:41:34 +11:00
Andrew Tridgell fcbd3a823b APM: added a new type of auxilary aileron, with rc input
a AileronWithInput assumes you have setup your RC transmitter to give
the right trim and input on the secondary aileron
2012-11-21 13:34:26 +11:00
Andrew Tridgell c8e84d18a4 APM: tidy up a comment 2012-09-16 15:51:13 +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 49468953a3 APM: updated for new RC_Channel_aux API 2012-09-08 15:14:41 +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
uncrustify 43991712be uncrustify ArduPlane/radio.pde 2012-08-21 19:19:50 -07: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
Andrew Tridgell e2c8ec2c9e APM: removed THROTTLE_REVERSE option
Better to use RC3_REV
2012-08-09 10:04:44 +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
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
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
Amilcar Lucas 610fdeacc1 Support up to 11 servos in APM2
Conflicts:

	ArduPlane/ArduPlane.pde
2012-07-18 22:01:19 +02: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
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
Phil 9242c157ee APM: Fix rudder in elevon mode.
elevon planes can have rudders too
2012-02-16 14:43:24 +11:00
Pat Hickey dfece8e3ff ArduPlane: Call APM_RC.enable_out for all channels in init_rc_out. 2012-01-22 12:03:11 -08:00
Pat Hickey 4015cb0a40 purple: fixed APM_RC.Init() to add isr_registry parameter 2011-11-25 20:00:17 -08:00
Jason Short 326cfef808 Dead Zone fix - Now the range is full instead of clipped. Should make the Yaw much more smooth. 2011-09-26 22:12:39 -07:00
Amilcar Lucas dca013965a Fix issue #285 2011-09-25 11:36:31 +02:00
Andrew Tridgell 4437ff1046 get rid of the last active uses of the SendDebug macros
please use gcs_send_text*() from now on, to ensure serial queueing
2011-09-19 11:04:02 +10:00
Amilcar Lucas 1f29197771 Revert more of 6dcbc7f44bc0.
Fix an issue with initialization of channels that on-line changed their function.
For the curious people that the code size overhead of having any aux channel do any function (with this code) is 44 bytes.
 To see wich code I'm talking about, do a git diff 05057ac2d455..this_commit (replace this commit with the commit hash of this commit)
2011-09-13 14:01:35 +02:00
Amilcar Lucas 5406991831 Added support for routing any function to any of the aux. servos.
This is a manual merge from the APM_Camera branch.
It reverts the stuff that Oliver did not menat to do with his commit 6dcbc7f44bc0
2011-09-13 01:24:06 +02:00
Doug Weibel f05f56f83f Correct bug in initialization of auxiliary channels
The value of aux_servo_function[CH_x] was not being set before the radio init_rc_in() function was setting channel angle/range.
2011-09-12 20:21:12 +02:00
Amilcar Lucas 77c798abd5 Use G_RC_AUX macro to simplify accessing the auxiliary servos 2011-09-12 00:02:47 +02:00
Amilcar Lucas ce010b4e38 Moved update_aux_servo_function() to the RC_Channel_aux.* files.
This simplifies code sharing between ArduCopter and Arduplane at the expense of 48bytes.
Moved CH_x defines out of the defines.h file and into the library where they belong
2011-09-11 23:07:30 +02:00
Amilcar Lucas 93cbe664d6 Only run camera code if camera support is enabled 2011-09-11 17:41:18 +02:00