Commit Graph

187 Commits

Author SHA1 Message Date
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
Peter Barker 4fc31cf80d Rover: add ArduSub to list of SYSID_SW_TYPE 2017-08-24 19:50:38 +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 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 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
Peter Barker fa2b500e93 Rover: remove CLI 2017-08-14 10:23:50 +09:00
Randy Mackay e79e92a789 Rover: remove unused SPEED_TURN_DIST parameter 2017-08-12 13:58:35 +09:00
Randy Mackay 66bb3e8ee0 Rover: minor formatting fix to parameters.cpp 2017-08-12 12:14:54 +09:00
Randy Mackay 96d55e0dbe Rover: fix wheel encoder parameter names
extra underscore removed
2017-07-27 21:57:17 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas efa59d47f2 Rover: fix FS_THR_VALUE min range 2017-07-19 20:33:07 +09:00
Randy Mackay 285653da30 Rover: fix init order to clear compile warning
no functional change
2017-07-19 15:26:33 +09:00
Michael du Breuil 993df82cfa APMRover: Fix bad parameter generation for AP_MotorUGV 2017-07-16 08:26:52 +10:00
khancyr 40b860e240 Rover: rename sonar to rangefinder 2017-07-14 17:40:05 +01:00
Randy Mackay ebbbe0584a Rover: integrate wheel encoder 2017-07-14 07:27:26 +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
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
Pierre Kancir c865972e9c Rover: remove skid_steer_out parameter 2017-06-24 13:17:36 +09:00
Randy Mackay 0da6e73d76 Rover: add support for visual odometry 2017-06-14 09:12:20 +09: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
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
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 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
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
Grant Morphett cfb11729a6 Rover: Setting crash detecting to off by default. 2017-03-15 17:24:35 +11:00
Randy Mackay b8f24fba98 Rover: fix SYSID_ENFORCE parameter description 2017-02-28 15:07:59 +09:00
Andrew Tridgell fe4baf2904 Rover: setup frame type parameter flags 2017-02-14 19:50: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
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
Andrew Tridgell 9fe3eba2a0 Rover: added automatic parameter upgrade for SRV_Channel 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
Pierre Kancir 70d0997b73 Rover: Parameters.cpp correct whitespace, remove tabs 2016-12-30 09:20:24 +09:00
priseborough 2facebff80 Rover: Add EKF3 and remove EKF1 2016-12-19 08:07:10 +11:00
Pierre Kancir dec954bb0c Rover: added crash check 2016-12-07 12:46:02 +11:00
murata bbf0cfb564 APMrover2: Change from printf statement to print, println statement. 2016-11-25 16:00:30 -08:00
Pierre Kancir 326e0f224f Rover: added SYSID_ENFORCE parameter 2016-11-24 09:34:48 +11:00
Peter Barker 36c0bacada Rover: support for AP_Stats (flight time, bootcount, runtime) 2016-10-29 14:53:25 +09:00
Peter Barker cfee3b6c0e Rover: add support for ParametersG2 2016-10-29 14:53:25 +09: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
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
Peter Barker 44791268ac Rover: use SPEED_CRUISE define from config.h 2016-08-18 11:20:16 +10:00
Andrew Tridgell fd0f31dc44 Rover: added AP_Button support 2016-07-22 15:01:21 +10:00
Grant Morphett 35a132f74e Rover: Added throttle PID logging 2016-05-31 08:44:52 +10:00
Andrew Tridgell c0172516af Rover: use DataFlash::log_while_disarmed() 2016-05-09 12:06:00 +10: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
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
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
Peter Barker 5d46a9add0 Rover: support multiple simultaneous backends 2015-12-03 13:21:51 +11: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
Grant Morphett 3636b53313 Rover: Implementation of the ARMING functionality 2015-11-11 13:39:38 +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 45ba94343d APMrover2: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1 2015-11-04 12:14:13 +11:00
Lucas De Marchi 20c6ffc5e3 Replace use of UARTDriver::printf_P() with UARTDriver::printf()
This also starts to show warnings on places that were already using
wrong printf format strings.
2015-10-30 14:35:25 +09:00
Lucas De Marchi 6f4904189b Replace use of println_P() with println() 2015-10-30 14:35:22 +09:00
Lucas De Marchi 831d8acca5 Remove use of PROGMEM
Now variables don't have to be declared with PROGMEM anymore, so remove
them. This was automated with:

    git grep -l -z PROGMEM | xargs -0 sed -i 's/ PROGMEM / /g'
    git grep -l -z PROGMEM | xargs -0 sed -i 's/PROGMEM//g'

The 2 commands were done so we don't leave behind spurious spaces.

AVR-specific places were not changed.
2015-10-30 14:35:16 +09:00
Lucas De Marchi 2c38e31c93 Remove use of PSTR
The PSTR is already define as a NOP for all supported platforms. It's
only needed for AVR so here we remove all the uses throughout the
codebase.

This was automated with a simple python script so it also converts
places which spans to multiple lines, removing the matching parentheses.

AVR-specific places were not changed.
2015-10-30 14:35:04 +09:00
Caio Marcelo de Oliveira Filho 49a42dc985 SITL: use a SITL namespace 2015-10-22 11:04:42 -02:00
Andrew Tridgell 5cac948ed0 Rover: added EK2_ parameters and EKF2 instance 2015-09-23 11:56:27 +10:00
Randy Mackay bcc87a9a3b Rover: replace SKIP_GYRO_CAL with INS_GYR_CAL
Also calibrate gyros during accel trim
2015-09-21 17:06:45 +09:00
Stewart Loving-Gibbard a315b980bf Rover: Moving to RSSI library for reading various kinds of RSSI, with the possibility of adding more.
* Retains ability to read from Analog Pin
* Adds ability to read RSSI from PWM channel value as is done in OpenLRSng, EazyUHF, and various other LRS.
* Handles any type of RSSI that provides RSSI values inverted - i.e. when the low value is the best signal and the high value is the worst signal.
* Has different key names from all existing RSSI parameters to provide for a clean break and easier distinguishing.
* Existing parameters are marked as obsolete
2015-08-29 08:05:59 +10:00
Randy Mackay 536311744d Rover: fix link to BATT param descriptions 2015-08-26 11:17:53 +09:00
Stewart Loving-Gibbard c55e4e275d Rover: fix spelling errors in Parameters.cpp 2015-08-18 09:54:04 +09:00
Grant Morphett a602173c45 Rover: added the PID logging for steering into the mavlink message.
Copter/Plane already have this PID logging in the mavlink stream to
the GCS and now Rover does too.
2015-06-19 09:55:19 +10:00
Dario Lindo Andres 39c0879dac Rover: added CLI_ENABLED parameter
Same parameter have been included with Copter and Plane, so Rover was
deprecated. Now we can decide on Rover if CLI is used or not with
Pixhawk/PX4.
2015-06-18 16:23:11 +09:00
Andrew Tridgell e449b3c4a1 Rover: changes for new AHRS API 2015-06-01 16:17:15 +10:00
Andrew Tridgell 8046b1fd5c Rover: fixed path for GCS_MAVLink parameters 2015-05-21 11:42:59 +10:00
Andrew Tridgell b47a09b709 Rover: fixed build of .cpp files 2015-05-21 07:48:49 +10:00
Andrew Tridgell 2b6835d187 Rover: rename all .pde files to .cpp files 2015-05-21 07:48:49 +10:00