Commit Graph

501 Commits

Author SHA1 Message Date
Peter Barker d76e7d210b Plane: handle command_long in GCS base class 2018-07-06 09:43:09 +10:00
Peter Barker 320e24af65 Plane: move mavlink reboot code up to base class 2018-07-03 12:12:25 +10:00
Andrew Tridgell d454bc555e Plane: added ESC_TELEMETRY to mavlink streams 2018-06-21 10:48:02 +10:00
Peter Barker f984e5e31d Plane: use magic force arm/disarm definitions 2018-06-20 11:43:38 +10:00
Peter Barker f5e241af01 Plane: option to force arm, bypassing checks 2018-06-20 11:43:38 +10:00
Peter Barker 2b7f9247e8 Plane: use AP_FWVersion singleton 2018-06-18 19:10:37 +01:00
Michael du Breuil 12da35220c Plane: Simplify radio trimming, improve MAVLink report 2018-06-11 16:29:36 -07:00
Peter Barker 2cdcca2841 Plane: move handling of MAV_CMD_DO_GRIPPER up 2018-06-11 19:07:39 +01:00
Michael du Breuil a98a8d0789 Plane: Update to support new RC_Overrides conventions 2018-06-05 09:51:09 +10:00
Michael du Breuil 749861f8ad Plane: Only send healthy airspeed reports 2018-06-05 09:27:19 +10:00
Peter Barker 9437e893e5 Plane: move try_send_message handling of EKF_STATUS_REPORT up 2018-06-01 16:12:45 +01:00
Peter Barker ac729f4614 Plane: lock home when it is set from the GCS 2018-05-29 14:38:45 +10:00
Peter Barker 18c4823427 Plane: return MAV_RESULT_ACCEPTED for setting home to current location 2018-05-29 14:38:45 +10:00
Peter Barker bc9df01d21 Plane: remove sending of statustext for home location 2018-05-29 14:38:45 +10:00
Peter Barker 22306c370b Plane: factor out a Plane::set_home 2018-05-29 14:38:45 +10:00
Peter Barker ad600fff68 Plane: split home-set and home-locked state 2018-05-29 14:38:45 +10:00
Peter Barker 5a087ee7e2 Plane: create persist_streamrates() callback to indicate persistence 2018-05-29 13:08:29 +10:00
Peter Barker 8b4ffb11f5 Plane: move sending of vfr_hud up 2018-05-29 13:00:40 +10:00
Peter Barker ef77bea4eb Plane: move sending of simstate up 2018-05-23 18:36:50 +10:00
Peter Barker 2a68eca273 Plane: add type-correctness for stream messages 2018-05-22 11:21:25 +10:00
Peter Barker 2112d76b75 Plane: move try_send_message of servo-output-raw up 2018-05-21 19:08:08 +01:00
Peter Barker cdf4128900 Plane: move sending of POSITION_TARGET_GLOBAL_INT up 2018-05-18 20:26:37 +10:00
Peter Barker 57cc0cac97 Plane: GCS_MAVLink base class now uses same ekf call to get alt 2018-05-17 15:48:06 +01:00
Peter Barker 5aefb90e61 Plane: move sending of GLOBAL_POSITION_INT up to GCS_MAVLINK 2018-05-17 15:48:06 +01:00
Peter Barker 1545b9b161 Plane: remove arguments to send_home and send_ekf_origin 2018-05-17 20:42:36 +10:00
Peter Barker 6f8339028e Plane: move send_attitude into GCS_MAVLINK_Plane 2018-05-17 18:28:43 +10:00
Peter Barker 1f9d1ee5a2 Plane: move try_send_message sending of scaled_pressure up 2018-05-17 15:37:14 +10:00
Peter Barker 0e3ad3f023 Plane: move try_send_message sending of sensor offsets up 2018-05-17 15:37:14 +10:00
Peter Barker e6411c6804 Plane: move try_send_message of RAW_IMU up to GCS_MAVLINK 2018-05-17 15:37:14 +10:00
Peter Barker 7afd056e98 Plane: handle setting of ekf origin in GCS_MAVLink 2018-05-17 10:13:42 +10:00
Peter Barker 052b76d017 Plane: move Log_Write_Home_And_Origin into AP_AHRS 2018-05-17 10:13:42 +10:00
Michael du Breuil 499df8e0b3 Plane: Move MAVLink rangefinder up to parent 2018-05-16 23:21:41 +01:00
Michael du Breuil 8afc96097b Plane: Send all distance sensors 2018-05-16 23:21:41 +01:00
Peter Barker 8da8c616f6 Plane: move sending of battery data up 2018-05-09 11:40:31 -07:00
Peter Barker 0fec702ba6 Plane: move data stream send up 2018-05-09 16:15:38 +10:00
Peter Barker e10c23bd43 Plane: make scheduler track whether it has called the delay callback 2018-05-09 16:15:38 +10:00
Peter Barker 68497f27fa Plane: move try_send_message handling of RC_CHANNELS up 2018-05-08 12:33:32 +01:00
Peter Barker 8df625e81a Plane: move try_send_message of heartbeats up to GCS_MAVLINK 2018-05-07 11:30:13 -06:00
Peter Barker c1680d90a6 Plane: move try_send_message handling of VIBRATION up 2018-05-07 11:23:28 -06:00
Peter Barker 5cc98a9733 Plane: use AP_ServoRelayEvents singleton 2018-04-18 20:31:55 +09:00
Michael du Breuil 3e4288d604 Plane: Use RC_Channels instead of hal.rcin 2018-04-11 21:47:07 +01:00
Michael du Breuil 1af2155641 Plane: Check MANUAL_CONTROL target 2018-04-10 16:54:34 +01:00
Francisco Ferreira bbe3e41162
Plane: fix method shadowing 2018-04-03 16:29:33 +01:00
Peter Barker f6a185a3c3 Plane: factor vehicle's mavlink send_heartbeat 2018-04-03 13:05:19 +01:00
Peter Barker 58d41e40d3 Plane: let GCS_MAVLink calibrate airspeed sensor
Also remove useless zero_airspeed function
2018-04-02 23:25:05 +01:00
Peter Barker 65893cfca5 Plane: tidy handling of barometer calibrations 2018-04-02 23:25:05 +01:00
Peter Barker 71bc3f5def Plane: move common calibration functions up 2018-04-02 23:25:05 +01:00
Peter Barker 91c2ece7a2 Plane: factor out preflight calibration function 2018-04-02 23:25:05 +01:00
Michael du Breuil 7405bb7b85 Plane: Support new battery failsafes 2018-03-27 22:12:21 +01:00
Peter Barker 8a75a804e7 Plane: allow DataFlash to handle log sending 2018-03-26 09:22:47 +09:00
Peter Barker 5572d83ce9 Plane: move handling of get_home_position up 2018-03-19 10:32:37 +09:00
Peter Barker 7fd859da65 Plane: move home state into AP_AHRS 2018-03-19 10:32:37 +09:00
Peter Barker f558bbca2e Plane: use baro singleton 2018-03-08 21:20:05 -08:00
Peter Barker 5671b3173e Plane: use AHRS singleton in GCS_MAVLink 2018-03-07 12:34:39 +00:00
Michael du Breuil faea5d285c Plane: Consolidate some of the PID logging details 2018-03-03 17:34:18 +12:00
David Ingraham a6aeebad4b Plane: Add support for AP_Gripper 2018-03-01 14:14:43 +11:00
Randy Mackay dd6755f486 Plane: fix global-pos-int velocity direction to NED 2018-02-13 08:52:48 +09:00
Peter Barker af007c5f0f Plane: tighten handleMessage result type 2017-12-01 17:01:10 +00:00
Tom Pittenger 3d6cc59a6b Plane: cleanup geofence warnings 2017-11-27 18:35:49 -08:00
Tom Pittenger 7271586a47 Plane: invert auto_state.no_crosstrack flag to be auto_state.crosstrack. Non-functional change 2017-11-23 09:25:18 -08:00
Peter Barker b4294c00f6 Plane: use gps singleton for GCS functions 2017-11-15 13:43:03 +00:00
Andrew Tridgell 8178ab4037 Plane: make mav_type in HEARTBEAT configurable
needed for qgc to setup for quadplanes
2017-10-20 15:41:06 +11:00
Andrew Tridgell f81ec9b1b3 Plane: support simple accelcal 2017-10-10 10:57:38 +11:00
Lucas De Marchi 36c80daa86 ArduPlane: do not include version.h/ap_version.h
The interface provided by each vehicle should be used to get the
version.
2017-09-23 21:37:45 -07:00
Randy Mackay 667cdcdfcf Plane: resolve compiler warning while using send_text
non-functional change
2017-09-20 12:14:38 +09:00
Randy Mackay 2073d65975 Plane: command-long DO_SET_HOME check first param is zero 2017-09-20 12:14:38 +09:00
Randy Mackay 640fb91329 Plane: accept DO_SET_HOME within COMMAND_INT 2017-09-20 12:14:38 +09:00
Peter Barker 7e631ba16c Plane: move handling of SET_GPS_GLOBAL_ORIGIN up 2017-09-19 15:44:23 +09:00
Randy Mackay 3d7b6ddc40 Plane: support SET_GPS_GLOBAL_ORIGIN message 2017-09-19 10:30:15 +09:00
Peter Barker 1304b86d09 Plane: remove old DO_SET_MODE support
We no longer support setting anything except custom-modes
2017-09-19 01:24:11 +01:00
Peter Barker aee939f891 Plane: move gcs_out_of_time into GCS object 2017-09-12 18:28:07 +01:00
Andrew Tridgell 73d6a05241 Plane: support change alt for GUIDED from qgc 2017-09-11 13:26:48 +10:00
Andrew Tridgell 11b9805dce Plane: added MANUAL_CONTROL support
allows for joystick with QGC
2017-09-11 07:55:48 +10:00
Andrew Tridgell baee71a5b4 Plane: added GUIDED takeoff for quadplanes
this allows takeoff in GUIDED mode in the same way as copters
2017-09-09 08:14:09 +10:00
Peter Barker 0c7c2a41c4 Plane: handle param_request_list in GCS_MAVLINK base class 2017-08-30 15:54:47 +01:00
Peter Barker dd4bffb4a2 Plane: handle param_set in GCS_MAVLINK base class 2017-08-30 15:54:47 +01:00
Peter Barker 0db1711b1f Plane: move send_autopilot_request calls up to GCS base class 2017-08-30 15:54:46 +01:00
Peter Barker c15c1b84a4 Plane: add constant structure holding firmware version 2017-08-30 15:54:46 +01:00
Peter Barker 0708130b5e Plane: correct bad case fallthrough 2017-08-30 15:54:46 +01:00
Peter Barker 9732b19f04 Plane: move serial_control case to base class 2017-08-17 12:42:31 +01:00
Peter Barker 4321abd477 Plane: move play_tune and led_control handling to base class 2017-08-17 12:27:10 +01:00
Peter Barker 8eeae45300 Plane: use GCS_MAVLINK subclasses to handle set_mode 2017-08-16 11:58:10 +10:00
Michael du Breuil 833ec1336e Plane: Expose the AFS instance to MAVLink 2017-08-15 15:14:56 +01:00
Peter Barker d33cd801a1 Plane: send gps messages as separate queued messages 2017-08-09 16:18:22 +01:00
Peter Barker c3e86840b2 Plane: move sending of gps_raw up 2017-08-09 16:18:22 +01:00
Peter Barker 933cd7a44c Plane: move sending of system_time up 2017-08-09 16:18:22 +01:00
Peter Barker 4aee416c1d Plane: move sending of camera_feedback up 2017-08-09 16:18:22 +01:00
Peter Barker 9eb96886e5 Plane: move sending of meminfo up 2017-08-09 16:18:22 +01:00
Peter Barker a9c866f574 Plane: use new retry_deferred method 2017-08-05 23:14:36 +01:00
Peter Barker 4cb94b80ee Plane: move try_send_message queued_param_send up 2017-08-03 14:34:33 +01:00
Peter Barker 089f6f4650 Plane: move try_send_message send_hwstatus up 2017-08-03 14:33:37 +01:00
Peter Barker fee9e83881 Plane: move try_send_message mission handling up 2017-08-03 14:24:47 +01:00
Peter Barker a740c10dfe Plane: move try_send_message compass message handling up 2017-08-03 14:24:46 +01:00
Peter Barker 50cbbc324b Plane: base SYS_STATUS load average on variable loop rate 2017-08-01 19:39:27 +01:00
Peter Barker 1cb6962f84 Plane: move common mavlink camera handling up 2017-07-28 14:32:58 +01:00
Peter Barker 2fb46a67dd Plane: camera is responsible for taking distance-based-images and logging 2017-07-28 14:27:53 +01:00
Peter Barker fbcd072d98 Plane: move gps inject handling up to GCS_MAVLINK 2017-07-27 12:03:25 +01:00
Peter Barker 87af817893 Plane: handle common GPS messages in base GCS_MAVLINK class 2017-07-25 14:00:45 +01:00
Peter Barker ea892d278f Plane: remove MSG_STATUSTEXT entirely 2017-07-18 16:12:59 +01:00
Peter Barker 7f0cb82797 Plane: move handling of PREFLIGHT_SET_SENSOR_OFFSETS up 2017-07-17 14:17:19 +01:00
Peter Barker 6047026b11 Plane: move handling of MAG_CAL command longs up 2017-07-17 14:17:19 +01:00
Peter Barker 2b6752e0b4 Plane: move MAV_CMD_START_RX_PAIR handling to base class 2017-07-17 14:17:19 +01:00
Peter Barker 36eab56178 Plane: move mavlink support for servo/relay up 2017-07-16 23:56:00 +01:00
Peter Barker 3af52d9db3 Plane: add common handling of mavlink command messages 2017-07-16 23:56:00 +01:00
Peter Barker 983686745e Plane: move rally-point handling up 2017-07-14 01:28:05 +01:00
Peter Barker a250f47f13 Plane: remove unneeded telemetry_delayed parameter 2017-07-12 17:01:36 +01:00
Peter Barker c9c4b31e99 Plane: move handling of incoming statutext messages up 2017-07-12 16:52:24 +01:00
Peter Barker 1be52495f1 Plane: eliminate global static GCS_MAVLINK::send_home_all 2017-07-11 23:48:39 +01:00
Peter Barker d850feb75f Plane: move common mission handling up to GCS_MAVLINK 2017-07-11 23:45:17 +01:00
Peter Barker 250f315678 Plane: eliminate gcs_send_mission_item_reached wrapper 2017-07-11 23:45:16 +01:00
Peter Barker 3b0a7703c4 Plane: eliminate gcs_send_message wrapper 2017-07-11 23:45:16 +01:00
Peter Barker 5a8f01c19c Plane: use send_text method on the GCS singleton 2017-07-09 17:17:29 -04:00
Peter Barker 685706952c ArduPlane: use Notify singleton for sending statustext 2017-07-09 17:17:29 -04:00
Peter Barker 5b70b688cb Plane: handle knowledge of in_log_download in DataFlash 2017-06-27 03:10:43 +01:00
Peter Barker 60ebd099bd Plane: move send-logs-via-mavlink code into DataFlash 2017-06-27 03:10:43 +01:00
Michael du Breuil 8691eae679 Plane: Handle NAV_CONTROLLER_OUTPUT.wp_dist overflowing 2017-06-20 15:41:50 +01:00
Peter Barker ceec44350f Plane: move MAVLINK_MSG_ID_REMOTE_LOG_BLOCK_STATUS handling up 2017-06-17 15:07:48 +01:00
Peter Barker 30dfd32b87 Plane: stop using in_mavlink_delay as a proxy for disabling logging 2017-06-16 17:07:48 +01:00
Michael du Breuil 1d03732ac5 Plane: Remove redundant status text on MAV_CMD_DO_GO_AROUND 2017-06-16 11:49:52 +09:00
Pierre Kancir d5cc1e64ed GCS_Common: rename send_rangefinder to send_rangefinder_downward 2017-06-08 01:32:04 +01:00
Pierre Kancir 0bc9d294fb ArduPlane: change rangefinder msg for common one 2017-06-08 01:31:52 +01:00
Pierre Kancir 9a121dc7c4 ArduPlane: add DISTANCE_SENSOR support 2017-06-08 01:31:52 +01:00
Michael du Breuil 87c076da4d ArduPlane: Fix missing break in GCS_MAVLink
Was causing AOA_SSA to send a landing message as wel
2017-06-05 13:12:01 +09:00
Paulo Neves a45dd30c1d Plane: Add MAV_CMD_DO_SET_CAM_TRIGG_DIST support. 2017-05-25 09:35:22 +09:00
Michael du Breuil 19a5475195 Plane: Send landing messages 2017-05-24 15:22:27 -07:00
Andrew Tridgell 2706c9d57a Plane: use common send_queued_parameters() 2017-05-01 14:36:10 +10:00
Andrew Tridgell 954905e0eb Plane: allow battery failsafe with usb connected
some people connect USB to allow connections from a companion
computer. The arming check is sufficient to prevent unwanted battery
failsafes when bench testing
2017-04-28 16:33:49 +10:00
Eugene Shamaev ca84ab36be Plane: AOA and SSA estimations are added to parameters and data logs 2017-04-19 20:48:42 +10:00
Michael du Breuil b850c1041f Plane: Send BATTERY_STATUS 2017-04-12 10:21:49 +09:00
Andrey Kolobov 35d406aeab Plane: added a soaring controller to Arduplane 2017-03-14 08:53:10 +11:00
Michael du Breuil cf10b7b841 Plane: Add support for landing PID's and servo control 2017-03-02 12:38:59 +11:00
Randy Mackay c0f155fd27 Plane: use only downward facing rangefinder 2017-02-27 15:18:25 +09:00
Tom Pittenger 69a10042eb Plane: always stream RPM data over mavlink when enabled 2017-02-21 11:16:27 -08:00
Andrew Tridgell c787f4c56f Plane: initial support for tailsitter transitions 2017-02-18 17:26:43 +11:00
Peter Barker 1d7994e9ba Plane: create GCS_Plane subclass 2017-02-13 17:03:06 +11:00
Peter Barker 98c4b48161 Plane: not in log download upon log erase
erase is a synchronous operation
2017-02-13 11:36:16 +11:00
Peter Barker 49bf336539 Plane: Support for a GCS singleton 2017-02-13 09:32:01 +11:00
Peter Barker d060670ba3 Plane: rename gcs[] to gcs_chan[]
Wish to use gcs() to return the gcs singleton
2017-02-13 09:32:01 +11:00
Michael du Breuil 29b16dbafd Plane: Refactor to request relative altitudes from AHRS
Removes the need for plane to do the math for finding the relative height.

Also caches the value at the same time we update current_loc, which is a
non behaviour change as that was the only time you could see a change in
the relative height propegate through the system anyways
2017-02-13 09:23:14 +11:00
Dr.-Ing. Amilcar Do Carmo Lucas c4419739c4 Plane: rename MSG_RADIO_OUT to MSG_SERVO_OUTPUT_RAW to better describe what it is 2017-02-07 11:41:12 +11:00
Tom Pittenger 61bc0a6206 Plane: check stage==LAND instead of landing.in_progress 2017-01-26 13:11:44 -08:00
Tom Pittenger e709705ab8 Plane: describe flight stages without using specific stage name 2017-01-26 13:11:43 -08:00
Dmitry Prokhorov 497a4bd4a5 ArduPlane: Support for OLED display by Alexey Kozin
https://github.com/ArduPilot/ardupilot/pull/5135
2017-01-23 15:07:20 -08:00
Tom Pittenger b8784e2c4a Plane: do not crosstrack after a land abort 2017-01-12 15:21:34 -08:00
Andrew Tridgell b83f50be0f Plane: use new SRV_Channels API 2017-01-12 17:39:37 +11:00
Tom Pittenger 04f32b6ec6 Plane: simplify flight stage landing check to use landing.in_progress 2016-12-30 23:50:03 -08:00
Tom Pittenger c286ceba43 Plane: move enum FlightStages to AP_Vehicle::FixedWing 2016-12-30 23:50:03 -08:00
Tom Pittenger 8c1509ad47 Plane: abstract land abort request method 2016-12-14 04:32:30 -08:00
Randy Mackay 4efbc29490 Plane: pass HIL_GPS to gps driver 2016-12-08 15:52:26 +09:00
Tom Pittenger dc85ffa834 Plane: move jump_to_landing_sequence() to AP_Mission 2016-11-25 19:07:30 -08:00
Tom Pittenger 9a79b79f1e AP_Landing: port more from plane 2016-11-25 19:07:30 -08:00
Tom Pittenger d2376b7c8b Plane: migrate two helper functions to AP_Landing
- move functions restart_landing_sequence() and jump_to_landing_sequence() to AP_Landing
- NOTE: jump_to function can not set mode, so it is now done externally in vehicle
2016-11-25 19:07:30 -08:00
Tom Pittenger 0ffeed644c Plane: remove define RANGEFINDER_ENABLED - always enabled 2016-11-25 19:07:30 -08:00
Francisco Ferreira 4c8d151190 Plane: support MAV_CMD_ACCELCAL_VEHICLE_POS 2016-11-15 11:42:54 -08:00
Andrew Tridgell cb57945e9e Plane: use handle_common_message() 2016-11-09 17:08:09 +11:00
floaledm b2a6b93d30 Plane: send ahrs groundspeed estimate instead of GPS groundspeed in VFR_HUD message 2016-11-07 09:14:28 +11:00
floaledm bae9ce20c1 Plane: update sensor status error flags independently of sending a sys_status message 2016-11-02 08:36:58 +11:00
murata ab99ea54eb Plane: To nullptr from NULL. 2016-10-29 10:32:05 -03:00
Michael du Breuil fd24e944b8 Plane: Allow compass calibrator to manage size of buffer 2016-10-27 14:04:33 +11:00
Mathieu OTHACEHE 152edf7189 Global: remove mode line from headers
Using a global .dir-locals.el file is a better alternative than
reincluding the same emacs header in every file of the project.
2016-10-24 09:42:01 -02:00
Andrew Tridgell 6878a9a270 Plane: use handle_rc_bind 2016-10-15 21:42:38 +11:00
Andrew Tridgell 3a8e38ee12 Plane: added SYSID_ENFORCE parameter
this allows safer sharing of telemetry links between aircraft
2016-10-15 17:12:13 +11:00
Andrew Tridgell a2aa89dc1e Plane: deprecate RC_CHANNELS_RAW 2016-10-13 21:23:56 +11:00
Michael du Breuil 05d0696b0d Plane: Support GPS_RTCM_DATA 2016-10-11 11:00:36 +11:00
Lucas De Marchi 0f000efc6f ArduPlane: Fix use of logical op instead of bitwise op
../../ArduCopter/GCS_Mavlink.cpp: In member function 'void Copter::send_extended_status1(mavlink_channel_t)':
../../ArduCopter/GCS_Mavlink.cpp:281:37: error: suggest parentheses around operand of '!' or change '&' to '&&' or '!' to '~' [-Werror=parentheses]
     uint32_t sensors_error_flags = !control_sensors_health & control_sensors_enabled & control_sensors_present;
                                     ^
compilation terminated due to -Wfatal-errors.
cc1plus: all warnings being treated as errors

Thanks to Ralph Campbell <ralphcampbell1@gmail.com> for the bug report.
2016-09-29 11:36:23 -03:00
Peter Barker 31321b3b60 Plane: log to dataflash statustext messages from my_gcs 2016-09-26 00:06:07 -07:00
floaledm 68df5b7606 Plane: change sensor health check to prevent false positive 2016-09-22 13:56:59 -05:00
Michael du Breuil 2843e266b5 Plane: Return RESULT_FAILED for GET_CMD_HOME if home is unset 2016-09-03 16:54:14 +09:00
Andrew Tridgell a0fb426a34 Plane: fixes for Fraky_Telem API changes 2016-08-25 10:16:20 +10:00
Tom Pittenger b187e1f9a6 Plane: add reason to set_mode() 2016-08-17 22:38:54 -07:00
Tom Pittenger ca32bcc58d Plane: add new flight mode AVOID_ADSB to mimic GUIDED 2016-08-17 22:38:54 -07:00
Tom Pittenger fa326de7fa Plane: add adsb to failsafe structure and report in heartbeat to GCS 2016-08-17 22:38:54 -07:00
Tom Pittenger b564616db0 Plane: GCS_MAVLink passes packets to AP_Avoidance
This allows treating GLOBAL_POSITION_INT packets from other vehicles in the same way as ADSB packets
2016-08-17 22:38:54 -07:00
Tom Pittenger 7445fac577 Plane: move mavlink msg handling into library 2016-08-16 16:33:36 -07:00
Andrew Tridgell d482c7f4b7 Plane: decode correct ADSB packet 2016-08-16 16:33:36 -07:00
Andrew Tridgell b29b609bcc Plane: added AFS support for quadplanes 2016-08-16 12:56:12 +10:00
Andrew Tridgell 76b6cbbda1 Plane: prevent motor startup on reboot in quadplanes
we need to prevent RC overrides within px4io from running
2016-08-16 12:53:34 +10:00
Peter Barker cb7686001f Plane: add dataflash as a bit for the mavlink SYS_STATUS message 2016-08-11 17:48:44 -03:00
Tom Pittenger 5fd3c79202 Plane: Fix typos 2016-08-04 11:42:41 -07:00
Lucas De Marchi c27ebd10c2 ArduPlane: Remove i2c lockup count
This was returned only for a single bus and on all supported platforms
this is hardcoded to 0.
2016-07-28 18:03:09 -03:00
Andrew Tridgell 327a057ee0 Plane: added internal combustion engine support
this allows for automatic engine start and restart
2016-07-25 10:06:03 +10:00
Andrew Tridgell 02babb71b3 ArduPlane: adjust for 16 channels in SERVO_OUTPUT_RAW 2016-07-25 10:06:02 +10:00
Tom Pittenger 3f195df9f0 Plane: handle ADSB-Out packets 2016-07-22 13:38:58 -07:00
Tom Pittenger 5c3cca7911 Plane: handle incoming ADSB transceiver packet 2016-07-22 12:20:39 -07:00
Andrew Tridgell 7b147e3941 Plane: handle PLAY_TUNE message 2016-07-22 15:00:17 +10:00
Andrew Tridgell 569cc1c108 Plane: support the LED_CONTROL MAVLink message 2016-07-19 13:37:14 +10:00
Allan Matthew c479fcab39 Plane: support GPS_INPUT mavlink message 2016-07-12 15:35:09 +09:00
Andrew Tridgell e8976d3a89 Plane: check for optflow enable in more places 2016-07-12 09:05:52 +10:00
Tom Pittenger 0597dbd033 Plane: allow SET_ATTITUDE_TARGET to set rpy and throttle 2016-07-01 08:28:53 -07:00
Tom Pittenger 85afd9e245 Plane: remove guided roll flag, handle it with timer=0 2016-06-30 07:48:37 -07:00
Michael Day 8ac433f991 Plane: Can now command roll from a companion computer. 2016-06-30 10:27:44 -04:00
Tom Pittenger 9b973fb899 Plane: add ADSB_streamrate 2016-06-19 11:24:31 -07:00
Tom Pittenger 204abfd45e Plane: set heartbeat.system_status to Critical for low-battery failsafe events 2016-06-07 17:14:51 -07:00
Tom Pittenger 3140ce6ab6 Plane: change MAVLINK_MSG_ID_SET_POSITION_TARGET_GLOBAL_INT gcs msg to remove abbreviations. Hope it fits! 2016-06-07 08:28:35 -07:00
Tom Pittenger bd270720da Plane: whitespace formatting 2016-06-07 08:27:40 -07:00
Michael Day 429e348824 Plane: Can now change current WP alt via mavlink.
Uses the mavlink msg SET_POSITION_TARGET_GLOBAL_INT
2016-06-07 08:16:39 -07:00
Tom Pittenger 01e636065d Plane: non-functional: mostly whitespace and removed extra set result statement 2016-06-07 08:11:05 -07:00
Michael Day 2c0f0a04d8 Plane: Only allow speed changes in GUIDED and AUTO modes. 2016-06-07 08:22:44 -04:00
Andrew Tridgell eae2bf54ca Plane: fixed gcc 6.1 build error 2016-06-06 07:43:45 +10:00
Peter Barker ee5290c178 Plane: avoid switch statement for enabling fence if no fence present 2016-06-02 14:37:21 +10:00
Tom Pittenger 954c987075 Plane: do not parse GEOFENCE packets when geofence is disabled via compile option 2016-06-01 17:38:52 -07:00
Tom Pittenger ea9e39212f Plane: use new check_latlng helper 2016-06-01 17:38:51 -07:00
Peter Barker 28361afc2a Plane: move telemetry_delayed up into base class 2016-05-31 08:46:09 +10:00
Peter Barker 9ee62aac30 Plane: move adjust_rate_for_stream up 2016-05-29 19:38:50 +10:00
Peter Barker af5a52e2aa Plane: subclass GCS_MAVLink in place of defining its functions for it 2016-05-29 16:21:21 +10:00
Andrew Tridgell 6e4c0dd3d7 Plane: allow non-blocking calibrations while armed 2016-05-24 17:10:41 +10:00
Andrew Tridgell d3494d1369 Plane: don't stall EKF during baro cal 2016-05-24 17:00:56 +10:00
Andrew Tridgell 5b4bbf08fd Plane: use send_heartbeat wrapper 2016-05-21 15:25:18 +10:00
Andrew Tridgell 9f47e6417b Plane: always build with MAVLink2 headers 2016-05-21 15:25:16 +10:00
Andrew Tridgell eee06da1b5 Plane: use HAVE_PAYLOAD_SPACE() 2016-05-21 15:25:14 +10:00
Andrew Tridgell a103e70460 ArduPlane: handle SETUP_SIGNING message 2016-05-21 15:25:13 +10:00
Don Gagne 151686ce9d ArduPlane: SET_SENSORS_OFFSETS support for third compass 2016-05-19 18:51:17 -03:00
Andrew Tridgell e3b2e90a27 Plane: cleanup unnecessarily complex gcs[] usage 2016-05-17 08:27:39 +10:00
Tom Pittenger 8a58f5a5eb Plane: convert airspeed_error_cmd to airspeed_error (in meters) 2016-05-13 17:21:59 -07:00
skyscraper 7f29903287 ArduPlane: Fix up after refactoring RC_Channel class
Further to refactor of RC_Channel class which included
adding get_xx set_xx methods, change reads and writes to the public members
to calls to  get and set functionsss

old public member(int16_t)   get function -> int16_t     set function (int16_t)
(expression where c is an object of type RC_Channel)
c.radio_in                     c.get_radio_in()           c.set_radio_in(v)
c.control_in                   c.get_control_in()         c.set_control_in(v)
c.servo_out                    c.get_servo_out()          c.set_servo_out(v)
c.pwm_out                      c.get_pwm_out()            // use existing
c.radio_out                    c.get_radio_out()          c.set_radio_out(v)
c.radio_max                    c.get_radio_max()          c.set_radio_max(v)
c.radio_min                    c.get_radio_min()          c.set_radio_min(v)
c.radio_trim                   c.get_radio_trim()         c.set_radio_trim(v);

c.min_max_configured() // return true if min and max are configured

Because data members of RC_Channels are now private and so cannot be written directly
 some overloads are provided in the Plane classes to provide the old functionality

new overload Plane::stick_mix_channel(RC_Channel *channel)
which forwards to the previously existing
void stick_mix_channel(RC_Channel *channel, int16_t &servo_out);

new overload Plane::channel_output_mixer(Rc_Channel* , RC_Channel*)const
which forwards to
(uint8_t mixing_type, int16_t & chan1, int16_t & chan2)const;

Rename functions

 RC_Channel_aux::set_radio_trim(Aux_servo_function_t function)
    to RC_Channel_aux::set_trim_to_radio_in_for(Aux_servo_function_t function)

 RC_Channel_aux::set_servo_out(Aux_servo_function_t function, int16_t value)
    to RC_Channel_aux::set_servo_out_for(Aux_servo_function_t function, int16_t value)

 Rationale:

        RC_Channel is a complicated class, which combines
        several functionalities dealing with stick inputs
        in pwm and logical units, logical and actual actuator
        outputs, unit conversion etc, etc
        The intent of this PR is to clarify existing use of
        the class. At the basic level it should now be possible
        to grep all places where private variable is set by
        searching for the set_xx function.

        (The wider purpose is to provide a more generic and
        logically simpler method of output mixing. This is a small step)
2016-05-10 16:21:16 +10:00
Leandro Pereira f23bd7e09d GCS_MAVLink: Use a single stream_trigger() implementation
This has no side effects, but since all implementations were basically
the same, move the implementation to GCS_Common and the only part that
adjusts the rate based on which which stream to each individual
GCS_MAVLINK implementation.
2016-05-07 23:49:35 -03:00
Andrew Tridgell 3853aa0fe3 Plane: fix for changed API 2016-05-07 18:27:22 +10:00
Michael Day b096e1404d Plane: Add MAVLink message handler for CMD_DO_CHANGE_SPEED 2016-05-06 11:59:45 -07:00
Lucas De Marchi baa287e5e5 ArduPlane: use separate header for version macro
Having the version macro in the config.h and consequently in the main
vehicle header means that whenever the version changes we need to
compiler the whole vehicle again. This would not be so bad if we weren't
also appending the git hash in the version. In this case, whenever we
commit to the repository we would need to recompile everything.

Move to a separate header that is include only by its users. Then
instead of compiling everything we will compile just a few files.
2016-05-06 13:11:28 -03:00
Allan Matthew 25c8027606 Plane: handle new MAVLink rangefinder input 2016-05-04 08:40:34 -07:00
Michael du Breuil 0fcfcdc169 Plane: Broadcast POSITION_TARGET_GLOBAL_INT as part of the EXTENDED_STATUS stream 2016-05-01 07:38:23 +10:00
Michael Oborne cd56061b24 ArduPlane: support MAVLINK_MSG_ID_MISSION_ITEM_INT 2016-05-01 07:13:46 +10:00
Andrew Tridgell 4666b25258 Plane: initial implementation of QRTL for quadplane RTL 2016-04-30 14:34:47 +10:00
Niti Rohilla a03941ba02 ArduPlane : Updated handle_guided_request() to report error. 2016-04-29 12:39:28 -03:00
Andrew Tridgell 76400a9959 Plane: support DO_VTOL_TRANSITION as a mission item 2016-04-23 21:03:46 +10:00
James Stoyell 4e7e84fc99 Plane: Modified last_valid_rc_ms AFS failsafe input to work when standard failsafe is on
Ran into a bug on our physical plane where failsafe.last_valid_rc_ms was not recognizing that the transmitter had failed. This is likely due to how the standard failsafe works in receiving lower-than-possible throttle values. So in order to account for this, I added a new variable to the failsafe, AFS_last_valid_rc_ms, and I update it only if the ch3_failsafe (the throttle failsafe) is not on. If the throttle failsafe is on, that means that the plane has indeed lost transmitter input, so the AFS needs to recognize that.
2016-04-22 11:48:36 -07:00
Randy Mackay 4291139b6c Plane: ack DO_MOUNT_CONTROL messages 2016-04-22 21:30:51 +09:00
Andrew Tridgell 8683616d8c Plane: redo scheduler table and improve perf logging
The scheduler table was still setup for a worst case CPU of
AVR2560. Adjust times for the stm32 and improve perf logging
2016-04-21 16:45:02 +10:00
Lucas De Marchi 0095f6168e ArduPlane: fix handling of SET_HOME_POSITION
Location.altitude is stored in cm.
2016-04-18 13:07:45 +10:00
Michael du Breuil c17ea21a97 Plane: Add support for DO_REPOSITION via COMMAND_INT
also allows guided to change loiter directions
2016-04-17 19:00:03 -07:00
Randy Mackay 70f81ee338 Plane: remove multicopter PID parameters
These have been moved to the AC_AttitudeControl class
2016-04-01 11:59:30 +09:00
Andrew Tridgell f73c8ab8ed Plane: allow testing of all motors in sequence
this makes for an easier startup test for a quadplane, allowing a
single MAVLink command to test that all motors are working correctly
in the right sequence
2016-04-01 11:09:51 +11:00
Michael du Breuil 35bb6a634e Plane: Make base_mode armed status depend upon the arming library, not soft armed 2016-03-17 15:16:17 +11:00
Andrew Tridgell 89970e4eaa Plane: support motor_test for quadplanes 2016-03-13 10:05:10 +11:00
Michael du Breuil f60b3fd6c7 Plane: remove "Command recieved" statustext 2016-03-10 15:36:05 +11:00
Andrew Tridgell f4ccf94dfc Plane: added QLAND mode
for VTOL landing. Use for failsafe as well
2016-03-09 18:20:41 +11:00
Andrew Tridgell 968f07f583 Plane: allow live quadplane PID tuning 2016-02-29 14:10:32 +11:00
Tom Pittenger 6399d00950 Plane: convert to using static send_statustext
- no more MSG_STATUSTEXT
- TODO: replace calls to gcs_send_text and gcs_send_text_fmt to GCS_MAVLINK::send_statustext()
2016-02-24 09:18:06 +11:00
Tom Pittenger d04b5e735f Plane: add SYS_STATUS reverse_motor
- helpful to tell GCS to interpret VFR_HUD as negative when bit is enabled
- throttle is sent as abs()
2016-02-11 18:46:01 +11:00
Tom Pittenger b8d5369ebd Plane: add flight stage LAND_PREFLARE 2016-02-09 14:18:02 +11:00
Andrew Tridgell 8dba91658c ArduPlane: log a picture if AP_Camera::control() returns true 2016-01-29 10:01:51 +11:00
Andrew Tridgell 0d6b353bcb Plane: added quad assistance and auto support for quadplane 2016-01-09 07:38:52 +11:00
Andrew Tridgell 2983576067 Plane: added QLOITER mode
quadplane loiter
2016-01-09 07:38:52 +11:00
Andrew Tridgell ca85c332d6 Plane: separate QSTABILIZE and QHOVER modes 2016-01-09 07:38:52 +11:00
Andrew Tridgell 6468fc6d93 Plane: Initial implementation of quadplane
adds "HOVER" mode
2016-01-09 07:38:52 +11:00
Tom Pittenger 0bfe235d6b Plane: use abort landing logic with mavlink GO_AROUND cmd
- also enabled use of CMD_DO_GO_AROUND altitude param
2015-12-31 15:34:41 +11:00
Siddharth Bharat Purohit 78566bda36 Plane: wire up accel calibrator for plane 2015-12-29 10:46:35 -08:00
DonLakeFlyer 7479bc5734 Plane: return success or failure of get home position 2015-12-07 12:33:23 +09:00
Peter Barker 84b53e58d5 Plane: DataFlash-over-MAVLink support 2015-12-03 13:21:52 +11:00
Luis Vale Gonçalves 4722a388b9 Plane: Text revisions
text revisions
2015-11-27 18:54:30 +11:00