Commit Graph

176 Commits

Author SHA1 Message Date
Peter Barker
efdc13d143 Rover: remove pointless rangefinder_init shim function 2018-07-04 21:08:47 +01:00
Michael du Breuil
b5bc9e5147 Rover: Remove unneeded battery failsafe flag clearing 2018-06-27 11:39:35 +10:00
Peter Barker
87a3fcdd02 Rover: remove usb-mux checking
Nobody ever uses the result from this
2018-06-20 02:12:56 +01:00
Peter Barker
ab6cf171da Rover: use AP_FWVersion singleton 2018-06-18 19:10:37 +01:00
Randy Mackay
c51b38cd1c Rover: rename Log_Arm_Disarm to Log_Write_Arm_Disarm 2018-06-12 08:29:08 +09:00
Peter Barker
36705af8ff Rover: create an enumeration to hold vehicle mode constants
This gives us type-safety on the mode numbers.  This is advantageous as
some of these symbols exist with different values elsewhere in the code.
2018-06-08 08:41:16 +09:00
Randy Mackay
73bdc3be09 Rover: set ahrs flyforward if thr over 15% for 2 seconds
or if throttle is positive and desired speed over 0.5m/s
2018-05-29 16:37:31 +09:00
Peter Barker
3afe591368 Rover: correct compilation when logging is disabled 2018-05-10 17:55:13 +09:00
Andrew Tridgell
a575608110 Rover: fixed build warnings 2018-05-07 11:43:23 +10:00
night-ghost
2aee8d1018 APMrover2: devo telemetry support (RX705/707) 2018-04-24 10:44:28 +10:00
Peter Barker
63e8fffbe4 Rover: Baro does its own dataflash logging now 2018-04-12 19:12:12 +01:00
Michael du Breuil
05173f24c6 Rover: Use RC_Channels instead of hal.rcin 2018-04-11 21:47:07 +01:00
Peter Barker
c10f404b12 Rover: tidy handling of barometer calibrations 2018-04-02 23:25:05 +01:00
Randy Mackay
96ae9cef14 Rover: send correct mav-type for boats 2018-03-22 09:11:52 +09:00
night-ghost
bab54ea647 Rover: allow AP_Stats to be optional 2018-03-02 07:23:35 +11:00
Peter Barker
9511e72113 Rover: use PerfInfo for performance monitoring 2018-02-13 17:15:05 +11:00
Peter Barker
df304c5e6b Rover: remove shims used in scheduler table 2018-02-12 15:39:26 +09:00
Peter Barker
89c830e949 Rover: make SmartRTL mode decide whether to save position or not
This changes things to work like the Copter equivalent
2018-02-12 15:39:26 +09:00
khancyr
5503a0069d Rover: add proximity library 2018-01-22 17:18:41 +09:00
khancyr
c3fb985ec5 Rover: add fence support 2018-01-22 17:18:41 +09:00
Dylan Herman
3edaff0309 Rover: sets SmartRTL home after ahrs home is set
Now uses AP_SmartRTL::set_home. It is called when arming and when GCS
requests home to be set to the current location
2018-01-17 11:03:56 +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
f6f40afcda Rover: rename control_mode_from_num to mode_from_mode_num 2017-12-12 10:39:26 +09:00
Randy Mackay
aa38239629 Rover: add FRAME_CLASS to differentiate boats from rovers 2017-12-08 08:48:05 +09:00
Randy Mackay
ed558dd9a0 Rover: play sad tune when arming fails 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
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
André Kjellstrup
aab22d7dad Rover: Option to trig by distance only when in AUTO mode 2017-11-14 00:10:22 +00:00
Tom Pittenger
f7d07fc146 Rover: always log MODE and include reason when logging is enabled 2017-10-25 21:18:29 +11:00
Lucas De Marchi
f5c2ffffb9 global: remove DataFlash from AP_Mount::init() 2017-09-26 03:01:21 +01: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
Peter Barker
d98c427514 Rover: add constant structure holding firmware version 2017-08-30 15:54:46 +01:00
Randy Mackay
14c74a5967 Rover: remove learning mode
saving waypoints can be done in manual or steering mode
2017-08-25 14:05:23 +09:00
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
khancyr
4c977f16ce Rover: reduce ADC warm up time 2017-08-24 20:41:16 +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
Peter Barker
f3a0d2b02b Rover: use GCS_MAVLINK subclasses to handle set_mode 2017-08-16 11:58:10 +10:00
Peter Barker
fa2b500e93 Rover: remove CLI 2017-08-14 10:23:50 +09:00
Randy Mackay
30852d4713 Rover: auto-reversed moved to mode 2017-08-05 11:20:58 +09:00
khancyr
23532bf45c Rover: add reason to set_mode 2017-07-31 18:01:17 +09:00
Peter Barker
07f4603533 Rover: integrate mode 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
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
khancyr
b28656eb11 Rover: reoder rc and servo init 2017-07-10 19:48:35 +09:00
Peter Barker
9509f7f1bf Rover: use send_text method on the GCS singleton 2017-07-09 17:17:29 -04:00
Pierre Kancir
267a1532b9 Rover: integrate motors library
move throttle_slew_limit and THR_SLEWRATE parameter
move have_skid_steering to library
move mix_skid_steering to library's output_skid_steering method
move radio.cpp's output channel initialisation to motor's init method
use motors.get_throttle and get_steering instead of getting from Servo objects
use motors.set_throttle and set_steering instead of setting to Servo object
AP_Arming::arming_required is replaced with SAFE_DISARM parameter
2017-07-08 16:07:13 +09:00
Peter Barker
cfeb449979 Rover: create GCS subclass, use inheritted methods 2017-07-07 16:18:37 +01:00
Eugene Shamaev
b6c397c85a APMrover2: move of CAN parameters into separate group 2017-07-03 11:44:32 +01: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
Peter Barker
3a85d8ed39 Rover: handle knowledge of in_log_download in DataFlash 2017-06-27 03:10:43 +01:00
Pierre Kancir
0017485ee7 Rover: move failsafe_trigger from system to failsafe 2017-06-24 13:17:35 +09:00
Pierre Kancir
feb8c30af4 Rover: move rssi.init and set_control_channels 2017-06-24 13:16:54 +09:00
Pierre Kancir
32dc59baec Rover: fix throttle slew limit for skid steer out 2017-06-24 13:16:40 +09: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
Randy Mackay
a07920c5b2 Rover: add init_compass method
no functional change
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
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
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
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
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
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
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
Pierre Kancir
1bd863e36b ROVER: stop mission when leaving AUTO 2017-03-09 22:17:01 +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
murata
0c813c5afa Rover: Unify from print or println to printf. 2017-01-27 18:20:22 +11: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
Andrew Tridgell
93d6b012c2 Rover: convert to new SRV_Channel API 2017-01-12 17:39:37 +11:00
Pierre Kancir
52aa6b5767 Rover: system.cpp correct whitespace, remove tabs 2016-12-30 09:20:24 +09:00
Peter Barker
dab0d8e6e2 Rover: inform dataflash of vehicle arm state 2016-11-28 09:42:09 -08: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
Peter Barker
36c0bacada Rover: support for AP_Stats (flight time, bootcount, runtime) 2016-10-29 14:53:25 +09:00
murata
a71e889f51 Rover: To nullptr from NULL. 2016-10-28 16:22:44 -03: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
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
Andrew Tridgell
203e0c7472 Rover: fixes for Frsky_Telem API changes 2016-08-25 10:16:19 +10:00
floaledm
4030851207 Rover: removed frsky_telemetry_send scheduled task 2016-08-25 10:16:17 +10: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
Grant Morphett
57c23c7fe3 Rover: Adding support for rovers driving in Reverse. 2016-07-17 08:15:34 +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
f61ba903dd Rover: don't stall EKF during baro cal 2016-05-24 17:00:55 +10:00
Andrew Tridgell
99cc737693 Rover: simplify UART setup 2016-05-21 15:25:16 +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
Andrew Tridgell
c0172516af Rover: use DataFlash::log_while_disarmed() 2016-05-09 12:06:00 +10: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
Tom Pittenger
c38bec6385 Rover: use set_dataflash() for static logging 2016-02-24 09:18:05 +11:00
Jonathan Challinger
f1db10c337 APMrover2: reflect changes to AP_Mount 2016-01-23 10:35:45 +09:00