Commit Graph

1799 Commits

Author SHA1 Message Date
Randy Mackay ed558dd9a0 Rover: play sad tune when arming fails 2017-12-01 21:59:55 +09:00
Randy Mackay b4a779aec3 Rover: add arm/disarm to ch7 switch 2017-12-01 21:59:55 +09:00
Randy Mackay 8eb58b266a Rover: remove unused failsafe_throttle_suppress method 2017-12-01 21:59:55 +09:00
Randy Mackay 8043c0f638 Rover: reduce arming delay to 2 sec 2017-12-01 21:59:55 +09:00
Peter Barker e38cefea8a Rover: add SmartRTL mode
called at 3hz from scheduler
2017-12-01 09:28:56 +09:00
Randy Mackay 86ce3f2b32 Rover: add SmartRTL library to build 2017-12-01 09:28:56 +09:00
Randy Mackay 9f94875228 Rover: mode class gets set_desired_location_NED 2017-12-01 09:28:56 +09:00
Randy Mackay 6d472376bb AP_MotorsUGV: do not limit just because of saturation
steering and throttle limit flags should only be set when there is no point in the caller passing in higher values because it will not result in an increased response.  In the case of saturation, higher inputs will still result in a higher response.
2017-11-30 20:13:11 +09:00
Peter Barker 5612292802 Rover: allow vehicle to be armed in manual with no GPS 2017-11-30 15:41:50 +09:00
Peter Barker 1a59b38204 Rover: use throttle rather than steering to determine target speed 2017-11-30 15:37:40 +09:00
Peter Barker 68800a52f5 Rover: move RC failsafe check up
Both steering and acro modes can benefit from this check
2017-11-29 17:35:44 +09:00
Randy Mackay 69dc68d621 Rover: re-order acro mode to add early return
non-functional change
2017-11-29 14:03:43 +09:00
Randy Mackay 060f1d36dd Rover: allow aux switch to record waypoints when not in auto-mode
this reduces the changes required when adding new modes
2017-11-29 14:03:43 +09:00
Peter Barker 45d76bdf25 Rover: add name4() to Mode and use it for AP_Notify calls 2017-11-29 14:03:43 +09:00
Randy Mackay 04e9228fa0 Rover: add Acro mode
ACRO_TURN_RATE allows user control of maximum turn rate
2017-11-29 14:03:43 +09: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
Randy Mackay 26f50f6055 Rover: PILOT_STEER_TYPE replaces SKID_STEER_IN
new options allow controlling vehicle's heading while reversing
skid-steering vehicles rotate in opposite direction when backing up
2017-11-29 09:38:53 +09:00
Randy Mackay c6689fd2e1 Rover: rename calc_nav_steer to calc_steering_from_lateral_acceleration
rename calc_lateral_acceleration to calc_steering_to_waypoint
calc_steering_to_waypoint internally calls calc_steering_from_lateral_acceleration
non-functional change
2017-11-28 11:46:21 +09:00
Randy Mackay fa7c56a110 Rover: minor comment fix 2017-11-28 10:38:19 +09:00
Daniel Widmann 8f1857759f AP_MotorsUGV: allow larger MOT_SLEWRATE values 2017-11-28 09:12:18 +09:00
Randy Mackay 78275ec4a1 AP_MotorsUGV: throttle slew updates motor limit flags
this ensure I-term build-up doesn't happen when the slew
causes the throttle to react slowly
2017-11-28 09:12:18 +09:00
Andrew Tridgell 01c4e51d08 Rover: don't disable compass on one bad reading
the compass can go back for a short time and recover

found by Michael
2017-11-28 09:02:24 +11:00
Randy Mackay a7fd353f14 Rover: add comment to unused param enum entries 2017-11-27 20:40:35 +09:00
Randy Mackay 6d805b64b6 AP_MotorsUGV: remove access to enable/disable throttle slewing 2017-11-27 14:31:20 +09:00
Randy Mackay 23028a659b Rover: slew throttle in all modes 2017-11-27 14:31:20 +09:00
Randy Mackay 822c4b6dca Rover: remove set of slew for motor test
The motor library test function does not attempt to implement slewing so setting this is not necessary
2017-11-27 14:31:20 +09:00
Randy Mackay cab972a429 Rover: reduce TURN_MAX_G default to 1.0
This is probably still slightly too high but closer than the previous 2.0
2017-11-27 12:25:28 +09:00
Peter Barker 9272c10043 Rover: use short descriptions for mission item types 2017-11-27 10:28:24 +09:00
Randy Mackay b60cb536ab Rover: RTL within auto mode 2017-11-23 10:20:19 +09:00
Randy Mackay 14d9e932ab Rover: allow disarming from transmitter on skid-steering vehicles 2017-11-23 09:07:04 +09:00
Peter Barker bf6b3a72bc Rover: support for units on fields 2017-11-23 10:40:30 +11:00
khancyr 279a57dc10 APMrover2: fix servo_out to GCS message 2017-11-21 20:23:55 +09:00
khancyr 005002736b AP_MotorsUGV: fix MOT_SLEWRATE parameter description 2017-11-21 20:02:20 +09:00
Andrew Tridgell d57f307032 Rover: use cork/push wrapper 2017-11-21 14:10:54 +11:00
Peter Barker c00a4f3bb2 Rover: AP_Camera uses GPS singleton 2017-11-16 15:28:37 +00:00
Peter Barker baf82cec22 Rover: use gps singleton for GCS functions 2017-11-15 13:43:03 +00:00
khancyr c08203de17 Rover: allow pivot turn in STEERING mode 2017-11-15 13:46:58 +09:00
André Kjellstrup aab22d7dad Rover: Option to trig by distance only when in AUTO mode 2017-11-14 00:10:22 +00:00
Randy Mackay 7e2214c2be Rover: simplify logic for lateral-accel override during use-pivot-steering
It was theoretically possible that the lateral-acceleration would not be overwritten if the yaw-error-cd was exactly zero
2017-11-08 17:15:59 +09:00
khancyr 2b0645d6a1 Rover: get_throttle_out calls do not require skid-steering arg 2017-11-08 15:45:43 +09:00
Daniel Widmann bc7cf97b4e Rover: don't use GPS speed to detect reversing
instead pass reverse to attitude controller based on desired speed
2017-11-08 14:37:59 +09:00
Daniel Widmann ac7e76cc43 Rover: enable pivot turns in auto mode 2017-11-08 14:35:00 +09:00
Pierre Kancir 4d38eb85a1 APMRover2: Add support of MANUAL_CONTROL msg 2017-10-31 09:31:05 +09:00
Randy Mackay 7fb4f17ad9 Rover: 3.2.0-rc2 release notes 2017-10-28 15:16:11 +09:00
Peter Barker 2d0a23fcc8 Rover: call ins's periodic function 2017-10-27 16:33:45 +11:00
khancyr 74d5767e25 Rover: Fix slew rate range 2017-10-26 19:44:43 +09:00
Randy Mackay 2ef1e8e4c2 Rover: fix PID desired and achieved reporting 2017-10-26 19:44:18 +09:00
Randy Mackay ea70755f00 Rover: fix speed nudge
fix bug when target speed was exactly zero which caused nudge to be a large negative value
2017-10-26 19:44:07 +09:00
Randy Mackay fb9f695d2f Rover: fix use-pivot-steering
absolute yaw error should be used
2017-10-26 19:43:55 +09:00
Randy Mackay fb944322c7 Rover: minor fix to disarm logic
check should use logical and instead of bitwise and
2017-10-26 19:43:48 +09:00
Randy Mackay 2c568f8046 Rover: minor parameter description change
non-functional change
2017-10-26 19:43:42 +09:00
Randy Mackay 9f67d2a88d Rover: add MOT_SKID_FRIC to up skid-steer motor out while stopped 2017-10-26 19:43:36 +09:00
Tom Pittenger f7d07fc146 Rover: always log MODE and include reason when logging is enabled 2017-10-25 21:18:29 +11:00
Andrew Tridgell f25e8631ef Rover: support simple accelcal 2017-10-10 10:57:38 +11:00
Michael du Breuil 4f83d39b5e Rover: Report GPS health 2017-09-27 19:29:32 +01:00
Lucas De Marchi e98ccb9ae6 ArduRover: use static method to construct controllers 2017-09-26 03:01:21 +01:00
Lucas De Marchi bfd13dfe87 global: use static method to construct AP_AHRS_DCM 2017-09-26 03:01:21 +01:00
Lucas De Marchi beabae6a98 global: use static method to construct AP_AHRS_NavEKF 2017-09-26 03:01:21 +01:00
Lucas De Marchi c9fbf7b722 global: use static method to construct AP_NavEKF3 2017-09-26 03:01:21 +01:00
Lucas De Marchi e2fe36357a global: use static method to construct AP_NavEKF2 2017-09-26 03:01:21 +01:00
Lucas De Marchi eadd650d78 global: use static method to construct AP_RSSI 2017-09-26 03:01:21 +01:00
Lucas De Marchi 18aa88b329 global: use static method to construct AP_Mount 2017-09-26 03:01:21 +01:00
Lucas De Marchi c3647f0185 global: use static method to construct AP_Camera 2017-09-26 03:01:21 +01:00
Lucas De Marchi cc53e7bc4b global: use static method to construct AP_ServoRelayEvents 2017-09-26 03:01:21 +01:00
Lucas De Marchi 13d7f58036 global: use static method to construct AP_Relay 2017-09-26 03:01:21 +01:00
Lucas De Marchi 9ce6019138 global: use static method to construct AP_Frsky_Telem 2017-09-26 03:01:21 +01:00
Lucas De Marchi b022c02029 global: use static method to construct AP_BattMonitor 2017-09-26 03:01:21 +01:00
Lucas De Marchi 69b6d95cb2 global: use static method to construct AP_Board_Config{,_CAN} 2017-09-26 03:01:21 +01:00
Lucas De Marchi a74e700006 global: use static method to construct RCMapper 2017-09-26 03:01:21 +01:00
Lucas De Marchi 72fd2d6f05 global: use static method to construct AP_SerialManager 2017-09-26 03:01:21 +01:00
Lucas De Marchi fbe0d9761c global: use static method to construct AP_OpticalFlow 2017-09-26 03:01:21 +01:00
Lucas De Marchi 5ec1430726 APMrover2: use static method to construct AP_Arming_Rover 2017-09-26 03:01:21 +01:00
Lucas De Marchi b36a5919f5 global: use static method to construct AP_Mission
This also move the initialization to be in the header for those that
weren't already to maintain consistency.
2017-09-26 03:01:21 +01:00
Lucas De Marchi 40fd1b346c global: remove rangefinder from AP_AHRS_NavEKF
AP_AHRS_NavEKF doesn't use the rangefinder, it just delegates the
calls to the right estimator.

For libraries/AP_AHRS/examples/AHRS_Test/AHRS_Test.cpp the initialization
order has also been modified to match the order on vehicles. It's more
correct since it passes a reference when EKF2/EKF3 are already
constructed, while thos constructors use a pointer.  Ideally these
should be moved to an init() method though, or use a get_instance().
2017-09-26 03:01:21 +01:00
Lucas De Marchi 9027a55696 global: use static method to construct RangeFinder 2017-09-26 03:01:21 +01:00
Lucas De Marchi f5c2ffffb9 global: remove DataFlash from AP_Mount::init() 2017-09-26 03:01:21 +01:00
Lucas De Marchi 53c82b4aaf global: use static method to construct DataFlash_Class 2017-09-26 03:01:21 +01:00
Lucas De Marchi 62ac0ab8aa global: use static method to construct AP_Notify 2017-09-26 03:01:21 +01:00
Lucas De Marchi de680dac5b global: use static method to construct AP_Scheduler 2017-09-26 03:01:21 +01:00
Lucas De Marchi 8094482f21 global: use static method to construct AP_GPS 2017-09-26 03:01:21 +01:00
Lucas De Marchi 87b30b4552 global: use static method to construct AP_InertialSensor 2017-09-26 03:01:21 +01:00
Lucas De Marchi c1a957fbf3 global: use static method to construct Compass 2017-09-26 03:01:21 +01:00
Lucas De Marchi 91feec0e14 global: use static method to construct AP_Baro 2017-09-26 03:01:21 +01:00
Lucas De Marchi ad05e0a643 APMrover2: protect version.h from inclusion and use ap_version.h 2017-09-23 21:37:45 -07: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
Lucas De Marchi 0c49b7a973 APMrover2: move version to a static member
We should never include version.h or ap_version.h headers directly
on a header since this will trigger a complete rebuild of the
codebase when we commit to the repository. The ap_version.h header
is auto-generated containing information from the current commit.

If we include it in a header, every other file that ends up including
that header (directly or indirectly) will need to be rebuilt. No
ccache's cache beats having to do nothing when the header is just
not included.

version.h contains information that is kept on a struct inside
each vehicle. Rather than using the macros from each vehicle,
the getter should be preferred, which returns an AP_FWVersion
referente.
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 de406da254 Rover: set home using EKF position
previously the home position could be set from DCM
This makes the setting of home slower but more accurate
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
khancyr 2be28ddb1e Rover: fixup cpu failsafe
remove copying of rc input to servo output
disarm after 2 seconds
2017-08-26 13:13:18 +09:00
Randy Mackay d525c0bffb Rover: 3.2.0-rc1 release notes 2017-08-25 14:50:48 +09:00
Randy Mackay 78a5e4500f Rover: send GCS warning when cruise learning fails to start
Also const-ified some variables, added some brackets and comments
2017-08-25 14:05:23 +09:00
Randy Mackay 1600823b12 Rover: aux switch to learn cruise throttle and speed 2017-08-25 14:05:23 +09: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
Randy Mackay 524fe4cd82 Rover: aux switch saves waypoint in manual or steering modes
Also refactor aux switch methods
rename LEARN_CH to AUX_CH
2017-08-25 14:05:23 +09:00
Randy Mackay 3adfb0e77d Rover: replace int with uint8_t
non-functional change
2017-08-25 14:05:23 +09:00
Randy Mackay 82e61d7198 Rover: remove unused throttle_failsafe_active method 2017-08-25 14:05:23 +09:00
khancyr 4ab11027a7 Rover: remove unused mavlink_delay(uint32_t ms) 2017-08-24 20:41:16 +09:00
khancyr 4c977f16ce Rover: reduce ADC warm up time 2017-08-24 20:41:16 +09:00
khancyr 2f1cc5ddfc Rover: support brushed motor on normal rover 2017-08-24 20:09:47 +09:00
khancyr 25b1307400 Rover: solve servo reverse in brushed configuration 2017-08-24 20:05:27 +09:00
Peter Barker 4fc31cf80d Rover: add ArduSub to list of SYSID_SW_TYPE 2017-08-24 19:50:38 +09:00
Randy Mackay 7a37a7f921 Rover: integrate simpler Log_Write_EKF 2017-08-23 11:19:14 +09:00
Randy Mackay 3f1271214e Rover: rename MotorsUGV pwm type to brush-with-relay 2017-08-22 10:09:13 +09:00
khancyr 46e6057493 Rover: solve servo reverse in brushed configuration 2017-08-22 10:09:10 +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
Randy Mackay bbb1329116 Rover: remove unused definitions 2017-08-17 11:58:07 +09:00
khancyr 2ceb29e9da Rover: use abs for int within calc_speed_nudge
same issue resoled for log-write-nav-tuning
2017-08-17 09:46:56 +09:00
khancyr ed19db7188 Rover: set_mode arg name to match implementation
definition and implementation used different argument name
2017-08-17 09:46:19 +09:00
khancyr a035950a22 Rover: minor format fix 2017-08-17 09:45:49 +09:00
khancyr 58b643c458 Rover: replace divide with multiply in calc_throttle
non functional change
2017-08-17 09:45:21 +09:00
Randy Mackay 6eceaef484 Rover: remove redundant SYS_NUM_RESETS
this is handled by AP_Stats library
2017-08-17 09:39:40 +09:00
Randy Mackay e2d4182c75 Rover: fix parameter conversion 2017-08-17 09:39:40 +09:00
Randy Mackay c9927e6af6 Rover: bug fix to steering mode top speed
Also non-functional change to calc_throttle to make call to calc_speed_nudge consistent
2017-08-17 09:39:40 +09:00
Randy Mackay 167a856cdb Rover: remove THR_MIN, THR_MAX parameters from vehicle
enforcing these limits is now handled by AP_MotorsUGV class
2017-08-17 09:39:40 +09:00
Randy Mackay c0fe1b7ec8 AP_MotorsUGV: minor comment fix 2017-08-17 09:39:40 +09:00
Randy Mackay c8eceeabb6 AP_MotorsUGV: add THR_MIN, THR_MAX parameters 2017-08-17 09:39:40 +09:00
Randy Mackay c61f965828 AP_MotorsUGV: re-order implementation to match declaration
non-functional change
2017-08-17 09:39:40 +09:00
Peter Barker f3a0d2b02b Rover: use GCS_MAVLINK subclasses to handle set_mode 2017-08-16 11:58:10 +10:00
Grant Morphett 2463bfd2ec Rover: fix SITL Make build on Windows
PE linker can't remove unused methods so we add the necessary libraries
2017-08-15 21:51:13 +01: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 348dbdaf22 Rover: fix do-nav-wp comment 2017-08-15 20:47:19 +09:00
Randy Mackay 57b2b02509 Rover: remove out-of-date comment 2017-08-15 20:47:19 +09:00
Randy Mackay 492fe40f93 Rover: re-organise private member declarations
declarations are grouped by file (which are in turn organised alphabetically) and in the order they appear within each file
non-functional change
2017-08-15 20:47:19 +09:00
Randy Mackay 6c7db05207 Rover: re-organise includes
non-functional change
2017-08-15 20:47:19 +09:00
Randy Mackay 06a7e46447 Rover: remove PID from build 2017-08-15 20:47:19 +09:00
Randy Mackay 95c5ada3e9 Rover: modes use stop_vehicle to stop gently
modes slow to a stop instead of immediately setting motors to zero
vehicle centers steering when stopping
2017-08-15 20:47:19 +09:00
Randy Mackay 0b917cfd36 Rover: mode auto guided and rtl slow before destination
new mode class member _desired_speed_final holds target speed at destination

main vehicle code passes heading to next waypoint into auto mode.
we do not provide heading when delaying at waypoint which signals we wish

auto-mode calculates final speed at destination which allows vehicle to
make turn within value of WP_OVERSHOOT parameter assuming vehicle turns at
maximum lateral acceleration.
2017-08-15 20:47:19 +09: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 61d1ced7aa Rover: add turn radius param for steering mode
removes reliance on old steerController
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
Randy Mackay c56d8cb6b1 Rover: add AC_PID and AR_AttitudeControl to build 2017-08-15 20:47:19 +09:00
Randy Mackay a5783939ef AP_MotorsUGV: add limit flags
These flags become true when the steering servo or motors hit their
limits.  used to stop I-term build-up in higher level controllers.
2017-08-15 20:47:19 +09:00
Peter Barker fa2b500e93 Rover: remove CLI 2017-08-14 10:23:50 +09:00
Randy Mackay 59a1f260d1 Rover: remove unused compat.h 2017-08-12 14:46:46 +09:00
Randy Mackay b895da64e1 Rover: minor comment fix to parameters list 2017-08-12 14:46:19 +09:00
Randy Mackay e79e92a789 Rover: remove unused SPEED_TURN_DIST parameter 2017-08-12 13:58:35 +09:00
Randy Mackay 28d74722bd AP_MotorsUGV: minor formatting fix 2017-08-12 13:34:27 +09:00
Randy Mackay bff74115bc Rover: remove unused distance_past_wp 2017-08-12 13:05:01 +09:00
Randy Mackay a00c7e0acb Rover: mode calc_reduced_speed_for_turn gets some const for local variables 2017-08-12 12:29:13 +09:00
Randy Mackay 66bb3e8ee0 Rover: minor formatting fix to parameters.cpp 2017-08-12 12:14:54 +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
khancyr 6b429bd372 Rover: remove redundant GPS check before camera update
this same check is included within AP_Camera
2017-08-05 17:05:19 +09:00
khancyr 7c3374668e Rover: formatting fixes and const local variables 2017-08-05 17:05:00 +09:00
khancyr 848df551ac Rover: formatting and comment fixes to mode class 2017-08-05 17:02:52 +09:00
Randy Mackay efc790a84a Rover: add comment to mode 2017-08-05 11:20:58 +09:00
Randy Mackay 30852d4713 Rover: auto-reversed moved to mode 2017-08-05 11:20:58 +09:00
Randy Mackay 4f5e82f406 Rover: mode fixes for reversing 2017-08-05 11:20:58 +09:00
Randy Mackay 66f1437e4f Rover: remove unused throttle variable 2017-08-05 11:20:58 +09:00
Randy Mackay 1e8e3609c6 Rover: remove duplicate setting of ground_speed
update_ahrs already does this using a slightly different method, having both likely leads to small twitches in ground speed at 10hz
2017-08-05 11:20:58 +09:00
Randy Mackay e88b1572b6 Rover: remove navigate 2017-08-05 11:20:58 +09:00
Randy Mackay fe6465b748 Rover: remove next_WP, wp_distance, navigate
Also remove prev_WP, wp_totalDistance which are all handled within mode class
2017-08-05 11:20:58 +09:00
Randy Mackay b4af441eb9 Rover: remove unused update_navigation 2017-08-05 11:20:58 +09:00
Randy Mackay 2640ec9ed9 Rover: rename update_commands to update_mission 2017-08-05 11:20:58 +09:00
Randy Mackay 56b0621994 Rover: verify_RTL calls rtl mode
also remove unused rtl_complete
2017-08-05 11:20:58 +09:00
Randy Mackay 1b19ee865d Rover: remove active-loiter and set-auto-wp
these are now handled by auto mode
2017-08-05 11:20:58 +09:00
Randy Mackay 974453607e Rover: replace do-yaw with nav-set-yaw-speed 2017-08-05 11:20:58 +09:00
Randy Mackay 27e833ebd1 Rover: verify_within_distance gets distance directly from auto mode 2017-08-05 11:20:58 +09: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
Randy Mackay f71db5ae05 Rover: rtl mode refactoring
slow down for turns
2017-08-05 11:20:58 +09:00
Randy Mackay 946a0a8e54 Rover: guided mode refactoring
add set-desired methods
add get_distance_to_destination
fix to one interation with no update to motors
slow down for turns
2017-08-05 11:20:58 +09:00
Randy Mackay 279491ed20 Rover: auto mode refactoring
updating mission is handled by the vehicle code
slows down for turns
add active at destination
remove setting of loiter start time
removes unused calc_nav_steer
2017-08-05 11:20:58 +09:00
Randy Mackay 2accb5831d Rover: mode refactoring
add ahrs reference
add set-desired-location method
move _reached_destination member in from child
calc_lateral_acceleration args renamed and added comemnts
calc_lateral_acceleration updates _yaw_error_cd
remove calc_lateral_acceleration method with no arguments
calc_throttle updates _speed_error and becomes protected
remove unused variables from calc_throttle
calc_reduced_speed_for_turn_or_distance reworked
do not use rover throttle or rtl_complete
calc_nav_steer comment updates
remove unused update_navigation
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
Randy Mackay 96d55e0dbe Rover: fix wheel encoder parameter names
extra underscore removed
2017-07-27 21:57:17 +09: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
Randy Mackay ae487aa99b Rover: update wheel encoder at 20hz 2017-07-27 16:52:29 +09:00
Randy Mackay 72d35593d8 Rover: send wheel encoder data to EKF 2017-07-27 16:52:28 +09:00
Randy Mackay 3d13d98410 Rover: steering mode direction fix when reversing
this corrects the rotation direction when moving backwards in steering mode so that it's consistent with manual mode
2017-07-26 10:57:45 +09:00
Randy Mackay f9186de0ca Rover: steering mode formatting change
no functional change
2017-07-26 10:57:45 +09:00
Peter Barker fec152385c Rover: handle common GPS messages in base GCS_MAVLINK class 2017-07-25 14:00:45 +01:00
khancyr ded1bad6c3 Rover: remove duplicate calls from update_navigation()
calc_lateral_acceleration() and calc_nav_steer() aren't need here
2017-07-21 10:13:20 +09:00
khancyr ca3bc05c28 Rover: Don't check if in AUTO on commands callback
This isn't need anymore with modes
2017-07-21 10:13:20 +09:00
Randy Mackay 88b2f62e2f Rover: mode rtl loses duplicate calls to calc_lateral_acceleration
Also no need to call calc_nav_steer
no need to set throttle before entering hold
2017-07-21 10:13:20 +09:00
Randy Mackay 4fe937b985 Rover: do_RTL calls set_mode(RTL)
This reverses the caller so the vehicle code calls into the mode instead of the mode calling up into the vehicle code
2017-07-21 10:13:20 +09:00
Randy Mackay e7424a456f Rover: update advanced failsafe 2017-07-21 10:13:20 +09:00
khancyr 707b006f76 Rover: minor style correction on log 2017-07-21 10:13:20 +09:00
Randy Mackay 2321cefdc2 Rover: move manual mode failsafe handling to mode class 2017-07-21 10:13:20 +09:00
Randy Mackay 6626c2e12e Rover: only mode manual directly copies rc input to motors 2017-07-21 10:13:20 +09:00
Randy Mackay f17f56dea4 Rover: move throttle nudge to Mode class 2017-07-21 10:13:20 +09:00
khancyr b9644c4ec7 Rover: disable slew limit by default on mode 2017-07-21 10:13:20 +09:00
khancyr 809a9e5894 Rover: auto mode fails to enter if no mission
This prevent going into Auto without a mission and skipping the first mission waypoint because we aren't yet in Auto when in enter()
2017-07-21 10:13:20 +09:00
Peter Barker 07f4603533 Rover: integrate mode class 2017-07-21 10:13:20 +09:00
Peter Barker 2a9b1017b6 Rover: add control modes class 2017-07-21 10:13:20 +09:00
Peter Barker 9173c7caaf Rover: move starting of new logs into DataFlash 2017-07-19 16:37:28 +01:00
Peter Barker c9c1f3ea29 Tracker: move starting of new logs into DataFlash 2017-07-19 16:37:28 +01:00
Dr.-Ing. Amilcar Do Carmo Lucas efa59d47f2 Rover: fix FS_THR_VALUE min range 2017-07-19 20:33:07 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas 916a2e8fca Rover: Failsafe parameters default values macros are not used, so delete them
@OXINARF told me that they existed.
@tridge told me I should delete them, now that we have run-time parameters
2017-07-19 20:31:48 +09:00
Randy Mackay 285653da30 Rover: fix init order to clear compile warning
no functional change
2017-07-19 15:26:33 +09:00
Randy Mackay 55a1c9afdf Rover: add advanced failsafe to make build 2017-07-19 15:24:19 +09:00
khancyr 918992eb10 Rover: remove unimplemented functions 2017-07-19 11:00:34 +09:00
Peter Barker f1c3e16354 Rover: remove MSG_STATUSTEXT entirely 2017-07-18 16:12:59 +01:00
khancyr 2e451eb2bc Rover: fix motor test for pilot passthrough of steering 2017-07-18 10:15:44 +09:00
Randy Mackay b6033df457 Rover: intergrate motor test motor seq enum change 2017-07-18 10:15:44 +09:00
Randy Mackay e5b746c7dd AP_MotorsUGV: fix motor test sequence
motor test sequence starts from 1
2017-07-18 10:15:44 +09:00
Randy Mackay 8a86b64776 Rover: motor test accepts negative percentages 2017-07-18 10:15:44 +09:00
Randy Mackay ebeb0923cb Rover: motor test gets improved failure explanations
Also fix pass through for steering channel
2017-07-18 10:15:44 +09:00
khancyr 5208466629 Rover: add motor test 2017-07-18 10:15:44 +09:00
Randy Mackay 7bfb79a4b7 AP_MotorsUGV: add motor_output_test_pwm
this allows the ground station to test a motor by requesting a specific pwm value
2017-07-18 10:15:44 +09:00
khancyr 2cd3dd5cba AP_MotorsUGV: add motor output test 2017-07-18 10:15:44 +09:00
khancyr 8421575f05 AP_MotorsUGV: add output_throttle to handle scaling and relay
this function hides the difference in scaling between the regular throttle
(-100 to +100) and the throttleLeft and throttleRight (-1000 to +1000)
Also handles the setting of the relay for brushed-with-relay motors
2017-07-18 10:15:44 +09:00
khancyr 8223743df8 Rover: add pre_arm_rc_checks 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 7042d3e9c9 Global: all vehicles get AP_Relay and AP_ServoRelayEvent libraries 2017-07-17 00:06:31 +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
Michael du Breuil 993df82cfa APMRover: Fix bad parameter generation for AP_MotorUGV 2017-07-16 08:26:52 +10:00
Michael du Breuil a077eac6a9 Rover: Document max loop time as being in microseconds 2017-07-15 17:27:04 +09:00
khancyr 40b860e240 Rover: rename sonar to rangefinder 2017-07-14 17:40:05 +01:00
Peter Barker 2717244dd8 Rover: move rally-point handling up 2017-07-14 01:28:05 +01:00
Randy Mackay 5fc30c763e Rover: move Log_GuidedTarget declaration
No functional change
2017-07-14 07:27:26 +09:00
Randy Mackay ebbbe0584a Rover: integrate wheel encoder 2017-07-14 07:27:26 +09:00
Randy Mackay f6a1c53ff6 Rover: add AP_WheelEncoder to build 2017-07-14 07:27:26 +09: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
Randy Mackay 208607d668 Rover: remove output_trim_all during initialisation
MotorUGV library now outputs the proper values on the motor channels.  Other libraries are also responsible for initialising their outputs on startup.
2017-07-12 14:24:16 +09:00
Peter Barker aeed1f0ff4 Rover: eliminate global static GCS_MAVLINK::send_home_all 2017-07-11 23:48:39 +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
khancyr b28656eb11 Rover: reoder rc and servo init 2017-07-10 19:48:35 +09:00
Randy Mackay 774e484869 Rover: remove servo channel failsafe from vehicle code
This is now handled by the MotorsUGV library
2017-07-10 10:37:14 +09:00
Randy Mackay 6464bfb601 MotorsUGV: set failsafe output
This informs the I/O board to stop sending pwm if the I/O board loses
contact with the main CPU
2017-07-10 10:37:12 +09: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
Randy Mackay 03d04c934e Rover: improve skid-steer input processing
limit the steering input
reverse commanded steering value if reversing to be consistent with separate steering-throttle frames
2017-07-08 16:07:13 +09:00
khancyr f8a564f283 Rover: rename BRUSHEDPLUS to BRUSHEDBIPOLAR 2017-07-08 16:07:13 +09:00
khancyr 8ab3e83a3c Rover: use float qualifier and functions 2017-07-08 16:07:13 +09:00
khancyr 1f0c985dec Rover: add setup_servo_output to allow ouput reconfiguration 2017-07-08 16:07:13 +09:00
Pierre Kancir 38dcc2eb12 Rover: minor formatting fix 2017-07-08 16:07:13 +09:00
Pierre Kancir ba8664193a Rover: fix failsafe throttle 2017-07-08 16:07:13 +09:00
khancyr 9b97ad0fc0 Rover: solve skid steer in value 2017-07-08 16:07:13 +09:00
Pierre Kancir f70a2b36ea Rover: integrate brushless motor support 2017-07-08 16:07:13 +09: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
Pierre Kancir 29c59644b7 AP_MotorsUGV: add BrushedPlus motor type
BrushedPlus are brushed motors with separate throttle and steering pwm
inputs
2017-07-08 16:07:13 +09:00
Pierre Kancir 76c9d3982a AP_MotorsUGV: motors lib for Rover 2017-07-08 16:07:13 +09:00
Randy Mackay 1fb6d45d5f Rover: version to 3.2.0-dev 2017-07-08 12:24:57 +09:00
Peter Barker cfeb449979 Rover: create GCS subclass, use inheritted methods 2017-07-07 16:18:37 +01:00
Eugene Shamaev b6c397c85a APMrover2: move of CAN parameters into separate group 2017-07-03 11:44:32 +01:00
Randy Mackay 1fc85e9a8c Rover: adjust skid steer motor mixing, fix rotation direction in reverse
balanced prioritisation of throttle vs steering when motors become saturated
direction of turning made consistent with normal (ie non-skid-steered) vehicles

Also includes fixes to motor mixing after peer review
2017-07-01 19:48:01 +09:00
Randy Mackay f036b1f92c Rover: pivot steering stays active until within 10deg of target heading
Previously the vehicle would pop out of pivot-steering once it was within PIVOT_TURN_ANGLE degrees of the target heading.  This meant that it would give up on the pivot steer long before it was actually pointing at the target.
2017-07-01 19:48:01 +09:00
Peter Barker 4646eb3b95 Rover: check dataflash to see if we should log backend gps messages 2017-06-29 15:43:38 +01:00
Peter Barker dcad79bdef Rover: use DataFlash should_log to determine raw IMU logging 2017-06-29 15:26:27 +01:00
Peter Barker 8697faa44f Rover: move should_log check of log bitmask into DataFlash 2017-06-29 15:26:27 +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
Georgii Staroselskii eed08fb8cd Rover: cork and push servo outputs
SRV_Channels API makes it easy to sync all PWM channels at once. This is
the support needed for it to work properly on Rovers.
2017-06-27 11:46:41 -07: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
Pierre Kancir c865972e9c Rover: remove skid_steer_out parameter 2017-06-24 13:17:36 +09:00
Pierre Kancir 0017485ee7 Rover: move failsafe_trigger from system to failsafe 2017-06-24 13:17:35 +09:00
Pierre Kancir 9abb1f634f Rover: add comments to Steering 2017-06-24 13:17:33 +09:00
Pierre Kancir 031ed4bbb0 Rover: Remove old skid steering 2017-06-24 13:17:33 +09:00
Pierre Kancir 41e18f089e Rover: remove g.skid_steer_out in favor of have_skid_steering() 2017-06-24 13:17:32 +09:00
Pierre Kancir 1dcf90c161 Rover: use scaled input in Manual modes 2017-06-24 13:17:26 +09:00
Pierre Kancir ee28e49790 Rover: steering mark floats as float and fix parenthesis 2017-06-24 13:17:10 +09:00
Pierre Kancir 97595f98ac Rover: add comments to scheduler 2017-06-24 13:17:05 +09:00
Pierre Kancir ef2c2e4afc Rover: add some comments in radio 2017-06-24 13:16:59 +09:00
Pierre Kancir feb8c30af4 Rover: move rssi.init and set_control_channels 2017-06-24 13:16:54 +09:00
Pierre Kancir 7595ffb8ba Rover: set correct safety limit 2017-06-24 13:16:48 +09:00
Pierre Kancir 32dc59baec Rover: fix throttle slew limit for skid steer out 2017-06-24 13:16:40 +09:00
Andrew Tridgell 2e24c35906 Rover: setup default esc scaling
for rovers without a k_throttle channel we need a default ESC scaling
value
2017-06-21 10:30:39 +09: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
Andrew Tridgell 79f7cc5779 Rover: implement new style skid steering
use throttleLeft and throttleRight servo functions. This gives much
greater flexibility and control over motor trims and limits
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
Pierre Kancir 8a85b8be4c APMRover2: correct usage of set_output_pwm 2017-06-20 15:58:33 +09: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
Peter Barker 0df30d03b1 Rover: call dataflash should_log method 2017-06-16 17:07:48 +01:00
Peter Barker 8c074c7b73 Rover: simplify dataflash initialisation 2017-06-14 12:20:29 +01:00
Randy Mackay a07920c5b2 Rover: add init_compass method
no functional change
2017-06-14 09:12:20 +09:00
Randy Mackay eb2aa80fca Rover: compass set-initial-location uses ahrs location
Previously it could attempt to use a gps location even if gps was not being used
Also compass-accumulate moved to sensors.cpp
2017-06-14 09:12:20 +09: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
Randy Mackay b56e246da6 Rover: add visual odometry to build 2017-06-14 09:12:20 +09:00
Peter Barker 81b19204c3 Rover: StartUnstartedLogging replaces logging_started/start_logging 2017-06-11 20:34:12 +01:00
Peter Barker c5d40fd8b4 Rover: simplify should_log (NFC) 2017-06-11 20:34:12 +01:00
Pierre Kancir a26710d769 APMRover2: add support for DISTANCE_SENSOR 2017-06-08 01:31:57 +01:00
Dr.-Ing. Amilcar Do Carmo Lucas 981807fe9a Rover: NFC SYS_NUM_RESETS is a read-only variable 2017-06-07 19:53:00 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas 771d2fb13c Rover: Be more explicit that a SPEED_TURN_GAIN value of 80% reduces "to 80%" and not "by 80%" 2017-06-06 11:34:52 +10:00
Dr.-Ing. Amilcar Do Carmo Lucas c389dd93d7 Rover: NFC - correct the units of the RNGFND_TURN_ANGL parameter 2017-05-30 12:09:50 +09: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
Dr.-Ing. Amilcar Do Carmo Lucas aaa26af3f4 Rover: Fix constructor initialization order 2017-05-18 09:31:11 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas f004f4b499 Rover: Spell in comments 2017-05-18 09:29:55 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas a2472e6787 Rover: Use SI units conventions in parameter units
Follow the rules from:
http://physics.nist.gov/cuu/Units/units.html
http://physics.nist.gov/cuu/Units/outside.html
and
http://physics.nist.gov/cuu/Units/checklist.html
one further constrain is that only printable (7bit) ASCII characters are allowed
2017-05-17 18:07:25 +10:00
Andrew Tridgell f08074c0d7 Rover: removed AP_Airspeed from vehicle code 2017-05-04 22:59:02 -07:00
Grant Morphett 192ffdcca8 Rover: Creating beta release 3.2.0 Beta2 2017-05-04 21:59:45 +10:00
Pierre Kancir 00204367fc APMRover2: Reduce the home position reset when disarm 2017-05-04 21:57:45 +10:00
Pierre Kancir f725e9f2b5 APMRover2: correct some style after addition of velocity controler 2017-05-04 19:53:21 +10:00
Pierre Kancir ed26c103f9 APMRover2: prevent unless calculus when stoping 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 c1d3384835 Rover: rename set_next_WP to set_auto_WP to clarify usage 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
Peter Barker 74e0d6c60a Rover: move init of DataFlash references into vehicle init
It is possible to start a log before the existing codepath is crossed.
2017-05-01 15:04:34 +01:00
Andrew Tridgell 37585f213a Rover: use common send_queued_parameters() 2017-05-01 14:36:10 +10:00
Andrew Tridgell c5d17a9d92 Rover: call BoardConfig.init_safety() at end of startup
this fixes a bug where motors can start on soft reboot
2017-04-30 21:47:04 +10:00
Pierre Kancir 27e52695fe APMRover2: add initial support for MAV_CMD_CONDITION_YAW 2017-04-28 12:01:47 +10:00
Andrew Tridgell b344bd1071 Rover: fixed duplicate include of AP_ADC library 2017-04-27 18:32:26 +10:00
karthik.desai 47ff9ddeec Rover: Added Beacon implementation
Enabled beacon parameters
beacon updates at 50hz
Use dataflash library to log AP_Beacon msg
2017-04-26 11:59:11 +09:00
Pierre Kancir 7f861aafd0 APMRover2: make on spot turn in skid and manual use full motor range 2017-04-26 10:38:01 +10:00
Pierre Kancir 83bf1fdca5 APMrover2: remove useless variable 2017-04-26 08:43:09 +10:00
Pierre Kancir f13425aa28 APMRover2: make crash_check define static const 2017-04-26 08:43:09 +10:00
Pierre Kancir 2eb0ed6242 APMRover2: Remove, correct some cast 2017-04-26 08:43:09 +10:00
Pierre Kancir 409e8b5f26 APMRover2: Remove unused config define 2017-04-26 08:43:09 +10:00
Pierre Kancir 91958fb96a APMRover2: Remove unused config define 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
Peter Barker d0f2e7bf3a Rover: log GPS detection state to DF on log startup 2017-04-23 21:04:17 +01:00
Andrew Tridgell 7cc1009dab Rover: ignore MSG_AOA_SSA 2017-04-19 20:48:42 +10:00
Pierre Kancir 6d1586044c APMRover2: unhide default CH_7_PWM_TRIGGER & make it static const 2017-04-15 13:48:40 +10:00
Pierre Kancir d4bd61d859 APMRover2: unhide default NAVL1_PERIOD with a define
set the correct value to param
2017-04-15 13:48:40 +10:00
Michael du Breuil 7328a8ad41 Rover: Send BATTERY_STATUS 2017-04-12 10:21:49 +09:00
Michael du Breuil 7b2da01836 Rover: Update for L1 constructor 2017-04-06 08:26:04 +10:00
Grant Morphett 0f671394e5 Rover: Creating Rover 3.2.0 BETA 1. 2017-04-03 12:28:30 +10:00
Andrew Tridgell 9cbfc4ddd3 Rover: add available memory to PM message 2017-03-27 14:35:21 +09:00
Grant Morphett 8212841b68 Rover: Bringing the releases notes up to date. 2017-03-15 17:24:35 +11:00
Grant Morphett cfb11729a6 Rover: Setting crash detecting to off by default. 2017-03-15 17:24:35 +11:00
Grant Morphett 304c9b6e72 Rover: Fixed a bug in reverse
If a user was driving in reverse and when into an auto mission the
rover would try to do the whole mission in reverse.  This fixes that.
2017-03-15 17:24:35 +11:00
Grant Morphett 3410db5022 Rover: Fix motor_active check to checkout throttle output servo 2017-03-15 17:24:35 +11:00
Andrew Tridgell 3a7c541145 Rover: log home and origin on logging start 2017-03-14 10:51:15 +11:00
Pierre Kancir 1bd863e36b ROVER: stop mission when leaving AUTO 2017-03-09 22:17:01 +11:00
Randy Mackay b8f24fba98 Rover: fix SYSID_ENFORCE parameter description 2017-02-28 15:07:59 +09:00
Michael du Breuil 51c97af5b5 Rover: Reset home to AHRS location rather then snapshotting GPS
Also corrects rover locking home altitude to EKF origin altitude
2017-02-28 11:33:53 +11:00
Randy Mackay f29fe8bb88 Rover: always specify rangefinder instance 2017-02-27 15:18:32 +09:00
Grant Morphett 8f252c4983 Rover: Incrementing version number to 3.2.0-dev 2017-02-24 11:29:25 +11:00
Pierre Kancir 7e746df82d Rover: correct crash checker to take on spot rotation 2017-02-16 09:45:08 +11:00
Andrew Tridgell fe4baf2904 Rover: setup frame type parameter flags 2017-02-14 19:50:01 +11: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
Andrew Tridgell 36cf57c0fa Rover: fixed parameter path 2017-02-06 15:12:32 +11:00
Pierre Kancir 99ba8bdc08 APMRover2: add advance failsafe 2017-01-31 17:12:37 +11:00
murata 0c813c5afa Rover: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
Randy Mackay c701d6a715 Rover: send text to notify 2017-01-23 15:07:21 -08:00
Randy Mackay cc64c5e44a Rover: notify initialised after parameters loaded 2017-01-23 15:07:21 -08:00
Randy Mackay 0b8ebe36dd Rover: send flight mode string to Notify 2017-01-23 15:07:21 -08:00
Peter Barker ddf172c75b Rover: AP_Arming: use callback in place of variable reference for home state 2017-01-17 11:45:08 +09:00
Pierre Kancir b31d2a59da APMRover2: Fix skid steer in when in skid steer out 2017-01-17 10:31:43 +11:00
Pierre Kancir e0a3caea13 APMRover2: Steering fix style 2017-01-17 10:31:43 +11:00
Andrew Tridgell 9fe3eba2a0 Rover: added automatic parameter upgrade for SRV_Channel 2017-01-12 17:39:37 +11:00
Andrew Tridgell c638be54a3 Rover: removed use of pwm_to_angle() 2017-01-12 17:39:37 +11:00
Andrew Tridgell 93d6b012c2 Rover: convert to new SRV_Channel API 2017-01-12 17:39:37 +11:00
Dr.-Ing. Amilcar Do Carmo Lucas 5bf45dbffd APMrover2: publish SPEED2THR_ parameters 2017-01-07 10:32:11 +11:00
Dr.-Ing. Amilcar Do Carmo Lucas 0054df9907 APMrover2: Correct AUTO_TRIGGER_PIN Values format
This allows simplified machine parsing of the generated XML file
2017-01-07 10:23:56 +11:00
Peter Barker 12d0241e51 Rover: fix compile when logging disabled 2017-01-03 08:51:50 +11:00
Peter Barker 61430a51b3 Rover: correct compilation when camera disabled 2017-01-02 16:17:43 +11:00
Pierre Kancir 7131b20b81 Rover: test.cpp correct whitespace, remove tabs 2016-12-30 09:20:24 +09:00
Pierre Kancir 52aa6b5767 Rover: system.cpp correct whitespace, remove tabs 2016-12-30 09:20:24 +09:00
Pierre Kancir c2adb04a93 Rover: setup.cpp correct whitespace, remove tabs 2016-12-30 09:20:24 +09:00
Pierre Kancir 51aaa7efa7 Rover: sensors.cpp correct whitespace, remove tabs 2016-12-30 09:20:24 +09:00
Pierre Kancir 25fbfeb5cf Rover: radio.cpp correct whitespace, remove tabs 2016-12-30 09:20:24 +09:00
Pierre Kancir fb8446ffd5 Rover: navigation.cpp correct whitespace, remove tabs 2016-12-30 09:20:24 +09:00
Pierre Kancir fa0b007efb Rover: failsafe.cpp correct whitespace, remove tabs 2016-12-30 09:20:24 +09:00
Pierre Kancir ffaa355bee Rover: defines.h correct whitespace, remove tabs 2016-12-30 09:20:24 +09:00
Pierre Kancir 5232dce268 Rover: control_modes.cpp correct whitespace, remove tabs 2016-12-30 09:20:24 +09:00
Pierre Kancir 597423fffc Rover: config.h correct whitespace, remove tabs 2016-12-30 09:20:24 +09:00
Pierre Kancir 283a199268 Rover: commands_process.cpp correct whitespace, remove tabs 2016-12-30 09:20:24 +09:00
Pierre Kancir 0c420f931f Rover: commands_logic.cpp correct whitespace, remove tabs 2016-12-30 09:20:24 +09:00
Pierre Kancir d68c7f935b Rover: commands.cpp correct whitespace, remove tabs 2016-12-30 09:20:24 +09:00
Pierre Kancir f32de5e21b Rover: Steering.cpp correct whitespace, remove tabs 2016-12-30 09:20:24 +09:00
Pierre Kancir 84f70f722d Rover: Rover.h correct whitespace, remove tabs 2016-12-30 09:20:24 +09:00
Pierre Kancir 0f89f6918e Rover: Parameters.h correct whitespace, remove tabs 2016-12-30 09:20:24 +09:00
Pierre Kancir 70d0997b73 Rover: Parameters.cpp correct whitespace, remove tabs 2016-12-30 09:20:24 +09:00
Pierre Kancir 5858c84f83 Rover: Log.cpp correct whitespace, remove tabs 2016-12-30 09:20:24 +09:00
Pierre Kancir d33f67e0c4 Rover: gcs_mavlink.cpp correct whitespace, remove tabs 2016-12-30 09:20:24 +09:00
Pierre Kancir aea1c81437 Rover: APMrover2.cpp correct whitespace, remove tabs 2016-12-30 09:20:24 +09:00
murata 490571ba44 Rover: Changed if statements to switch statement.
Rover: Changed if statements to switch statement.
2016-12-24 08:53:20 +11:00
Georgii Staroselskii adad75756d Rover: release-notes.txt typos in 3.1.0
its -> it's
get's -> gets
2016-12-24 08:51:07 +11:00
Grant Morphett 77319bb7b2 Rover: Creating Stable release 3.1.0 2016-12-22 16:33:16 +11:00
Grant Morphett 378bd84b29 Rover: Fixed a bug in the wp loiter functionality
Had a bug where the rover would loiter for ever and not resume even
though its loiter time had expired.  This resolves that.
2016-12-20 14:35:28 +11:00
Andrew Tridgell 0266cb61e0 Rover: fixed EKF3 logging 2016-12-19 08:07:14 +11:00
priseborough 38ad778ff1 make.inc: Add EKF3 and remove EKF1 library from make.inc files 2016-12-19 08:07:10 +11:00
priseborough 2facebff80 Rover: Add EKF3 and remove EKF1 2016-12-19 08:07:10 +11:00
Randy Mackay 75aaf33d58 Rover: pass HIL_GPS to gps driver 2016-12-08 15:52:26 +09:00
Pierre Kancir dec954bb0c Rover: added crash check 2016-12-07 12:46:02 +11:00
Michael du Breuil 31e0c02030 Rover: Add compass cal capability bit 2016-12-04 19:17:01 -08:00
Randy Mackay 181e4de343 Rover: resolve compiler warning 2016-11-30 18:00:16 +09:00
Randy Mackay 55f316034c Rover: include AP_Beacon 2016-11-30 17:57:04 +09:00
Randy Mackay bdfae696ae Rover: remove call to EKF1 logging 2016-11-30 17:57:03 +09:00
Randy Mackay 0a04bb26f0 Rover: add AP_Beacon to build 2016-11-30 17:57:02 +09:00
Peter Barker 09f16fbe79 Rover: do not reset LOG_BITMASK when no CardInserted 2016-11-29 15:14:09 -08:00
Peter Barker 3a095f00f1 Rover: check CardInserted in AP_Arming 2016-11-29 15:14:09 -08:00
Peter Barker dab0d8e6e2 Rover: inform dataflash of vehicle arm state 2016-11-28 09:42:09 -08:00
Grant Morphett 939fb8ddd1 Rover: Creating Rover v3.1.0beta6 2016-11-28 16:41:26 +11:00
Grant Morphett 515ceb3ccd Rover: Added logging of the guided commands 2016-11-28 12:00:03 +11:00
murata bbf0cfb564 APMrover2: Change from printf statement to print, println statement. 2016-11-25 16:00:30 -08:00
Pierre Kancir 5ed9d22bf6 Rover: correct indentation and style on GCS_Mavlink
Remove trailling whitespace, tabs, limit single line if-statement scope, add missing space
2016-11-24 09:34:48 +11:00
Pierre Kancir 326e0f224f Rover: added SYSID_ENFORCE parameter 2016-11-24 09:34:48 +11:00
Pierre Kancir 8c0de11d6d APMrover2: remove double include stdarg.h 2016-11-23 18:47:34 +00:00
Francisco Ferreira e870c4bf99 Rover: support MAV_CMD_ACCELCAL_VEHICLE_POS 2016-11-15 11:42:54 -08:00
Grant Morphett 5b411aef65 Rover: Fixed LOITER_UNLIM to be an active loiter
This changes brings the LOITER commands in line so both LOITER_UNLIM
and LOITER_TIME are actively loitering.
2016-11-13 08:26:33 +11:00
Andrew Tridgell 84179588a9 Rover: use handle_common_message() 2016-11-09 17:08:09 +11:00
floaledm ff23658784 Rover: move AP_Frsky_Telem for waf to ardupilotwaf 2016-11-08 07:42:39 +11:00
floaledm 8739858658 Rover: redo of commit b24d850695 2016-10-30 11:46:39 -02:00
Grant Morphett a6a9678e94 Rover: Creating 3.1.0 Beta Release 5 2016-10-30 22:50:59 +11:00
Grant Morphett 86d4fcfb32 Rover: Station Keeping is implemented via NAV_LOITER_COMMAND
It is a very simply form of station keeping.  If a boat is
loitering on a waypoint and it gets blown off a distance
past the WAYPOINT_RADIUS it will automaticlly drive back to
the waypoint.
2016-10-30 22:50:03 +11:00
Grant Morphett 960fd58c9c Rover: Whitespace change only
Ran astyle over commands_logic.cpp because the file was all over the
place.  Used the Tools/CodeStyle/astylerc as the options.
2016-10-30 21:10:33 +11:00
Peter Barker 36c0bacada Rover: support for AP_Stats (flight time, bootcount, runtime) 2016-10-29 14:53:25 +09:00
Peter Barker f1b776e4eb Rover: change motor_active to be based on servo out rather than radio in 2016-10-29 14:53:25 +09:00
Peter Barker cfee3b6c0e Rover: add support for ParametersG2 2016-10-29 14:53:25 +09:00
murata a71e889f51 Rover: To nullptr from NULL. 2016-10-28 16:22:44 -03:00
floaledm 629af84ca1 Rover: update sensor status error flags independently of sending a sys_status message 2016-10-28 15:11:44 +11:00
Michael du Breuil b5684e7eb4 Rover: Allow compass to manage buffer space for MAG_CAL 2016-10-27 14:04:34 +11:00
Grant Morphett e88995385a Rover: Creating 3.1.0 Beta Release 4
New MAV_CMD_NAV_SET_YAW_SPEED and
COMMAND_INT MAV_CMD_DO_SET_ROI amonst others.
2016-10-25 08:07:23 +11:00
Grant Morphett 2d09db4ecb Rover: added a new form of GUIDED mode
Rover now accepts a new message MAV_CMD_NAV_SET_YAW_SPEED
which has an angle in centidegrees and a speed scale and the rover
will drive based on these inputs.
2016-10-25 08:04:01 +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 114b885162 Rover: fixed startup order of setting mavlink system ID 2016-10-17 09:21:20 +11:00
Andrew Tridgell 8b7c60dcd7 Rover: use handle_rc_bind 2016-10-15 21:42:38 +11:00
Andrew Tridgell 412dca1615 Rover: deprecate RC_CHANNELS_RAW 2016-10-13 21:24:13 +11:00
Michael du Breuil 8358809a02 Rover: Support GPS_RTCM_DATA 2016-10-11 11:00:36 +11:00
murata 1ece4b6f53 Rover: To add a judgment of 0 degrees longitude. 2016-10-05 08:27:14 -03:00
murata eec491a1f9 Rover: To add a judgment of 0 degrees longitude. 2016-10-04 12:54:55 -03:00
Lucas De Marchi b4a3e8a9c9 APMrover2: 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
Pierre Kancir c08584d219 APMrover2: simply invalid cmd msg 2016-09-27 07:45:48 -07:00
Pierre Kancir 6cb71fef0c APMrover: uniformize verify_command
Add better gcs message,
Add all handle message,
Reformate comments,
2016-09-27 07:45:48 -07:00
Tom Pittenger 72da58960c Rover: log to dataflash statustext messages from my_gcs 2016-09-26 00:13:39 -07:00
Tom Pittenger 1bd882a07c Rover: frsky telem init to utilize default arguments 2016-09-25 10:42:02 -07:00
floaledm 4c4648bdf8 Rover: consolidate into a single frsky.init() 2016-09-25 10:42:02 -07:00
floaledm 93f2de6780 Rover: change sensor health check to prevent false positive 2016-09-22 13:56:41 -05:00
Grant Morphett c5adb91017 Rover: Creating Beta Release 3 with recent parameter corruption fix. 2016-09-06 15:07:14 +10:00
Michael du Breuil f1f8233220 Rover: Return RESULT_FAILED for GET_CMD_HOME if home is unset 2016-09-03 16:54:18 +09:00
Grant Morphett b6b10505f1 Rover: New BETA release of Rover 3.1.0Beta2 2016-09-03 08:58:12 +10:00
Randy Mackay d39190ff30 Rover: TELEM_DELAY parameter range to 30sec
No functional change
2016-08-29 15:28:47 +09:00
Pierre Kancir 1a3fc56682 APMrover2: fix typo in parameter 2016-08-28 14:26:06 +02:00
Pierre Kancir b16369ec8c APMrover2: define ENABLE as ENABLED
Same for DISABLE as typo error protection
2016-08-28 14:24:32 +02:00
Grant Morphett df99941fc8 Rover: Added support for COMMAND_INT
And also made DO_SET_ROI available as a COMMAND_INT as this gives us
cm accuracy rather then 1.5m when a float is used.
2016-08-26 11:31:35 +10:00
murata d620efbcb7 Rover: if statements is simple. 2016-08-25 12:04:38 -03:00
Randy Mackay 1181acc4e4 Rover: add support for SET_POSITION_TARGET_GLOBAL_INT
Also supports SET_POSITION_TARGET_LOCAL_NED but for both messages only the position fields are consumed.  Support for velocity, acceleration and yaw fields are not included.
2016-08-25 13:08:26 +09:00
Grant Morphett 777af546e0 Rover: ensure height calcs are using the same origin. 2016-08-25 12:50:20 +10:00
Andrew Tridgell 203e0c7472 Rover: fixes for Frsky_Telem API changes 2016-08-25 10:16:19 +10:00
Andrew Tridgell 08b0ba99db Rover: fixes for AP_FrSky_Telem API change 2016-08-25 10:16:19 +10:00
floaledm b5f75459f2 Rover: compatibility with revised AP_Frsky_Telem class 2016-08-25 10:16:18 +10:00
floaledm 4030851207 Rover: removed frsky_telemetry_send scheduled task 2016-08-25 10:16:17 +10:00
Gustavo Jose de Sousa b8e518a533 waf: use ap_library tool
That way we avoid recompiling source files that don't depend on vehicles.
Change notes:
- UTILITY_SOURCE_EXTS: moved to ap_library
- Task generators indexes: ap_library handles that now and in a better way
- Use of AP_STLIB_FEATURES: it doesn't make sense anymore, since the stlib
  taskgen has empty source list
- Flags and defines: passed down to ap_library through AP_LIBRARIES_OBJECTS_KW
- Set use='mavlink' in AP_LIBRARIES_OBJECTS_KW instead of calls to
  bld.ap_stlib().
2016-08-24 10:46:23 -03:00
murata 798e678615 Rover: By multiple bit synthetic, can this method once access. 2016-08-21 16:02:02 +10:00
Peter Barker 85c58e30ec Rover: remove unused defines 2016-08-18 11:20:16 +10:00
Peter Barker 44791268ac Rover: use SPEED_CRUISE define from config.h 2016-08-18 11:20:16 +10:00
Peter Barker 6d98dd5233 Rover: add dataflash as a bit for the mavlink SYS_STATUS message 2016-08-11 17:48:44 -03:00
Andrew Tridgell a0d4feb216 Rover: changed startup order
this allows BoardConfig to report errors in a way that allows for
BRD_TYPE to be changed by the user
2016-08-10 19:54:01 +10:00
Gustavo Jose de Sousa f2dec971e7 waf: add "ap_" prefix to keywords "libraries" and "vehicle"
As an effort to keep things specific to ardupilot API in the build system
consistent and easy way to identify.
2016-08-01 22:04:16 -03:00
Lucas De Marchi 3223a1a542 APMrover2: 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
mirkix db665e6de7 APMrover2: Fix filename in header 2016-07-25 19:38:02 +09:00
Andrew Tridgell a4270b1bb6 APMrover2: adjust for 16 channels in SERVO_OUTPUT_RAW 2016-07-25 10:06:02 +10:00
Grant Morphett 35422e169b Rover: Creating v3.1.0 BETA 2016-07-23 12:06:26 +10:00
Andrew Tridgell fd0f31dc44 Rover: added AP_Button support 2016-07-22 15:01:21 +10:00
Andrew Tridgell c3d39e9906 Rover: added PLAY_TUNE and LED_CONTROL 2016-07-22 15:00:17 +10:00
Grant Morphett b8011fd46c Rover|Plane: Just fixing a spelling mistake. 2016-07-22 08:23:07 +10:00
Grant Morphett 57c23c7fe3 Rover: Adding support for rovers driving in Reverse. 2016-07-17 08:15:34 +10:00
Grant Morphett d1799884b2 Rover: Implemented MAV_CMD_NAV_LOITER_UNLIM 2016-07-14 11:34:22 +10:00
Allan Matthew 1aaeceac2e Rover: support GPS_INPUT mavlink message 2016-07-12 15:35:23 +09:00
Tom Pittenger 07b22dc6eb Rover: ignore ADSB_VEHICLE packet handling 2016-06-19 11:24:33 -07:00
Randy Mackay 30cba1a59c Rover: remove unused definitions 2016-06-18 11:55:49 +09:00
Grant Morphett 95e9c1fd97 Rover: Fixing version number typo in release notes. 2016-06-17 13:56:28 +10:00
Grant Morphett 2279c20ed7 Rover: Rover Release 3.0.1 2016-06-17 13:11:04 +10:00
Tom Pittenger 098e531d53 Rover: do not log CURR.Throttle because it's already logged elsewhere 2016-06-02 16:59:08 -07:00
Tom Pittenger 698017d0b1 APMrover2: sanity check gps latlng 2016-06-01 17:38:49 -07:00
Grant Morphett 27ae46dfda Rover: Creating v3.0.1 beta release. 2016-06-01 10:45:51 +10:00
Grant Morphett a00edcbbb6 Rover: sonar_trigger_cm of 0 will now only log
This will enable users of Rover to plug their sonar's in (or any other
device into the 3.3v ADC) and log the data but not use the data in
navigation and obstacle avoidance.
2016-06-01 10:19:40 +10:00
Grant Morphett 094d571196 Rover: Skid steering disarming fixes
I have disabled steering disarming for skid steering rovers.  Its
perfectly reasonable for a skid steering rover to go hard left on the
spot without any throttle and the user wouldn't want the rover to
disarm during this procedure.
If you disarm from the GCS for a skid steering rover we also ensure
the steering channel is disabled.
2016-06-01 10:12:02 +10:00
Andrew Tridgell cfaacf031b Rover: use ahrs.groundspeed() in more places 2016-05-31 21:23:01 +10:00
Peter Barker 87a7907a63 Rover: move telemetry_delayed up into base class 2016-05-31 08:46:10 +10:00
Grant Morphett 35a132f74e Rover: Added throttle PID logging 2016-05-31 08:44:52 +10:00
Peter Barker de452eb760 Rover: move adjust_rate_for_stream up 2016-05-29 19:38:50 +10:00
Peter Barker a1c97f4585 Rover: subclass GCS_MAVLink in place of defining its functions for it 2016-05-29 16:21:21 +10:00
Pierre Kancir ee168bee8d APMrover2 : correct arming and failsafe in skid steer mode
Commit 3636b53#diff-e22a85a55f71f1b9b2d3f293dea61368 introduce arming for rover. But in skid steering mode it was only applied on throttle and the rover still pivot.
The patch also correct rover behaviour in case of failsafe or loitering.
2016-05-28 14:34:43 +10:00
Andrew Tridgell bb9783e3f4 Rover: moved EKF2 to a new parameter index
the meanings of many of the parameters have changed. Best to use a new
index to prevent old parameters from causing crashes
2016-05-25 19:35:17 +10:00
Andrew Tridgell f61ba903dd Rover: don't stall EKF during baro cal 2016-05-24 17:00:55 +10:00
Lucas De Marchi d773d68025 APMrover2: remove support for flymaple 2016-05-23 21:49:45 -03:00
Andrew Tridgell 01caa7388a Rover: use send_heartbeat() wrapper 2016-05-21 15:25:17 +10:00
Andrew Tridgell 99cc737693 Rover: simplify UART setup 2016-05-21 15:25:16 +10:00
Andrew Tridgell ad7fe48991 Rover: always build with MAVLink2 headers 2016-05-21 15:25:15 +10:00
Andrew Tridgell b8fa1bc9f7 APMrover2: update signing timestamp on GPS lock 2016-05-21 15:25:13 +10:00
Andrew Tridgell 7c27e0dbec APMrover2: handle SETUP_SIGNING message 2016-05-21 15:25:12 +10:00
Don Gagne 4743a34cf7 APMrover2: SET_SENSORS_OFFSETS support for third compass 2016-05-19 18:51:17 -03:00
Allan Matthew 1f4ba62456 Rover: handle new MAVLink rangefinder input 2016-05-19 16:21:28 +09:00
Andrew Tridgell 7957f25f32 Rover: cleanup unnecessarily complex gcs[] usage 2016-05-17 08:27:28 +10:00
Lucas De Marchi 368a72044c APMrover2: fix indentation leading to compiler warning
GCC 6 has a new warning about misleading indentation:

../../APMrover2/system.cpp: In member function ‘void Rover::set_mode(mode)’:
../../APMrover2/system.cpp:272:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
     if (control_mode == AUTO)
     ^~
../../APMrover2/system.cpp:275:2: note: ...this statement, but the^Bn latter is misleadingly indented as if it is guarded by the ‘if’
  control_mode = mode;
  ^~~~~~~~~~~~

The issue here is that we are mixing tabs and spaces. Remove tabs and re-indent
the code.
2016-05-16 17:35:58 -03:00
Ricardo de Almeida Gonzaga 63f2ab38dd APMrover2: Fix typos 2016-05-13 19:20:07 -03:00
dgrat 41661f815f AP_Math: Replace the pythagorous* functions with a variadic template
The new function can deal with a variable number of function parameters.
Additionally, I renamed the functions to norm(), because this is the
standard name used in several other projects.
2016-05-10 11:41:26 -03:00
dgrat 76362caee0 AP_Math: Replace wrap_* functions with template versions 2016-05-10 11:41:26 -03:00
skyscraper 8c9e55edfa APMRover2: 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
Andrew Tridgell c0172516af Rover: use DataFlash::log_while_disarmed() 2016-05-09 12:06:00 +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
Lucas De Marchi 668ebf160e APMrover2: remove mention to .pde files
We don't support them anymore.
2016-05-07 22:55:48 -03:00
Andrew Tridgell efe3e19a51 Rover: fixed for changed API 2016-05-07 18:27:22 +10:00
Andrew Tridgell ac4da762d1 Rover: adjust for changed logging APIs 2016-05-07 18:27:18 +10:00
Lucas De Marchi fea084a596 Global: use ap_version.h
This header is used by waf to contain the generated version macros,
particularly using the git hash. For waf it's better to be in a separate
header since it then can keep track of changes on it a trigger
recompilation.

For the make build system, a dummy ap_version.h file has been added in
the missing/ folder so both implementations can co-exist.
2016-05-06 13:11:28 -03:00
Lucas De Marchi d3ee998fa6 APMrover2: 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
Grant Morphett 384ad94e73 Rover: Fixing the 3.0.0 release notes.
You can always disarm in Rover - there is no ARMING_RUDDER parameter.
2016-05-02 10:58:38 +09:00
Michael du Breuil b327ed671b Rover: Ignore MSG_POSITION_TARGET_GLOBAL_INT for now 2016-05-01 07:38:23 +10:00
Michael Oborne 8816c5c681 ArduRover: support MAVLINK_MSG_ID_MISSION_ITEM_INT 2016-05-01 07:13:46 +10:00
Niti Rohilla 409a7e1c97 APMRover : Updated handle_guided_request() to report error. 2016-04-29 12:39:28 -03:00
Tom Pittenger 64315bfed8 Revert "APMRover2: clipped param cmd float to zero"
This reverts commit cbbee1149d.
2016-04-23 23:51:33 -07:00
Tom Pittenger cbbee1149d APMRover2: clipped param cmd float to zero 2016-04-23 23:45:48 -07:00
Randy Mackay 381b5c8f5d Rover: remove unnecessary abs 2016-04-23 23:06:19 -07:00
Luis Vale Gonçalves b8a1dfa066 Revising ardupilot.com to .org
Revising ardupilot.com to .org
2016-04-23 22:49:42 -07:00
Luis Vale Gonçalves 75ffc0618a Revising ardupilot.com to .org
Revising ardupilot.com to .org
2016-04-23 22:49:38 -07:00
Randy Mackay a5ed3c9b12 Rover: ack DO_MOUNT_CONTROL messages 2016-04-22 21:30:47 +09:00
Grant Morphett bd24dd79a8 Rover: Fixing up some of the outdated parameter comments/doco
I noticed the doco on the Rover discourse page for LOG_BITMASK was
incorrect so I have fixed up a number of doco/comments so they
auto-generate the doco correctly for the wiki.  There is no actual
code changes in this commit.
2016-04-21 14:12:00 +09:00
Ricardo de Almeida Gonzaga 5bd034a5a8 Global: start using cmath instead of math.h 2016-04-05 21:06:19 -07:00
Grant Morphett 2c4aaf7cb3 Rover: Commit for Rover release 3.0.0 2016-04-05 15:45:18 +10:00
Grant Morphett 801ced34a5 Rover: added the VIBRATION message which is sent to the GCS. 2016-04-05 15:41:53 +10:00
Grant Morphett 8e69b66cf0 Rover: added the VIBE logging to the Dataflash logs. 2016-04-05 15:41:53 +10:00
Saloni Jain ff74792fd4 Rover: MAV_CMD_DO_SET_HOME support in APMRover2 2016-04-05 15:40:33 +10:00
Gustavo Jose de Sousa a4c099feaa waf: create program groups for main products
Currently we need to build a different binary for each type of copter frame.
This is a preparation for setting all those binaries to a group called
"copter". We create the groups for the rest of the main products for
consistency.
2016-03-26 15:43:08 -03:00
Lucas De Marchi 56eccd6e41 APMrover2: Update path locations for parameters
Thanks to Francisco Ferreira for noticing that.
2016-03-23 17:50:38 -03:00
Don Gagne cae7ea0d13 Add @Volatile, @ReadOnly support 2016-03-17 10:58:05 +11:00
Lucas De Marchi dd8014dd2f APMrover2: replace header guard with pragma once 2016-03-16 18:40:44 +11:00
Michael du Breuil b6378e2827 Rover: Use arming voltage 2016-03-14 09:07:34 -07:00
Michael du Breuil 8ae6e0d613 Rover: remove "Command received" statustext 2016-03-10 15:36:05 +11:00
Randy Mackay 62435d3a11 Rover: use ahrs.get_origin instead of ekf.getOriginLLH
This ensures we get the origin from the active EKF
2016-03-03 16:20:56 +09:00
Lucas De Marchi e770cf059d APMRover2: initialize variable to fix build
Fix the following build error on clang:

../../APMrover2/test.cpp:164:4: fatal error: variable 'fail_test' is uninitialized when used here [-Wuninitialized]
   fail_test++;
   ^~~~~~~~~
../../APMrover2/test.cpp:139:19: note: initialize the variable 'fail_test' to silence this warning
 uint8_t fail_test;
                  ^
2016-03-01 10:25:28 -03:00
Tom Pittenger 0372b52378 Rover: 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:05 +11:00
Tom Pittenger c38bec6385 Rover: use set_dataflash() for static logging 2016-02-24 09:18:05 +11:00
Tom Pittenger 92fea608f3 Rover: add item_reached_msg to GUIDED 2016-02-14 16:12:56 -08:00
Andrew Tridgell 39b9ae7e91 APMrover2: log a picture if AP_Camera::control() returns true 2016-01-29 10:01:51 +11:00
Andrew Tridgell eed575886c APMrover2: update for changed AP_Camera API 2016-01-29 09:19:43 +11:00
Dario Lindo Andres f731a0dc53 APMrover2: Added precise camera trigger logging
included update_trigger function
added camera trigger precise time mark
detect camera feedback pin status
added support for TRIGGER MSG
corrected according to defines.h
2016-01-29 09:19:43 +11:00
Jonathan Challinger f1db10c337 APMrover2: reflect changes to AP_Mount 2016-01-23 10:35:45 +09:00
Gustavo Jose de Sousa c2e3f05dbf waf: ardupilotwaf: prefix build context methods with ap_
It helps to distinguish between things from waf and things from ardupilotwaf.
2016-01-22 20:10:29 -02:00
Gustavo Jose de Sousa e9d3dc9e72 waf: vehicles and antennatracker: use methods from bld
Instead of from ardupilotwaf.
2016-01-22 20:10:29 -02:00
Gustavo Jose de Sousa cf432e8b3e waf: ardupilotwaf: rename vehicle_stlib to ap_stlib
That function is not only for vehicles.
2016-01-22 20:10:28 -02:00
Gustavo Jose de Sousa a35c0d48b0 waf: ardupilotwaf: rename program to ap_program
Make the rename so that there is no name clashes when defining it as a taskgen
method.
2016-01-22 20:10:28 -02:00
Lucas De Marchi 7f04e0106e waf: change binary names
APMrover2 -> ardurover
AntennaTracker -> antennatracker
ArduCopter -> arducopter
ArduPlane -> arduplane
2016-01-18 16:56:08 -02:00
Gustavo Jose de Sousa 17e5d99509 waf: allow partial builds with new mavlink as submodule
The task generator for the mavlink headers is given a name 'mavlink' and is
added as a dependency to all local static libraries, because all of them use
sources that include mavlink headers. It would be nice to have a good way to
detect sources that use mavlink headers or to declare list of libraries that
use the headers, so that the dependency could be added automatically.

Additionally, there's a minor change in syntax for the task generator: using
strings directly instead of lists.
2016-01-15 07:28:48 +11:00
Tom Pittenger 4280dacced Rover: add xtrack_error to DF log 2016-01-08 20:16:25 +11:00
Andrew Tridgell be456fc33d Rover: always call load_all
this ensures defaults file works on first start after erase
2016-01-07 09:33:04 +11:00
Andrew Tridgell bd272390bc Rover: support up to 14 input channels on all boards 2016-01-04 08:23:04 +11:00
pepevalbe b4c02d8cd7 Rover: added group parameter for AP_Notify library 2015-12-31 11:33:11 +09:00
Siddharth Bharat Purohit 53d3e7dc61 Rover: wire up accel calibrator for Rover 2015-12-29 10:46:35 -08:00
Lucas De Marchi a096703b06 Global: don't link with AP_Progmem
AP_Progmem is not used anymore.
2015-12-27 15:58:12 -02:00
Andrew Tridgell 7daab1ee62 Rover: convert to Hz based task table 2015-12-27 14:57:24 +09:00
Andrew Tridgell c94b30b7bc Rover: fixed flymaple build 2015-12-22 11:35:31 +11:00
Andre Kjellstrup 80f19aefc7 APMrover2: Camera options for better camera control
All on one because they would not pass autotest if split up.
2015-12-18 18:16:11 +11:00
Jonathan Challinger 6c4f070685 Rover: reflect renamed function in AP_AHRS 2015-12-18 18:08:37 +11:00
Julien BERAUD c28a71ec63 Rover: Update Optical Flow declaration
Pass ahrs as param
2015-12-18 17:56:06 +11:00
Gustavo Jose de Sousa dc81a2410e waf: use single entry point for make wrappers 2015-12-10 10:40:34 +09:00
Tom Pittenger e6cf86801d APMrover2: compiler warning - float to double promotion for print 2015-12-07 15:50:05 +09:00
DonLakeFlyer 0950c97866 Rover: return success or failure of get home position 2015-12-07 12:33:18 +09:00
Lucas De Marchi 767f126eaa APMrover2: remove unused AP_ADC_AnalogSource 2015-12-03 13:32:44 +11:00
Peter Barker fb197c9255 Rover: DataFlash-over-MAVLink support 2015-12-03 13:21:52 +11:00
Peter Barker 5d46a9add0 Rover: support multiple simultaneous backends 2015-12-03 13:21:51 +11:00
Gustavo Jose de Sousa 7837bbfd81 waf: add a make wrappers 2015-12-03 07:54:32 +11:00
Gustavo Jose de Sousa bf7b08f9fa waf: add missing AP_Arming library to APMrover2 2015-12-03 07:54:32 +11:00
Caio Marcelo de Oliveira Filho 6e7b73610d waf: add waf support 2015-12-03 07:54:30 +11:00
Lucas De Marchi 2591261af6 Global: rename min and max macros to uppercase
The problem with using min() and max() is that they conflict with some
C++ headers. Name the macros in uppercase instead. We may go case by
case later converting them to be typesafe.

Changes generated with:

	git ls-files '*.cpp' '*.h' -z | xargs -0 sed -i 's/\([^_[:alnum:]]\)max(/\1MAX(/g'
	git ls-files '*.cpp' '*.h' -z | xargs -0 sed -i 's/\([^_[:alnum:]]\)min(/\1MIN(/g'
2015-12-01 16:28:09 -02:00
Luis Vale Gonçalves 999e99c6f3 Rover: revise text messages
Text revisions on Rover. Uniformization on messages severity.
2015-11-25 20:50:00 +09:00
Caio Marcelo de Oliveira Filho ee073787c8 Rover: use millis/micros/panic functions
Instead of going through 'hal' then 'scheduler', use directly the AP_HAL
functions. Besides removing indirection that is not necessary for such
functions, this patch ends up reducing the code size in the call sites.

For example, building ArduCopter for PX4 with this change (compared to
before introduction of the functions) yields almost 3k bytes of code
size.

    # ArduCopter build before the functions (1b29a1af46)
       text	   data	    bss	    dec	    hex	filename
     895264	   2812	  62732	 960808	  ea928	/.../px4fmu-v2_APM.build/firmware.elf

    # ArduCopter build after this patch
       text	   data	    bss	    dec	    hex	filename
     892264	   2812	  62732	 957808	  e9d70	/.../px4fmu-v2_APM.build/firmware.elf

A later patch will remove the unused functions in the Schedulers.
2015-11-20 12:26:14 +09:00
Andrew Tridgell 8f4ce7f20b build: removed all nocore.inoflag files
these were APM2 specific
2015-11-16 08:05:17 +11:00
Grant Morphett 039ea59d7e Rover: Whitespace/formatting change ONLY for Steering.cpp 2015-11-11 13:39:39 +11:00
Grant Morphett bbbbd07935 Rover: GPS fix to ensure we only look at new GPS messages 2015-11-11 13:39:39 +11:00
Grant Morphett e81973cd29 Rover: motor_active method similar to the plane is_flying but simpler 2015-11-11 13:39:39 +11:00
Grant Morphett 3636b53313 Rover: Implementation of the ARMING functionality 2015-11-11 13:39:38 +11:00
Grant Morphett 2d1745ab6a Rover: Implemented the HOME state update from Plane 2015-11-11 13:39:38 +11:00
lvale a64689600f Rover: text message severity uniformization
Global revision of message severity values.

Required also change to the low priority function gcs_send_text_fmt()
on GCS_Mavlink.cpp to disable the automatic setting of priority on
messages sent by this function
2015-11-05 12:33:56 +09:00
Lucas De Marchi b76f498799 APMrover2: don't use avr include dir for tags 2015-11-04 12:14:16 +11:00
Lucas De Marchi 91dbfce5f9 APMrover2: remove check for MAVLINK_COMM_NUM_BUFFERS 2015-11-04 12:14:15 +11:00
Lucas De Marchi 1a084e5dcd APMrover2: remove check for AVR CPUs
Remove the checks for HAL_CPU_CLASS > HAL_CPU_CLASS_16 and
HAL_CPU_CLASS >= HAL_CPU_CLASS_75. Corresponding dead code will be
removed on separate commits.
2015-11-04 12:14:14 +11:00
Lucas De Marchi 45ba94343d APMrover2: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1 2015-11-04 12:14:13 +11:00
Lucas De Marchi 79230bc68d APMrover2: fix passing AP_Float to printf
Call get() to return the contained float value.
2015-10-30 14:35:46 +09:00
Lucas De Marchi c3fe71a0d5 APMrover2: fix wrong printf format for printf
"%S" is used for wide string, but we are passing a char*. Use lowercase
in this case to remove warnings like this:

libraries/AP_InertialSensor/AP_InertialSensor.cpp: In member function
'bool AP_InertialSensor::calibrate_accel(AP_InertialSensor_UserInteract*, float&, float&)':
libraries/AP_InertialSensor/AP_InertialSensor.cpp:620:61: warning:
format '%S' expects argument of type 'wchar_t*', but argument 3 has type 'const char*' [-Wformat=]
                 "Place vehicle %S and press any key.\n", msg);
                                                             ^
2015-10-30 14:35:44 +09:00
Lucas De Marchi b02661b478 APMrover2: fix wrong printf format for 32 bits
Heading is a 32 bits value, so use %d.
2015-10-30 14:35:39 +09:00
Lucas De Marchi 5244559010 Minimize AP_Progmem.h includes
Most of AP_Progmem is already gone so we can stop including it in most
of the places. The only places that need it are the ones using
pgm_read_*() APIs.

In some cases the header needed to be added in the .cpp since it was
removed from the .h to reduce scope. In those cases the headers were
also reordered.
2015-10-30 14:35:32 +09:00
Lucas De Marchi 1b07dabeb7 Replace prog_char and prog_char_t with char
prog_char and prog_char_t are now the same as char on supported
platforms. So, just change all places that use them and prefer char
instead.

AVR-specific places were not changed.
2015-10-30 14:35:30 +09:00
Lucas De Marchi 4ab9821624 Replace use of Log_Write_Message_P() with Log_Write_Message() 2015-10-30 14:35:28 +09:00