mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-11-01 06:21:36 +08:00
Fix error reporting in stream config, report if a stream was not found at all in stream list and return error
This commit is contained in:
@@ -1555,32 +1555,36 @@ Mavlink::configure_stream(const char *stream_name, const float rate)
|
|||||||
/* delete stream */
|
/* delete stream */
|
||||||
LL_DELETE(_streams, stream);
|
LL_DELETE(_streams, stream);
|
||||||
delete stream;
|
delete stream;
|
||||||
|
warnx("deleted stream %s", stream->get_name());
|
||||||
}
|
}
|
||||||
|
|
||||||
return OK;
|
return OK;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (interval > 0) {
|
if (interval == 0) {
|
||||||
/* search for stream with specified name in supported streams list */
|
/* stream was not active and is requested to be disabled, do nothing */
|
||||||
for (unsigned int i = 0; streams_list[i] != nullptr; i++) {
|
|
||||||
|
|
||||||
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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
|
||||||
/* stream not found, nothing to disable */
|
|
||||||
return OK;
|
return OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* search for stream with specified name in supported streams list */
|
||||||
|
for (unsigned int i = 0; streams_list[i] != nullptr; i++) {
|
||||||
|
|
||||||
|
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;
|
return ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user