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
+2 -2
View File
@@ -574,7 +574,7 @@ void DShot::Run()
}
}
if (_param_sub.updated()) {
if (_parameter_update_sub.updated()) {
update_params();
}
@@ -603,7 +603,7 @@ void DShot::Run()
void DShot::update_params()
{
parameter_update_s pupdate;
_param_sub.update(&pupdate);
_parameter_update_sub.copy(&pupdate);
updateParams();
+1 -1
View File
@@ -223,7 +223,7 @@ private:
Mode _mode{MODE_NONE};
uORB::Subscription _param_sub{ORB_ID(parameter_update)};
uORB::SubscriptionInterval _parameter_update_sub{ORB_ID(parameter_update), 1_s};
DEFINE_PARAMETERS(
(ParamInt<px4::params::DSHOT_CONFIG>) _param_dshot_config,