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 2021 <2022> 2023 2024 2025 | 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 2021 <2022> 2023 2024 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | RE: AreaDetector: device with 3 network ports |
From: | Mark Rivers via Tech-talk <tech-talk at aps.anl.gov> |
To: | David Vine <dvine at sigray.com> |
Cc: | "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov> |
Date: | Thu, 21 Apr 2022 18:57:49 +0000 |
Hi David, You could use this driver as an example: https://github.com/epics-modules/quadEM/blob/master/quadEMApp/src/drvNSLS_EM.cpp
It creates 3 drvAsynIPPorts in the driver itself. One is UDP, 2 are TCP. Using that approach you can just pass the IP address to the xxxConfigure command and constructor, and then the calls to drvAsynIPPortConfigure are done in the driver
itself, not in the startup script. I think this approach should work fine, you don’t need to use the raw socket calls. I don’t remember why I used the raw socket calls for the Pixirad driver. It may just be that I did not realize I could use drvAsynIPPort. Mark From: Tech-talk <tech-talk-bounces at aps.anl.gov>
On Behalf Of David Vine via Tech-talk Hi all, I'm looking for the best AD module to base a new driver on. I'm working with a new flat panel detector that receives commands, sends responses and sends data from three different ports on the same ip address using UDP. Each image is about 13MB and it can supposedly do 45 fps (585MB/s) on a 10 GB
connection. I found an old message (https://epics.anl.gov/tech-talk/2017/msg00592.php) with some suggestions and the closest one it seems is Pixirad. But the pixirad creates on ip port
in st.cmd and a direct socket connection for the data. I would naively create three drvAsynIPPortConfigure one for each port but that's not how it is done in Pixirad and I'd like to avoid working directly with sockets if possible. Can I use Mythen as a model and just make a "mythenConfig" that takes 3 ip ports? Is that not preferred for some reason? The approach I choose needs to handle 585MB/s. Thanks, This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have
received this email in error, please notify the system manager. This message contains confidential information and is intended only for the individual named. If you are not the named addressee, you should not disseminate, distribute or copy this email. Please
notify the sender immediately by email if you have received this email by mistake and delete this email from your system. If you are not the intended recipient, you are notified that disclosing, copying, distributing or taking any action in reliance on the
contents of this information is strictly prohibited |