From 047f7202933797d3ae7b0648969d7b1f2f433b8e Mon Sep 17 00:00:00 2001 From: Falko Schindler Date: Tue, 20 Jun 2023 15:23:41 +0200 Subject: [PATCH] allow setting individual RMD accelerations --- docs/module_reference.md | 2 ++ main/modules/rmd_motor.cpp | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/docs/module_reference.md b/docs/module_reference.md index caba433..4cff913 100644 --- a/docs/module_reference.md +++ b/docs/module_reference.md @@ -322,6 +322,8 @@ Although `get_acceleration()` prints only one acceleration per motor, `set_accel 3. acceleration for speed mode 4. deceleration for speed mode +You can pass `0` to skip parameters, i.e. to keep individual acceleration values unchanged. + ## RMD Motor Pair The RMD motor pair module allows to synchronize two RMD motors. diff --git a/main/modules/rmd_motor.cpp b/main/modules/rmd_motor.cpp index 5db7c1d..b3be436 100644 --- a/main/modules/rmd_motor.cpp +++ b/main/modules/rmd_motor.cpp @@ -144,7 +144,10 @@ void RmdMotor::call(const std::string method_name, const std::vectorevaluate_integer()); + int acceleration = arguments[i]->evaluate_integer(); + if (acceleration > 0) { + set_acceleration(i, acceleration); + } } } else if (method_name == "clear_errors") { Module::expect(arguments, 0);