I am not sure what you mean. With `update_every_n_cycles = 1` as default and minimum value the period would always be recalculated from the time argument of `ControllerManager::update(time, period)` ignoring the period argument except for the first invocation after the start. Is this what you want?

I would suggest to additionally change the check in [controller_manager.cpp:97](https://github.com/ros-controls/ros_control/pull/127/files#diff-62ce0dd4e11b38feb99d1047dfa80fc0R97) and only throttle and recalculate if `spec.update_every_n_cycles > 1`.