Browse Source

Fix error reporting in stream config, report if a stream was not found at all in stream list and return error

sbg
Lorenz Meier 11 years ago
parent
commit
bf5061aa21
  1. 36
      src/modules/mavlink/mavlink_main.cpp

36
src/modules/mavlink/mavlink_main.cpp

@ -1555,32 +1555,36 @@ Mavlink::configure_stream(const char *stream_name, const float rate) @@ -1555,32 +1555,36 @@ Mavlink::configure_stream(const char *stream_name, const float rate)
/* delete stream */
LL_DELETE(_streams, stream);
delete stream;
warnx("deleted stream %s", stream->get_name());
}
return OK;
}
}
if (interval > 0) {
/* search for stream with specified name in supported streams list */
for (unsigned int i = 0; streams_list[i] != nullptr; i++) {
if (interval == 0) {
/* stream was not active and is requested to be disabled, do nothing */
return OK;
}
if (strcmp(stream_name, streams_list[i]->get_name()) == 0) {
/* create new instance */
stream = streams_list[i]->new_instance();
stream->set_channel(get_channel());
stream->set_interval(interval);
stream->subscribe(this);
LL_APPEND(_streams, stream);
return OK;
}
}
/* search for stream with specified name in supported streams list */
for (unsigned int i = 0; streams_list[i] != nullptr; i++) {
} else {
/* stream not found, nothing to disable */
return OK;
if (strcmp(stream_name, streams_list[i]->get_name()) == 0) {
/* create new instance */
stream = streams_list[i]->new_instance();
stream->set_channel(get_channel());
stream->set_interval(interval);
stream->subscribe(this);
LL_APPEND(_streams, stream);
return OK;
}
}
/* if we reach here, the stream list does not contain the stream */
warnx("stream %s not found", stream_name);
return ERROR;
}

Loading…
Cancel
Save