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: Problems setting up MCA BrukerQM100 |
From: | Mark Rivers via Tech-talk <tech-talk at aps.anl.gov> |
To: | "Lott, Eva" <eva.lott at helmholtz-berlin.de>, "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov> |
Date: | Mon, 28 Apr 2025 17:15:32 +0000 |
Hi Eva,
BIN_INSTALLS_WIN32 += RTPCI.dll WIN32 there really means “Windows”, it is not 32-bit or 64-bit specific. Where are you getting that BIN_INSTALLS_WIN32 command? The one in the Makefile on Github (https://github.com/epics-modules/mca/blob/master/mcaApp/RontecSrc/Makefile)
is this: #BIN_INSTALLS_WIN32 += ../RTIfcClient.dll I have not worked on that driver for many years. I never had the Bruker hardware to be able to test. Neither RTPCI.dll nor RTIfcClient.dll are distributed with the mca module. Did you get that file from Bruker?
Yes, I think that is correct. I think that file is just for reading and controlling the cooling. Mark From: Lott, Eva <eva.lott at helmholtz-berlin.de>
Hi Mark, Many thanks for the fast response! That makes sense, I'm nearly there with the following st.cmd: < envPaths
epicsEnvSet(STARTUP, $(TOP)\iocBoot\$(IOC))
dbLoadDatabase("..\..\dbd\mcaBrukerQM100.dbd", 0, 0)
mcaBrukerQM100_registerRecordDeviceDriver(pdbbase)
BrukerQM100Config(L0, "edx", "redacted_password", "Local server", 1)
# =========== Works after manually adding "$(BUSY)/dbd/busySupport.dbd" to Makefile ========================== dbLoadRecords("..\..\mcaApp\Db\mca.db","P=XFLASH:,M=mca1,NCHAN=1024,DTYP=asynMCA,INP=@asyn(L0)")
# ==============================================================================================
dbLoadRecords("$(ASYN)\db\asynRecord.db","P=XFLASH:,R=L0,PORT=L0,ADDR=0,OMAX=256,IMAX=256")
# ======== init the ioc ========
iocInit()
# < ..\save_restore.cmd
# ======== save settings every thirty seconds
# create_monitor_set("auto_settings.req",30,"P=XFLASH:")
(BrukerQM100Config) Unable to find function SendRCLCommand (BrukerQM100Config) Unable to find function ReadSpectrum (BrukerQM100Config) Unable to find function GetSpectrum (roentecServer) Unable to find function StartSpectrumMeasurement (roentecServer) Unable to find function StartSpectrumLifeTimeMeasurement (roentecServer) Unable to find function StartSpectrumCounterMeasurement (roentecServer) Unable to find function StopSpectrumMeasurement
BIN_INSTALLS_WIN32 += RTPCI.dll However this happens when trying to use the 64 bit control driver too. I'm assuming that the 64 bit driver is currently unsupported?
RontecXFlash.db requires the asynOctet interface on the given port. I assume this db would have to be rewritten for the port from BrukerQM100Config?
From: Mark Rivers <rivers at cars.uchicago.edu> Hi Eva,
That is not correct. The BrukerQM100Config command is defined here: It is int BrukerQM100Config(const char *portName, char *user, char *passwd, char *server, int spuno) The portName argument to that command is the name of the asyn port to create for this driver. It is not the name of a drvAsynIPPort. You don't need to build your IOC with drvAsynIPPort. The IP communication is done using their DLL, not with asyn. Mark From: Tech-talk <tech-talk-bounces at aps.anl.gov>
on behalf of Lott, Eva via Tech-talk <tech-talk at aps.anl.gov> Hi, Does anyone have any examples of a production mcaBrukerQM100 support module that I can look at?
|