Skip to content

DigitalOutput with finite sampling can indefinitely prevent notifications from other observables #23

@RoboDoig

Description

@RoboDoig

A common DigitalOutput pattern (also shown in the docs) is to trigger the output within a SelectMany, for example to update buffer and sample rate parameters dynamically in response to different inputs. For example:

Consider the workflow:

Image

The first KeyDown triggers the SelectMany and the DigitalOutput. If the first KeyDown is pressed several times (before the FiniteSample task has completed), both KeyDowns will eventually stop producing notifications. I wonder if the task.WaitUntilDone() blocking call has something to do with this, or the nidaqmx interface is excepting silently.

Interestingly, if we use the Shader package KeyDowns instead this behavior is not observed, although notifications from the KeyDown that trigger the SelectMany are delayed until the DigitalOutput task has completed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions