Commit Graph

62 Commits

Author SHA1 Message Date
Tom Pittenger 692bf1c931 Rover: null check for unconfigured RCMAP_YAW which is not use don all vehicle types 2019-07-23 09:39:02 +10:00
Peter Barker 9851ec1ddb Rover: move arming-related functionality into parent classes
Logging moves up
arming via mavlink moves up
arming via switch moves up
2019-05-30 07:37:30 +09:00
Tom Pittenger b3c5971538 Rover: increase RC timeout failsafe from 200ms to 500ms.
- this allows for a smoother MAVLink_RC_Override over nasty lossy links
2019-04-26 11:16:59 +09:00
Patrick José Pereira e8b5fd4c70 Rover: Fix typos
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2019-03-26 15:39:39 +11:00
Peter Barker 5bd0db4117 Rover: use enum class for ArmingMethod and ArmingRequired 2019-03-12 19:48:14 +11:00
Peter Barker 9105284a7d Rover: remove rc out initialisation wrappers 2019-02-12 08:21:30 +09:00
Randy Mackay 380884e175 Rover: shorten radio/throttle failsafe to 0.2 sec min 2018-11-02 10:31:37 +09:00
Randy Mackay ed8feda5b9 Rover: shorten failsafe timeouts
radio failsafes may trigger within 1sec (previously was 2 seconds)
default failsafe set to 1.5sec (was 5sec)
also minor improvement to FS_TIMEOUT parameter description
2018-11-02 10:31:37 +09:00
Randy Mackay fa5de31cb9 Rover: rename control_failsafe to radio_failsafe_check
although this makes the name inconsistent with plane it is more precise because control can also come from rc-overrides which are covered by the GCS failsafe
2018-11-02 10:31:37 +09:00
Randy Mackay 0665ac5229 Rover: rename rudder_arming to get_rudder_arming_type 2018-09-11 19:34:39 +10:00
Randy Mackay b1a4cd55fd Rover: support disabling rudder arming 2018-09-11 19:34:39 +10:00
Peter Barker 5d923aed85 Rover: remove dead gcs failsafe code
Also use rc().has_valid_input() before using radio for trim
2018-08-02 15:21:03 +09:00
Peter Barker 1f0908bba2 Rover: move handling of RC Switches into RC_Channel
Rover: use base-class auxsw handling

Rover: factor out do_aux_function_change_mode

Rover: move mode number enumeration to be in Mode:: namespace

Rover: move mode switch handling to RC_Channel

Rover: rename control_modes.cpp to RC_Channel.cpp

Rover: move motor_active() to be a method on the motors class
2018-08-01 12:11:30 +09:00
Michael du Breuil c85f8c7bf5 Rover: Simplify radio trimming, improve MAVLink report 2018-06-11 16:29:36 -07:00
Peter Barker cf1f2f9aeb Rover: move motors_active to be motors.active
This will help when we come to subclass the Motors library.
2018-06-08 08:51:18 +09:00
Ammarf 26c25daa36 Rover: add support for lateral control input 2018-05-31 13:48:17 +09:00
Michael du Breuil da9053655b Rover: Support new RC_Channels::read_input() 2018-04-26 08:00:09 +10:00
Michael du Breuil 05173f24c6 Rover: Use RC_Channels instead of hal.rcin 2018-04-11 21:47:07 +01:00
Randy Mackay 5cd500847b Rover: rename auto_throttle to allows_arming_from_transmitter
This method is only used to determine whether we can arm from the transmitter so better to make its purpose more clear
Also minor comment fix to is_autopilot_mode method
2018-01-12 08:15:34 +09:00
Randy Mackay 241456f55f Rover: remove auto trim at startup
Also add additional checks to auto trim
2017-12-15 20:26:40 +09:00
Randy Mackay 8043c0f638 Rover: reduce arming delay to 2 sec 2017-12-01 21:59:55 +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 14d9e932ab Rover: allow disarming from transmitter on skid-steering vehicles 2017-11-23 09:07:04 +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 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 7c3374668e Rover: formatting fixes and const local variables 2017-08-05 17:05:00 +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
Peter Barker 07f4603533 Rover: integrate mode class 2017-07-21 10:13:20 +09: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
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 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 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
khancyr 9b97ad0fc0 Rover: solve skid steer in value 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 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 ef2c2e4afc Rover: add some comments in radio 2017-06-24 13:16:59 +09:00
Pierre Kancir 7595ffb8ba Rover: set correct safety limit 2017-06-24 13:16:48 +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 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
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 9fe3eba2a0 Rover: added automatic parameter upgrade for SRV_Channel 2017-01-12 17:39:37 +11:00