On 7/22/25, 10:24 AM, "Tech-talk" <tech-talk-bounces at aps.anl.gov> wrote:
Hi,
Apologies, I haven’t used that driver myself, and I assumed it would work like the pvaDriver. Mark is right, seems like you need an extra step to copy the waveform data into ArrayIn. One other option might be an array subroutine
record.
Cheers,
Matt
From: Mark Rivers <rivers at cars.uchicago.edu>
Sent: Tuesday, July 22, 2025 8:43 AM
To: Pearson, Matthew <pearsonmr at ornl.gov>; tech-talk at aps.anl.gov; Abdalla Ahmad <Abdalla.Ahmad at sesame.org.jo>
Subject: [EXTERNAL] Re: Using AD plugins on asyn port
Hi Abdalla, it is exactly what I need, but it is still unclear how it interfaces with my existing waveform record, i. e.
How to pass data from my waveform record to $(P)$(R)ArrayIn. My waveform record already has its INP field set to read input
Hi Abdalla,
·
it is exactly what I need, but it is still unclear how it interfaces with my existing waveform record, i.e. How to pass data from my waveform record to $(P)$(R)ArrayIn. My waveform
record already has its INP field set to read input from a compress record doing circular buffer at 200 Hz from the hardware.
You probably need to use some additional code, for example in Python or SNL. That code will read from your existing waveform record and write to ArrayIn. It can also
configure the other records in NDDriverStdArrays, and decide when to copy the waveform record. For example, it may only copy when the waveform record is "full", not on each incremental update.
There are examples of Python and IDL code in the NDDriverStdArrays repository.
Mark
Thanks Matt, it is exactly what I need, but it is still unclear how it interfaces with my existing waveform record,
i.e. How to pass data from my waveform record to $(P)$(R)ArrayIn. My waveform record already has its INP field set to read input from a compress record doing circular buffer at 200 Hz from the hardware.
Best Regards,
Abdalla Al-Dalleh
Control Engineer
SESAME
Hi Abdalla,
This might be what you need:
https://areadetector.github.io/areaDetector/NDDriverStdArrays/NDDriverStdArraysDoc.html
It monitors a waveform record and can turn it into an NDArray, which can then be processed by other areaDetector plugins as needed. It doesn’t connect to the Asyn port that is
producing the waveform data directly, but instead sets up a channel access monitor.
Cheers,
Matt
Hi Is there a way to apply AD plugins on a waveform record processed from asyn port without rewriting an asynNDArrayDriver class?
i. e. , something to be done in the st. cmd maybe? Best Regards, Abdalla Al-Dalleh Control Engineer SESAME
Hi
Is there a way to apply AD plugins on a waveform record processed from asyn port without rewriting an asynNDArrayDriver
class? i.e., something to be done in the st.cmd maybe?
Best Regards,
Abdalla Al-Dalleh
Control Engineer
SESAME