Commit Graph

232 Commits

Author SHA1 Message Date
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