Commit Graph

87 Commits

Author SHA1 Message Date
Peter Barker
066d501e8d Rover: camera is responsible for taking distance-based-images and logging 2017-08-02 12:49:09 +10:00
Randy Mackay
ae487aa99b Rover: update wheel encoder at 20hz 2017-07-27 16:52:29 +09:00
Peter Barker
07f4603533 Rover: integrate mode class 2017-07-21 10:13:20 +09: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
Peter Barker
2692ee22d3 Rover: eliminate gcs_send_mission_item_reached wrapper 2017-07-11 23:45:16 +01:00
Peter Barker
130ad52a22 Rover: eliminate gcs_send_message wrapper 2017-07-11 23:45:16 +01:00
Peter Barker
9509f7f1bf Rover: use send_text method on the GCS singleton 2017-07-09 17:17:29 -04:00
khancyr
8ab3e83a3c Rover: use float qualifier and functions 2017-07-08 16:07:13 +09:00
khancyr
9b97ad0fc0 Rover: solve skid steer in value 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
dcad79bdef Rover: use DataFlash should_log to determine raw IMU logging 2017-06-29 15:26:27 +01:00
Pierre Kancir
97595f98ac Rover: add comments to scheduler 2017-06-24 13:17:05 +09:00
Pierre Kancir
feb8c30af4 Rover: move rssi.init and set_control_channels 2017-06-24 13:16:54 +09:00
Randy Mackay
eb2aa80fca Rover: compass set-initial-location uses ahrs location
Previously it could attempt to use a gps location even if gps was not being used
Also compass-accumulate moved to sensors.cpp
2017-06-14 09:12:20 +09:00
Randy Mackay
584974fd74 Rover: set home from ekf position 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
Pierre Kancir
00204367fc APMRover2: Reduce the home position reset when disarm 2017-05-04 21:57:45 +10:00
Pierre Kancir
f725e9f2b5 APMRover2: correct some style after addition of velocity controler 2017-05-04 19:53:21 +10:00
Pierre Kancir
ed26c103f9 APMRover2: prevent unless calculus when stoping 2017-05-04 19:53:21 +10:00
Pierre Kancir
670e7b7914 ROVER: put all guided param in one structure 2017-05-04 19:53:21 +10:00
Pierre Kancir
045d171ab9 Rover: add Guided velocity controller 2017-05-04 19:53:21 +10:00
Pierre Kancir
27e52695fe APMRover2: add initial support for MAV_CMD_CONDITION_YAW 2017-04-28 12:01:47 +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
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
99ba8bdc08 APMRover2: add advance failsafe 2017-01-31 17:12:37 +11:00
Randy Mackay
cc64c5e44a Rover: notify initialised after parameters loaded 2017-01-23 15:07:21 -08:00
Andrew Tridgell
c638be54a3 Rover: removed use of pwm_to_angle() 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
Pierre Kancir
aea1c81437 Rover: APMrover2.cpp correct whitespace, remove tabs 2016-12-30 09:20:24 +09:00
Pierre Kancir
dec954bb0c Rover: added crash check 2016-12-07 12:46:02 +11:00
Peter Barker
dab0d8e6e2 Rover: inform dataflash of vehicle arm state 2016-11-28 09:42:09 -08:00
Grant Morphett
515ceb3ccd Rover: Added logging of the guided commands 2016-11-28 12:00: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
floaledm
629af84ca1 Rover: update sensor status error flags independently of sending a sys_status message 2016-10-28 15:11:44 +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
murata
eec491a1f9 Rover: To add a judgment of 0 degrees longitude. 2016-10-04 12:54:55 -03:00
floaledm
4030851207 Rover: removed frsky_telemetry_send scheduled task 2016-08-25 10:16:17 +10:00
Andrew Tridgell
fd0f31dc44 Rover: added AP_Button support 2016-07-22 15:01:21 +10:00
Grant Morphett
57c23c7fe3 Rover: Adding support for rovers driving in Reverse. 2016-07-17 08:15:34 +10:00
Andrew Tridgell
cfaacf031b Rover: use ahrs.groundspeed() in more places 2016-05-31 21:23:01 +10:00
Andrew Tridgell
b8fa1bc9f7 APMrover2: update signing timestamp on GPS lock 2016-05-21 15:25:13 +10: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
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