You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
As far as I know: right now the only way to know that one of the nodes inputs has changed is to "poll" it by repeatedly calling "getInput". The easiest time to poll it is during a tick(). It would be nice to be able to respond to an input changing without needing to wait for tick() to be called.
Describe the solution you'd like
It would be great to be able to pass a callback into the "InputPort" call within "providedPorts". I guess the issue here would be that this is a "static" method? We'd probably want instance methods to be passed in.
Describe alternatives you've considered
I could probably achieve this by polling of the blackboard from another thread?
Additional context
My BT::Node is listening for ROS subscriptions. If the topic I'm listening to were changed dynamically I'll need to re-create my subscriber. If I have to wait until a tick() occurs then it's already too late and I'll have to either return FAILURE or RUNNING. From a timing perspective there's no reason I couldn't have a message ready and waiting by the time tick() is called.
The text was updated successfully, but these errors were encountered:
Is your feature request related to a problem? Please describe.
As far as I know: right now the only way to know that one of the nodes inputs has changed is to "poll" it by repeatedly calling "getInput". The easiest time to poll it is during a tick(). It would be nice to be able to respond to an input changing without needing to wait for tick() to be called.
Describe the solution you'd like
It would be great to be able to pass a callback into the "InputPort" call within "providedPorts". I guess the issue here would be that this is a "static" method? We'd probably want instance methods to be passed in.
Describe alternatives you've considered
I could probably achieve this by polling of the blackboard from another thread?
Additional context
My BT::Node is listening for ROS subscriptions. If the topic I'm listening to were changed dynamically I'll need to re-create my subscriber. If I have to wait until a tick() occurs then it's already too late and I'll have to either return FAILURE or RUNNING. From a timing perspective there's no reason I couldn't have a message ready and waiting by the time tick() is called.
The text was updated successfully, but these errors were encountered: