Commit Graph

174 Commits

Author SHA1 Message Date
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
Siddharth Bharat Purohit 53d3e7dc61 Rover: wire up accel calibrator for Rover 2015-12-29 10:46:35 -08:00
Andrew Tridgell 7daab1ee62 Rover: convert to Hz based task table 2015-12-27 14:57:24 +09: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
Grant Morphett 3636b53313 Rover: Implementation of the ARMING functionality 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 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 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 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 a964ac38ec Replace use of print_P() with print() 2015-10-30 14:35:21 +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 84da1f5039 Rename gcs_send_text_P to gcs_send_text 2015-10-30 14:35:07 +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
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
Peter Barker 6e3687f8af Rover: DFMessageWriter; ability to trickle messages out to DF 2015-09-03 15:20:20 +10:00
squilter b4cf0ce2bb Rover: update severity values 2015-08-25 14:04:40 +09:00
squilter aa4a7a0b28 Rover: init vehicle capabilities 2015-08-01 09:35:46 +09:00
Grant Morphett a2e9d0488c Rover: Implemented loitering at a waypoint if Param1 is non-zero
Rover now honours the Param1 setting of a time in seconds for a
NAV_WAYPOINT and the Rover will loiter at that waypoint for that
period of time.
Note that as soon as the Rover reaches that waypoint the loiter timer
will start. If you enter a different mode during this time (HOLD for
instance) the timer resets. If you then switch back to AUTO
mode and the Rover returns to that waypoint it will wait for the
loiter time configured in param1.
2015-07-29 10:08:04 +10:00
Grant Morphett f314b243ee Rover: Make guided operate the same way as Plane/Copter.
This is a safety change.  Lets say you have a GCS which is in
followme mode which is really GUIDED mode with continually updated
waypoints.  If the user then changes mode with the RC transmitter to
HOLD or anything else then the Rover should STOP listening to the
updated guided mode waypoints.  This is how Plane/Copter work.
2015-06-05 21:07:00 +10:00
Randy Mackay 31aae1f019 Rover: Log_Write_Startup writes parameters 2015-06-01 20:22:46 +09:00
Grant Morphett e86a89e5bd Rover: Moving parameter logging to be after all systems have started 2015-06-01 20:22:35 +09:00
Lucas De Marchi 2f5314a1a6 APMrover2: use functor macros
Functor is not yet being used but let's make is macro fallback to the
previous Delegate implementation for easy of transition between the two.
2015-05-26 13:46:54 +10:00
Andrew Tridgell daa2c611a9 Rover: fixed APM1 build 2015-05-21 07:48:50 +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