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  2021  2022  2023  <20242025  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  <20242025 
<== Date ==> <== Thread ==>

Subject: Re: Help adding Measurement Computing support to IOC
From: "Johnson, Andrew N. via Tech-talk" <tech-talk at aps.anl.gov>
To: "Rivers, Mark L." <rivers at cars.uchicago.edu>, EPICS Tech Talk <tech-talk at aps.anl.gov>
Date: Mon, 14 Oct 2024 16:32:17 +0000

Hi Mark,

 

Assuming the user makes those choices when they configure and build the measComp module, those choices can be incorporated into a generated cfg/CONFIG_MEASCOMP_MODULE file, or into a target-specific file installed alongside it which that file includes.

 

I have a simple example in our build of the ADARAVIS module. This is the configure/Makefile from our installation:

 

TOP=..

# Don’t move this line:

THIS_MAKEFILE := $(lastword $(MAKEFILE_LIST))

 

include $(TOP)/configure/CONFIG

 

TARGETS = $(CONFIG_TARGETS)

CONFIGS += $(subst ../,,$(wildcard $(CONFIG_INSTALLS)))

 

ifeq ($(T_A),$(EPICS_HOST_ARCH))

  # Publish Aravis paths for downstream modules to use

  CFG += CONFIG_ADARAVIS_MODULE

endif

 

include $(TOP)/configure/RULES

 

ifeq ($(T_A),$(EPICS_HOST_ARCH))

  # Get local settings for the CONFIG_ADARAVIS_MODULE file

  include $(TOP)/../CONFIG_SITE.local

 

  CONFIG_ADARAVIS_MODULE: $(THIS_MAKEFILE)

     $(RM) $@

     echo "# Generated file" > $@

     echo "ARAVIS_LIB = $(ARAVIS_LIB)" >> $@

     echo "ARAVIS_INCLUDE = $(ARAVIS_INCLUDE)" >> $@

     echo "GLIB_INCLUDE = $(GLIB_INCLUDE)" >> $@

 

  clean: clean-cfg

  clean-cfg:

     $(RM) CONFIG_ADARAVIS_MODULE

endif

 

This generates and installs a cfg/CONFIG_ADARAVIS_MODULE file which allows our camera IOCs built against this module to inherit the same settings we used for compiling the module. The IOC application doesn’t need to be told where the Aravis SDK is installed, it just uses those Make variables. In this case we only handle the host architecture though.

 

Sorry I don’t have time to go into more detail right now, but hopefully this gets you started to see the possibilities. If a module will need different settings for different targets I would definitely look at creating a separate file for each, which the top-level CONFIG_<module>_MODULE file then includes using $(T_A) in the included filename, and note that those filenames must not start with CONFIG as the EPICS build system automatically includes all files whose names start with that from the cfg directory.

 

- Andrew

 

-- 

Complexity comes for free, Simplicity you have to work for.

 

 

On 10/12/24, 12:03PM, "Mark Rivers" <rivers at cars.uchicago.edu> wrote:

 

Hi Andrew, This is a situation where the module could make building downstream IOC applications simpler if it installed a cfg/CONFIG_MEASCOMP_MODULE file that sets build variables for use in the IOC Makefiles. The mrfIoc2 module provides a basic

ZjQcmQRYFpfptBannerStart

This Message Is From an External Sender

This message came from outside your organization.

 

ZjQcmQRYFpfptBannerEnd

Hi Andrew,

 

·         This is a situation where the module could make building downstream IOC applications simpler if it installed a cfg/CONFIG_MEASCOMP_MODULE file that sets build variables for use in the IOC Makefiles. The mrfIoc2 module provides a basic example of doing that.

These are the relevant lines from the measComp module Makefile that builds the IOC.

 

ifeq (win32-x86, $(findstring win32-x86, $(T_A)))

  measComp_LIBS += cbw32

  measCompApp_LIBS += cbw32

else ifeq (windows-x64, $(findstring windows-x64, $(T_A)))

  measComp_LIBS += cbw64

  measCompApp_LIBS += cbw64

endif

ifdef ULDAQ_DIR

  measCompApp_LIBS_Linux += uldaq

else

  measCompApp_SYS_LIBS_Linux += uldaq

endif

measCompApp_SYS_LIBS_Linux += usb-1.0

 

 

For Linux,, some users may want to install the vendor uldaq library in a non-system location, and point ULDAQ_DIR to it.  Others will install in a system location, e.g. /usr/local/bin.

 

What would be the syntax for incorporating the above lines into CONFIG_MEASCOMP_MODULE?

 

Thanks,

Mark

 

 


From: Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of Johnson, Andrew N. via Tech-talk <tech-talk at aps.anl.gov>
Sent: Friday, October 11, 2024 5:42 PM
To: Jesse Hopkins <jhopkins1 at iit.edu>; EPICS Tech Talk <Tech-talk at aps.anl.gov>
Subject: Re: Help adding Measurement Computing support to IOC

 

Hi Jesse,

 

Your labjack_LIBS variable is missing the additional libraries which the measComp support code calls, and you might need a labjack_SYSLIBS setting as well. You’ll need to look at the Makefile in the measComp module which builds the test IOC to work out exactly what you’re going to need, it’s not trivial unfortunately.

 

This is a situation where the module could make building downstream IOC applications simpler if it installed a cfg/CONFIG_MEASCOMP_MODULE file that sets build variables for use in the IOC Makefiles. The mrfIoc2 module provides a basic example of doing that.

 

- Andrew

 

 

-- 

Complexity comes for free, Simplicity you have to work for.

 

 

On 10/11/24, 4:05PM, "Tech-talk" <tech-talk-bounces at aps.anl.gov> wrote:

 

Hi folks,

 

I'm attempting to add support for Measurement Computing devices into an existing IOC (that I currently use with some LabJack devices). However, I'm having an issue with building the IOC.

 

As far as I can tell, the measurement computing support builds fine (I'm building it as part of synapps, but updated to the latest version of MeasComp in the git as of a couple of days ago). I can run one of the test IOCs that is included with the support in the synapps build without issue (in this case for the E-TC).

 

The problem comes when I try to add the support to my IOC. I go to rebuild the IOC and I get the following errors:

(main) biocat@dalek:/opt/epics/iocs/epics_iocs/soft_iocs/test$ make
make -C ./configure install
make[1]: Entering directory '/opt/epics/iocs/epics_iocs/soft_iocs/test/configure'
perl -CSD /opt/epics/base/bin/linux-x86_64/makeMakefile.pl O.linux-x86_64 ../..
mkdir -p O.Common
make -C O.linux-x86_64 -f ../Makefile TOP=../.. \
    T_A=linux-x86_64 install
make[2]: Entering directory '/opt/epics/iocs/epics_iocs/soft_iocs/test/configure/O.linux-x86_64'
perl -CSD /opt/epics/base/bin/linux-x86_64/convertRelease.pl checkRelease
make[2]: Leaving directory '/opt/epics/iocs/epics_iocs/soft_iocs/test/configure/O.linux-x86_64'
make[1]: Leaving directory '/opt/epics/iocs/epics_iocs/soft_iocs/test/configure'
make -C ./labjackApp install
make[1]: Entering directory '/opt/epics/iocs/epics_iocs/soft_iocs/test/labjackApp'
make -C ./src install
make[2]: Entering directory '/opt/epics/iocs/epics_iocs/soft_iocs/test/labjackApp/src'
perl -CSD /opt/epics/base/bin/linux-x86_64/makeMakefile.pl O.linux-x86_64 ../../..
mkdir -p O.Common
make -C O.linux-x86_64 -f ../Makefile TOP=../../.. \
    T_A=linux-x86_64 install
make[3]: Entering directory '/opt/epics/iocs/epics_iocs/soft_iocs/test/labjackApp/src/O.linux-x86_64'
/usr/bin/g++  -D_GNU_SOURCE -D_DEFAULT_SOURCE          -D_X86_64_ -DUNIX  -Dlinux      -O3 -g   -Wall      -mtune=generic     -m64  -I. -I../O.Common -I. -I. -I.. -I../../../include/compiler/gcc -I../../../include/os/Linux -I../../../include     -I/opt/epics/synApps_6_3/support/autosave-R5-11/include/os/Linux -I/opt/epics/synApps_6_3/support/autosave-R5-11/include   -I/opt/epics/synApps_6_3/support/asyn-R4-44-2/include   -I/opt/epics/synApps_6_3/support/busy-R1-7-4/include   -I/opt/epics/synApps_6_3/support/LabJack-master/include   -I/opt/epics/synApps_6_3/support/measComp-master/include -I/opt/epics/base/include/compiler/gcc -I/opt/epics/base/include/os/Linux -I/opt/epics/base/include        -MM -MF labjackMain.d  ../labjackMain.cpp
Creating dbd file labjack.dbd
perl -CSD /opt/epics/base/bin/linux-x86_64/dbdExpand.pl   -I. -I.. -I../O.Common -I../../../dbd -I/opt/epics/synApps_6_3/support/autosave-R5-11/dbd -I/opt/epics/synApps_6_3/support/asyn-R4-44-2/dbd -I/opt/epics/synApps_6_3/support/busy-R1-7-4/dbd -I/opt/epics/synApps_6_3/support/LabJack-master/dbd -I/opt/epics/synApps_6_3/support/measComp-master/dbd -I/opt/epics/base/dbd -o labjack.dbd base.dbd asyn.dbd busySupport.dbd asSupport.dbd LabJackSupport.dbd measCompSupport.dbd
perl -CSD /opt/epics/base/bin/linux-x86_64/registerRecordDeviceDriver.pl   -I. -I.. -I../O.Common -I../../../dbd -I/opt/epics/synApps_6_3/support/autosave-R5-11/dbd -I/opt/epics/synApps_6_3/support/asyn-R4-44-2/dbd -I/opt/epics/synApps_6_3/support/busy-R1-7-4/dbd -I/opt/epics/synApps_6_3/support/LabJack-master/dbd -I/opt/epics/synApps_6_3/support/measComp-master/dbd -I/opt/epics/base/dbd    -o labjack_registerRecordDeviceDriver.cpp \
            ../O.Common/labjack.dbd labjack_registerRecordDeviceDriver /opt/epics/iocs/epics_iocs/soft_iocs/test
/usr/bin/g++  -D_GNU_SOURCE -D_DEFAULT_SOURCE          -D_X86_64_ -DUNIX  -Dlinux      -O3 -g   -Wall      -mtune=generic     -m64  -I. -I../O.Common -I. -I. -I.. -I../../../include/compiler/gcc -I../../../include/os/Linux -I../../../include     -I/opt/epics/synApps_6_3/support/autosave-R5-11/include/os/Linux -I/opt/epics/synApps_6_3/support/autosave-R5-11/include   -I/opt/epics/synApps_6_3/support/asyn-R4-44-2/include   -I/opt/epics/synApps_6_3/support/busy-R1-7-4/include   -I/opt/epics/synApps_6_3/support/LabJack-master/include   -I/opt/epics/synApps_6_3/support/measComp-master/include -I/opt/epics/base/include/compiler/gcc -I/opt/epics/base/include/os/Linux -I/opt/epics/base/include        -MM -MF labjack_registerRecordDeviceDriver.d  labjack_registerRecordDeviceDriver.cpp
Installing created dbd file ../../../dbd/labjack.dbd
/usr/bin/g++  -D_GNU_SOURCE -D_DEFAULT_SOURCE          -D_X86_64_ -DUNIX  -Dlinux      -O3 -g   -Wall      -mtune=generic     -m64  -I. -I../O.Common -I. -I. -I.. -I../../../include/compiler/gcc -I../../../include/os/Linux -I../../../include     -I/opt/epics/synApps_6_3/support/autosave-R5-11/include/os/Linux -I/opt/epics/synApps_6_3/support/autosave-R5-11/include   -I/opt/epics/synApps_6_3/support/asyn-R4-44-2/include   -I/opt/epics/synApps_6_3/support/busy-R1-7-4/include   -I/opt/epics/synApps_6_3/support/LabJack-master/include   -I/opt/epics/synApps_6_3/support/measComp-master/include -I/opt/epics/base/include/compiler/gcc -I/opt/epics/base/include/os/Linux -I/opt/epics/base/include        -c labjack_registerRecordDeviceDriver.cpp
/usr/bin/g++  -D_GNU_SOURCE -D_DEFAULT_SOURCE          -D_X86_64_ -DUNIX  -Dlinux      -O3 -g   -Wall      -mtune=generic     -m64  -I. -I../O.Common -I. -I. -I.. -I../../../include/compiler/gcc -I../../../include/os/Linux -I../../../include     -I/opt/epics/synApps_6_3/support/autosave-R5-11/include/os/Linux -I/opt/epics/synApps_6_3/support/autosave-R5-11/include   -I/opt/epics/synApps_6_3/support/asyn-R4-44-2/include   -I/opt/epics/synApps_6_3/support/busy-R1-7-4/include   -I/opt/epics/synApps_6_3/support/LabJack-master/include   -I/opt/epics/synApps_6_3/support/measComp-master/include -I/opt/epics/base/include/compiler/gcc -I/opt/epics/base/include/os/Linux -I/opt/epics/base/include        -c ../labjackMain.cpp
/usr/bin/g++ -o labjack  -L/opt/epics/iocs/epics_iocs/soft_iocs/test/lib/linux-x86_64 -L/opt/epics/base/lib/linux-x86_64 -L/opt/epics/synApps_6_3/support/LabJack-master/lib/linux-x86_64 -L/opt/epics/synApps_6_3/support/asyn-R4-44-2/lib/linux-x86_64 -L/opt/epics/synApps_6_3/support/autosave-R5-11/lib/linux-x86_64 -L/opt/epics/synApps_6_3/support/busy-R1-7-4/lib/linux-x86_64 -L/opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64 -Wl,-rpath,/opt/epics/iocs/epics_iocs/soft_iocs/test/lib/linux-x86_64 -Wl,-rpath,/opt/epics/base/lib/linux-x86_64 -Wl,-rpath,/opt/epics/synApps_6_3/support/LabJack-master/lib/linux-x86_64 -Wl,-rpath,/opt/epics/synApps_6_3/support/asyn-R4-44-2/lib/linux-x86_64 -Wl,-rpath,/opt/epics/synApps_6_3/support/autosave-R5-11/lib/linux-x86_64 -Wl,-rpath,/opt/epics/synApps_6_3/support/busy-R1-7-4/lib/linux-x86_64 -Wl,-rpath,/opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64          -rdynamic -m64         labjack_registerRecordDeviceDriver.o labjackMain.o    -lLabJack -lbusy -lautosave -lasyn -lLabJackM -lmeasComp -ldbRecStd -ldbCore -lca -lCom  
/usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulAOutScanStop'
/usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulAInScanStop'
/usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulDaqInScan'
/usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulDIn'
/usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulAISetConfigDbl'
/usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulDaqInSetTrigger'
/usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulTIn'
/usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulDevGetConfigStr'
/usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulCLoad'
/usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulAOutScanStatus'
/usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulGetNetDaqDeviceDescriptor'
/usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulGetDaqDeviceInventory'
/usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulCIn'
/usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulDaqInScanStop'
/usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulReleaseDaqDevice'
/usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulAOGetInfo'
/usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulCreateDaqDevice'
/usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulAInScan'
/usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulDaqInScanStatus'
/usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulAInScanStatus'
/usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulTmrPulseOutStop'
/usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulAIn'
/usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulAOutScan'
/usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulDIOGetInfo'
/usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulDConfigPort'
/usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulAOut'
/usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulConnectDaqDevice'
/usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulDBitOut'
/usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulGetErrMsg'
/usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulCClear'
/usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulGetInfoStr'
/usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulDOut'
/usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulAInLoadQueue'
/usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulDConfigBit'
/usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulCConfigScan'
/usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulCInScanStop'
/usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulTmrPulseOutStart'
/usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulAISetConfig'
/usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulAIGetInfo'
/usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulCInScan'
collect2: error: ld returned 1 exit status
make[3]: *** [/opt/epics/base/configure/RULES_BUILD:231: labjack] Error 1
make[3]: Leaving directory '/opt/epics/iocs/epics_iocs/soft_iocs/test/labjackApp/src/O.linux-x86_64'
make[2]: *** [/opt/epics/base/configure/RULES_ARCHS:58: install.linux-x86_64] Error 2
make[2]: Leaving directory '/opt/epics/iocs/epics_iocs/soft_iocs/test/labjackApp/src'
make[1]: *** [/opt/epics/base/configure/RULES_DIRS:85: src.install] Error 2
make[1]: Leaving directory '/opt/epics/iocs/epics_iocs/soft_iocs/test/labjackApp'
make: *** [/opt/epics/base/configure/RULES_DIRS:85: labjackApp.install] Error 2

 

 

Here's the contents of my src/Makefile:

TOP=../..

include $(TOP)/configure/CONFIG
#----------------------------------------
#  ADD MACRO DEFINITIONS AFTER THIS LINE
#=============================

#=============================
# Build the IOC application

PROD_IOC = labjack
# labjack.dbd will be created and installed
DBD += labjack.dbd

# labjack.dbd will be made up from these files:
labjack_DBD += base.dbd

# Include dbd files from all support applications:
labjack_DBD += asyn.dbd
labjack_DBD += busySupport.dbd
labjack_DBD += asSupport.dbd
labjack_DBD += LabJackSupport.dbd
labjack_DBD += measCompSupport.dbd

# Add all the support libraries needed by this IOC
labjack_LIBS += LabJack
labjack_LIBS += busy
labjack_LIBS += autosave
labjack_LIBS += asyn
labjack_LIBS += LabJackM
labjack_LIBS += measComp

# labjack_registerRecordDeviceDriver.cpp derives from labjack.dbd
labjack_SRCS += labjack_registerRecordDeviceDriver.cpp

# Build the main IOC entry point on workstation OSs.
labjack_SRCS_DEFAULT += labjackMain.cpp

# Add support from base/src/vxWorks if needed
#labjack_OBJS_vxWorks += $(EPICS_BASE_BIN)/vxComLibrary

# Finally link to the EPICS Base libraries
labjack_LIBS += $(EPICS_BASE_IOC_LIBS)

#===========================

include $(TOP)/configure/RULES
#----------------------------------------
#  ADD RULES AFTER THIS LINE

 

In case it helps, I'm attempting to build this on Debian 12, and I did install the libuldaq-1.2.1 vendor drivers as instructed.

 

If anyone has insight into what's going wrong that would be great. The IOC builds fine if I remove the measComp DBD and LIBS in the Makefile, but otherwise gives the above errors.

 

All the best.

- Jesse

 

----
Jesse Hopkins, PhD
Deputy Director
BioCAT, Sector 18
Advanced Photon Source


References:
Help adding Measurement Computing support to IOC Jesse Hopkins via Tech-talk
Re: Help adding Measurement Computing support to IOC Johnson, Andrew N. via Tech-talk
Re: Help adding Measurement Computing support to IOC Mark Rivers via Tech-talk

Navigate by Date:
Prev: Re: [Ext] Re: Help adding Measurement Computing support to IOC Jesse Hopkins via Tech-talk
Next: Re: Phoebus Olog and Web Client Wang, Lin 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  2021  2022  2023  <20242025 
Navigate by Thread:
Prev: Re: Help adding Measurement Computing support to IOC Mark Rivers via Tech-talk
Next: Re: Help adding Measurement Computing support to IOC Mark Rivers 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  2021  2022  2023  <20242025 
ANJ, 14 Oct 2024 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions ·
· Download · Search · IRMIS · Talk · Documents · Links · Licensing ·