aboutsummaryrefslogtreecommitdiff
path: root/src/modules
diff options
context:
space:
mode:
authorAnton Babushkin <anton.babushkin@me.com>2014-06-10 14:32:37 +0200
committerAnton Babushkin <anton.babushkin@me.com>2014-06-10 14:32:37 +0200
commit3015f2e7af94e684c666689aa70c602f79810218 (patch)
tree33a942b684486309ef0e02c8709f26b29c1973b4 /src/modules
parentcad0877f67c393b698b8fc4f242944c9e1ba1bc5 (diff)
downloadpx4-firmware-3015f2e7af94e684c666689aa70c602f79810218.tar.gz
px4-firmware-3015f2e7af94e684c666689aa70c602f79810218.tar.bz2
px4-firmware-3015f2e7af94e684c666689aa70c602f79810218.zip
mavlink: retry timeout moved to define
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/mavlink/mavlink_main.cpp7
-rw-r--r--src/modules/mavlink/mavlink_main.h8
-rw-r--r--src/modules/mavlink/waypoints.h2
3 files changed, 10 insertions, 7 deletions
diff --git a/src/modules/mavlink/mavlink_main.cpp b/src/modules/mavlink/mavlink_main.cpp
index 4e0597e80..52cae2085 100644
--- a/src/modules/mavlink/mavlink_main.cpp
+++ b/src/modules/mavlink/mavlink_main.cpp
@@ -965,7 +965,8 @@ void Mavlink::mavlink_wpm_init(mavlink_wpm_storage *state)
state->timestamp_lastaction = 0;
state->timestamp_last_send_setpoint = 0;
state->timestamp_last_send_request = 0;
- state->timeout = MAVLINK_WPM_PROTOCOL_TIMEOUT_DEFAULT;
+ state->action_timeout = MAVLINK_WPM_PROTOCOL_TIMEOUT_DEFAULT;
+ state->retry_timeout = MAVLINK_WPM_RETRY_TIMEOUT_DEFAULT;
int sys_state_size = dm_read(DM_KEY_SYSTEM_STATE, 0, &sys_state, sizeof(sys_state));
if (sys_state_size == sizeof(sys_state)) {
@@ -1138,7 +1139,7 @@ void Mavlink::mavlink_wpm_send_waypoint_reached(uint16_t seq)
void Mavlink::mavlink_waypoint_eventloop(uint64_t now)
{
/* check for timed-out operations */
- if (now - _wpm->timestamp_lastaction > _wpm->timeout && _wpm->current_state != MAVLINK_WPM_STATE_IDLE) {
+ if (now - _wpm->timestamp_lastaction > _wpm->action_timeout && _wpm->current_state != MAVLINK_WPM_STATE_IDLE) {
mavlink_missionlib_send_gcs_string("Operation timeout");
@@ -1148,7 +1149,7 @@ void Mavlink::mavlink_waypoint_eventloop(uint64_t now)
_wpm->current_partner_sysid = 0;
_wpm->current_partner_compid = 0;
- } else if (now - _wpm->timestamp_last_send_request > 500000 && _wpm->current_state == MAVLINK_WPM_STATE_GETLIST_GETWPS) {
+ } else if (now - _wpm->timestamp_last_send_request > _wpm->retry_timeout && _wpm->current_state == MAVLINK_WPM_STATE_GETLIST_GETWPS) {
/* try to get WP again after short timeout */
mavlink_wpm_send_waypoint_request(_wpm->current_partner_sysid, _wpm->current_partner_compid, _wpm->current_wp_id);
}
diff --git a/src/modules/mavlink/mavlink_main.h b/src/modules/mavlink/mavlink_main.h
index fbb25029d..e31bbbb31 100644
--- a/src/modules/mavlink/mavlink_main.h
+++ b/src/modules/mavlink/mavlink_main.h
@@ -78,8 +78,9 @@ enum MAVLINK_WPM_CODES {
#define MAVLINK_WPM_MAX_WP_COUNT 255
-#define MAVLINK_WPM_PROTOCOL_TIMEOUT_DEFAULT 5000000 ///< Protocol communication timeout in useconds
-#define MAVLINK_WPM_SETPOINT_DELAY_DEFAULT 1000000 ///< When to send a new setpoint
+#define MAVLINK_WPM_PROTOCOL_TIMEOUT_DEFAULT 5000000 ///< Protocol communication action timeout in useconds
+#define MAVLINK_WPM_RETRY_TIMEOUT_DEFAULT 500000 ///< Protocol communication retry timeout in useconds
+#define MAVLINK_WPM_SETPOINT_DELAY_DEFAULT 1000000 ///< When to send a new setpoint
#define MAVLINK_WPM_PROTOCOL_DELAY_DEFAULT 40000
@@ -96,7 +97,8 @@ struct mavlink_wpm_storage {
uint64_t timestamp_lastaction;
uint64_t timestamp_last_send_setpoint;
uint64_t timestamp_last_send_request;
- uint32_t timeout;
+ uint32_t action_timeout;
+ uint32_t retry_timeout;
};
diff --git a/src/modules/mavlink/waypoints.h b/src/modules/mavlink/waypoints.h
index 532eff7aa..a2109f2d8 100644
--- a/src/modules/mavlink/waypoints.h
+++ b/src/modules/mavlink/waypoints.h
@@ -88,7 +88,7 @@ struct mavlink_wpm_storage {
uint8_t current_partner_compid;
uint64_t timestamp_lastaction;
uint64_t timestamp_last_send_setpoint;
- uint32_t timeout;
+ uint32_t action_timeout;
int current_dataman_id;
};