Commit Graph

870 Commits

Author SHA1 Message Date
Andrew Tridgell 6cc4aadc06 Plane: report compass health in SYS_STATUS 2013-03-29 13:48:40 +11:00
Andrew Tridgell a165f0d138 Plane: removed old angle wrap code 2013-03-29 13:13:50 +11:00
Andrew Tridgell 7db7d7db77 Plane: change FBWB altitude control algorithm
this makes FBWB much less sensitive to airframe tuning. When the
elevator stick first goes neutral it locks in the current altitude as
the target altitude. When the elevator stick is off neutral, it moves
the target altitude in proportion to the elevator, at a rate goverened
by the new FBWB_CLIMB_RATE parameter

This prevents the aircraft from slowly drifting in altitude in FBWB,
and gives a more intuitive control mechanism for altitude.

Thanks to Chris Miser from Falcon UAV for help in designing this
change
2013-03-28 10:27:25 +11:00
Andrew Tridgell fcde3ceb24 Plane: also avoid rudder on takeoff with TOFF_HEAD_HOLD==0 2013-03-27 16:36:39 +11:00
Randy Mackay a49fe272ad Plane: replace gps fix with status
Required to ensure 3d fix is used for initialising home
2013-03-27 11:42:02 +09:00
Randy Mackay c2055557f5 Plane: add support for GPS fix type 2D 2013-03-27 11:41:51 +09:00
Andrew Tridgell f077f54e6a Plane: added TKOFF_HEAD_HOLD option
this allows control over whether ArduPlane tries to hold heading
during auto takeoff. For hand launches it can be better to hold the
wings level and not attempt to hold heading during takeoff to prevent
the possibility of a stall during the climb out.

Thanks to Chris Miser from Falcon UAV for the feedback that led to
this option.
2013-03-27 10:27:14 +11:00
Andrew Tridgell 1d983b3f2e Plane: fixed X accel triggering of auto 2013-03-22 11:53:45 +11:00
Andrew Tridgell 1a36c3684b Plane: fixed GPS test (detection of uBlox needs 10Hz poll) 2013-03-21 22:45:17 +11:00
Andrew Tridgell 6948e0c473 Plane: only enter CLI is link is idle when 3 enters are hit
this will prevent binary contents of RADIO packets being interpreted
as CLI enter line-feeds
2013-03-21 21:57:54 +11:00
Andrew Tridgell 0e37ae4400 Plane: change CLI timeout to 20s 2013-03-21 17:34:34 +11:00
John Stäck c9576e59f9 Add set command to setup menu (and changed show command), same as for ArduCopter. Not included when building for 1280. 2013-03-19 11:40:25 +09:00
Randy Mackay 36834e77b5 Copter: remove support for CLI Slider 2013-03-18 14:07:04 +09:00
Andrew Tridgell 36ff950b12 Plane: fixed MAVLink target IDs in fence point message
thanks to Kevin Hester for finding this
2013-03-12 15:04:48 +11:00
Andrew Tridgell 0a385cc0ff Plane: added TKOFF_THR_MINACC option
this is used for triggering auto takeoff with a hand launched plane
2013-03-09 14:41:04 +11:00
Michael Warren 9697ff5d6d Plane: Added extra parameter to specify at what speed in auto-takeoff throttle should engage
This adds TKOFF_THR_MINSPD in m/s
2013-03-09 14:19:48 +11:00
Andrew Tridgell 87c6545ac6 Plane: don't trigger GCS failsafe if GCS never connected
The we have never received a heartbeat message from the GCS then don't
use the lack of heartbeat to trigger a failsafe event
2013-03-09 13:48:39 +11:00
Andrew Tridgell e93888dee9 Plane: make a throttle_cruise of 0 mean always zero throttle
this can be used for parachute landing missions

Thanks to Chris Miser for the suggestion
2013-03-09 13:48:39 +11:00
Andrew Tridgell e0e22b63a7 Plane: removed INPUT_VOLTS parameter
no longer needed
2013-03-08 10:01:33 +11:00
Andrew Tridgell 2331c84423 Plane: use voltage_average() to not depend on INPUT_VOLTS 2013-03-03 16:16:01 +11:00
Andrew Tridgell de55e19eec Plane: updates for new dataflash API 2013-03-01 07:18:26 +11:00
Andrew Tridgell b3213b7113 Plane: fixes for new DataFlash API 2013-03-01 07:18:25 +11:00
Andrew Tridgell 5f4c5f8201 Plane: update SERIAL0_BAUD parameter description 2013-02-22 08:39:02 +11:00
Andrew Tridgell 139acc0530 Plane: ignore control mode changes when in throttle failsafe
this prevents the receiver causing a temporary mode change
2013-02-21 11:21:39 +11:00
Andrew Tridgell 1ebaa14a99 Plane: prepare for 2.70 release 2013-02-21 09:49:15 +11:00
Andrew Tridgell 0a0b51cc63 Plane: reset AHRS trim after a level operation 2013-02-20 11:56:02 +11:00
Andrew Tridgell 24826c0c74 Plane: default the stream rates to 1Hz 2013-02-20 10:08:49 +11:00
Andrew Tridgell 1007f2ef07 Plane: fixed a bug with setting stream rates
this is what caused the "no sensors" problem in the 2.69 release
2013-02-20 09:32:01 +11:00
Randy Mackay 9c984b18db Plane: integrate automatic roll and pitch trims 2013-02-19 13:30:51 +09:00
Andrew Tridgell c989099665 Plane: enable PX4IO dual telemetry devices 2013-02-18 13:56:21 +11:00
Andrew Tridgell e8806b14ec Plane: enable MAV_CMD_DO_DIGICAM_CONTROL 2013-02-14 09:35:56 +11:00
Andrew Tridgell 8c0f065ee4 Plane: fixed an integer multiply error that caused poor altitude on landing
the control of altitude between waypoints was broken due to an integer
overflow
2013-02-13 19:32:44 +11:00
Andrew Tridgell 2f677acf3b Plane: update firmware version to 2.69 2013-02-11 15:02:08 +11:00
Andrew Tridgell 9f70c6c70d Plane: make CIRCLE mode hold altitude
this will prevent us losing a lot of altitude during the initial
failsafe phase
2013-02-11 13:52:25 +11:00
Andrew Tridgell 9d3224ef34 Plane: fixed target speed reload on landing
thanks to Doug for this fix!
2013-02-11 11:40:36 +11:00
Michael Oborne 88840eb759 Send FS state to gcs for AP 2013-02-09 10:11:26 +08:00
Andrew Tridgell c41b927a15 Plane: added shell command for px4
used to launch nsh for PX4IO firmware upgrades
2013-02-07 15:04:33 +11:00
Andrew Tridgell 3913c42183 Plane: fixed bit combination
bitwise, not arithmetic
2013-02-05 10:33:10 +11:00
Jochen Tuchbreiter c5f19f5df8 Plane: Implement issue 80: counterclockwise loiter
- libraries/AP_Common/AP_Common.h: Use bit 2 of Location.options to store
  loiter direction
- ArduPlane/defines.h: New bitmask MASK_OPTIONS_LOITER_DIRECTION for struct
  Location bit 2
- ArduPlane/ArduPlane.pde: New variable loiter_direction
- ArduPlane/GCS_Mavlink.pde: For mavlink loiter-commands use sign of param3 to
  detemine direction. Set Location.option flag accordingly
- ArduPlane/commands.pde: Make sure loiter-directions get saved into EEPROM
  correctly
- ArduPlane/commands_logic.pde: Set loiter_direction on all loiter-actions
  as well as RTL/instant loiter
- ArduPlane/navigation.pde: Yield loiter_direction in update_loiter
2013-02-05 10:29:31 +11:00
Brandon Jones fa7839941f After Plane: cleanup driver declaration 4d9a74d, HIL_MODE_ATTITUDE with MAG_ENABLE=1 set results in continuous reboot/APM crash. Added define for AP_COMPASS_HIL when HIL_MODE_ATTITUDE is enabled. 2013-02-05 09:04:34 +11:00
Michael b9a5be6c8b Plane: added secondary elevator support 2013-02-05 08:57:58 +11:00
Andrew Tridgell e762c43312 Plane: switch to an array for stream rates
this saves a couple of hundred bytes of flash.
2013-02-05 08:20:41 +11:00
Pat Hickey 85d783d5a9 ArduPlane: fixed memory unsafe member access in GCS_MAVLINK 2013-02-02 22:43:59 -08:00
Andrew Tridgell ebb7f27962 Plane: minor signed/type fixups 2013-01-27 13:16:26 +11:00
Andrew Tridgell 3caaa27526 Plane: fixed build errors in logging 2013-01-27 12:58:50 +11:00
Randy Mackay 7297a1ff83 Plane: renamed RAW dataflash message to IMU 2013-01-26 17:29:29 +09:00
Randy Mackay e674626fd6 Plane: rename CUR and CURR to CURRENT for logging
Based on user complaint that log was enabled/disabled using CUR while
message that appeared in log was CURR.
2013-01-26 17:19:42 +09:00
Randy Mackay 6f46f4a7d0 Plane: logging changes to use new faster packet method
also RAW message renamed to IMU
2013-01-26 17:07:21 +09:00
Randy Mackay d2767b911c AP_Math: switch get_distance_cm to return uint32_t
Includes changes required on ArduCopter and ArduPlane side as well
2013-01-26 17:04:12 +09:00
Andrew Tridgell 9178022a73 Plane: don't change trims if radio_in is zero 2013-01-25 20:44:36 +11:00
Andrew Tridgell 7ab3d93ed4 Plane: fixed typo 2013-01-23 10:06:22 +11:00
Andrew Tridgell 49356b790b Plane: limit number of bytes read per GCS check 2013-01-23 09:35:06 +11:00
Andrew Tridgell 9813468640 Plane: fixed mavlink fetch of 16 character parameter 2013-01-21 16:52:08 +11:00
Andrew Tridgell 4d9a74d742 Plane: cleanup driver declaration
remove a lot of the #if nesting
2013-01-21 16:08:55 +11:00
Andrew Tridgell 4deee014d6 Plane: setup PX4 airspeed analog port 2013-01-21 13:56:28 +11:00
Andrew Tridgell 96b87e3b44 Plane: fixed test baro printout 2013-01-20 22:13:21 +11:00
Andrew Tridgell 2e04d4827a Plane: run PX4 console at 57600 2013-01-20 22:13:21 +11:00
Andrew Tridgell f9cb9e08ae Plane: fixed orientation of PX4 compass 2013-01-17 17:23:34 +11:00
Andrew Tridgell 9058949558 Plane: fixed some warnings 2013-01-16 14:19:25 +11:00
James Bielman 5631f865b2 Update floating point calculations to use floats instead of doubles.
- Allows use of hardware floating point on the Cortex-M4.
- Added "f" suffix to floating point literals.
- Call floating point versions of stdlib math functions.
2013-01-16 13:52:01 +11:00
Andrew Tridgell fa3a4c68b6 Plane: use common log reading function 2013-01-15 14:03:51 +11:00
Andrew Tridgell 28352b3548 Plane: ensure ahrs.init() is called 2013-01-13 17:32:48 +11:00
Andrew Tridgell 92c9a4c1ce Plane: start update logging for new API 2013-01-13 17:31:42 +11:00
Andrew Tridgell bfaf91affe Plane: use an enum for flash log message types 2013-01-13 17:31:42 +11:00
Andrew Tridgell 86f667f6cc Plane: added new SERIAL0_BAUD parameter
this is useful on PX4
2013-01-13 07:39:40 +11:00
Andrew Tridgell bea9a9d558 Plane: move memcheck_init() earlier in setup() 2013-01-11 10:25:09 +11:00
James Bielman ab37f833db MS5611: Fix CONFIG_MS5611_SERIAL definitions.
- Make sure the values are defined as integers.  We were always using
  SPI rather than using I2C when desired.
2013-01-09 11:19:51 -08:00
Andrew Tridgell e0f052dd9a Plane: update for new AP_Param API 2013-01-09 13:30:55 +11:00
Andrew Tridgell 38f56be2c4 Plane: enable hardware sensors on PX4 2013-01-04 21:07:56 +11:00
Andrew Tridgell 2e2f96d721 Plane: cope with a HIL_STATE packet before GPS init 2013-01-04 12:47:08 +11:00
Andrew Tridgell 9e0096ddb5 Plane: fix handling of sensors HIL startup 2013-01-04 12:34:35 +11:00
James Bielman 264db3670e AP_Baro: Add CONFIG_MS5611_SERIAL option to choose between SPI and I2C.
- Update ArduCopter and ArduPlane modules to pass the correct serial
  driver to the MS5611 driver.
- Update barometer examples, assuming SPI.
2013-01-03 13:48:06 -08:00
Andrew Tridgell 868269e037 Plane: switch PX4 to attitude HIL for now
a bit easier to debug
2013-01-03 13:38:54 +11:00
Andrew Tridgell e8075b1657 Plane: for HIL_SENSORS for PX4 for now
until we have sensor drivers
2013-01-03 11:03:24 +11:00
Andrew Tridgell 07eed60ae4 Plane: use new apm.mk 2013-01-02 17:28:21 +11:00
Andrew Tridgell 2fe77fa6fa Plane: check for APPDIR to pull in px4 build logic 2013-01-02 17:06:44 +11:00
Andrew Tridgell 4cdb3cd390 Plane: use GRAVITY_MSS 2013-01-02 14:45:08 +11:00
Andrew Tridgell 1a49549e3e Plane: start port of main ArduPlane code to AP_HAL_PX4 2013-01-02 14:45:08 +11:00
Andrew Tridgell b6295c12e1 Plane: fixes for new AP_Relay interface 2013-01-02 10:18:45 +11:00
Craig@3DR 0ed25cf719 Global change all references from
GPS_PROTOCOL_MTK16
to
GPS_PROTOCOL_MTK19
2013-01-02 09:24:31 +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 85e4f67e68 Plane: added a note about the dangers of the FS_GCS_ENABL option 2012-12-25 21:18:39 +11:00
Andrew Tridgell cf8e648558 CLI: fixed accel setup
disable mavlink callback in CLI
2012-12-24 08:51:33 +11:00
Andrew Tridgell d54c6989ab Plane: fixed the last build warnings
we now build with no warnings for APM1, APM2 and SITL. Yay!
2012-12-20 22:46:48 +11:00
Andrew Tridgell dc2b11704f Plane: fixed a build warning 2012-12-20 22:42:44 +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
Andrew Tridgell 1cb4724b7f Plane: fixes for 1280 build 2012-12-20 14:53:24 +11:00
Andrew Tridgell 9a2e77b797 Plane: fully disable relay and mount code on APM1-1280
this saves some more flash space
2012-12-20 14:53:23 +11:00
Andrew Tridgell 772f93ea10 Plane: fixed config for 1280 2012-12-20 14:53:23 +11:00
Pat Hickey 5231e5a959 ArduPlane: fixes for AP_InertialSensor_UserInteract 2012-12-20 14:53:23 +11:00
Andrew Tridgell 3c0440b0b4 Math: use common degrees() and radians() functions 2012-12-20 14:53:22 +11:00
Andrew Tridgell c63c4f22e2 Plane: fixed formatting 2012-12-20 14:53:22 +11:00
Andrew Tridgell cf18534163 Plane: use new functions 2012-12-20 14:53:22 +11:00
Pat Hickey 2ad4fed8cd Rover/Copter/Plane: change from vsnprintf to vsnprintf_P 2012-12-20 14:52:38 +11:00
Pat Hickey edb076a6c5 ArduPlane: use hal's vsnprintf 2012-12-20 14:52:38 +11:00
Andrew Tridgell 62d7fd1a26 Plane: fixed HIL builds 2012-12-20 14:52:37 +11:00
Andrew Tridgell 940cbc900f Plane: use targets.mk 2012-12-20 14:52:35 +11:00
Andrew Tridgell 4913aff8cd Plane: remove unused send_text() function 2012-12-20 14:52:35 +11:00
Pat Hickey eb530b86e8 move Arduino.mk to /mk/Arduino.mk 2012-12-20 14:52:35 +11:00
Andrew Tridgell c20481dc94 Plane: SITL has a I2C driver now 2012-12-20 14:52:34 +11:00
Andrew Tridgell 761ab5c3e8 Plane: use AP_HAL_BOARD_DRIVER 2012-12-20 14:52:33 +11:00
Andrew Tridgell a3e20324ac Plane: added CONFIG_INS_STUB 2012-12-20 14:52:32 +11:00
Andrew Tridgell 41272614ce Plane: simplify board config defines 2012-12-20 14:52:32 +11:00
Andrew Tridgell 73f70cc596 Plane: moved to new GPS init syntax 2012-12-20 14:52:32 +11:00
Andrew Tridgell 18db7b2efd GPS: move _port setting to init()
this is needed to avoid constructor ordering dependencies
2012-12-20 14:52:32 +11:00
Pat Hickey a70a299c49 ArduPlane: refactor Makefile targets in terms of Arduino.mk targets 2012-12-20 14:52:31 +11:00
Andrew Tridgell 7d27e420ae AP_HAL: remove unnecessary Arduino.h includes 2012-12-20 14:52:30 +11:00
Andrew Tridgell d473203737 Build: added global board targets 2012-12-20 14:52:30 +11:00
Andrew Tridgell 678947c65d Plane: more fixes for SITL and new AP_Param startup 2012-12-20 14:52:29 +11:00
Pat Hickey 1e48d0fc69 Makefile Targets rewritten to use per-target extension style 2012-12-20 14:52:29 +11:00
Andrew Tridgell e82deca305 Plane: updates to support AP_HAL SITL 2012-12-20 14:51:40 +11:00
Andrew Tridgell a78699113d Plane: fixed Makefile for new AP_HAL build approach 2012-12-20 14:51:39 +11:00
Andrew Tridgell 7046fc05e2 Plane: change to send_text_P() for progmem strings 2012-12-20 14:51:39 +11:00
Andrew Tridgell 7c6dd0736e Plane: use hal.storage for eeprom access 2012-12-20 14:51:39 +11:00
Andrew Tridgell 81d77d2bf4 Plane: fixed Makefile targets for AP_HAL 2012-12-20 14:51:38 +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 c441f02426 ArduPlane: init DataFlash obj 2012-12-20 14:51:37 +11:00
Pat Hickey a14621534c ArduPlane: port from hal.dataflash to old DataFlash api 2012-12-20 14:51:36 +11:00
Pat Hickey 92b0c302f2 ArduPlane: Ported to AP_HAL 2012-12-20 14:51:36 +11:00
Pat Hickey a4f1f6a5db AP_Progmem: fix dependencies for all sketches touched by AP_HAL_AVR 2012-12-20 14:51:28 +11:00
Pat Hickey 3f1d9d7f69 AP_Param: #include <AP_Param.h> fixups for libraries & sketches
* I mostly went through with grep and added an #include <AP_Param.h> below
  every #include <AP_Common.h>. Not all of these example sketches might
  strictly need AP_Param.
2012-12-20 14:51:19 +11:00
Andrew Tridgell 898aa0b260 Plane: fixed spelling error 2012-12-04 11:38:29 +11:00
Andrew Tridgell e4949291e5 Plane: preparing for 2.68 release 2012-12-04 11:24:24 +11:00
Andrew Tridgell 805a340350 Plane: enable attitude and raw logging in HIL modes 2012-12-04 11:13:33 +11:00
Andrew Tridgell cbb97f7294 Plane: added apm2 hilsensors target 2012-12-04 09:05:02 +11:00
Andrew Tridgell 24e1af1c82 Plane: fixed sensors and attitude HIL
we now use the Stub version of the InertialSensor driver. In sensors
HIL we can now correctly drive the AHRS code.
2012-12-03 23:26:39 +11:00
Andrew Tridgell 53951f995a Plane: fixed GPS course in HIL 2012-12-03 17:38:55 +11:00
Andrew Tridgell 567cb47d35 Plane: fixed SERVO_OUTPUT_RAW for HIL 2012-12-03 17:38:31 +11:00
Andrew Tridgell 1104287aa2 Plane: use enum FlightMode in more places 2012-12-01 08:15:48 +11:00
Andrew Tridgell f5abc2c25e Plane: switch to an enum for flight modes 2012-12-01 08:08:54 +11:00
Andrew Tridgell a6d8dbeac2 Plane: update ArduPlane for new ins interface 2012-11-30 07:15:18 +11:00
Andrew Tridgell 0260559147 Plane: fixed throttle slew limit code
starting at 1000 is a very bad idea - a petrol engine could cut out
2012-11-28 12:13:09 +11:00
Andrew Tridgell 697c386075 Plane: use correct throttle range in slewrate 2012-11-28 11:42:05 +11:00
Andrew Tridgell 845dd88091 Plane: make THR_SLEWRATE docs clearer 2012-11-28 11:41:39 +11:00
Andrew Tridgell 92cd631ce5 Plane: added THR_PASS_STAB parameter
this allows direct passthru of throttle in STABILIZE and FBWA, which
is useful for nitro planes wher you have a throttle cut switch that
drops the throttle below normal minimum.
2012-11-26 23:33:05 +11:00
Andrew Tridgell 1059ef2a54 Plane: fixed secondary aileron and manual aux servos in failsafe
the servo value wasn't being written to APM_RC while in failsafe for
these aux channels
2012-11-26 23:32:57 +11:00
Andrew Tridgell a87394fff2 Plane: don't do accel calibration in HIL mode
this should fix the hang on startup
2012-11-25 21:53:37 +11:00
Andrew Tridgell 56e4cbfb1d Plane: allow reboot on APM1, and add reboot to main CLI menu 2012-11-24 18:20:37 +11:00
Andrew Tridgell f8a95e4084 APM: preparing for 2.67 release 2012-11-21 22:28:30 +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 704da2a5d9 MAVLink: make it possible to enter the CLI over the radio
this only works on the APM2, where UART0 is also the radio port
2012-11-21 14:11:05 +11:00
Andrew Tridgell 8f108e2eb3 APM: added AMP_OFFSET option
thanks to Alexey Kozin!
2012-11-21 13:34:27 +11:00
Andrew Tridgell 61f2e18e2e APM: allow ailerons to move fully during servo demo 2012-11-21 13:34:27 +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
Michael Oborne a5e3ce4655 remove cli planner mode - no longer used 2012-11-21 07:45:45 +08:00
Andrew Tridgell a600ccece5 APM: support 16 character parameter names 2012-11-20 21:36:13 +11:00
Andrew Tridgell a5ed0de2cf APM: set MANUAL_LEVEL to 1 on successful accel calibration 2012-11-20 19:27:52 +11:00
Andrew Tridgell fd3993287d INS: disable accel calibration on the 1280
this would put us well over 128k in sketch size
2012-11-20 18:41:04 +11:00
Andrew Tridgell 2f287846b5 APM: don't use mavlink msgs for accel cal in cli 2012-11-20 18:32:27 +11:00
Andrew Tridgell 3aeaf2ece6 APM: k_param_imu is now unused 2012-11-20 18:32:27 +11:00