Skip to content

Enable dynamic server parameter change#93

Open
Nicodaube wants to merge 25 commits into
fujitatomoya:rollingfrom
Nicodaube:rolling
Open

Enable dynamic server parameter change#93
Nicodaube wants to merge 25 commits into
fujitatomoya:rollingfrom
Nicodaube:rolling

Conversation

@Nicodaube

Copy link
Copy Markdown
Contributor
  • Added some callbacks to enable/disable save on update and storing period
  • Did it for allow_dynamic_typing too but not sure about its use case to be honest

Solves issue #58 i think

@fujitatomoya

Copy link
Copy Markdown
Owner

@Nicodaube thanks for the PR, i will take a look when i have time!

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR enables the parameter server to react at runtime to changes in configuration parameters (notably storing_period and must_save_on_update) by registering parameter-change callbacks, and adds a new test client to exercise dynamic reconfiguration behavior (Issue #58).

Changes:

  • Added ParameterEventHandler callbacks in the server to apply updated values for must_save_on_update, storing_period, and allow_dynamic_typing.
  • Added a new test client (client_dynamic_param_change) and integrated it into the existing test runner script.
  • Extended the test client utilities to get/set server parameters via ROS parameter services.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
server/src/parameter_server.cpp Adds parameter-change callbacks to apply runtime changes (timer recreation, save-on-update flag, etc.).
server/include/parameter_server.h Adds new callback/handler members and stores configuration state.
test/include/persist_parameter_client.hpp Adds get/set-parameter service helpers used by the new dynamic-param test.
test/src/persist_parameter_client.cpp Instantiates new get/set-parameter service clients.
test/include/test_common.h Adds helper methods to change/read server parameters and assert values in tests.
test/src/test_dynamic_param_change.cpp New test program covering dynamic changes (save-on-update, storing timer, dynamic typing).
test/test.py Runs the new dynamic-param-change test stage and includes its return code in the final success condition.
CMakeLists.txt Builds and installs the new client_dynamic_param_change executable.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread server/src/parameter_server.cpp Outdated
Comment thread test/include/test_common.h
Comment thread CMakeLists.txt
Comment thread server/include/parameter_server.h Outdated
Comment thread test/include/persist_parameter_client.hpp
Comment thread test/src/test_dynamic_param_change.cpp Outdated
Comment thread test/test.py Outdated
Comment thread server/src/parameter_server.cpp
Comment thread server/src/parameter_server.cpp Outdated
@fujitatomoya

Copy link
Copy Markdown
Owner

@Nicodaube thanks for fixing this up, sorry for being late to review this. but this is on my list, i will do that when i can allocate time for.

@Nicodaube

Copy link
Copy Markdown
Contributor Author

@Nicodaube thanks for fixing this up, sorry for being late to review this. but this is on my list, i will do that when i can allocate time for.

No problem at all, I took time to correct the copilot remarks too

Comment thread server/src/parameter_server.cpp Outdated
Comment thread test/include/persist_parameter_client.hpp
Comment thread test/src/test_dynamic_param_change.cpp
Comment thread test/src/test_dynamic_param_change.cpp Outdated
@Nicodaube

Copy link
Copy Markdown
Contributor Author

Sorry for not having done the changes requested, I was in a bit of a rush at work 😆 . I will try and do that this week !

@fujitatomoya

Copy link
Copy Markdown
Owner

@Nicodaube no worries, thanks for replying!

@Nicodaube
Nicodaube requested a review from fujitatomoya July 7, 2026 11:57
Comment thread server/src/parameter_server.cpp Outdated
Comment thread server/src/parameter_server.cpp Outdated
Comment thread test/src/test_dynamic_param_change.cpp Outdated
Comment thread test/include/test_common.h Outdated
@fujitatomoya

Copy link
Copy Markdown
Owner

@Nicodaube thanks for the fixes. unfortunately this still needs a few fixes before merge.

@Nicodaube

Copy link
Copy Markdown
Contributor Author

I corrected the errors you pointed, sorry for the messy PR, I still got things to learn on those parameter callback 😛

@Nicodaube
Nicodaube requested a review from fujitatomoya July 22, 2026 08:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants