Posted
·
Edited by WolfiGeithner added screenshot for motor actor
Hi experts,
I am a newbee to actor framework programming, but came quite far so far. Unfortunately, I have a problem I bang my head against without any success:
I have a step-motor control GUI comprising
a starter VI pulling up
the root actor (root actor core = UI allowing the user to select a step motor)
child actor instances for the actual motor control
child actor hosts up to three sub actors: one actor listening to a ZMQ message socket pushing measured motor positions to a shared variable (ZMQ requests are published from a Python program running on a RaspberryPi), one or two instances of a generic actor for controlling high voltages related to the detector setup mounted to the motor/linear actor (mechanical)
The whole stack works as expected when I start it the first time: start starter VI -> start root actor -> start child motor control actor: child actor works, all controls are responsive, slider control showing the motor position with about 2 Hertz is jittering with incoming measurements via the shared variable.
However, after closing the motor control child actor using a button (and stopping up all the actors and queues, etc. This works all as expected) and re-starting the child actor, all controls on the GUI are frozen. Only the slider control showing the motor position is still jittering. When debugging, I see shared variable update events coming in as before.
The second round of opening can as well not be closed via the "stop" button. I can only use the "Abort" button, which leaves my chid actor instance in a locked state.
I checked many things (event inspector, LAVA task manager) none of them were conclusive.
And idea (as well how to investigate this further) welcome
GUI controls freeze frozen in a actor open-close-open scenario
in Object-Oriented Programming
Posted · Edited by WolfiGeithner
added screenshot for motor actor
Hi experts,
I am a newbee to actor framework programming, but came quite far so far. Unfortunately, I have a problem I bang my head against without any success:
I have a step-motor control GUI comprising
The whole stack works as expected when I start it the first time: start starter VI -> start root actor -> start child motor control actor: child actor works, all controls are responsive, slider control showing the motor position with about 2 Hertz is jittering with incoming measurements via the shared variable.
However, after closing the motor control child actor using a button (and stopping up all the actors and queues, etc. This works all as expected) and re-starting the child actor, all controls on the GUI are frozen. Only the slider control showing the motor position is still jittering. When debugging, I see shared variable update events coming in as before.
The second round of opening can as well not be closed via the "stop" button. I can only use the "Abort" button, which leaves my chid actor instance in a locked state.
I checked many things (event inspector, LAVA task manager) none of them were conclusive.
And idea (as well how to investigate this further) welcome