Commit Graph

344 Commits

Author SHA1 Message Date
Peter Barker 87a3fcdd02 Rover: remove usb-mux checking
Nobody ever uses the result from this
2018-06-20 02:12:56 +01:00
Peter Barker ab6cf171da Rover: use AP_FWVersion singleton 2018-06-18 19:10:37 +01:00
Michael du Breuil c85f8c7bf5 Rover: Simplify radio trimming, improve MAVLink report 2018-06-11 16:29:36 -07:00
Randy Mackay a08a955cbc Rover: accept DO_CHANGE_SPEED commands 2018-06-11 09:10:35 +09:00
Peter Barker 36705af8ff Rover: create an enumeration to hold vehicle mode constants
This gives us type-safety on the mode numbers.  This is advantageous as
some of these symbols exist with different values elsewhere in the code.
2018-06-08 08:41:16 +09:00
Michael du Breuil cc772710ec Rover: Rework to support override changes 2018-06-05 09:51:09 +10:00
Peter Barker 424d243c7f Rover: move try_send_message handling of EKF_STATUS_REPORT up 2018-06-01 16:12:45 +01:00
Randy Mackay 1e058045f7 Rover: guided mode more forgiving of set-position-targets type_mask field
accept position targets regardless of any other bit settings in type mask field.  This makes rover more forgiving of errors in the type_mask field.
2018-06-01 15:05:48 +09:00
Peter Barker 829d18874e Rover: create persist_streamrates() callback to indicate persistence 2018-05-29 13:08:29 +10:00
Peter Barker 9d83ee8cc7 Rover: move sending of vfr_hud up 2018-05-29 13:00:40 +10:00
Peter Barker 8101f2b573 Rover: move sending of simstate up 2018-05-23 18:36:50 +10:00
Peter Barker e377debf25 Rover: add type-correctness for stream messages 2018-05-22 11:21:25 +10:00
Peter Barker 3f4783fa5d Rover: move try_send_message of servo-output-raw up 2018-05-21 19:08:08 +01:00
Peter Barker 90124c20cb Rover: shorten time remaining in try_send_message
The scheduler table entry for retrying defered messages doesn't allow
enough time for try_send_messages to run.

This change makes the time-remaining requirement the same as Plane.
2018-05-21 18:16:56 +09:00
Peter Barker 1ecd371cd0 Rover: move sending of GLOBAL_POSITION_INT up to GCS_MAVLINK 2018-05-17 15:48:06 +01:00
Peter Barker 3799a13bc3 Rover: move send_attitude up to GCS_MAVLINK 2018-05-17 18:28:43 +10:00
Peter Barker c9d47c4ed5 Rover: move try_send_message sending of scaled_pressure up 2018-05-17 15:37:14 +10:00
Peter Barker ace48d72b0 Rover: move try_send_message sending of sensor offsets up 2018-05-17 15:37:14 +10:00
Peter Barker a37c8eae1f Rover: move try_send_message of RAW_IMU up to GCS_MAVLINK 2018-05-17 15:37:14 +10:00
Peter Barker 0d3051e46a Rover: handle setting of ekf origin in GCS_MAVLink 2018-05-17 10:13:42 +10:00
Michael du Breuil dc5fae9ea6 Rover: Support rangefinder MAVLink changes 2018-05-16 23:21:41 +01:00
Peter Barker b38d23d542 Rover: move sending of battery data up 2018-05-09 11:40:31 -07:00
Peter Barker a692acad81 Rover: move data stream send up 2018-05-09 16:15:38 +10:00
Peter Barker a78fe0896f Rover: make scheduler track whether it has called the delay callback 2018-05-09 16:15:38 +10:00
Peter Barker 9e1811027d APMrover2: move try_send_message handling of RC_CHANNELS_RAW up 2018-05-08 12:33:32 +01:00
Peter Barker 1bc208584f Rover: move try_send_message of heartbeats up to GCS_MAVLINK 2018-05-07 11:30:13 -06:00
Peter Barker 25c2efb3ae Rover: move try_send_message handling of VIBRATION up 2018-05-07 11:23:28 -06:00
Peter Barker d66cb1dda0 Rover: use AP_ServoRelayEvents singleton 2018-04-18 20:31:55 +09:00
Michael du Breuil 05173f24c6 Rover: Use RC_Channels instead of hal.rcin 2018-04-11 21:47:07 +01:00
Michael du Breuil 3bad3b2e68 Rover: Check MANUAL_CONTROL target 2018-04-10 16:54:34 +01:00
Francisco Ferreira b2af1f1e05
Rover: fix method shadowing 2018-04-03 16:29:33 +01:00
Peter Barker a45e3cba15 Rover: factor vehicle's mavlink send_heartbeat 2018-04-03 13:05:19 +01:00
Peter Barker b407a4eed8 Rover: move common calibration functions up 2018-04-02 23:25:05 +01:00
Peter Barker 762b31b147 Rover: create a preflight calibration function
Some functionality has moved up.
2018-04-02 23:25:05 +01:00
Peter Barker 57ed822db0 Rover: allow DataFlash to handle log sending 2018-03-26 09:22:47 +09:00
Peter Barker 3c58eca0ab Rover: move handling of visual odometry messages up 2018-03-23 09:28:07 +09:00
Randy Mackay 96ae9cef14 Rover: send correct mav-type for boats 2018-03-22 09:11:52 +09:00
Peter Barker bb7bed0614 Rover: move handling of get_home_position up 2018-03-19 10:32:37 +09:00
Peter Barker 9d0da4a71f Rover: move home state into AP_AHRS 2018-03-19 10:32:37 +09:00
Peter Barker 81ba037582 Rover: use baro singleton 2018-03-08 21:20:05 -08:00
Peter Barker 78ecf55fec Rover: use AP::ahrs() for GCS_MAVLink 2018-03-07 12:34:39 +00:00
Randy Mackay 24b8ed48b6 Rover: global-pos-int uses vel from EKF instead of GPS 2018-02-13 08:52:48 +09:00
Randy Mackay f47e65822f Rover: fix global-pos-int velocity direction to NED 2018-02-13 08:52:48 +09:00
khancyr 5503a0069d Rover: add proximity library 2018-01-22 17:18:41 +09:00
khancyr c3fb985ec5 Rover: add fence support 2018-01-22 17:18:41 +09:00
Dylan Herman c14af79975 Rover: now sends SCALED_PRESSURE msg 2018-01-22 10:04:57 +09:00
Randy Mackay 5167ec7708 Rover: send PID to GCS regardless of mode
Also add some comments
2018-01-12 08:15:34 +09:00
Randy Mackay f6f40afcda Rover: rename control_mode_from_num to mode_from_mode_num 2017-12-12 10:39:26 +09:00
Randy Mackay 8e80490098 Rover: reporting gets lat accel from attitude control 2017-12-09 12:18:49 +09:00
Randy Mackay 57067fb8bc Rover: add WP_SPEED and RTL_SPEED
This separates the default/maximum speed used in Auto, Guided, RTL and SmartRTL from the CRUISE_SPEED which is used as the base for the speed-to-throttle controller (along with CRUISE_THROTTLE)
2017-12-07 07:29:10 +09:00
Randy Mackay 988e4290dd Rover: formatting and comments for set-position-target handling 2017-12-05 12:15:33 +09:00
khancyr 9299943347 Rover: adjust setpoint_velocity handling 2017-12-05 12:14:46 +09:00
Peter Barker 1d2ec9054b Rover: tighten return types of mavlink functions and variables 2017-12-01 17:01:10 +00:00
Randy Mackay 5b7cd31221 Rover: send steering PID tuning to GCS in most modes
Using manual_steering and auto_throttle is not perfectly correct because we will send steering rate PID info in HOLD mode but will not send throttle PID info in Steering mode
2017-11-29 09:38:53 +09:00
khancyr 279a57dc10 APMrover2: fix servo_out to GCS message 2017-11-21 20:23:55 +09:00
Peter Barker baf82cec22 Rover: use gps singleton for GCS functions 2017-11-15 13:43:03 +00:00
Pierre Kancir 4d38eb85a1 APMRover2: Add support of MANUAL_CONTROL msg 2017-10-31 09:31:05 +09:00
Randy Mackay 2ef1e8e4c2 Rover: fix PID desired and achieved reporting 2017-10-26 19:44:18 +09:00
Andrew Tridgell f25e8631ef Rover: support simple accelcal 2017-10-10 10:57:38 +11:00
Lucas De Marchi 27be369be7 APMrover2: 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 3af5893f9e Rover: command-long DO_SET_HOME check first param is zero 2017-09-20 12:14:38 +09:00
Randy Mackay f7cb006d40 Rover: accept DO_SET_HOME within COMMAND_INT 2017-09-20 12:14:38 +09:00
Randy Mackay b1684b5377 Rover: accept more mav-frame types
accept mav frames whether or not they have _INT appended
2017-09-20 12:14:38 +09:00
Peter Barker b84e40a804 Rover: move handling of SET_GPS_GLOBAL_ORIGIN up 2017-09-19 15:44:23 +09:00
Randy Mackay 4899401679 Rover: minor comment fix 2017-09-19 10:30:15 +09:00
Randy Mackay 894bf2a23f Rover: support SET_GPS_GLOBAL_ORIGIN message 2017-09-19 10:30:15 +09:00
Peter Barker add5eb6907 Rover: remove old DO_SET_MODE support
We no longer support setting modes except via custom-modes
2017-09-19 01:24:11 +01:00
Peter Barker 25a32c93f2 Rover: move gcs_out_of_time into GCS object 2017-09-12 18:28:07 +01:00
Peter Barker b5d234aa64 Rover: handle param_request_list in GCS_MAVLINK base class 2017-08-30 15:54:47 +01:00
Peter Barker 640b2b7a13 Rover: handle param_set in GCS_MAVLINK base class 2017-08-30 15:54:47 +01:00
Peter Barker 85ac69f701 Rover: move send_autopilot_request calls up to GCS base class 2017-08-30 15:54:46 +01:00
Peter Barker d98c427514 Rover: add constant structure holding firmware version 2017-08-30 15:54:46 +01:00
Randy Mackay 14c74a5967 Rover: remove learning mode
saving waypoints can be done in manual or steering mode
2017-08-25 14:05:23 +09:00
Peter Barker ee39ec3751 Rover: move serial_control case to base class 2017-08-17 12:42:31 +01:00
Peter Barker 92becb2875 Rover: move play_tune and led_control handling to base class 2017-08-17 12:27:10 +01:00
Peter Barker f3a0d2b02b Rover: use GCS_MAVLINK subclasses to handle set_mode 2017-08-16 11:58:10 +10:00
Peter Barker 4c2747bfe8 Rover: use rangefinder backend accessors 2017-08-15 18:30:45 +01:00
Michael du Breuil a98c8427dd Rover: Expose the AFS instance to MAVLink 2017-08-15 15:14:56 +01:00
Randy Mackay d99108f3bc Rover: use AR_AttitudeControl for throttle control
also direct throttle nudge replaced with speed nudge
calc_speed_max estimates vehicle's top speed based on cruise-speed and
cruise-throttle
steering mode now provides total target speed instead of using speed plug
throttle nudge
motor limits provided to attitude control to stop i-term buildup
uses negative desired speed instead of reversed flag
reporting to GCS uses new throttle controller
braking is simply enabled and allows a reverse motor output regardless of vehicle
speed
2017-08-15 20:47:19 +09:00
Randy Mackay 9097269d6d Rover: use AR_AttitudeControl for steering control 2017-08-15 20:47:19 +09:00
Peter Barker edab526b01 Rover: send gps messages as separate queued messages 2017-08-09 16:18:22 +01:00
Peter Barker f7fd663f45 Rover: move sending of gps_raw up 2017-08-09 16:18:22 +01:00
Peter Barker 89a5272ab5 Rover: move sending of system_time up 2017-08-09 16:18:22 +01:00
Peter Barker 341a9ae032 Rover: move sending of camera_feedback up 2017-08-09 16:18:22 +01:00
Peter Barker ece800ba90 Rover: move sending of meminfo up 2017-08-09 16:18:22 +01:00
Peter Barker c642dc616a Rover: use new retry_deferred method 2017-08-05 23:14:18 +01:00
Randy Mackay 3863542194 Rover: adjust set-position-target-local-ned handling
add support for just yaw or yaw-rate
remove support for simultaneous position and velocity
2017-08-05 11:20:58 +09:00
Randy Mackay 46faece76b Rover: set-attitude-target accepts quaternions for target heading 2017-08-05 11:20:58 +09:00
Randy Mackay d56d222971 Rover: set-attitude-target consumes thrust in -1 to +1 range
This makes the processing consistent with the mavlink spec
2017-08-05 11:20:58 +09:00
Randy Mackay b9db9229d9 Rover: replace vehicle code guided methods with calls to guided mode class
set_guided_WP replaced by mode_guided.set_desired_location
nav_set_yaw_speed replaced with mode_guided.set_desired_heading_and_speed
set_guided_velocity replaced with mode_guided.set_desired_turn_rate_and_speed
guided_control structure replaced with mode_guided members
use_pivot_steering accepts yaw-error argument instead of calculating it itself internally
2017-08-05 11:20:58 +09:00
Randy Mackay 783f8243df Rover: use mode class's get_distance_to_destination and speed_error
used for reporting to GCS and logging
2017-08-05 11:20:58 +09:00
Peter Barker 137d513fdc Rover: move try_send_message queued_param_send up 2017-08-03 14:34:33 +01:00
Peter Barker dbac7447d6 Rover: move try_send_message send_hwstatus up 2017-08-03 14:34:33 +01:00
Peter Barker 4da89a948a Rover: move try_send_message mission handling up 2017-08-03 14:33:37 +01:00
Peter Barker dbdfce570a Rover: move try_send_message compass message handling up 2017-08-03 14:24:47 +01:00
Peter Barker d44c7f0886 Rover: base SYS_STATUS load average on variable loop rate 2017-08-01 19:39:27 +01:00
khancyr 23532bf45c Rover: add reason to set_mode 2017-07-31 18:01:17 +09:00
Peter Barker 2014eb0def Rover: move common mavlink camera handling up 2017-07-28 14:32:58 +01:00
Peter Barker 81d52c282c Rover: camera is responsible for taking distance-based-images and logging 2017-07-28 14:27:53 +01:00
Peter Barker 160831d4ca Rover: move gps inject handling up to GCS_MAVLINK 2017-07-27 12:03:25 +01:00
Randy Mackay ddc70058d5 Rover: reporting wheel encoder rpm 2017-07-27 16:52:29 +09:00
Peter Barker fec152385c Rover: handle common GPS messages in base GCS_MAVLINK class 2017-07-25 14:00:45 +01:00
Peter Barker 07f4603533 Rover: integrate mode class 2017-07-21 10:13:20 +09:00
Peter Barker f1c3e16354 Rover: remove MSG_STATUSTEXT entirely 2017-07-18 16:12:59 +01:00
Randy Mackay 8a86b64776 Rover: motor test accepts negative percentages 2017-07-18 10:15:44 +09:00
khancyr 5208466629 Rover: add motor test 2017-07-18 10:15:44 +09:00
Peter Barker cee7ce0571 Rover: move handling of PREFLIGHT_SET_SENSOR_OFFSETS up 2017-07-17 14:17:19 +01:00
Peter Barker 3586f0e8fb Rover: move handling of MAG_CAL command longs up 2017-07-17 14:17:19 +01:00
Peter Barker a963a80b91 Rover: move MAV_CMD_START_RX_PAIR handling to base class 2017-07-17 14:17:19 +01:00
Peter Barker bcf7c6e6b6 Rover: move mavlink support for servo/relay up 2017-07-16 23:56:00 +01:00
Peter Barker 40eb07f472 Rover: add common handling of mavlink command messages 2017-07-16 23:56:00 +01:00
khancyr 40b860e240 Rover: rename sonar to rangefinder 2017-07-14 17:40:05 +01:00
Peter Barker adb89c5ca6 Rover: remove unneeded telemetry_delayed parameter 2017-07-12 17:01:36 +01:00
Peter Barker 7aff4c6ab9 Rover: move handling of incoming statutext messages up 2017-07-12 16:52:24 +01:00
Peter Barker 901045b029 Rover: move common mission handling up to GCS_MAVLINK 2017-07-11 23:45:17 +01:00
Peter Barker 2692ee22d3 Rover: eliminate gcs_send_mission_item_reached wrapper 2017-07-11 23:45:16 +01:00
Peter Barker 130ad52a22 Rover: eliminate gcs_send_message wrapper 2017-07-11 23:45:16 +01:00
Peter Barker 9509f7f1bf Rover: use send_text method on the GCS singleton 2017-07-09 17:17:29 -04:00
Peter Barker 7ad003a211 APMrover2: use Notify singleton for sending statustext 2017-07-09 17:17:29 -04:00
Pierre Kancir 267a1532b9 Rover: integrate motors library
move throttle_slew_limit and THR_SLEWRATE parameter
move have_skid_steering to library
move mix_skid_steering to library's output_skid_steering method
move radio.cpp's output channel initialisation to motor's init method
use motors.get_throttle and get_steering instead of getting from Servo objects
use motors.set_throttle and set_steering instead of setting to Servo object
AP_Arming::arming_required is replaced with SAFE_DISARM parameter
2017-07-08 16:07:13 +09:00
Peter Barker cfeb449979 Rover: create GCS subclass, use inheritted methods 2017-07-07 16:18:37 +01:00
Randy Mackay 351b37fc31 Rover: only report system status after init has completed
This reduces errors reported to the GCS during startup
2017-06-28 11:32:01 +09:00
Peter Barker 3a85d8ed39 Rover: handle knowledge of in_log_download in DataFlash 2017-06-27 03:10:43 +01:00
Peter Barker 689a5cb238 Rover: move send-logs-via-mavlink code into DataFlash 2017-06-27 03:10:43 +01:00
Andrew Tridgell d060fd2826 Rover: replace get_output_norm*100 for throttle with get_output_scaled
No functional change
2017-06-21 10:30:39 +09:00
Michael du Breuil 57c9afb77e Rover: Handle NAV_CONTROLLER_OUTPUT.wp_dist overflowing 2017-06-20 15:41:50 +01:00
Peter Barker 900f0cc774 Rover: move MAVLINK_MSG_ID_REMOTE_LOG_BLOCK_STATUS handling up 2017-06-17 15:07:48 +01:00
Peter Barker aeacc11573 APMrover2: stop using in_mavlink_delay as a proxy for disabling logging 2017-06-16 17:07:48 +01:00
Randy Mackay 584974fd74 Rover: set home from ekf position 2017-06-14 09:12:20 +09:00
Randy Mackay 0da6e73d76 Rover: add support for visual odometry 2017-06-14 09:12:20 +09:00
Pierre Kancir a26710d769 APMRover2: add support for DISTANCE_SENSOR 2017-06-08 01:31:57 +01:00
Paulo Neves 74d67f8d05 Rover: Add MAV_CMD_DO_SET_CAM_TRIGG_DIST support. 2017-05-25 09:35:22 +09:00
Michael du Breuil 379a4fbfab Rover: Ignore landing message 2017-05-24 15:22:27 -07:00
Grant Morphett 5ac1293a52 Rover: Make base_mode armed status depend upon the arming library, not
soft armed

This change brings it in line with Plane.
2017-05-23 14:51:22 +10:00
Pierre Kancir f725e9f2b5 APMRover2: correct some style after addition of velocity controler 2017-05-04 19:53:21 +10:00
Pierre Kancir 670e7b7914 ROVER: put all guided param in one structure 2017-05-04 19:53:21 +10:00
Pierre Kancir 045d171ab9 Rover: add Guided velocity controller 2017-05-04 19:53:21 +10:00
Randy Mackay d6b55b2d09 Rover: set_guided_WP accepts location 2017-05-04 19:53:21 +10:00
Andrew Tridgell 37585f213a Rover: use common send_queued_parameters() 2017-05-01 14:36:10 +10:00
Pierre Kancir 2eb0ed6242 APMRover2: Remove, correct some cast 2017-04-26 08:43:09 +10:00
Pierre Kancir 20cc336885 APMRover2: const correctness 2017-04-26 08:43:09 +10:00
Pierre Kancir c41e695c98 APMRover2: correct some style 2017-04-26 08:43:09 +10:00
Pierre Kancir b634fe548d APMRover2: Use c++ cast 2017-04-26 08:43:09 +10:00
Andrew Tridgell 7cc1009dab Rover: ignore MSG_AOA_SSA 2017-04-19 20:48:42 +10:00
Michael du Breuil 7328a8ad41 Rover: Send BATTERY_STATUS 2017-04-12 10:21:49 +09:00
Peter Barker 82ac46e0ed Rover: not in log download upon log erase
erase is a synchronous operation
2017-02-13 11:36:16 +11:00
Peter Barker 45e0765b97 Rover: Support for a GCS singleton 2017-02-13 09:32:01 +11:00
Peter Barker 407e251e1d Rover: rename gcs[] to gcs_chan[]
Wish to use gcs() to return the gcs singleton
2017-02-13 09:32:01 +11:00
Dr.-Ing. Amilcar Do Carmo Lucas 7f5ef7cf3a Rover: rename MSG_RADIO_OUT to MSG_SERVO_OUTPUT_RAW to better describe what it is 2017-02-07 11:41:12 +11:00
Randy Mackay c701d6a715 Rover: send text to notify 2017-01-23 15:07:21 -08:00