EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  <20212022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  <20212022  2023  2024 
<== Date ==> <== Thread ==>

Subject: New Update: Using ADAravis with Spectral Instrument 1700 Radiation hard camera
From: "Liu, Wanming via Tech-talk" <tech-talk at aps.anl.gov>
To: "Shen, Guobao" <gshen at anl.gov>, Maren Purves <m.purves at eaobservatory.org>
Cc: "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Date: Fri, 17 Sep 2021 14:43:36 +0000

Hi Mark & all.

Here is some new update on using ADAravis with Spectral Instrument 1700 radiation hard camera.

After exchanging emails with the vendor, we finally got the problems sorted out.  The root cause of the problems is the timeout settings on the video stream.  The reason that I was only able to trigger the camera with batteries is believed to be the fact that there are multiple triggers within one touch and few of them beat the timeout.

There is a    "initial-packet-timeout", which is currently not available within ADAravis,  need to be set in order for this camera to work properly in TriggerEachFrame mode.   So I did a quick fix by using  “packet-timeout” for setting both of them within both makeStreamObject() as

        g_object_set (ARV_GV_STREAM (this->stream),

                  "packet-resend",      (guint64) PktResend,

                  "packet-timeout",     (guint64) PktTimeout,

                  "frame-retention",    (guint64) FrameRetention,

                                                      "initial-packet-timeout",  (guint64) PktTimeout,

                  NULL); 

And I also copied that part of code from makeStreamObject() into  startCapture() just before it calls arv_camera_start_acquisition as:

         epicsInt32      FrameRetention, PktResend, PktTimeout;

        getIntegerParam(AravisFrameRetention,  &FrameRetention);

        getIntegerParam(AravisPktResend,       &PktResend);

        getIntegerParam(AravisPktTimeout,      &PktTimeout);

       g_object_set (ARV_GV_STREAM (this->stream),

                  "packet-resend",      (guint64) PktResend,

                  "packet-timeout",     (guint64) PktTimeout,

                  "frame-retention",    (guint64) FrameRetention,

                                                      "initial-packet-timeout",  (guint64) PktTimeout,

                  NULL);

 

    // Start the camera acquiring

    arv_camera_start_acquisition (this->camera, err.get());

 

so that there will be no need to reconnect the camera before the change can have effect.

 

Cheers,

 

Thanks for all the helps.

 

Wanming

 

 

From: Liu, Wanming
Sent: Friday, September 10, 2021 5:20 PM
To: Shen, Guobao <gshen at anl.gov>; Maren Purves <m.purves at eaobservatory.org>
Cc: Rivers, Mark L. <rivers at cars.uchicago.edu>; tech-talk at aps.anl.gov
Subject: RE: Using ADAravis with Spectral Instrument 1700 Radiation hard camera

 

Hi Mark, Guobao, Jörn and Maren

 

Here is the update.

After directly connected the camera to the linux machine in the Lab, now ADAravis is reporting much less bad frames, 6 out of about 2000 when camera is in streaming mode.   When I put it in trigger each frame mode, it is kind of working now. (I could not trigger it with our regular TTL camera trigger signal.  So I used battery to trigger it( we will setup a trigger buffer before we actually deploy these cameras).  ADAravis is still reporting bad frames, but I guess it is just from the improper triggers as I get few frames with every touch of the battery)

There are few features of this camera that can not be controlled with ADAravis.  But for the bottom line, ADAravis can work with this Spectral Instrument 1700 radiation hard camera to get the work done when the networks is properly configured.

 

Thank you all for the helps.

 

Have a nice weekend,

 

 

Wanming

 

 

From: Shen, Guobao <gshen at anl.gov>
Sent: Friday, September 10, 2021 8:23 AM
To: Liu, Wanming <wmliu at anl.gov>; Maren Purves <m.purves at eaobservatory.org>
Cc: Rivers, Mark L. <rivers at cars.uchicago.edu>; tech-talk at aps.anl.gov
Subject: Re: Using ADAravis with Spectral Instrument 1700 Radiation hard camera

 

Wanming,

If the arv-viewer and ADAravis can get the video stream, it does not seem to be a problem of the network configuration.

Possible that there are some setting shall be done to configure the camera properly?

Would guess that something specific to the camera.

 

Thanks,

Guobao

 

 

From: "Liu, Wanming" <wmliu at anl.gov>
Date: Thursday, September 9, 2021 at 7:10 PM
To: Maren Purves <
m.purves at eaobservatory.org>, "Shen, Guobao" <gshen at anl.gov>
Cc: "Rivers, Mark L." <
rivers at cars.uchicago.edu>, Tech-Talk <tech-talk at aps.anl.gov>
Subject: Re: Using ADAravis with Spectral Instrument 1700 Radiation hard camera

 

Hi Guobao,

arv-viewer can get video stream with some errors from the camera but not the triggered frames.   ADAravis can also get the video stream with a lot of bad frame errors.  

So I guess if I kept triggering it, I may get few good frames out of a large number of triggers too.

 

Hi Maren,

You are right, I typed in one extra 2.  Luckly, I'm not making any financial transaction.:)

 

The number of elements more than needed won't be a problem but fewer than needed will be.   I found it out when I was setting up blackflys.

 

Thanks,

 

Wanming


From: Maren Purves <m.purves at eaobservatory.org>
Sent: Thursday, September 9, 2021 6:06 PM
To: Shen, Guobao <
gshen at anl.gov>
Cc: Liu, Wanming <
wmliu at anl.gov>; Rivers, Mark L. <rivers at cars.uchicago.edu>; tech-talk at aps.anl.gov <tech-talk at aps.anl.gov>
Subject: Re: Using ADAravis with Spectral Instrument 1700 Radiation hard camera

 

Looks like a typo to me, one too many 2s
I get 2228224

My keyboard sometimes causes such things.

Maren

On Thu, Sep 9, 2021 at 12:24 PM Shen, Guobao via Tech-talk
<tech-talk at aps.anl.gov> wrote:
>
> Wanming,
>
> It probably does not matter, but I did see you have this
>
> # Define NELEMENTS to be enough for a 2048x1088 mono image
>
> epicsEnvSet("NELEMENTS", "22228224")
>
>
>
> the 2048x1088 does not need 20M elements.
>
>
>
> Are you able to talk with the camera using aravis on your Linux machine?
>
>
>
> Thanks,
>
> Guobao
>
>
>
> From: Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of Tech-Talk <tech-talk at aps.anl.gov>
> Reply-To: "Liu, Wanming" <wmliu at anl.gov>
> Date: Thursday, September 9, 2021 at 4:47 PM
> To: "Rivers, Mark L." <rivers at cars.uchicago.edu>
> Cc: Tech-Talk <tech-talk at aps.anl.gov>
> Subject: RE: Using ADAravis with Spectral Instrument 1700 Radiation hard camera
>
>
>
> Hi Mark,
>
>
>
> It does have a beta version windows program from the vendor which I believe was made using Labview as it depends on Labview runtimes.  That program works fine.  But we need to integrate the camera into our system and that is why I’m trying to use ADAravis.
>
> The user manual has a chapter called “SI Image CMOS TCP/IP Camera Control”.  If I could not make it working with ADAravis, then I will need to go through both that chapter and the areaDetector developer guide  before I can try to program a support module for it.  I hope that I don’t need to go that far.
>
>
>
> Thanks for the helps.
>
>
>
> Wanming
>
>
>
>
>
> From: Mark Rivers <rivers at cars.uchicago.edu>
> Sent: Thursday, September 9, 2021 4:19 PM
> To: Liu, Wanming <wmliu at anl.gov>
> Cc: tech-talk at aps.anl.gov
> Subject: RE: Using ADAravis with Spectral Instrument 1700 Radiation hard camera
>
>
>
> Does this camera come with a vendor GUI program, and/or a vendor SDK?  If so, have you tried to run the camera with that vendor software?
>
>
>
> Mark
>
>
>
>
>
> From: Liu, Wanming <wmliu at anl.gov>
> Sent: Thursday, September 9, 2021 4:09 PM
> To: Mark Rivers <rivers at cars.uchicago.edu>
> Cc: tech-talk at aps.anl.gov
> Subject: RE: Using ADAravis with Spectral Instrument 1700 Radiation hard camera
>
>
>
> Hi Mark,
>
>
>
> I just checked the settings on linux machine in the Lab.  It has been configured according to the instruction and the camera wasn’t working there.
>
> I enabled jumbo frame with both NICs in the windows machine in my office and configured the linux virtual machine following the instructions( The camera is connected to one physical NIC which is bridged into the virtual machine).  It doesn’t seem to have any effect.
>
> The next thing I could try is to connect the camera directly to the linux machine in the lab using a crossover cable instead of over the LAN and see how it goes.
>
>
>
> Thanks for the helps.
>
>
>
> Wanming
>
>
>
> From: Mark Rivers <rivers at cars.uchicago.edu>
> Sent: Thursday, September 9, 2021 2:11 PM
> To: Liu, Wanming <wmliu at anl.gov>
> Cc: tech-talk at aps.anl.gov
> Subject: RE: Using ADAravis with Spectral Instrument 1700 Radiation hard camera
>
>
>
> Hi Wanming,
>
>
>
> Don't know what to do with MaskedIntReg
> Don't know what to do with IntReg
>
>
>
> Those messages are normal, you can ignore them.
>
>
>
> When I tried to acquire data from the camera,  the IOC complained about
> ADAravis::newBufferCallback bad frame status: Timeout
> or sometimes
> ADAravis::newBufferCallback bad frame status: Missing Pkts.
>
>
>
> Have you set the Linux system parameters for GigE cameras as explained here:
>
> https://areadetector.github.io/master/ADGenICam/ADGenICam.html#linux-usb-and-gige-system-settings
>
>
>
> Mark
>
>
>
> From: Liu, Wanming <wmliu at anl.gov>
> Sent: Thursday, September 9, 2021 1:43 PM
> To: Mark Rivers <rivers at cars.uchicago.edu>
> Cc: tech-talk at aps.anl.gov
> Subject: RE: Using ADAravis with Spectral Instrument 1700 Radiation hard camera
>
>
>
> Hi Mark,
>
> Thanks for your response.
>
>
>
> When use addCamera.sh in ADGenICam with the XML file extracted with arv-tool-0.8, it shows a bunch of don’t know what to do with IntReg.  Based on the ADAravis documentation, it should be fine.
>
> Don't know what to do with MaskedIntReg
>
> Don't know what to do with MaskedIntReg
>
> Don't know what to do with IntReg
>
> Don't know what to do with IntReg
>
> Don't know what to do with IntReg
>
> Don't know what to do with IntReg
>
> Don't know what to do with IntReg
>
> Don't know what to do with IntReg
>
> Don't know what to do with IntReg
>
> Don't know what to do with IntReg
>
> Don't know what to do with IntReg
>
> Don't know what to do with IntReg
>
> Don't know what to do with IntReg
>
> Don't know what to do with IntReg
>
> Don't know what to do with IntReg
>
> Don't know what to do with IntReg
>
> Don't know what to do with IntReg
>
> Don't know what to do with IntReg
>
> Don't know what to do with IntReg
>
> Don't know what to do with IntReg
>
>
>
> Then I copied one of the st.cmd…  file into st.cmd.si and modified it as following
>
>
>
> < envPaths
>
> errlogInit(20000)
>
>
>
> dbLoadDatabase("$(TOP)/dbd/ADAravisApp.dbd")
>
> ADAravisApp_registerRecordDeviceDriver(pdbbase)
>
>
>
> # Name of camera as reported by arv-tool
>
> epicsEnvSet("CAMERA_NAME", "Spectral Instruments, Inc.-1700-139")
>
>
>
> # The maximum image width; used for row profiles in the NDPluginStats plugin
>
> epicsEnvSet("XSIZE",  "2048")
>
>
>
> # The maximum image height; used for column profiles in the NDPluginStats plugin
>
> epicsEnvSet("YSIZE",  "1088")
>
>
>
> # Define NELEMENTS to be enough for a 2048x1088 mono image
>
> epicsEnvSet("NELEMENTS", "22228224")
>
>
>
> # Enable register caching
>
> epicsEnvSet("ENABLE_CACHING", "1")
>
>
>
> # The database file
>
> epicsEnvSet("GENICAM_DB_FILE", "$(ADGENICAM)/db/si.template")
>
>
>
> < st.cmd.base
>
>
>
>
>
> Then I launched IOC and every thing looks fine.  The problem was when I tried to acquire data from the camera.
>
> When I tried to acquire data from the camera,  the IOC complained about
>
>
>
> ADAravis::newBufferCallback bad frame status: Timeout
>
> or sometimes
>
> ADAravis::newBufferCallback bad frame status: Missing Pkts.
>
>
>
> while no image can be displayed on the OPI.
>
>
>
> It might be some camera setting issues or network setting issue.
>
>
>
> Thanks for advices
>
>
>
> Wanming
>
>
>
>
>
> From: Mark Rivers <rivers at cars.uchicago.edu>
> Sent: Thursday, September 9, 2021 10:18 AM
> To: Liu, Wanming <wmliu at anl.gov>
> Cc: tech-talk at aps.anl.gov
> Subject: RE: Using ADAravis with Spectral Instrument 1700 Radiation hard camera
>
>
>
> Hi Wanming,
>
>
>
> Those errors may not prevent ADAravis from working.  For example most but not all cameras have the SensorWidth feature, but ADAravis does not require it.  It does require WidthMax.  Similarly, many cameras do not have a GainRaw feature.
>
>
>
> What happens if you run arv-tool-0.8 to extract the XML file, use the Python scripts to generate the template and OPI files, and then try to run an ADAravis IOC with the camera?
>
>
>
> Mark
>
>
>
>
>
> From: Tech-talk <tech-talk-bounces at aps.anl.gov> On Behalf Of Liu, Wanming via Tech-talk
> Sent: Thursday, September 9, 2021 9:54 AM
> To: tech-talk at aps.anl.gov
> Subject: Using ADAravis with Spectral Instrument 1700 Radiation hard camera
>
>
>
> Hi,
>
>
>
> We recently bought a few radiation hard GigE cameras from Spectral Instruments Inc.  I’m just wondering if anybody has any experience using them with ADAravis.
>
> We have no problem using ADAravis with other GigE camera we have.  But so far there is no success with this Spectral Instruments 1700 radiation hard camera.
>
> When I checked it with arv-test-0.8.exe, it reports several errors.
>
> $ arv-test-0.8.exe
>
> Found 1 device
>
> Testing 'Spectral Instruments, Inc.:1700'
>
> Genicam:Load                        SUCCESS
>
> Genicam:Schema                      IGNORED
>
> Properties:SensorSizeReadout        FAILURE node 'SensorWidth' not found
>
> Properties:SensorSizeCheck          IGNORED
>
> Properties:GainReadout              FAILURE node 'GainRaw' not found
>
> Properties:ExposureTimeReadout      SUCCESS
>
> MultipleAcquisition:BufferCheck     FAILURE node 'TriggerSelector' not found
>
> SingleAcquisition:BufferCheck       FAILURE
>
> Chunks:NoSupport                    FAILURE
>
> SoftwareTrigger:NoSupport           FAILURE
>
> GigEVision:NStreamChannels          SUCCESS
>
> GigEVision:StreamChannel            SUCCESS
>
>
>
> Any comments and suggestions are appreciated.
>
>
>
> Thanks,
>
>
>
> Wanming Liu


Navigate by Date:
Prev: Re: socketcan driver and the tudsocketcan Ralph Lange via Tech-talk
Next: A Career Engineer Position for ALS-U at LBNL Han Lee via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  <20212022  2023  2024 
Navigate by Thread:
Prev: Experience with Newport ESP302 motion controllers? Angelic Ebbers via Tech-talk
Next: A Career Engineer Position for ALS-U at LBNL Han Lee via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  <20212022  2023  2024 
ANJ, 17 Sep 2021 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·