Mechanism for FreeRun Mode of an actuator required

Create issue
Issue #18 on hold
André Kempe created an issue

Currently actuators only support setting of a new position via setPosAbs and setPosRel. However, AerotechEnsemble support a free-run-mode where the axis simply move into a given direction without specificaion of a specific coordinate.

In the current state this can only be achieved with workaround-qualitz, i.e. by creating a custom-function to enable the free-run-mode. A more reliable and profound solution is required here.

Comments (2)

  1. Wolfram Lyda

    The philosophy of the plugin systems is to offer compatibility between different plugins of similar types. The basic interface is designed for this purpose.

    FreeRun-Modes (for software joysticks) are an uncommon functionality of axis controller. Most axis controller offer a hardware joystick. Also the parameter to call such a function may vary with the axis number and trajectory generation methods.Hence this is no standard function. For such non-standard-function of plugins itom offers the execFuncs which can be called via python and c++.

    Further more calling / starting such a free run from python will cause a leak of security due to several possible errors (e.g. stopping the python-script, runtime-errors, ...). Their is also only one python thread running at a time. Hence the stop-signal will not be processed until the current python script has returned to idle state. In combination with the leak of real time interupt-processing of windows such a soft joystick may delay randomly and sometime will not stop at the desired position.

    If you want to implement such a software joystick, you should this by directly connecting the GUI-element with the hardware-plugin via signal / slot or non-blocking invokes in c++. You avoid the circuitous massaround with python. An exemplary implementation is shown within the designerPlugin MotorController (3dConnexion-Support enabled) and the hardware plugin DummyMotor.

    Best regards Wolfram

  2. Log in to comment