Commit Graph

923 Commits

Author SHA1 Message Date
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
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 ee72254ff9 APMrover2: remove undefined function from header 2015-10-30 14:35:20 +09:00
Lucas De Marchi 89fc4f4b62 Replace use of send_text_P() with send_text() 2015-10-30 14:35:17 +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 6f0db45b57 Replace use of strcasecmp_P() with strcasecmp() 2015-10-30 14:35:08 +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 84d5fb006f Remove use of Util::{v,}snprintf_P()
These are now the same function as Util::snprintf().
2015-10-30 14:35:05 +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 bad68829ae APMrover2: include SITL only for SITL board
Include board-specific files only when the board is used. Since these
should be exceptional cases, let the includer handle the ifdef instead
of putting ifdefs in every platform-specific header.

In the future we should evaluate whether the HAL for the board should
instantiate this.
2015-10-22 13:36:14 -02:00
Caio Marcelo de Oliveira Filho 49a42dc985 SITL: use a SITL namespace 2015-10-22 11:04:42 -02:00
Peter Barker 5db4549d79 Rover: use simple log entry numbers to download logs 2015-10-21 10:50:32 +11:00
Caio Marcelo de Oliveira Filho 06b2c966c1 APMrover2: implement HAL::Callbacks
Also removes includes for each board since they are not necessary
anymore.
2015-10-21 09:16:09 +11:00
Caio Marcelo de Oliveira Filho ec52df991c build: compile only the HAL files needed by the board
Instead of requiring every program to specify the HAL related modules,
let the build system do it (in practice everything we compiled depended
on HAL anyway). This allow including only the necessary files in the
compilation.
2015-10-21 09:16:07 +11:00
Caio Marcelo de Oliveira Filho 2e464a53c2 AP_HAL: make code not depend on concrete HAL implementations
The switching between different AP_HAL was happening by giving different
definitions of AP_HAL_BOARD_DRIVER, and the programs would use it to
instantiate.

A program or library code would have to explicitly include (and depend)
on the concrete implementation of the HAL, even when using it only via
interface.

The proposed change move this dependency to be link time. There is a
AP_HAL::get_HAL() function that is used by the client code. Each
implementation of HAL provides its own definition of this function,
returning the appropriate concrete instance.

Since this replaces the job of AP_HAL_BOARD_DRIVER, the definition was
removed.

The static variables for PX4 and VRBRAIN were named differently to avoid
shadowing the extern symbol 'hal'.
2015-10-21 09:16:07 +11:00
Gustavo Jose de Sousa 7c725bb59e APMrover2: use compass get_{field,offsets}() functions
Both functions are equivalent, so we're going to simply use
get_{field,offsets}() instead of get_{field,offsets}_milligauss().
2015-10-15 19:56:04 +09:00
Grant Morphett 461eff25d5 Rover: Fixed a build issue on Windows with the new RPM library
The AP_RPM library needed to be added to make.inc for the sitl build
to work correctly on Windows.  Thanks to Zach for solving the issue
in this discussion
http://diydrones.com/group/ardurover-user-group/forum/topics/rover-sitl-build-failed?commentId=705844%3AComment%3A2109049&xg_source=msg_com_gr_forum
2015-10-11 16:00:58 +09:00
Randy Mackay 93b0dd4d61 Rover: add no break comment to avoid compiler warning 2015-10-03 12:56:26 +09:00
Randy Mackay 836fff2119 Rover: send home position when home is set or get-home msg received 2015-10-03 12:56:21 +09:00
Andrew Tridgell 64410b10fb Rover: use ahrs.send_ekf_status_report() 2015-09-29 10:59:28 +10: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
Andrew Tridgell 42ed989da0 Rover: log mode in dataflash callback
this ensures every log has the initial mode
2015-09-17 20:14:35 +10:00
Stewart Loving-Gibbard 2c62a3a1c5 Rover: Adding Logging of RSSI data. 2015-09-16 16:41:48 +09:00
squilter 97b901a5fb Rover: Support do_digicam_x via command_long 2015-09-16 13:06:55 +09:00
Peter Barker d6e380496c Rover: ensure 10% free space when initialising logging 2015-09-09 12:22:36 +10:00
Staroselskii Georgii 8bb7e2d4b0 Rover: make Rover use milligauss 2015-09-09 10:38:16 +10:00
Grant Morphett 571b4478fd Rover: Using a new method to check for throttle failsafe
This method checks for throttle reversal.
2015-09-09 10:28:02 +10:00
Grant Morphett f5c7ac7a00 Rover: Fixing issue 302
Using the configured FS_THR_VALUE to check for failsafe instead of
just checking against 50 below throttle min.
2015-09-09 10:28:01 +10:00
Andrew Tridgell b87ed96825 Rover: fix for changed AP_RangeFinder API 2015-09-08 16:46:52 +10:00
Grant Morphett 90b48fe46a Rover: Fixing issue 327 - reporting Baro alt instead of GPS 2015-09-08 09:40:39 +10:00
Randy Mackay 958d279b7c Rover: support do-mount-control via command-long 2015-09-06 16:01:28 +09:00
Siddharth Bharat Purohit b8a9f9ebc5 APMrover2: implement on-board compass calibration for APMrover 2015-09-03 16:59:14 +10:00
Peter Barker 6e3687f8af Rover: DFMessageWriter; ability to trickle messages out to DF 2015-09-03 15:20:20 +10:00
Gustavo Jose de Sousa d6778fbf53 APMrover2: use function name for AP_Scheduler task name
That makes it easier to identify tasks when debug is enabled in AP_Scheduler.
2015-09-01 20:22:18 +10:00
Gustavo Jose de Sousa 30ffd0cbd2 APMrover2: use designated initializers for tasks structs
Makes code less prone to break build and semantics (e.g., when a new field is
added).
2015-09-01 20:22:18 +10: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 84252405c3 Rover: sanity check ROI target 2015-08-27 15:15:59 +09:00
Randy Mackay 536311744d Rover: fix link to BATT param descriptions 2015-08-26 11:17:53 +09:00
squilter b4cf0ce2bb Rover: update severity values 2015-08-25 14:04:40 +09:00
squilter 06eb53402f Rover: define and send FIRMWARE_VERSION 2015-08-23 09:21:53 +09:00
Tom Pittenger 2319bdb068 Rover: queue MISSION_ITEM_REACHED
clean up unreachable code
2015-08-19 15:42:08 +10:00
Tom Pittenger 545d926d20 Rover: bring rover mission callback inline with copter and plane 2015-08-19 15:26:32 +10:00
Stewart Loving-Gibbard c55e4e275d Rover: fix spelling errors in Parameters.cpp 2015-08-18 09:54:04 +09:00
Grant Morphett f4d319ba83 Rover: Including the sonar/rangefinder status in SYS_STATUS message 2015-08-12 06:34:26 -07:00
Andrew Tridgell 3ce5f62420 Rover: prevent build error with MSG_RPM 2015-08-12 15:03:51 +10:00
Gustavo Jose de Sousa 01e05ce743 APMrover2: standardize inclusion of libaries headers
This commit changes the way libraries headers are included in source files:

 - If the header is in the same directory the source belongs to, so the
 notation '#include ""' is used with the path relative to the directory
 containing the source.

 - If the header is outside the directory containing the source, then we use
 the notation '#include <>' with the path relative to libraries folder.

Some of the advantages of such approach:

 - Only one search path for libraries headers.

 - OSs like Windows may have a better lookup time.
2015-08-11 16:28:40 +10:00
Grant Morphett 92a7a3e6ff Rover: Lets put Rover into BETA - v2.2.51
I also made myself the maintainer - ssshhh - don't tell Tridge.
2015-08-06 17:13:30 +10:00
Grant Morphett 103119fe9a Rover: fixed bug when reverse throttle would increase speed in AUTO
Fixed this bug
https://github.com/diydrones/ardupilot/issues/840
If a Rover was in AUTO and the user moved the throttle stick into
reverse past 50% the rover would increase.  Basically the throttle
nudge behaviour was the same regardless of whether you moved the
throttle forward or backward.
2015-08-06 17:11:53 +10:00
Grant Morphett 5044189ac9 Rover: scheduler remaining time loop calc made common
Just making the improved scheduler loop remaining time calculation in line with
Plane and Copter.
2015-08-05 15:31:44 +09:00
squilter aa4a7a0b28 Rover: init vehicle capabilities 2015-08-01 09:35:46 +09:00
Grant Morphett 224d45000b Rover: fixed a bug going into guided and rover still moving
When the rover goes into guided mode it sets the current location as
the guided point to goto.  If the rover is stationary when this
happens no problem.  If however the rover is still rolling (say going
from AUTO to GUIDED) then the rover would go past its guided position
and get confused and begin to circle it.  This change resolves that issue.
2015-07-30 12:41:02 +10: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 9a79baef59 Rover: Merged a bug fix from Plane.
Merged a bug fix where mode would not revert on geo-fence disable.
The mode would not revert if the switch was in position 0.
Geofencing will soon be in Rover and I didn't want to forget this bug
and chase it later so committing it now.  It works fine in Rover now
even though the geofencing code isn't in yet.
2015-07-22 21:27:36 +10:00
Grant Morphett 873e6c8e29 Rover: Doubled the rate at which read_control_switch is called.
As the previous commit as doubled the number of reads required to
confirm that the mode change switch has been changed this means it
will halve the speed it changes at.  So we double the rate at which we
read it to keep things consistent.
2015-07-22 21:26:37 +10:00
Grant Morphett 4f6259f374 Rover: Added mode switch debouncing from Plane. 2015-07-22 21:26:37 +10:00
Grant Morphett 1fb81777f1 Rover: deleted the old command_description.txt file which isn't used. 2015-07-21 16:31:26 +09:00
Randy Mackay 14561f04b0 Rover: log IMUDT 2015-07-14 13:31:58 +09:00
Lucas De Marchi 8f74d7d982 APMrover2: use ARRAY_SIZE macro 2015-07-07 07:56:29 +10:00
Randy Mackay 5ef4f8e90a Rover: log ahrs home and ekf origin 2015-07-06 13:28:10 +09:00
Peter Barker 4b0495bb15 Rover: use common mission logging code 2015-06-30 16:23:35 +10:00
Peter Barker b0c6a1fde7 Rover: use common system information logging 2015-06-30 16:23:35 +10:00
Peter Barker e9e59e6c38 Rover: DataFlash frontend/backend split 2015-06-26 16:02:51 +10:00
Grant Morphett 3da78052a1 Rover: Release 2.50! 2015-06-19 14:24:05 +10: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
Grant Morphett 268afc9d5a Rover: Added dataflash logging of the steering PID. 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
Randy Mackay fe1da458a7 Rover: avoid compiler warning re to new VIBRATION msg 2015-06-12 21:36:53 +09:00
Eugene Shamaev 3ecead9d3c Rover: added DSM bind support 2015-06-10 17:19:09 +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
Lucas De Marchi b9b921fc38 Rover: stop using alias FUNCTOR_BIND_VOID 2015-06-04 13:37:37 +09: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
Grant Morphett bd92febe77 Rover: Removed superfluous speed-type parameter
Unlike Plane, Rover only understands ground speed so there is no need
to specify the speed type parameter for Rover.
2015-06-01 20:22:33 +09:00
Andrew Tridgell 530c9c988f Rover: removed unused pragmas 2015-06-01 18:05:59 +10:00
Andrew Tridgell e449b3c4a1 Rover: changes for new AHRS API 2015-06-01 16:17:15 +10:00
Andrew Tridgell 5dfa2783e0 Rover: added blank Parameters.pde for MissionPlanner 2015-05-30 15:21:29 +09:00
Andrew Tridgell 254d4219d4 Rover: fixed build 2015-05-27 14:28:48 +10:00
Peter Barker 58f2bcb754 Rover: use 64-bit timestamps in dataflash logs 2015-05-27 11:54:15 +10:00
Andrew Tridgell 7d51817716 Rover: fix for scheduler API change 2015-05-26 14:33:43 +10: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
Lucas De Marchi e24c5349c8 APMrover2: cleanup in tabs and trailing whitespace
While doing other changes, fix the coding style of this file so the
commits are more readable.
2015-05-26 13:46:51 +10:00
Andrew Tridgell 8046b1fd5c Rover: fixed path for GCS_MAVLink parameters 2015-05-21 11:42:59 +10:00
Andrew Tridgell 3ae11376a9 Rover: removed NOINLINE define 2015-05-21 09:35:40 +10:00
Andrew Tridgell daa2c611a9 Rover: fixed APM1 build 2015-05-21 07:48:50 +10:00
Andrew Tridgell 32a5f4c0b5 Rover: added make.inc 2015-05-21 07:48:50 +10:00
Andrew Tridgell 3a28811909 Rover: removed remaining warnings from PX4 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
Andrew Tridgell b731ebfd9e Rover: coversion to class now complete 2015-05-21 07:48:48 +10:00
Andrew Tridgell adbf9c362e Rover: automatic substitution for class members 2015-05-21 07:48:47 +10:00
Andrew Tridgell f99186afbc Rover: added initial Rover class 2015-05-21 07:48:47 +10:00
Andrew Tridgell fb435fc78e Rover: support setting just accel trim with preflight-cal
use param5==2
2015-05-16 07:56:34 +10:00
Randy Mackay 757f388d62 Rover: add support for 4th mavlink channel 2015-05-15 15:07:30 +09:00
Andrew Tridgell 11a4b757f9 Rover: call Log_Write_POS() 2015-05-15 14:28:16 +10:00
Andrew Tridgell 474ee2a11e Rover: fix for new compass API 2015-05-15 14:25:45 +10:00
Tom Pittenger 9de10f271a Rover: Write new mission to log without telling GCS 2015-05-13 20:25:59 +09:00
Randy Mackay ab70cb13af Rover: clarify SYSID_MAV parameter description 2015-05-11 09:23:04 +09:00
Grant Morphett 0f13bc6d2a Rover: Updates to guided mode to work correctly on Rover 2015-05-08 21:03:30 +10:00
Tom Pittenger 06796cd994 Rover: if receiving last mission item then log new mission to dataflash 2015-05-08 21:01:51 +10:00
Dario Lindo Andres 4884932280 Rover: Updated AUTO_TRIGGER_PIN value definitions
Mission Planner and parameter.h definitions seem to be outdated. A bit
confusing because when its readed, you think you need to define it
between 0-8 (APM boards) instead of 50-55 (PX4-Pixhawk boards).
2015-05-08 16:30:35 +10:00
Andrew Tridgell fabee44583 Rover: support raw IMU logging 2015-05-07 12:11:43 +10:00
Andrew Tridgell 686d1e7548 Rover: revert AP_Math class change 2015-05-05 13:27:03 +10:00
Tom Pittenger b35258efed APMrover2: compile warnings: float to double. print statements require doubles 2015-05-05 13:27:01 +10:00
Tom Pittenger 928a5e0766 APMrover2: compile warnings: float to double. print statements require doubles 2015-05-05 13:26:59 +10:00
Tom Pittenger bff69de249 APMrover2: compiler warnings: apply is_zero(float) or is_equal(float) 2015-05-05 13:26:58 +10:00
Tom Pittenger 514c83301c APMrover2: compiler warnings: apply is_zero(float) or is_equal(float) 2015-05-05 13:26:57 +10:00
Tom Pittenger 002d664ea0 APMrover2: compiler warnings: apply is_zero(float) or is_equal(float) and float to double 2015-05-05 13:26:53 +10:00
Tom Pittenger 8ddd97c06f APMrover2: compiler warnings: apply is_zero(float) or is_equal(float) 2015-05-05 13:26:53 +10:00
Andrew Tridgell eda187c75a Rover: fix for HAL_SITL rename 2015-05-05 09:45:57 +10:00
Randy Mackay 609bb0c56a Rover: fix MNT param description 2015-04-29 09:08:06 +09:00
Tom Pittenger e867b148f5 Rover: fix compile warnings for unused functions 2015-04-24 14:10:12 +09:00
Randy Mackay d5934343d4 Rover: pass sonar into ahrs constructor 2015-04-24 11:22:16 +09:00
Randy Mackay 245e46205a Rover: replace range finder health with status 2015-04-24 10:57:32 +09:00
Niels Joubert 60c247ed12 Rover: Handle GPS Data Injection 2015-04-24 08:01:32 +10:00
Randy Mackay dc3fdf76a3 Rover: remove call to empty camera.configure_msg 2015-04-20 13:50:23 +09:00
Jaime Machuca 7330b5e91b Rover: add call to send digicam configure messages from a mission item
Also add log_picture to separate the triggering of a picture
from the dataflash logging and feedback message to the GCS
2015-04-20 13:50:21 +09:00
Andrew Tridgell 4b5a36cc3f Rover: added LOCAL_POSITION_NED message 2015-04-05 09:25:28 -07:00
Randy Mackay 8f49c96b1a Rover: fix serial manager integration 2015-04-01 15:13:31 -07:00
Randy Mackay ff1d6dea61 APMRover: integrate Serial Manager instance 2015-04-01 14:59:28 -07:00
Randy Mackay ab542de769 Rover: send invalid batt curr if monitor unhealthy 2015-03-20 11:05:37 +09:00
Andrew Tridgell e1b998f011 Rover: disable CLI on APM2 by default
saves lots of flash. This is also consistent with plane and copter
2015-03-13 22:52:56 +11:00
Víctor Mayoral Vilches 0795783d37 Rover: Update compass to the new interface 2015-03-13 18:46:17 +11:00
Randy Mackay c5bbd445cc Rover: send EKF_STATUS_REPORT in extra3 stream 2015-03-12 13:44:01 +09:00
Andrew Tridgell 8b0337ffd0 Rover: removed set_default_filter() call 2015-03-12 12:50:31 +11:00
Andrew Tridgell 29bf3f569e Rover: removed 1D accel calibration 2015-03-12 12:50:29 +11:00
Andrew Tridgell b8ab87ea86 Rover: added CLI_ENABLED parameter 2015-03-09 17:58:37 +11:00
Andrew Tridgell d9950ea07f Rover: set gyros disabled when calibrating 2015-03-09 17:58:37 +11:00
Grant Morphett e0f828f4d2 APMrover2: Creating release 2.49 of Rover. 2015-03-04 11:48:47 +11:00
Marco Walther 339dac18f7 Rover: Fix the yellow binking lights after the AP_Notify updates 2015-03-04 09:03:49 +11:00
Marco Walther 8629637cec Rover: Fix for a minor sonar problem 2015-03-04 09:03:49 +11:00
Grant Morphett 3535574b9d Rover: Created the rover release v2.48 2015-02-20 17:07:59 +11:00
João Fortuna d7d5b7bb73 Rover: Fixed MAVLINK stream trigger calculation. 2015-02-20 13:13:02 +09:00
Grant Morphett 171c0476b6 APMrover2: Publish Beta Release of version 2.48 2015-02-13 08:34:35 +11:00
Andrew Tridgell 149daf23a6 Rover: implement MAV_CMD_REQUEST_AUTOPILOT_CAPABILITIES 2015-02-12 09:04:09 +11:00
Staroselskii Georgii 1670ccf774 Rover: fixed BattMonitor initialisation 2015-02-12 07:51:24 +11:00
Jonathan Challinger d08aa3edac APMrover2: use hal.util soft_armed state 2015-02-11 20:57:27 +11:00
Andrew Tridgell 529a05256d Rover: support AUTOPILOT_VERSION command 2015-02-11 19:52:38 +11:00
Grant Morphett 4ffb4f6fef APMrover2: Changes to fix the warnings in rover sitl build.
We are starting the process of resolving all the warnings in the
ardupilot builds of all vehicles and platforms.
2015-02-11 18:16:45 +11:00
Andrew Tridgell c8d140f17b Rover: fixed build warning 2015-02-03 09:49:15 +11:00
Randy Mackay 9f7f1e62df Rover: integrate SerialManager 2015-01-29 14:05:16 +11:00
Randy Mackay 06fcb87755 Rover: move MNT param's underscore to mount lib 2015-01-29 13:57:19 +11:00
Randy Mackay 1ab405bf88 Rover: integrate mount frontend-backend restructure
rename mount.set_roi_cmd to set_roi_target
2015-01-29 13:57:18 +11:00
Matthias Badaire ff064e12b1 Rover: Frsky telemtry change move parameter to init of the class
Parameter needs to be passed and use at the init of the class frsky telem
2015-01-22 16:49:39 +11:00
Grant Morphett 5b4443a137 Rover: Improved message when AUTO selected but no commands loaded.
I updated the message when you select AUTO mode but you haven't put
any waypoints in.  It now says "No commands so can't set AUTO- setting
HOLD instead"
2015-01-22 15:12:00 +11:00
Robert Lefebvre f796518695 Rover: Change Compass logging to new DataFlash method that handles instances. 2015-01-21 14:37:56 +09:00
Robert Lefebvre b3aab67239 Rover: Change Compass logging to use DataFlash library method. 2015-01-21 14:37:47 +09:00
Robert Lefebvre 89fd543f4d Rover: Change Mode logging to use DataFlash library method. 2015-01-21 14:37:45 +09:00
Robert Lefebvre 7254de4e23 Rover: Change Attitude logging to use DataFlash library method. 2015-01-21 14:37:42 +09:00
Robert Lefebvre 8da62107fa Rover: Change Current logging to use DataFlash library method. 2015-01-21 14:37:40 +09:00
Andrew Tridgell e575bc264e Rover: updates for new AP_Baro API 2015-01-09 11:50:55 +11:00
Andrew Tridgell f400f39f08 Rover: fixed build warnings 2015-01-09 11:38:21 +11:00
Andrew Tridgell 8a77fef6f8 Rover: added support for 2nd battery 2015-01-09 11:38:18 +11:00
Staroselskii Georgii 9f54c4920e Rover: added AK8963 support 2015-01-07 08:41:13 +11:00
Andrew Tridgell 5193b2b7cf Rover: added OpticalFlow object
needed to keep SITL build happy
2015-01-03 14:16:33 +11:00
Randy Mackay 4521d8169b Rover: BATT param's underscore moved to library 2014-12-31 15:22:56 +09:00
Randy Mackay fe8730497a Rover: use battery.has_current 2014-12-31 15:22:53 +09:00
Randy Mackay 8960766900 Rover: remove logging dependency on optflow 2014-12-31 13:16:18 +09:00
priseborough ee75f26edb Rover: Don't log EKF optical flow data if not required 2014-12-31 13:16:12 +09:00
Randy Mackay 4db219e70a Rover: pre_arm_gps_check flag always true 2014-12-26 12:32:41 +09:00
Andrew Tridgell 87df3c3442 Rover: cleanup mavlink_system setup 2014-12-17 11:29:50 +11:00
Andrew Tridgell 76c47f56c5 Rover: removed fwd of unknown msg types 2014-12-11 12:32:54 +09:00
Andrew Tridgell 41a5f79046 Rover: removed use of mavlink_check_target() 2014-12-11 12:32:38 +09:00
Andrew Tridgell 008dc91a15 Rover: setup pwm esc scaling 2014-11-26 11:14:44 +11:00
Andrew Tridgell 1d2d8c903a Rover: make preflight calibration follow plane conventions 2014-11-21 14:47:09 +11:00
Andrew Tridgell 1ed02441a0 Rover: fix build with new mavlink repo 2014-11-18 11:19:53 +11:00
Randy Mackay 48c00728a7 Rover: add MOUNT_STATUS to STREAM_EXTRA3 2014-11-17 15:59:38 -08:00
Grant Morphett 699de81d02 Rover: Prepare for 2.47 release. 2014-11-15 14:24:07 +11:00
Grant Morphett 88fd9a2879 Rover: Update release notes ready for 2.47 release. 2014-11-15 14:24:05 +11:00
Grant 3831a0ed3e Rover: Fix INS test in CLI to quit on enter
The curly brace was in the wrong spot.
2014-11-15 13:37:52 +11:00
Andrew Tridgell ef62a2c697 Rover: fixed CLI sonartest 2014-11-11 11:33:51 +11:00
Andrew Tridgell 35b558cfc2 Rover: convert to new AP_InertialSensor API 2014-10-24 12:10:38 +11:00
Randy Mackay 08f8fdfabd Rover: report gyro unhealthy if failed calibration 2014-10-09 10:00:19 +09:00
Andrew Tridgell 49fa887773 Rover: prepare 2.47beta1 2014-10-09 09:20:11 +11:00
Andrew Tridgell 1721216019 Rover: fixed skid steering
the main issue was the use of the last throttle in the throttle slew
rate control, but manual skid steering was also broken
2014-10-09 08:59:26 +11:00
Randy Mackay 799f559c1d Rover: only report ahrs unhealthy after initialisation 2014-10-02 14:41:27 +09:00
Andrew Tridgell 9453154b75 Rover: use handle_set_mode() 2014-10-01 14:19:42 +10:00
Randy Mackay a860d91930 Rover: allow GCS to turn safety switch on/off 2014-10-01 13:12:08 +10:00
Randy Mackay bab2c17e11 Rover: set sys_status motor outputs bit from safety switch 2014-10-01 13:11:50 +10:00
Randy Mackay 2dbfc6158d Rover: check target of set-mode request from GCS
Issue discovered and fix contributed by Deadolous
2014-09-30 15:19:28 +10:00
Randy Mackay 9de1ae8fbb Rover: individual accel and gyro status to GCS 2014-09-03 11:22:55 +09:00
Andrew Tridgell 3d8f1e03e1 Rover: prepare for 2.46 release 2014-08-26 07:48:55 +10:00
Andrew Tridgell 87f0cb6168 Rover: remove unused variable 2014-08-22 21:13:11 +10:00
Andrew Tridgell 7cda392827 Rover: show firmware version on param list 2014-08-22 21:13:11 +10:00
Andrew Tridgell 06c77c167e Rover: set GPS non-blocking
the new GPS driver only ever needs a non-blocking port
2014-08-19 10:08:17 +10:00
Randy Mackay d130f0c499 Revert "Rover: use rcmap when sending radio_in to GCS"
This reverts commit fb867f3a06.
2014-08-16 20:31:29 +09:00
Randy Mackay fb867f3a06 Rover: use rcmap when sending radio_in to GCS 2014-08-16 15:28:01 +09:00
Andrew Tridgell c150338e53 Rover: convert to using StorageManager 2014-08-13 18:46:44 +10:00
Andrew Tridgell 0588d88435 Rover: fixed build 2014-08-06 17:59:20 +10:00
Andrew Tridgell 30b9c60938 Rover: rename Tele2Protocol to Serial2Protocol 2014-07-30 14:48:41 +10:00
Matthias Badaire 874ef65d74 Plane: Add SERIAL2_PROTOCOL for GCS and FRSky telemtry
This allows selection of protocol type on telem2. The default is MAVLink, but can be selected as FrSky protocol
2014-07-29 17:08:20 -07:00
Andrew Tridgell bea5c8ae0c Rover: change default throttle slew rate to 100
this will help with NiMH batteries which may brownout with sudden
currents
2014-07-27 22:18:52 +10:00
Andrew Tridgell 7810314f7c Rover: avoid integer underflow in mavlink txspace check 2014-07-27 22:12:08 +10:00
Andrew Tridgell 71132058b4 Rover: need AP_Terrain.h for AP_Mission 2014-07-25 14:36:39 +10:00
akdslr 1083a89b0f Ardurover2 Parameters: Changed the SONAR prefix to RNGFND and renamed the previous SONAR_ parameters 2014-07-24 14:41:54 +10:00
Andrew Tridgell 739edafb42 Rover: use HAL board subtypes 2014-07-14 09:44:35 +10:00
Andrew Tridgell 3143e192d3 Rover: changes for more common mavlink code 2014-07-13 15:37:50 +10:00
Randy Mackay 170ca89a21 Rover: PREFLIGHT_SET_SENSOR_OFFSETS used to set compass offsets
replaces ardupilot specific message SET_MAG_OFFSETS
2014-07-10 20:25:28 +09:00
Randy Mackay d789735d0d Rover: rename compass set_and_save_offsets 2014-07-10 20:25:26 +09:00
Randy Mackay 9064d7ebca Rover: add support for DO_SET_ROI outside of missions 2014-07-09 21:26:50 +09:00
Randy Mackay 3790b3aa82 Rover: add support for DO_SET_ROI within mission 2014-07-09 21:26:05 +09:00
Andrew Tridgell bfe705a14d Rover: convert to new AP_RangeFinder API 2014-07-08 15:07:50 +10:00
Andrew Tridgell fdeedfa173 Rover: support 3 magnetometers 2014-07-04 12:49:36 +10:00
Andrew Tridgell 57685ddf84 Rover: update for AP_Mount change 2014-06-18 12:04:43 +10:00
Randy Mackay 4d93dd47ee Rover: use common Log_Write_Camera
pair programmed with Craig Elder
2014-06-17 14:11:44 +10:00
Andrew Tridgell a72b362c1f Rover: prepare for new beta 2014-06-04 14:03:23 +10:00
Andrew Tridgell a1b94bf852 Rover: prevent unsupported command messages
this prevents errors on DO_CHANGE_SPEED
2014-06-04 14:00:31 +10:00
Andrew Tridgell 43059fbff5 Rover: release 2.46beta 2014-06-02 11:20:14 +10:00
Andrew Tridgell e35c0a578d Rover: fix for HAL_GPIO_* 2014-06-02 10:42:36 +10:00
Andrew Tridgell c4c912c703 Rover: use new GCS_Common.cpp functions 2014-05-28 09:35:50 +10:00
Andrew Tridgell 57e14f5387 Rover: updates for new GCS_MAVLink API 2014-05-21 12:45:25 +10:00
Andrew Tridgell ed4068dc90 Rover: update baud rate parameter descriptions 2014-05-21 12:45:25 +10:00
Andrew Tridgell 1118609024 Rover: change baudrates to 16 bit
allows for much higher serial baud rates
2014-05-21 12:45:25 +10:00
Andrew Tridgell fc0d703b9b Rover: much simpler SPEED_TURN_GAIN implementation
as soon as we hit the SPEED_TURN_DIST we lower target speed to the
specified gain
2014-05-18 21:15:07 +10:00
Andrew Tridgell 35e87fa2ea Rover: use setup_uart() 2014-05-16 11:45:20 +10:00
Andrew Tridgell 482933acd7 Rover: added reporting of AHRS health 2014-05-15 21:14:21 +10:00
Randy Mackay d7e015db89 Rover: add Pixhawk pin to RSSI_PIN's @Value
Also prepended APM2 to existing values.  Added A2 to list to be
consistent with plane and copter
2014-05-15 17:13:46 +09:00
Randy Mackay 8b92ff4695 Rover: remove unused RELAY_PIN definition
This is now part of the AP_Relay library
2014-05-15 17:13:40 +09:00
Andrew Tridgell 48919b6253 Rover: use EKF velocity for high rate ground_speed updates
this may give smoother throttle response when the EKF is enabled
2014-05-11 21:39:06 +10:00
Andrew Tridgell cd8fd86565 Rover: use mission.start_or_resume()
this allows the user to setup whether a mission restarts or resumes
2014-05-08 08:36:40 +10:00
Andrew Tridgell 05c59c757c Rover: use get_current_nav_index() 2014-04-22 11:40:18 +10:00
Andrew Tridgell c413cdc480 Rover: set AHRS vehicle class 2014-04-21 18:13:13 +10:00
Andrew Tridgell 594c5c07b3 Rover: setup failsafe trim values for if FMU firmware dies 2014-04-21 08:37:49 +10:00
Andrew Tridgell 030567854b Rover: ensure we log both GPS at the time we receive a message 2014-04-10 10:30:15 +10:00
Emile Castelnuovo c5620dfd39 Rover: added VRBRAIN #defines and #includes 2014-04-08 16:19:20 +10:00
Andrew Tridgell 8322525431 Rover: show next wp when not running a mission
this lets the GCS know what wp would be run if auto mode is selected
2014-04-07 11:41:10 +10:00
Andrew Tridgell ac7f36494b Rover: use the next navigation course to adjust steering gain in turns
this should make waypoints along a straight path not reduce speed
2014-04-07 09:30:39 +10:00
Andrew Tridgell 58cfdebcd0 Rover: added BRAKING_SPEEDERR parameter
this controls how much speed error you need before brakes are used
2014-04-07 08:42:54 +10:00
Andrew Tridgell 87c77dc07f Rover: added SERIAL_CONTROL support 2014-04-05 07:34:34 +11:00
Andrew Tridgell c6f9627782 Rover: use new channel output API 2014-04-03 12:19:25 +11:00
Andrew Tridgell 337ca31b79 Rover: update for gps.setHIL() API 2014-04-02 07:55:28 +11:00
Andrew Tridgell b8f9b5ad91 Rover: added GPS parameters 2014-04-01 06:38:26 +11:00
Andrew Tridgell f4079f57b2 Rover: convert to new GPS API 2014-04-01 06:38:24 +11:00
Andrew Tridgell 747948692a Rover: use AP_GPS_Auto for 2nd GPS 2014-04-01 06:38:23 +11:00
Andrew Tridgell 563cf06624 Rover: make log_bitmask 32 bit
this fixes the log before arm
2014-03-31 17:48:28 +11:00
Andrew Tridgell f4f04ead68 Rover: added BRAKING_PERCENT parameter
this allows for reverse throttle to be applied for braking in corners
2014-03-31 08:44:19 +11:00
Andrew Tridgell 4ac529a0dd Rover: support 18 input channels in MAVLink 2014-03-25 14:47:43 +11:00
Andrew Tridgell ce3ed33649 Rover: support 14 RC channels on PX4 2014-03-25 14:47:05 +11:00
Andrew Tridgell 843318f58c Rover: updates for new RCInput API 2014-03-25 14:47:02 +11:00
Andrew Tridgell d1a650a527 Rover: updates for GPS changes 2014-03-24 12:04:58 +11:00
Andrew Tridgell bf4566095a Rover: report unhealthy compass if primary compass unhealthy 2014-03-24 07:03:35 +11:00
Andrew Tridgell 552674389d Rover: enable logging of RADIO_STATUS 2014-03-20 09:56:37 +11:00
Andrew Tridgell 3d167b5420 Rover: use should_log() for more log msgs 2014-03-19 14:18:12 +11:00
Randy Mackay 9ff5ba3c3f Rover: integrate Mission cmd field changes 2014-03-19 12:14:27 +09:00
Andrew Tridgell 8da72fccba Rover: use common deferred message handling 2014-03-19 12:14:18 +09:00
Andrew Tridgell c8eafc4d42 Rover: use common MISSION_ITEM handling 2014-03-19 12:14:14 +09:00
Andrew Tridgell 0aafef9f69 Rover: use new common MAVLink message handlers 2014-03-19 12:13:41 +09:00
Randy Mackay a90a10b0ca Rover: use common GCS_MAVLink handle_mission methods 2014-03-19 12:13:24 +09:00
Andrew Tridgell c7c8a36620 Rover: use new handle_mission_request() function
Pair-Programmed-With: Randy Mackay <rmackay9@yahoo.com>
2014-03-19 12:13:13 +09:00
Randy Mackay de119e07bb Rover: remove do_takeoff, do_change_alt support 2014-03-19 12:13:07 +09:00
Randy Mackay 59555e8364 Rover: revert next_WP, prev_WP to location structures 2014-03-19 12:13:04 +09:00
Randy Mackay 204eb8b7d3 Rover: use mission command specific structure 2014-03-19 12:13:00 +09:00
Randy Mackay df5c874f73 Rover: fix to support uploading partial missions 2014-03-19 12:12:58 +09:00
Randy Mackay 954e10b26f Rover: integrate dataflash Log_Write_MavCmd 2014-03-19 12:12:48 +09:00
Randy Mackay 9b0ae2fcff Rover: use Dataflash lib's Log_Write_Cmd 2014-03-19 12:12:13 +09:00
Randy Mackay 7ff379850c Rover: integrate variable max num commands 2014-03-19 12:12:05 +09:00
Randy Mackay fdec917607 Rover: pass eeprom start to Mission constructor 2014-03-19 12:12:04 +09:00
Randy Mackay 7b9c3bf707 Rover: call mission.init during startup 2014-03-19 12:11:50 +09:00
Randy Mackay 923dca0cb8 Rover: Log_Write_Startup checks success of cmd read before logging 2014-03-19 12:11:44 +09:00
Randy Mackay 0a7d33a1da Rover: cli test checks read_cmd success before printing 2014-03-19 12:11:43 +09:00
Randy Mackay 5ccfa247ac Rover: remove unused definitions 2014-03-19 12:11:36 +09:00
Randy Mackay 29340c68bd Rover: Mission integration for cli test 2014-03-19 12:11:34 +09:00
Randy Mackay 1a70ffdeee Rover: Mission integration for ch7 save waypoint 2014-03-19 12:11:33 +09:00
Randy Mackay c83733048f Rover: Mission integration into dataflash Logging 2014-03-19 12:11:31 +09:00
Randy Mackay 4ca3a92655 Rover: Mission integration into command execution 2014-03-19 12:11:30 +09:00
Randy Mackay df1b2e1192 Rover: Mission integration with GCS_Mavlink.pde 2014-03-19 12:11:28 +09:00
Randy Mackay 192286f04d Rover: create Mission object 2014-03-19 12:11:27 +09:00
Randy Mackay 26b82cf0a3 Rover: use common location options masks 2014-03-19 12:10:23 +09:00
Andrew Tridgell 18686ab671 Rover: fixed comment 2014-03-13 16:26:14 +11:00
Andrew Tridgell e7b0e32bfe Rover: set 2nd GPS as secondary 2014-03-08 21:48:23 +11:00
Andrew Tridgell 148fd889bc Rover: fix for X8R receiver on SBUS in failsafe
the X8R briefly gives PWM of 874 on all channels when the receiver is
setup as "no pulses" failsafe handling. This was interpreted as switch
position 0, which was AUTO for me.

This change rejects pulse widths below 900 for mode changes
2014-03-08 19:27:50 +11:00
Andrew Tridgell 7104bdf855 Rover: support k_steering channel 2014-03-05 12:57:51 +11:00
Andrew Tridgell 989b26899f Rover: enable EKF detailed logging 2014-03-03 09:03:48 +11:00
Andrew Tridgell 8740ccfc61 Rover: only send GPS2_RAW when we have a 2nd GPS 2014-03-03 07:05:42 +11:00
Andrew Tridgell 87ea98fe2c Rover: disable GPS2 in HIL 2014-02-27 08:16:11 +11:00