rate limit most parameter_update subscriptions

- parameter updates can be quite expensive because they trigger nearly all modules to reload all of their parameters immediately
 - limit modules from updating faster than once per second
This commit is contained in:
Daniel Agar
2021-01-10 21:09:15 -05:00
committed by GitHub
parent 70e503cb91
commit 967d35a6b6
73 changed files with 212 additions and 122 deletions
+5 -5
View File
@@ -354,14 +354,14 @@ MavlinkParametersManager::send_untransmitted()
{
bool sent_one = false;
if (_mavlink_parameter_sub.updated()) {
// Clear the ready flag
parameter_update_s value;
_mavlink_parameter_sub.update(&value);
if (_parameter_update_sub.updated()) {
// clear the update
parameter_update_s pupdate;
_parameter_update_sub.copy(&pupdate);
// Schedule an update if not already the case
if (_param_update_time == 0) {
_param_update_time = value.timestamp;
_param_update_time = pupdate.timestamp;
_param_update_index = 0;
}
}