Commit Graph

1514 Commits

Author SHA1 Message Date
Peter Barker
bcf7c6e6b6 Rover: move mavlink support for servo/relay up 2017-07-16 23:56:00 +01:00
Peter Barker
40eb07f472 Rover: add common handling of mavlink command messages 2017-07-16 23:56:00 +01:00
Michael du Breuil
993df82cfa APMRover: Fix bad parameter generation for AP_MotorUGV 2017-07-16 08:26:52 +10:00
Michael du Breuil
a077eac6a9 Rover: Document max loop time as being in microseconds 2017-07-15 17:27:04 +09:00
khancyr
40b860e240 Rover: rename sonar to rangefinder 2017-07-14 17:40:05 +01:00
Peter Barker
2717244dd8 Rover: move rally-point handling up 2017-07-14 01:28:05 +01:00
Randy Mackay
5fc30c763e Rover: move Log_GuidedTarget declaration
No functional change
2017-07-14 07:27:26 +09:00
Randy Mackay
ebbbe0584a Rover: integrate wheel encoder 2017-07-14 07:27:26 +09:00
Randy Mackay
f6a1c53ff6 Rover: add AP_WheelEncoder to build 2017-07-14 07:27:26 +09:00
Peter Barker
adb89c5ca6 Rover: remove unneeded telemetry_delayed parameter 2017-07-12 17:01:36 +01:00
Peter Barker
7aff4c6ab9 Rover: move handling of incoming statutext messages up 2017-07-12 16:52:24 +01:00
Randy Mackay
208607d668 Rover: remove output_trim_all during initialisation
MotorUGV library now outputs the proper values on the motor channels.  Other libraries are also responsible for initialising their outputs on startup.
2017-07-12 14:24:16 +09:00
Peter Barker
aeed1f0ff4 Rover: eliminate global static GCS_MAVLINK::send_home_all 2017-07-11 23:48:39 +01:00
Peter Barker
901045b029 Rover: move common mission handling up to GCS_MAVLINK 2017-07-11 23:45:17 +01: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
khancyr
b28656eb11 Rover: reoder rc and servo init 2017-07-10 19:48:35 +09:00
Randy Mackay
774e484869 Rover: remove servo channel failsafe from vehicle code
This is now handled by the MotorsUGV library
2017-07-10 10:37:14 +09:00
Randy Mackay
6464bfb601 MotorsUGV: set failsafe output
This informs the I/O board to stop sending pwm if the I/O board loses
contact with the main CPU
2017-07-10 10:37:12 +09:00
Peter Barker
9509f7f1bf Rover: use send_text method on the GCS singleton 2017-07-09 17:17:29 -04:00
Peter Barker
7ad003a211 APMrover2: use Notify singleton for sending statustext 2017-07-09 17:17:29 -04:00
Randy Mackay
03d04c934e Rover: improve skid-steer input processing
limit the steering input
reverse commanded steering value if reversing to be consistent with separate steering-throttle frames
2017-07-08 16:07:13 +09:00
khancyr
f8a564f283 Rover: rename BRUSHEDPLUS to BRUSHEDBIPOLAR 2017-07-08 16:07:13 +09:00
khancyr
8ab3e83a3c Rover: use float qualifier and functions 2017-07-08 16:07:13 +09:00
khancyr
1f0c985dec Rover: add setup_servo_output to allow ouput reconfiguration 2017-07-08 16:07:13 +09:00
Pierre Kancir
38dcc2eb12 Rover: minor formatting fix 2017-07-08 16:07:13 +09:00
Pierre Kancir
ba8664193a Rover: fix failsafe throttle 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
f70a2b36ea Rover: integrate brushless motor support 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
Pierre Kancir
29c59644b7 AP_MotorsUGV: add BrushedPlus motor type
BrushedPlus are brushed motors with separate throttle and steering pwm
inputs
2017-07-08 16:07:13 +09:00
Pierre Kancir
76c9d3982a AP_MotorsUGV: motors lib for Rover 2017-07-08 16:07:13 +09:00
Randy Mackay
1fb6d45d5f Rover: version to 3.2.0-dev 2017-07-08 12:24:57 +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
Randy Mackay
1fc85e9a8c Rover: adjust skid steer motor mixing, fix rotation direction in reverse
balanced prioritisation of throttle vs steering when motors become saturated
direction of turning made consistent with normal (ie non-skid-steered) vehicles

Also includes fixes to motor mixing after peer review
2017-07-01 19:48:01 +09:00
Randy Mackay
f036b1f92c Rover: pivot steering stays active until within 10deg of target heading
Previously the vehicle would pop out of pivot-steering once it was within PIVOT_TURN_ANGLE degrees of the target heading.  This meant that it would give up on the pivot steer long before it was actually pointing at the target.
2017-07-01 19:48:01 +09: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
Georgii Staroselskii
eed08fb8cd Rover: cork and push servo outputs
SRV_Channels API makes it easy to sync all PWM channels at once. This is
the support needed for it to work properly on Rovers.
2017-06-27 11:46:41 -07:00
Peter Barker
3a85d8ed39 Rover: handle knowledge of in_log_download in DataFlash 2017-06-27 03:10:43 +01:00
Peter Barker
689a5cb238 Rover: move send-logs-via-mavlink code into DataFlash 2017-06-27 03:10:43 +01:00
Pierre Kancir
c865972e9c Rover: remove skid_steer_out parameter 2017-06-24 13:17:36 +09:00
Pierre Kancir
0017485ee7 Rover: move failsafe_trigger from system to failsafe 2017-06-24 13:17:35 +09:00
Pierre Kancir
9abb1f634f Rover: add comments to Steering 2017-06-24 13:17:33 +09:00
Pierre Kancir
031ed4bbb0 Rover: Remove old skid steering 2017-06-24 13:17:33 +09:00
Pierre Kancir
41e18f089e Rover: remove g.skid_steer_out in favor of have_skid_steering() 2017-06-24 13:17:32 +09:00
Pierre Kancir
1dcf90c161 Rover: use scaled input in Manual modes 2017-06-24 13:17:26 +09:00
Pierre Kancir
ee28e49790 Rover: steering mark floats as float and fix parenthesis 2017-06-24 13:17:10 +09:00
Pierre Kancir
97595f98ac Rover: add comments to scheduler 2017-06-24 13:17:05 +09:00
Pierre Kancir
ef2c2e4afc Rover: add some comments in radio 2017-06-24 13:16:59 +09:00
Pierre Kancir
feb8c30af4 Rover: move rssi.init and set_control_channels 2017-06-24 13:16:54 +09:00
Pierre Kancir
7595ffb8ba Rover: set correct safety limit 2017-06-24 13:16:48 +09:00
Pierre Kancir
32dc59baec Rover: fix throttle slew limit for skid steer out 2017-06-24 13:16:40 +09:00
Andrew Tridgell
2e24c35906 Rover: setup default esc scaling
for rovers without a k_throttle channel we need a default ESC scaling
value
2017-06-21 10:30:39 +09:00
Andrew Tridgell
d060fd2826 Rover: replace get_output_norm*100 for throttle with get_output_scaled
No functional change
2017-06-21 10:30:39 +09:00
Andrew Tridgell
79f7cc5779 Rover: implement new style skid steering
use throttleLeft and throttleRight servo functions. This gives much
greater flexibility and control over motor trims and limits
2017-06-21 10:30:39 +09:00
Michael du Breuil
57c9afb77e Rover: Handle NAV_CONTROLLER_OUTPUT.wp_dist overflowing 2017-06-20 15:41:50 +01:00
Pierre Kancir
8a85b8be4c APMRover2: correct usage of set_output_pwm 2017-06-20 15:58:33 +09:00
Peter Barker
900f0cc774 Rover: move MAVLINK_MSG_ID_REMOTE_LOG_BLOCK_STATUS handling up 2017-06-17 15:07:48 +01: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
Peter Barker
8c074c7b73 Rover: simplify dataflash initialisation 2017-06-14 12:20:29 +01:00
Randy Mackay
a07920c5b2 Rover: add init_compass method
no functional change
2017-06-14 09:12:20 +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
Randy Mackay
b56e246da6 Rover: add visual odometry to build 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
Pierre Kancir
a26710d769 APMRover2: add support for DISTANCE_SENSOR 2017-06-08 01:31:57 +01:00
Dr.-Ing. Amilcar Do Carmo Lucas
981807fe9a Rover: NFC SYS_NUM_RESETS is a read-only variable 2017-06-07 19:53:00 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas
771d2fb13c Rover: Be more explicit that a SPEED_TURN_GAIN value of 80% reduces "to 80%" and not "by 80%" 2017-06-06 11:34:52 +10:00
Dr.-Ing. Amilcar Do Carmo Lucas
c389dd93d7 Rover: NFC - correct the units of the RNGFND_TURN_ANGL parameter 2017-05-30 12:09:50 +09:00
Paulo Neves
74d67f8d05 Rover: Add MAV_CMD_DO_SET_CAM_TRIGG_DIST support. 2017-05-25 09:35:22 +09:00
Michael du Breuil
379a4fbfab Rover: Ignore landing message 2017-05-24 15:22:27 -07:00
Grant Morphett
5ac1293a52 Rover: Make base_mode armed status depend upon the arming library, not
soft armed

This change brings it in line with Plane.
2017-05-23 14:51:22 +10:00
Dr.-Ing. Amilcar Do Carmo Lucas
aaa26af3f4 Rover: Fix constructor initialization order 2017-05-18 09:31:11 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas
f004f4b499 Rover: Spell in comments 2017-05-18 09:29:55 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas
a2472e6787 Rover: Use SI units conventions in parameter units
Follow the rules from:
http://physics.nist.gov/cuu/Units/units.html
http://physics.nist.gov/cuu/Units/outside.html
and
http://physics.nist.gov/cuu/Units/checklist.html
one further constrain is that only printable (7bit) ASCII characters are allowed
2017-05-17 18:07:25 +10:00
Andrew Tridgell
f08074c0d7 Rover: removed AP_Airspeed from vehicle code 2017-05-04 22:59:02 -07:00
Grant Morphett
192ffdcca8 Rover: Creating beta release 3.2.0 Beta2 2017-05-04 21:59:45 +10: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
Randy Mackay
c1d3384835 Rover: rename set_next_WP to set_auto_WP to clarify usage 2017-05-04 19:53:21 +10: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
37585f213a Rover: use common send_queued_parameters() 2017-05-01 14:36:10 +10: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
Pierre Kancir
27e52695fe APMRover2: add initial support for MAV_CMD_CONDITION_YAW 2017-04-28 12:01:47 +10:00
Andrew Tridgell
b344bd1071 Rover: fixed duplicate include of AP_ADC library 2017-04-27 18:32:26 +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
7f861aafd0 APMRover2: make on spot turn in skid and manual use full motor range 2017-04-26 10:38:01 +10:00
Pierre Kancir
83bf1fdca5 APMrover2: remove useless variable 2017-04-26 08:43:09 +10:00
Pierre Kancir
f13425aa28 APMRover2: make crash_check define static const 2017-04-26 08:43:09 +10:00
Pierre Kancir
2eb0ed6242 APMRover2: Remove, correct some cast 2017-04-26 08:43:09 +10:00
Pierre Kancir
409e8b5f26 APMRover2: Remove unused config define 2017-04-26 08:43:09 +10:00
Pierre Kancir
91958fb96a APMRover2: Remove unused config define 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
Peter Barker
d0f2e7bf3a Rover: log GPS detection state to DF on log startup 2017-04-23 21:04:17 +01:00
Andrew Tridgell
7cc1009dab Rover: ignore MSG_AOA_SSA 2017-04-19 20:48:42 +10:00
Pierre Kancir
6d1586044c APMRover2: unhide default CH_7_PWM_TRIGGER & make it static const 2017-04-15 13:48:40 +10:00
Pierre Kancir
d4bd61d859 APMRover2: unhide default NAVL1_PERIOD with a define
set the correct value to param
2017-04-15 13:48:40 +10:00
Michael du Breuil
7328a8ad41 Rover: Send BATTERY_STATUS 2017-04-12 10:21:49 +09:00
Michael du Breuil
7b2da01836 Rover: Update for L1 constructor 2017-04-06 08:26:04 +10:00
Grant Morphett
0f671394e5 Rover: Creating Rover 3.2.0 BETA 1. 2017-04-03 12:28:30 +10:00
Andrew Tridgell
9cbfc4ddd3 Rover: add available memory to PM message 2017-03-27 14:35:21 +09:00
Grant Morphett
8212841b68 Rover: Bringing the releases notes up to date. 2017-03-15 17:24:35 +11:00
Grant Morphett
cfb11729a6 Rover: Setting crash detecting to off by default. 2017-03-15 17:24:35 +11: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
Grant Morphett
3410db5022 Rover: Fix motor_active check to checkout throttle output servo 2017-03-15 17:24:35 +11:00
Andrew Tridgell
3a7c541145 Rover: log home and origin on logging start 2017-03-14 10:51:15 +11:00
Pierre Kancir
1bd863e36b ROVER: stop mission when leaving AUTO 2017-03-09 22:17:01 +11:00
Randy Mackay
b8f24fba98 Rover: fix SYSID_ENFORCE parameter description 2017-02-28 15:07:59 +09:00
Michael du Breuil
51c97af5b5 Rover: Reset home to AHRS location rather then snapshotting GPS
Also corrects rover locking home altitude to EKF origin altitude
2017-02-28 11:33:53 +11:00
Randy Mackay
f29fe8bb88 Rover: always specify rangefinder instance 2017-02-27 15:18:32 +09:00
Grant Morphett
8f252c4983 Rover: Incrementing version number to 3.2.0-dev 2017-02-24 11:29:25 +11:00
Pierre Kancir
7e746df82d Rover: correct crash checker to take on spot rotation 2017-02-16 09:45:08 +11:00
Andrew Tridgell
fe4baf2904 Rover: setup frame type parameter flags 2017-02-14 19:50:01 +11:00
Peter Barker
82ac46e0ed Rover: not in log download upon log erase
erase is a synchronous operation
2017-02-13 11:36:16 +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
Dr.-Ing. Amilcar Do Carmo Lucas
7f5ef7cf3a Rover: rename MSG_RADIO_OUT to MSG_SERVO_OUTPUT_RAW to better describe what it is 2017-02-07 11:41:12 +11:00
Andrew Tridgell
36cf57c0fa Rover: fixed parameter path 2017-02-06 15:12:32 +11:00
Pierre Kancir
99ba8bdc08 APMRover2: add advance failsafe 2017-01-31 17:12:37 +11:00
murata
0c813c5afa Rover: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
Randy Mackay
c701d6a715 Rover: send text to notify 2017-01-23 15:07:21 -08: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
Peter Barker
ddf172c75b Rover: AP_Arming: use callback in place of variable reference for home state 2017-01-17 11:45:08 +09:00
Pierre Kancir
b31d2a59da APMRover2: Fix skid steer in when in skid steer out 2017-01-17 10:31:43 +11:00
Pierre Kancir
e0a3caea13 APMRover2: Steering fix style 2017-01-17 10:31:43 +11:00
Andrew Tridgell
9fe3eba2a0 Rover: added automatic parameter upgrade for SRV_Channel 2017-01-12 17:39:37 +11: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
Dr.-Ing. Amilcar Do Carmo Lucas
5bf45dbffd APMrover2: publish SPEED2THR_ parameters 2017-01-07 10:32:11 +11:00
Dr.-Ing. Amilcar Do Carmo Lucas
0054df9907 APMrover2: Correct AUTO_TRIGGER_PIN Values format
This allows simplified machine parsing of the generated XML file
2017-01-07 10:23:56 +11:00
Peter Barker
12d0241e51 Rover: fix compile when logging disabled 2017-01-03 08:51:50 +11:00
Peter Barker
61430a51b3 Rover: correct compilation when camera disabled 2017-01-02 16:17:43 +11:00
Pierre Kancir
7131b20b81 Rover: test.cpp correct whitespace, remove tabs 2016-12-30 09:20:24 +09:00
Pierre Kancir
52aa6b5767 Rover: system.cpp correct whitespace, remove tabs 2016-12-30 09:20:24 +09:00
Pierre Kancir
c2adb04a93 Rover: setup.cpp correct whitespace, remove tabs 2016-12-30 09:20:24 +09:00
Pierre Kancir
51aaa7efa7 Rover: sensors.cpp correct whitespace, remove tabs 2016-12-30 09:20:24 +09:00
Pierre Kancir
25fbfeb5cf Rover: radio.cpp correct whitespace, remove tabs 2016-12-30 09:20:24 +09:00
Pierre Kancir
fb8446ffd5 Rover: navigation.cpp correct whitespace, remove tabs 2016-12-30 09:20:24 +09:00
Pierre Kancir
fa0b007efb Rover: failsafe.cpp correct whitespace, remove tabs 2016-12-30 09:20:24 +09:00
Pierre Kancir
ffaa355bee Rover: defines.h correct whitespace, remove tabs 2016-12-30 09:20:24 +09:00
Pierre Kancir
5232dce268 Rover: control_modes.cpp correct whitespace, remove tabs 2016-12-30 09:20:24 +09:00
Pierre Kancir
597423fffc Rover: config.h correct whitespace, remove tabs 2016-12-30 09:20:24 +09:00
Pierre Kancir
283a199268 Rover: commands_process.cpp correct whitespace, remove tabs 2016-12-30 09:20:24 +09:00
Pierre Kancir
0c420f931f Rover: commands_logic.cpp correct whitespace, remove tabs 2016-12-30 09:20:24 +09:00
Pierre Kancir
d68c7f935b Rover: commands.cpp correct whitespace, remove tabs 2016-12-30 09:20:24 +09:00
Pierre Kancir
f32de5e21b Rover: Steering.cpp correct whitespace, remove tabs 2016-12-30 09:20:24 +09:00
Pierre Kancir
84f70f722d Rover: Rover.h correct whitespace, remove tabs 2016-12-30 09:20:24 +09:00
Pierre Kancir
0f89f6918e Rover: Parameters.h correct whitespace, remove tabs 2016-12-30 09:20:24 +09:00
Pierre Kancir
70d0997b73 Rover: Parameters.cpp correct whitespace, remove tabs 2016-12-30 09:20:24 +09:00
Pierre Kancir
5858c84f83 Rover: Log.cpp correct whitespace, remove tabs 2016-12-30 09:20:24 +09:00
Pierre Kancir
d33f67e0c4 Rover: gcs_mavlink.cpp correct whitespace, remove tabs 2016-12-30 09:20:24 +09:00
Pierre Kancir
aea1c81437 Rover: APMrover2.cpp correct whitespace, remove tabs 2016-12-30 09:20:24 +09:00
murata
490571ba44 Rover: Changed if statements to switch statement.
Rover: Changed if statements to switch statement.
2016-12-24 08:53:20 +11:00
Georgii Staroselskii
adad75756d Rover: release-notes.txt typos in 3.1.0
its -> it's
get's -> gets
2016-12-24 08:51:07 +11:00
Grant Morphett
77319bb7b2 Rover: Creating Stable release 3.1.0 2016-12-22 16:33:16 +11:00
Grant Morphett
378bd84b29 Rover: Fixed a bug in the wp loiter functionality
Had a bug where the rover would loiter for ever and not resume even
though its loiter time had expired.  This resolves that.
2016-12-20 14:35:28 +11:00
Andrew Tridgell
0266cb61e0 Rover: fixed EKF3 logging 2016-12-19 08:07:14 +11:00
priseborough
38ad778ff1 make.inc: Add EKF3 and remove EKF1 library from make.inc files 2016-12-19 08:07:10 +11:00
priseborough
2facebff80 Rover: Add EKF3 and remove EKF1 2016-12-19 08:07:10 +11:00
Randy Mackay
75aaf33d58 Rover: pass HIL_GPS to gps driver 2016-12-08 15:52:26 +09:00
Pierre Kancir
dec954bb0c Rover: added crash check 2016-12-07 12:46:02 +11:00
Michael du Breuil
31e0c02030 Rover: Add compass cal capability bit 2016-12-04 19:17:01 -08:00
Randy Mackay
181e4de343 Rover: resolve compiler warning 2016-11-30 18:00:16 +09:00
Randy Mackay
55f316034c Rover: include AP_Beacon 2016-11-30 17:57:04 +09:00
Randy Mackay
bdfae696ae Rover: remove call to EKF1 logging 2016-11-30 17:57:03 +09:00
Randy Mackay
0a04bb26f0 Rover: add AP_Beacon to build 2016-11-30 17:57:02 +09:00
Peter Barker
09f16fbe79 Rover: do not reset LOG_BITMASK when no CardInserted 2016-11-29 15:14:09 -08:00
Peter Barker
3a095f00f1 Rover: check CardInserted in AP_Arming 2016-11-29 15:14:09 -08:00
Peter Barker
dab0d8e6e2 Rover: inform dataflash of vehicle arm state 2016-11-28 09:42:09 -08:00
Grant Morphett
939fb8ddd1 Rover: Creating Rover v3.1.0beta6 2016-11-28 16:41:26 +11:00
Grant Morphett
515ceb3ccd Rover: Added logging of the guided commands 2016-11-28 12:00:03 +11:00
murata
bbf0cfb564 APMrover2: Change from printf statement to print, println statement. 2016-11-25 16:00:30 -08:00
Pierre Kancir
5ed9d22bf6 Rover: correct indentation and style on GCS_Mavlink
Remove trailling whitespace, tabs, limit single line if-statement scope, add missing space
2016-11-24 09:34:48 +11:00
Pierre Kancir
326e0f224f Rover: added SYSID_ENFORCE parameter 2016-11-24 09:34:48 +11:00
Pierre Kancir
8c0de11d6d APMrover2: remove double include stdarg.h 2016-11-23 18:47:34 +00:00
Francisco Ferreira
e870c4bf99 Rover: support MAV_CMD_ACCELCAL_VEHICLE_POS 2016-11-15 11:42:54 -08:00
Grant Morphett
5b411aef65 Rover: Fixed LOITER_UNLIM to be an active loiter
This changes brings the LOITER commands in line so both LOITER_UNLIM
and LOITER_TIME are actively loitering.
2016-11-13 08:26:33 +11:00
Andrew Tridgell
84179588a9 Rover: use handle_common_message() 2016-11-09 17:08:09 +11:00
floaledm
ff23658784 Rover: move AP_Frsky_Telem for waf to ardupilotwaf 2016-11-08 07:42:39 +11:00
floaledm
8739858658 Rover: redo of commit b24d850695 2016-10-30 11:46:39 -02:00
Grant Morphett
a6a9678e94 Rover: Creating 3.1.0 Beta Release 5 2016-10-30 22:50:59 +11: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
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
Luis Vale Gonçalves
75ffc0618a Revising ardupilot.com to .org
Revising ardupilot.com to .org
2016-04-23 22:49:38 -07:00
Randy Mackay
a5ed3c9b12 Rover: ack DO_MOUNT_CONTROL messages 2016-04-22 21:30:47 +09:00
Grant Morphett
bd24dd79a8 Rover: Fixing up some of the outdated parameter comments/doco
I noticed the doco on the Rover discourse page for LOG_BITMASK was
incorrect so I have fixed up a number of doco/comments so they
auto-generate the doco correctly for the wiki.  There is no actual
code changes in this commit.
2016-04-21 14:12:00 +09:00
Ricardo de Almeida Gonzaga
5bd034a5a8 Global: start using cmath instead of math.h 2016-04-05 21:06:19 -07:00
Grant Morphett
2c4aaf7cb3 Rover: Commit for Rover release 3.0.0 2016-04-05 15:45:18 +10:00
Grant Morphett
801ced34a5 Rover: added the VIBRATION message which is sent to the GCS. 2016-04-05 15:41:53 +10:00
Grant Morphett
8e69b66cf0 Rover: added the VIBE logging to the Dataflash logs. 2016-04-05 15:41:53 +10:00
Saloni Jain
ff74792fd4 Rover: MAV_CMD_DO_SET_HOME support in APMRover2 2016-04-05 15:40:33 +10:00
Gustavo Jose de Sousa
a4c099feaa waf: create program groups for main products
Currently we need to build a different binary for each type of copter frame.
This is a preparation for setting all those binaries to a group called
"copter". We create the groups for the rest of the main products for
consistency.
2016-03-26 15:43:08 -03:00
Lucas De Marchi
56eccd6e41 APMrover2: Update path locations for parameters
Thanks to Francisco Ferreira for noticing that.
2016-03-23 17:50:38 -03:00
Don Gagne
cae7ea0d13 Add @Volatile, @ReadOnly support 2016-03-17 10:58:05 +11:00
Lucas De Marchi
dd8014dd2f APMrover2: replace header guard with pragma once 2016-03-16 18:40:44 +11:00
Michael du Breuil
b6378e2827 Rover: Use arming voltage 2016-03-14 09:07:34 -07:00
Michael du Breuil
8ae6e0d613 Rover: remove "Command received" statustext 2016-03-10 15:36:05 +11:00
Randy Mackay
62435d3a11 Rover: use ahrs.get_origin instead of ekf.getOriginLLH
This ensures we get the origin from the active EKF
2016-03-03 16:20:56 +09:00
Lucas De Marchi
e770cf059d APMRover2: initialize variable to fix build
Fix the following build error on clang:

../../APMrover2/test.cpp:164:4: fatal error: variable 'fail_test' is uninitialized when used here [-Wuninitialized]
   fail_test++;
   ^~~~~~~~~
../../APMrover2/test.cpp:139:19: note: initialize the variable 'fail_test' to silence this warning
 uint8_t fail_test;
                  ^
2016-03-01 10:25:28 -03:00
Tom Pittenger
0372b52378 Rover: convert to using static send_statustext
- no more MSG_STATUSTEXT
- TODO: replace calls to gcs_send_text and gcs_send_text_fmt to GCS_MAVLINK::send_statustext()
2016-02-24 09:18:05 +11:00
Tom Pittenger
c38bec6385 Rover: use set_dataflash() for static logging 2016-02-24 09:18:05 +11:00
Tom Pittenger
92fea608f3 Rover: add item_reached_msg to GUIDED 2016-02-14 16:12:56 -08:00
Andrew Tridgell
39b9ae7e91 APMrover2: log a picture if AP_Camera::control() returns true 2016-01-29 10:01:51 +11:00
Andrew Tridgell
eed575886c APMrover2: update for changed AP_Camera API 2016-01-29 09:19:43 +11:00
Dario Lindo Andres
f731a0dc53 APMrover2: Added precise camera trigger logging
included update_trigger function
added camera trigger precise time mark
detect camera feedback pin status
added support for TRIGGER MSG
corrected according to defines.h
2016-01-29 09:19:43 +11:00
Jonathan Challinger
f1db10c337 APMrover2: reflect changes to AP_Mount 2016-01-23 10:35:45 +09:00
Gustavo Jose de Sousa
c2e3f05dbf waf: ardupilotwaf: prefix build context methods with ap_
It helps to distinguish between things from waf and things from ardupilotwaf.
2016-01-22 20:10:29 -02:00
Gustavo Jose de Sousa
e9d3dc9e72 waf: vehicles and antennatracker: use methods from bld
Instead of from ardupilotwaf.
2016-01-22 20:10:29 -02:00
Gustavo Jose de Sousa
cf432e8b3e waf: ardupilotwaf: rename vehicle_stlib to ap_stlib
That function is not only for vehicles.
2016-01-22 20:10:28 -02:00
Gustavo Jose de Sousa
a35c0d48b0 waf: ardupilotwaf: rename program to ap_program
Make the rename so that there is no name clashes when defining it as a taskgen
method.
2016-01-22 20:10:28 -02:00
Lucas De Marchi
7f04e0106e waf: change binary names
APMrover2 -> ardurover
AntennaTracker -> antennatracker
ArduCopter -> arducopter
ArduPlane -> arduplane
2016-01-18 16:56:08 -02:00
Gustavo Jose de Sousa
17e5d99509 waf: allow partial builds with new mavlink as submodule
The task generator for the mavlink headers is given a name 'mavlink' and is
added as a dependency to all local static libraries, because all of them use
sources that include mavlink headers. It would be nice to have a good way to
detect sources that use mavlink headers or to declare list of libraries that
use the headers, so that the dependency could be added automatically.

Additionally, there's a minor change in syntax for the task generator: using
strings directly instead of lists.
2016-01-15 07:28:48 +11:00
Tom Pittenger
4280dacced Rover: add xtrack_error to DF log 2016-01-08 20:16:25 +11:00
Andrew Tridgell
be456fc33d Rover: always call load_all
this ensures defaults file works on first start after erase
2016-01-07 09:33:04 +11:00
Andrew Tridgell
bd272390bc Rover: support up to 14 input channels on all boards 2016-01-04 08:23:04 +11:00
pepevalbe
b4c02d8cd7 Rover: added group parameter for AP_Notify library 2015-12-31 11:33:11 +09:00
Siddharth Bharat Purohit
53d3e7dc61 Rover: wire up accel calibrator for Rover 2015-12-29 10:46:35 -08:00
Lucas De Marchi
a096703b06 Global: don't link with AP_Progmem
AP_Progmem is not used anymore.
2015-12-27 15:58:12 -02:00
Andrew Tridgell
7daab1ee62 Rover: convert to Hz based task table 2015-12-27 14:57:24 +09:00
Andrew Tridgell
c94b30b7bc Rover: fixed flymaple build 2015-12-22 11:35:31 +11:00
Andre Kjellstrup
80f19aefc7 APMrover2: Camera options for better camera control
All on one because they would not pass autotest if split up.
2015-12-18 18:16:11 +11:00
Jonathan Challinger
6c4f070685 Rover: reflect renamed function in AP_AHRS 2015-12-18 18:08:37 +11:00
Julien BERAUD
c28a71ec63 Rover: Update Optical Flow declaration
Pass ahrs as param
2015-12-18 17:56:06 +11:00
Gustavo Jose de Sousa
dc81a2410e waf: use single entry point for make wrappers 2015-12-10 10:40:34 +09:00
Tom Pittenger
e6cf86801d APMrover2: compiler warning - float to double promotion for print 2015-12-07 15:50:05 +09:00
DonLakeFlyer
0950c97866 Rover: return success or failure of get home position 2015-12-07 12:33:18 +09:00
Lucas De Marchi
767f126eaa APMrover2: remove unused AP_ADC_AnalogSource 2015-12-03 13:32:44 +11:00
Peter Barker
fb197c9255 Rover: DataFlash-over-MAVLink support 2015-12-03 13:21:52 +11:00
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