Commit Graph

333 Commits

Author SHA1 Message Date
Randy Mackay
f7cb006d40 Rover: accept DO_SET_HOME within COMMAND_INT 2017-09-20 12:14:38 +09:00
Randy Mackay
b1684b5377 Rover: accept more mav-frame types
accept mav frames whether or not they have _INT appended
2017-09-20 12:14:38 +09:00
Peter Barker
b84e40a804 Rover: move handling of SET_GPS_GLOBAL_ORIGIN up 2017-09-19 15:44:23 +09:00
Randy Mackay
4899401679 Rover: minor comment fix 2017-09-19 10:30:15 +09:00
Randy Mackay
894bf2a23f Rover: support SET_GPS_GLOBAL_ORIGIN message 2017-09-19 10:30:15 +09:00
Peter Barker
add5eb6907 Rover: remove old DO_SET_MODE support
We no longer support setting modes except via custom-modes
2017-09-19 01:24:11 +01:00
Peter Barker
25a32c93f2 Rover: move gcs_out_of_time into GCS object 2017-09-12 18:28:07 +01:00
Peter Barker
b5d234aa64 Rover: handle param_request_list in GCS_MAVLINK base class 2017-08-30 15:54:47 +01:00
Peter Barker
640b2b7a13 Rover: handle param_set in GCS_MAVLINK base class 2017-08-30 15:54:47 +01:00
Peter Barker
85ac69f701 Rover: move send_autopilot_request calls up to GCS base class 2017-08-30 15:54:46 +01:00
Peter Barker
d98c427514 Rover: add constant structure holding firmware version 2017-08-30 15:54:46 +01:00
Randy Mackay
14c74a5967 Rover: remove learning mode
saving waypoints can be done in manual or steering mode
2017-08-25 14:05:23 +09:00
Peter Barker
ee39ec3751 Rover: move serial_control case to base class 2017-08-17 12:42:31 +01:00
Peter Barker
92becb2875 Rover: move play_tune and led_control handling to base class 2017-08-17 12:27:10 +01:00
Peter Barker
f3a0d2b02b Rover: use GCS_MAVLINK subclasses to handle set_mode 2017-08-16 11:58:10 +10:00
Peter Barker
4c2747bfe8 Rover: use rangefinder backend accessors 2017-08-15 18:30:45 +01:00
Michael du Breuil
a98c8427dd Rover: Expose the AFS instance to MAVLink 2017-08-15 15:14:56 +01:00
Randy Mackay
d99108f3bc Rover: use AR_AttitudeControl for throttle control
also direct throttle nudge replaced with speed nudge
calc_speed_max estimates vehicle's top speed based on cruise-speed and
cruise-throttle
steering mode now provides total target speed instead of using speed plug
throttle nudge
motor limits provided to attitude control to stop i-term buildup
uses negative desired speed instead of reversed flag
reporting to GCS uses new throttle controller
braking is simply enabled and allows a reverse motor output regardless of vehicle
speed
2017-08-15 20:47:19 +09:00
Randy Mackay
9097269d6d Rover: use AR_AttitudeControl for steering control 2017-08-15 20:47:19 +09:00
Peter Barker
edab526b01 Rover: send gps messages as separate queued messages 2017-08-09 16:18:22 +01:00
Peter Barker
f7fd663f45 Rover: move sending of gps_raw up 2017-08-09 16:18:22 +01:00
Peter Barker
89a5272ab5 Rover: move sending of system_time up 2017-08-09 16:18:22 +01:00
Peter Barker
341a9ae032 Rover: move sending of camera_feedback up 2017-08-09 16:18:22 +01:00
Peter Barker
ece800ba90 Rover: move sending of meminfo up 2017-08-09 16:18:22 +01:00
Peter Barker
c642dc616a Rover: use new retry_deferred method 2017-08-05 23:14:18 +01:00
Randy Mackay
3863542194 Rover: adjust set-position-target-local-ned handling
add support for just yaw or yaw-rate
remove support for simultaneous position and velocity
2017-08-05 11:20:58 +09:00
Randy Mackay
46faece76b Rover: set-attitude-target accepts quaternions for target heading 2017-08-05 11:20:58 +09:00
Randy Mackay
d56d222971 Rover: set-attitude-target consumes thrust in -1 to +1 range
This makes the processing consistent with the mavlink spec
2017-08-05 11:20:58 +09:00
Randy Mackay
b9db9229d9 Rover: replace vehicle code guided methods with calls to guided mode class
set_guided_WP replaced by mode_guided.set_desired_location
nav_set_yaw_speed replaced with mode_guided.set_desired_heading_and_speed
set_guided_velocity replaced with mode_guided.set_desired_turn_rate_and_speed
guided_control structure replaced with mode_guided members
use_pivot_steering accepts yaw-error argument instead of calculating it itself internally
2017-08-05 11:20:58 +09:00
Randy Mackay
783f8243df Rover: use mode class's get_distance_to_destination and speed_error
used for reporting to GCS and logging
2017-08-05 11:20:58 +09:00
Peter Barker
137d513fdc Rover: move try_send_message queued_param_send up 2017-08-03 14:34:33 +01:00
Peter Barker
dbac7447d6 Rover: move try_send_message send_hwstatus up 2017-08-03 14:34:33 +01:00
Peter Barker
4da89a948a Rover: move try_send_message mission handling up 2017-08-03 14:33:37 +01:00
Peter Barker
dbdfce570a Rover: move try_send_message compass message handling up 2017-08-03 14:24:47 +01:00
Peter Barker
d44c7f0886 Rover: base SYS_STATUS load average on variable loop rate 2017-08-01 19:39:27 +01:00
khancyr
23532bf45c Rover: add reason to set_mode 2017-07-31 18:01:17 +09:00
Peter Barker
2014eb0def Rover: move common mavlink camera handling up 2017-07-28 14:32:58 +01:00
Peter Barker
81d52c282c Rover: camera is responsible for taking distance-based-images and logging 2017-07-28 14:27:53 +01:00
Peter Barker
160831d4ca Rover: move gps inject handling up to GCS_MAVLINK 2017-07-27 12:03:25 +01:00
Randy Mackay
ddc70058d5 Rover: reporting wheel encoder rpm 2017-07-27 16:52:29 +09:00
Peter Barker
fec152385c Rover: handle common GPS messages in base GCS_MAVLINK class 2017-07-25 14:00:45 +01:00
Peter Barker
07f4603533 Rover: integrate mode class 2017-07-21 10:13:20 +09:00
Peter Barker
f1c3e16354 Rover: remove MSG_STATUSTEXT entirely 2017-07-18 16:12:59 +01:00
Randy Mackay
8a86b64776 Rover: motor test accepts negative percentages 2017-07-18 10:15:44 +09:00
khancyr
5208466629 Rover: add motor test 2017-07-18 10:15:44 +09:00
Peter Barker
cee7ce0571 Rover: move handling of PREFLIGHT_SET_SENSOR_OFFSETS up 2017-07-17 14:17:19 +01:00
Peter Barker
3586f0e8fb Rover: move handling of MAG_CAL command longs up 2017-07-17 14:17:19 +01:00
Peter Barker
a963a80b91 Rover: move MAV_CMD_START_RX_PAIR handling to base class 2017-07-17 14:17:19 +01:00
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
khancyr
40b860e240 Rover: rename sonar to rangefinder 2017-07-14 17:40:05 +01: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
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
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
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
cfeb449979 Rover: create GCS subclass, use inheritted methods 2017-07-07 16:18:37 +01:00
Randy Mackay
351b37fc31 Rover: only report system status after init has completed
This reduces errors reported to the GCS during startup
2017-06-28 11:32:01 +09:00
Peter Barker
3a85d8ed39 Rover: handle knowledge of in_log_download in DataFlash 2017-06-27 03:10:43 +01:00
Peter Barker
689a5cb238 Rover: move send-logs-via-mavlink code into DataFlash 2017-06-27 03:10:43 +01: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
Michael du Breuil
57c9afb77e Rover: Handle NAV_CONTROLLER_OUTPUT.wp_dist overflowing 2017-06-20 15:41:50 +01: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
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
a26710d769 APMRover2: add support for DISTANCE_SENSOR 2017-06-08 01:31:57 +01: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
Pierre Kancir
f725e9f2b5 APMRover2: correct some style after addition of velocity controler 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
d6b55b2d09 Rover: set_guided_WP accepts location 2017-05-04 19:53:21 +10:00
Andrew Tridgell
37585f213a Rover: use common send_queued_parameters() 2017-05-01 14:36:10 +10: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
Andrew Tridgell
7cc1009dab Rover: ignore MSG_AOA_SSA 2017-04-19 20:48:42 +10:00
Michael du Breuil
7328a8ad41 Rover: Send BATTERY_STATUS 2017-04-12 10:21:49 +09: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
Randy Mackay
c701d6a715 Rover: send text to notify 2017-01-23 15:07:21 -08:00
Andrew Tridgell
93d6b012c2 Rover: convert to new SRV_Channel API 2017-01-12 17:39:37 +11:00
Pierre Kancir
d33f67e0c4 Rover: gcs_mavlink.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
Randy Mackay
75aaf33d58 Rover: pass HIL_GPS to gps driver 2016-12-08 15:52:26 +09: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
Francisco Ferreira
e870c4bf99 Rover: support MAV_CMD_ACCELCAL_VEHICLE_POS 2016-11-15 11:42:54 -08:00
Andrew Tridgell
84179588a9 Rover: use handle_common_message() 2016-11-09 17:08:09 +11: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
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
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
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
Tom Pittenger
72da58960c Rover: log to dataflash statustext messages from my_gcs 2016-09-26 00:13:39 -07:00
floaledm
93f2de6780 Rover: change sensor health check to prevent false positive 2016-09-22 13:56:41 -05: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
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
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
Andrew Tridgell
203e0c7472 Rover: fixes for Frsky_Telem API changes 2016-08-25 10:16:19 +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
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
Andrew Tridgell
a4270b1bb6 APMrover2: adjust for 16 channels in SERVO_OUTPUT_RAW 2016-07-25 10:06:02 +10:00
Andrew Tridgell
c3d39e9906 Rover: added PLAY_TUNE and LED_CONTROL 2016-07-22 15:00:17 +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
Tom Pittenger
698017d0b1 APMrover2: sanity check gps latlng 2016-06-01 17:38:49 -07: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
Andrew Tridgell
f61ba903dd Rover: don't stall EKF during baro cal 2016-05-24 17:00:55 +10:00
Andrew Tridgell
01caa7388a Rover: use send_heartbeat() wrapper 2016-05-21 15:25:17 +10:00
Andrew Tridgell
ad7fe48991 Rover: always build with MAVLink2 headers 2016-05-21 15:25:15 +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
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
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
Andrew Tridgell
efe3e19a51 Rover: fixed for changed API 2016-05-07 18:27:22 +10:00
Lucas De Marchi
d3ee998fa6 APMrover2: use separate header for version macro
Having the version macro in the config.h and consequently in the main
vehicle header means that whenever the version changes we need to
compiler the whole vehicle again. This would not be so bad if we weren't
also appending the git hash in the version. In this case, whenever we
commit to the repository we would need to recompile everything.

Move to a separate header that is include only by its users. Then
instead of compiling everything we will compile just a few files.
2016-05-06 13:11:28 -03:00
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
Randy Mackay
a5ed3c9b12 Rover: ack DO_MOUNT_CONTROL messages 2016-04-22 21:30:47 +09:00
Grant Morphett
801ced34a5 Rover: added the VIBRATION message which is sent to the GCS. 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
Michael du Breuil
8ae6e0d613 Rover: remove "Command received" statustext 2016-03-10 15:36:05 +11: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
Andrew Tridgell
39b9ae7e91 APMrover2: log a picture if AP_Camera::control() returns true 2016-01-29 10:01:51 +11:00
Siddharth Bharat Purohit
53d3e7dc61 Rover: wire up accel calibrator for Rover 2015-12-29 10:46:35 -08:00
DonLakeFlyer
0950c97866 Rover: return success or failure of get home position 2015-12-07 12:33:18 +09:00
Peter Barker
fb197c9255 Rover: DataFlash-over-MAVLink support 2015-12-03 13:21:52 +11: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
Grant Morphett
3636b53313 Rover: Implementation of the ARMING functionality 2015-11-11 13:39:38 +11:00
lvale
a64689600f Rover: text message severity uniformization
Global revision of message severity values.

Required also change to the low priority function gcs_send_text_fmt()
on GCS_Mavlink.cpp to disable the automatic setting of priority on
messages sent by this function
2015-11-05 12:33:56 +09:00
Lucas De Marchi
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
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
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
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
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
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
squilter
97b901a5fb Rover: Support do_digicam_x via command_long 2015-09-16 13:06:55 +09: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
Randy Mackay
84252405c3 Rover: sanity check ROI target 2015-08-27 15:15:59 +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
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
Peter Barker
4b0495bb15 Rover: use common mission logging code 2015-06-30 16:23:35 +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
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
Andrew Tridgell
254d4219d4 Rover: fixed build 2015-05-27 14:28:48 +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
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