Commit Graph

868 Commits

Author SHA1 Message Date
Grant Morphett 960fd58c9c Rover: Whitespace change only
Ran astyle over commands_logic.cpp because the file was all over the
place.  Used the Tools/CodeStyle/astylerc as the options.
2016-10-30 21:10:33 +11:00
Peter Barker 36c0bacada Rover: support for AP_Stats (flight time, bootcount, runtime) 2016-10-29 14:53:25 +09:00
Peter Barker f1b776e4eb Rover: change motor_active to be based on servo out rather than radio in 2016-10-29 14:53:25 +09:00
Peter Barker cfee3b6c0e Rover: add support for ParametersG2 2016-10-29 14:53:25 +09:00
murata a71e889f51 Rover: To nullptr from NULL. 2016-10-28 16:22:44 -03:00
floaledm 629af84ca1 Rover: update sensor status error flags independently of sending a sys_status message 2016-10-28 15:11:44 +11:00
Michael du Breuil b5684e7eb4 Rover: Allow compass to manage buffer space for MAG_CAL 2016-10-27 14:04:34 +11:00
Grant Morphett e88995385a Rover: Creating 3.1.0 Beta Release 4
New MAV_CMD_NAV_SET_YAW_SPEED and
COMMAND_INT MAV_CMD_DO_SET_ROI amonst others.
2016-10-25 08:07:23 +11:00
Grant Morphett 2d09db4ecb Rover: added a new form of GUIDED mode
Rover now accepts a new message MAV_CMD_NAV_SET_YAW_SPEED
which has an angle in centidegrees and a speed scale and the rover
will drive based on these inputs.
2016-10-25 08:04:01 +11: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
Andrew Tridgell 8b7c60dcd7 Rover: use handle_rc_bind 2016-10-15 21:42:38 +11:00
Andrew Tridgell 412dca1615 Rover: deprecate RC_CHANNELS_RAW 2016-10-13 21:24:13 +11:00
Michael du Breuil 8358809a02 Rover: Support GPS_RTCM_DATA 2016-10-11 11:00:36 +11:00
murata 1ece4b6f53 Rover: To add a judgment of 0 degrees longitude. 2016-10-05 08:27:14 -03:00
murata eec491a1f9 Rover: To add a judgment of 0 degrees longitude. 2016-10-04 12:54:55 -03:00
Lucas De Marchi b4a3e8a9c9 APMrover2: Fix use of logical op instead of bitwise op
../../ArduCopter/GCS_Mavlink.cpp: In member function 'void Copter::send_extended_status1(mavlink_channel_t)':
../../ArduCopter/GCS_Mavlink.cpp:281:37: error: suggest parentheses around operand of '!' or change '&' to '&&' or '!' to '~' [-Werror=parentheses]
     uint32_t sensors_error_flags = !control_sensors_health & control_sensors_enabled & control_sensors_present;
                                     ^
compilation terminated due to -Wfatal-errors.
cc1plus: all warnings being treated as errors

Thanks to Ralph Campbell <ralphcampbell1@gmail.com> for the bug report.
2016-09-29 11:36:23 -03:00
Pierre Kancir c08584d219 APMrover2: simply invalid cmd msg 2016-09-27 07:45:48 -07:00
Pierre Kancir 6cb71fef0c APMrover: uniformize verify_command
Add better gcs message,
Add all handle message,
Reformate comments,
2016-09-27 07:45:48 -07:00
Tom Pittenger 72da58960c Rover: log to dataflash statustext messages from my_gcs 2016-09-26 00:13:39 -07: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
floaledm 93f2de6780 Rover: change sensor health check to prevent false positive 2016-09-22 13:56:41 -05:00
Grant Morphett c5adb91017 Rover: Creating Beta Release 3 with recent parameter corruption fix. 2016-09-06 15:07:14 +10:00
Michael du Breuil f1f8233220 Rover: Return RESULT_FAILED for GET_CMD_HOME if home is unset 2016-09-03 16:54:18 +09:00
Grant Morphett b6b10505f1 Rover: New BETA release of Rover 3.1.0Beta2 2016-09-03 08:58:12 +10: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
Pierre Kancir b16369ec8c APMrover2: define ENABLE as ENABLED
Same for DISABLE as typo error protection
2016-08-28 14:24:32 +02:00
Grant Morphett df99941fc8 Rover: Added support for COMMAND_INT
And also made DO_SET_ROI available as a COMMAND_INT as this gives us
cm accuracy rather then 1.5m when a float is used.
2016-08-26 11:31:35 +10:00
murata d620efbcb7 Rover: if statements is simple. 2016-08-25 12:04:38 -03:00
Randy Mackay 1181acc4e4 Rover: add support for SET_POSITION_TARGET_GLOBAL_INT
Also supports SET_POSITION_TARGET_LOCAL_NED but for both messages only the position fields are consumed.  Support for velocity, acceleration and yaw fields are not included.
2016-08-25 13:08:26 +09:00
Grant Morphett 777af546e0 Rover: ensure height calcs are using the same origin. 2016-08-25 12:50:20 +10:00
Andrew Tridgell 203e0c7472 Rover: fixes for Frsky_Telem API changes 2016-08-25 10:16:19 +10:00
Andrew Tridgell 08b0ba99db Rover: fixes for AP_FrSky_Telem API change 2016-08-25 10:16:19 +10:00
floaledm b5f75459f2 Rover: compatibility with revised AP_Frsky_Telem class 2016-08-25 10:16:18 +10:00
floaledm 4030851207 Rover: removed frsky_telemetry_send scheduled task 2016-08-25 10:16:17 +10:00
Gustavo Jose de Sousa b8e518a533 waf: use ap_library tool
That way we avoid recompiling source files that don't depend on vehicles.
Change notes:
- UTILITY_SOURCE_EXTS: moved to ap_library
- Task generators indexes: ap_library handles that now and in a better way
- Use of AP_STLIB_FEATURES: it doesn't make sense anymore, since the stlib
  taskgen has empty source list
- Flags and defines: passed down to ap_library through AP_LIBRARIES_OBJECTS_KW
- Set use='mavlink' in AP_LIBRARIES_OBJECTS_KW instead of calls to
  bld.ap_stlib().
2016-08-24 10:46:23 -03:00
murata 798e678615 Rover: By multiple bit synthetic, can this method once access. 2016-08-21 16:02:02 +10:00
Peter Barker 85c58e30ec Rover: remove unused defines 2016-08-18 11:20:16 +10:00
Peter Barker 44791268ac Rover: use SPEED_CRUISE define from config.h 2016-08-18 11:20:16 +10:00
Peter Barker 6d98dd5233 Rover: add dataflash as a bit for the mavlink SYS_STATUS message 2016-08-11 17:48:44 -03: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
Gustavo Jose de Sousa f2dec971e7 waf: add "ap_" prefix to keywords "libraries" and "vehicle"
As an effort to keep things specific to ardupilot API in the build system
consistent and easy way to identify.
2016-08-01 22:04:16 -03:00
Lucas De Marchi 3223a1a542 APMrover2: Remove i2c lockup count
This was returned only for a single bus and on all supported platforms
this is hardcoded to 0.
2016-07-28 18:03:09 -03:00
mirkix db665e6de7 APMrover2: Fix filename in header 2016-07-25 19:38:02 +09:00
Andrew Tridgell a4270b1bb6 APMrover2: adjust for 16 channels in SERVO_OUTPUT_RAW 2016-07-25 10:06:02 +10:00
Grant Morphett 35422e169b Rover: Creating v3.1.0 BETA 2016-07-23 12:06:26 +10:00
Andrew Tridgell fd0f31dc44 Rover: added AP_Button support 2016-07-22 15:01:21 +10:00
Andrew Tridgell c3d39e9906 Rover: added PLAY_TUNE and LED_CONTROL 2016-07-22 15:00:17 +10:00
Grant Morphett b8011fd46c Rover|Plane: Just fixing a spelling mistake. 2016-07-22 08:23:07 +10:00
Grant Morphett 57c23c7fe3 Rover: Adding support for rovers driving in Reverse. 2016-07-17 08:15:34 +10:00
Grant Morphett d1799884b2 Rover: Implemented MAV_CMD_NAV_LOITER_UNLIM 2016-07-14 11:34:22 +10:00
Allan Matthew 1aaeceac2e Rover: support GPS_INPUT mavlink message 2016-07-12 15:35:23 +09:00
Tom Pittenger 07b22dc6eb Rover: ignore ADSB_VEHICLE packet handling 2016-06-19 11:24:33 -07:00
Randy Mackay 30cba1a59c Rover: remove unused definitions 2016-06-18 11:55:49 +09:00
Grant Morphett 95e9c1fd97 Rover: Fixing version number typo in release notes. 2016-06-17 13:56:28 +10:00
Grant Morphett 2279c20ed7 Rover: Rover Release 3.0.1 2016-06-17 13:11:04 +10:00
Tom Pittenger 098e531d53 Rover: do not log CURR.Throttle because it's already logged elsewhere 2016-06-02 16:59:08 -07:00
Tom Pittenger 698017d0b1 APMrover2: sanity check gps latlng 2016-06-01 17:38:49 -07:00
Grant Morphett 27ae46dfda Rover: Creating v3.0.1 beta release. 2016-06-01 10:45:51 +10:00
Grant Morphett a00edcbbb6 Rover: sonar_trigger_cm of 0 will now only log
This will enable users of Rover to plug their sonar's in (or any other
device into the 3.3v ADC) and log the data but not use the data in
navigation and obstacle avoidance.
2016-06-01 10:19:40 +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 cfaacf031b Rover: use ahrs.groundspeed() in more places 2016-05-31 21:23:01 +10:00
Peter Barker 87a7907a63 Rover: move telemetry_delayed up into base class 2016-05-31 08:46:10 +10:00
Grant Morphett 35a132f74e Rover: Added throttle PID logging 2016-05-31 08:44:52 +10:00
Peter Barker de452eb760 Rover: move adjust_rate_for_stream up 2016-05-29 19:38:50 +10:00
Peter Barker a1c97f4585 Rover: subclass GCS_MAVLink in place of defining its functions for it 2016-05-29 16:21:21 +10:00
Pierre Kancir ee168bee8d APMrover2 : correct arming and failsafe in skid steer mode
Commit 3636b53#diff-e22a85a55f71f1b9b2d3f293dea61368 introduce arming for rover. But in skid steering mode it was only applied on throttle and the rover still pivot.
The patch also correct rover behaviour in case of failsafe or loitering.
2016-05-28 14:34:43 +10:00
Andrew Tridgell bb9783e3f4 Rover: moved EKF2 to a new parameter index
the meanings of many of the parameters have changed. Best to use a new
index to prevent old parameters from causing crashes
2016-05-25 19:35:17 +10:00
Andrew Tridgell f61ba903dd Rover: don't stall EKF during baro cal 2016-05-24 17:00:55 +10:00
Lucas De Marchi d773d68025 APMrover2: remove support for flymaple 2016-05-23 21:49:45 -03:00
Andrew Tridgell 01caa7388a Rover: use send_heartbeat() wrapper 2016-05-21 15:25:17 +10:00
Andrew Tridgell 99cc737693 Rover: simplify UART setup 2016-05-21 15:25:16 +10:00
Andrew Tridgell ad7fe48991 Rover: always build with MAVLink2 headers 2016-05-21 15:25:15 +10:00
Andrew Tridgell b8fa1bc9f7 APMrover2: update signing timestamp on GPS lock 2016-05-21 15:25:13 +10:00
Andrew Tridgell 7c27e0dbec APMrover2: handle SETUP_SIGNING message 2016-05-21 15:25:12 +10:00
Don Gagne 4743a34cf7 APMrover2: SET_SENSORS_OFFSETS support for third compass 2016-05-19 18:51:17 -03:00
Allan Matthew 1f4ba62456 Rover: handle new MAVLink rangefinder input 2016-05-19 16:21:28 +09:00
Andrew Tridgell 7957f25f32 Rover: cleanup unnecessarily complex gcs[] usage 2016-05-17 08:27:28 +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
Ricardo de Almeida Gonzaga 63f2ab38dd APMrover2: Fix typos 2016-05-13 19:20:07 -03:00
dgrat 41661f815f AP_Math: Replace the pythagorous* functions with a variadic template
The new function can deal with a variable number of function parameters.
Additionally, I renamed the functions to norm(), because this is the
standard name used in several other projects.
2016-05-10 11:41:26 -03:00
dgrat 76362caee0 AP_Math: Replace wrap_* functions with template versions 2016-05-10 11:41:26 -03:00
skyscraper 8c9e55edfa APMRover2: Fix up after refactoring RC_Channel class
Further to refactor of RC_Channel class which included
adding get_xx set_xx methods, change reads and writes to the public members
to calls to  get and set functionsss

old public member(int16_t)   get function -> int16_t     set function (int16_t)
(expression where c is an object of type RC_Channel)
c.radio_in                     c.get_radio_in()           c.set_radio_in(v)
c.control_in                   c.get_control_in()         c.set_control_in(v)
c.servo_out                    c.get_servo_out()          c.set_servo_out(v)
c.pwm_out                      c.get_pwm_out()            // use existing
c.radio_out                    c.get_radio_out()          c.set_radio_out(v)
c.radio_max                    c.get_radio_max()          c.set_radio_max(v)
c.radio_min                    c.get_radio_min()          c.set_radio_min(v)
c.radio_trim                   c.get_radio_trim()         c.set_radio_trim(v);

c.min_max_configured() // return true if min and max are configured

Because data members of RC_Channels are now private and so cannot be written directly
 some overloads are provided in the Plane classes to provide the old functionality

new overload Plane::stick_mix_channel(RC_Channel *channel)
which forwards to the previously existing
void stick_mix_channel(RC_Channel *channel, int16_t &servo_out);

new overload Plane::channel_output_mixer(Rc_Channel* , RC_Channel*)const
which forwards to
(uint8_t mixing_type, int16_t & chan1, int16_t & chan2)const;

Rename functions

 RC_Channel_aux::set_radio_trim(Aux_servo_function_t function)
    to RC_Channel_aux::set_trim_to_radio_in_for(Aux_servo_function_t function)

 RC_Channel_aux::set_servo_out(Aux_servo_function_t function, int16_t value)
    to RC_Channel_aux::set_servo_out_for(Aux_servo_function_t function, int16_t value)

 Rationale:

        RC_Channel is a complicated class, which combines
        several functionalities dealing with stick inputs
        in pwm and logical units, logical and actual actuator
        outputs, unit conversion etc, etc
        The intent of this PR is to clarify existing use of
        the class. At the basic level it should now be possible
        to grep all places where private variable is set by
        searching for the set_xx function.

        (The wider purpose is to provide a more generic and
        logically simpler method of output mixing. This is a small step)
2016-05-10 16:21:16 +10:00
Andrew Tridgell c0172516af Rover: use DataFlash::log_while_disarmed() 2016-05-09 12:06:00 +10:00
Leandro Pereira f23bd7e09d GCS_MAVLink: Use a single stream_trigger() implementation
This has no side effects, but since all implementations were basically
the same, move the implementation to GCS_Common and the only part that
adjusts the rate based on which which stream to each individual
GCS_MAVLINK implementation.
2016-05-07 23:49:35 -03:00
Lucas De Marchi 668ebf160e APMrover2: remove mention to .pde files
We don't support them anymore.
2016-05-07 22:55:48 -03:00
Andrew Tridgell efe3e19a51 Rover: fixed for changed API 2016-05-07 18:27:22 +10:00
Andrew Tridgell ac4da762d1 Rover: adjust for changed logging APIs 2016-05-07 18:27:18 +10:00
Lucas De Marchi fea084a596 Global: use ap_version.h
This header is used by waf to contain the generated version macros,
particularly using the git hash. For waf it's better to be in a separate
header since it then can keep track of changes on it a trigger
recompilation.

For the make build system, a dummy ap_version.h file has been added in
the missing/ folder so both implementations can co-exist.
2016-05-06 13:11:28 -03: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
Grant Morphett 384ad94e73 Rover: Fixing the 3.0.0 release notes.
You can always disarm in Rover - there is no ARMING_RUDDER parameter.
2016-05-02 10:58:38 +09:00
Michael du Breuil b327ed671b Rover: Ignore MSG_POSITION_TARGET_GLOBAL_INT for now 2016-05-01 07:38:23 +10:00
Michael Oborne 8816c5c681 ArduRover: support MAVLINK_MSG_ID_MISSION_ITEM_INT 2016-05-01 07:13:46 +10:00
Niti Rohilla 409a7e1c97 APMRover : Updated handle_guided_request() to report error. 2016-04-29 12:39:28 -03:00
Tom Pittenger 64315bfed8 Revert "APMRover2: clipped param cmd float to zero"
This reverts commit cbbee1149d.
2016-04-23 23:51:33 -07:00
Tom Pittenger cbbee1149d APMRover2: clipped param cmd float to zero 2016-04-23 23:45:48 -07:00
Randy Mackay 381b5c8f5d Rover: remove unnecessary abs 2016-04-23 23:06:19 -07:00
Luis Vale Gonçalves b8a1dfa066 Revising ardupilot.com to .org
Revising ardupilot.com to .org
2016-04-23 22:49:42 -07:00