Indeed, the problem was that I didn’t set EnableCallbacks when I started the IOC. Running that gets the image to the rest of the chain. Thank you.
From: Mark Rivers <firstname.lastname@example.org>
Sent: Monday, January 21, 2019 12:43 PM
To: Iain Marcuson <email@example.com>
Subject: RE: AreaDetector Code Not Updating
- $(P)$(R)ArrayCounter_RBV does not update on taking an image, but there is no error reported for setIntegerParam(NDArrayCounter,
imageCounter). In addition, the NDArraySizeX and Y do not have the correct values.
Which $(P)$(R) are you referring to here? I assume you mean the one for the NDStdArrays plugin? That PV does not update when you call setIntegerParam(NDArrayCounter, imageCounter)
in your driver. There are separate PVs for NDArrayCounter in the driver and in each plugin.
The problem is probably that the NDStdArrays plugin is not being called.
That is most likely for one of the following reasons:
- Your driver is not calling doCallbacksGenericPointer, perhaps because ArrayCallbacks is not enabled.
- The NDStdArrays plugin is not enabled with the EnableCallbacks PV.
I am writing an AreaDetector driver for hardware we are building. I am using EPICS Base 3.15.4, AreaDetector git commit f425743d3, and synApps 5.8, with asyn updated to 4-31. I am basing my
code off of code that works for another project, which is ultimately based off of the Mythen driver. The driver I am writing receives data from the source, but it does not pass this information on via NDStdArrays. $(P)$(R)ArrayCounter_RBV does not update
on taking an image, but there is no error reported for setIntegerParam(NDArrayCounter, imageCounter). In addition, the NDArraySizeX and Y do not have the correct values. I can include the driver file if that would be helpful.
Software Engineer, Sydor Technologies