Git Product home page Git Product logo

dxp's People

Contributors

justincslac avatar markrivers avatar prjemian avatar timmmooney avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dxp's Issues

Some errors when using dxp-R6-1 module on ketek SDD detector

There is some errors when using dxp-R6-1 module on ketek SDD detector,the following is the information of my environment.
operating system : CentOS7
architecture : X86_64

iocBoot Directory : /home/xanes/softIOC/support/dxp-R6-1/iocBoot/iocMicroDXP
When i start IOC,there are many errors as log.txt in attached files,i really want some help,Thanks.
The attached files contain log.txt,st.cmd and START_IOC,log.txt is printed information by IOCShell.
log.txt
st.cmd.txt
START_IOC.txt

mca1 stucks in Acquiring in a 4 element XMAP system

I have a 4 element detector XMAP system running on Windows 10, with the following software

  • EPICS base 7.0.4.1
  • seq 2.3.6
  • asyn 4.39
  • mca 7.8
  • dxp 6.0

The PresetMode = "No preset" and the following Python script starts and stops the acquisition. It happens reproducibly mca1.ACQG stays "Acquiring" after running the script for ~50 minutes. All mca2...4 are "Done".

And command asynReport 2 DXP1 shows that parameter NDDxpAcquiring and MCA_ACQURING are 0 for all addresses.

Parameter 75 type=asynInt32, name=NDDxpAcquiring, value=0, status=0
Parameter 338 type=asynInt32, name=MCA_ACQUIRING, value=0, status=0

To me it seems that mca1 failed to read the final status and stuck. It can be recovered by processing $(P)StatusAllOnce manually.

The testing script is as following.

import logging
import time

from epicsPV import epicsPV

prefix = 'X07MB-XMAP:'
eraseStart = epicsPV(prefix + 'EraseStart')
stopAll = epicsPV(prefix + 'StopAll')
mcaTime = epicsPV(prefix + 'mca2.STIM')
mcaTime.setMonitor()
mca1Acquire = epicsPV(prefix + 'mca1.ACQG')
mca1Acquire.setMonitor()
mca2Acquire = epicsPV(prefix + 'mca2.ACQG')
mca2Acquire.setMonitor()
mca3Acquire = epicsPV(prefix + 'mca3.ACQG')
mca3Acquire.setMonitor()
mca4Acquire = epicsPV(prefix + 'mca4.ACQG')
mca4Acquire.setMonitor()

logging.basicConfig(format='%(asctime)s %(message)s', level=logging.INFO)

while True:
    eraseStart.putw(1)
    time.sleep(2)
    logging.info('StopAll')
    stopAll.putWait(1)
    while mca1Acquire.getValue() or mca2Acquire.getValue() or mca3Acquire.getValue() or mca4Acquire.getValue():
        time.sleep(0.075)
    timestamp = mcaTime.getValue()
    logging.info(timestamp)

XIA:PFCU-4

This IOC can be used for XIA's PFCU-4 controller?

Doesn't compile on Raspbian

Dear all,
I was compiling synApps on Raspbian GNU/Linux 10 (buster) armv7l with GCC 8.3.0 against EPICS-7.0.5. When compiling dxp I got the error as following.

/usr/bin/gcc -D_GNU_SOURCE -D_DEFAULT_SOURCE -DUNIX -Dlinux -O3 -Wall -Werror-implicit-function-declaration -DEXCLUDE_XUP -DEXCLUDE_SERIAL -DEXCLUDE_VEGA -DEXCLUDE_UDXPS -DEXCLUDE_XMAP -DEXCLUDE_PLX -DLINUX -Wno-unused-but-set-variable -D_FILE_OFFSET_BITS=64 -fPIC -I. -I../O.Common -I. -I. -I.. -I../../../include/compiler/gcc -I../../../include/os/Linux -I../../../include -I/opt/epics/R70.5/synApps/support/seq-2-2-8/include -I/opt/epics/R70.5/synApps/support/mca-R7-9/include/os/Linux -I/opt/epics/R70.5/synApps/support/mca-R7-9/include -I/opt/epics/R70.5/synApps/support/dxp-master/include -I/opt/epics/R70.5/synApps/support/asyn-R4-41/include -I/opt/epics/R70.5/synApps/support/areaDetector-master/ADSupport/include/os/Linux -I/opt/epics/R70.5/synApps/support/areaDetector-master/ADSupport/include -I/opt/epics/R70.5/synApps/support/areaDetector-master/ADCore/include -I/opt/epics/R70.5/synApps/support/autosave-R5-10-2/include/os/Linux -I/opt/epics/R70.5/synApps/support/autosave-R5-10-2/include -I/opt/epics/R70.5/synApps/support/busy-R1-7-3/include -I/opt/epics/R70.5/synApps/support/calc-R3-7-4/include -I/opt/epics/R70.5/synApps/support/sscan-master/include -I/opt/epics/R70.5/synApps/support/iocStats-3-1-16/include/os/Linux -I/opt/epics/R70.5/synApps/support/iocStats-3-1-16/include -I/opt/epics/R70.5/epics-base/include/compiler/gcc -I/opt/epics/R70.5/epics-base/include/os/Linux -I/opt/epics/R70.5/epics-base/include -c ../xia_epp_linux.c
../xia_epp_linux.c: In function ‘DlPortWritePortUchar’:
../xia_epp_linux.c:486:5: error: implicit declaration of function ‘outb_p’; did you mean ‘outb’? [-Werror=implicit-function-declaration]
outb_p((int)databyte, (unsigned short int)port);
^~~~~~
outb
../xia_epp_linux.c: In function ‘DlPortReadPortUchar’:
../xia_epp_linux.c:507:13: error: implicit declaration of function ‘inb_p’; did you mean ‘inb’? [-Werror=implicit-function-declaration]
value = inb_p((unsigned short int)port);
^~~~~
inb
../xia_epp_linux.c: In function ‘DlPortReadPortBufferUshort’:
../xia_epp_linux.c:530:21: error: implicit declaration of function ‘inw_p’; did you mean ‘inw’? [-Werror=implicit-function-declaration]
buffer[i] = inw_p((unsigned short int)port);
^~~~~
inw
../xia_epp_linux.c: In function ‘DlPortReadPortBufferUlong’:
../xia_epp_linux.c:552:21: error: implicit declaration of function ‘inl_p’; did you mean ‘inl’? [-Werror=implicit-function-declaration]
buffer[i] = inl_p((unsigned short int)port);
^~~~~
inl
../xia_epp_linux.c: In function ‘DlPortWritePortBufferUshort’:
../xia_epp_linux.c:574:9: error: implicit declaration of function ‘outw_p’; did you mean ‘outw’? [-Werror=implicit-function-declaration]
outw_p(buffer[i], (unsigned short int)port);
^~~~~~
outw
cc1: some warnings being treated as errors
make[4]: *** [/opt/epics/R70.5/epics-base/configure/RULES_BUILD:259: xia_epp_linux.o] Error 1
make[4]: Leaving directory '/opt/epics/R70.5/synApps/support/dxp-master/dxpApp/handelSrc/O.linux-arm'
make[3]: *** [/opt/epics/R70.5/epics-base/configure/RULES_ARCHS:58: install.linux-arm] Error 2
make[3]: Leaving directory '/opt/epics/R70.5/synApps/support/dxp-master/dxpApp/handelSrc'
make[2]: *** [/opt/epics/R70.5/epics-base/configure/RULES_DIRS:85: handelSrc.install] Error 2
make[2]: Leaving directory '/opt/epics/R70.5/synApps/support/dxp-master/dxpApp'
make[1]: *** [/opt/epics/R70.5/epics-base/configure/RULES_DIRS:85: dxpApp.install] Error 2
make[1]: Leaving directory '/opt/epics/R70.5/synApps/support/dxp-master'
make: *** [/opt/epics/R70.5/epics-base/configure/RULES_DIRS:85: /opt/epics/R70.5/synApps/support/dxp-master.install] Error 2

Running dxp for the VORTEX on RHEL8 needs "umask 0"

Running dxp for the VORTEX detector (Handel library) required "umask 0" before starting the soft-linux IOC on RHEL8. Otherwise the IOC had the following complaint:

xiaInit("saturn.ini")
xiaStartSystem
[ERROR] 2021-10-05 13:11:31,652 xiaFddGetFirmware (fdd.c:299) : [ 1] Error opening the temporary file: /tmp/xia8398641bd91833148d227ddb6b325a1af92004f8

The reason, I'll guess, is that some Handel code is executed by the USB driver, and needs write access to the /tmp/xia* file which is created by the account running the IOC, but doesn't get it because of file permissions.

dxp Mercury startup fails Ubuntu20.0.4 linux-x86_64 with error: Can't open access to I/O ports: Operation not permitted

I'm getting this error when trying to start IOC:
bl531@bl531controls:/opt/epics/modules/synApps_6_1_epics7/support/dxp-R6-0/iocBoot/iocMercury$ ../../bin/linux-x86_64/startWithIopl3 4element.cmd
Can't open access to I/O ports: Operation not permitted
The error appears to be coming from the line calling a function "iopl" in dxpApp/src/startWithIopl3.c, though I couldn't figure out what "iopl" is.

AD2-4 Compatibility

ADCore 2-4 changes where commonDriverMakefile is located and requires ADExample.

DXP should not allow building on 64-bit Linux

Currently dxp will build OK on 64-bit Linux, but the resulting application will not work because the Handel library is not currently 64-bit safe. dxpApp/src/Makefile and dxpApp/handelSrc/Makefile prevent 64-bit builds on Windows, but not on Linux. This should be fixed.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.