Online Project List
From GlueXWiki
Below I list a number of online projects that need attention, roughly divided by when they should be addressed. Some are small and self-contained, and thus suitable for individuals at universities. Feel free to make additions or add comments.
2009
- ROOT/cMsg histogram transport
- Use the JLab cMsg interprocess communication package to transport ROOT histograms over a network.
- IRMIS detector/electronics/cable/controls database
- Implement one complete detector system as a test case.
- Allen-Bradley PLC
- Learn how to program and use an A-B PLC.
- Learn how to connect to EPICS channel access using SNS driver, and how to connect to Labview using a different SNS driver.
- EPICS JAVAIOC
- Download and test.
- Control System Studio development environment for EPICS applications
- Download and test (CSS is based on Java/Eclipse).
- EPICS C++ portable channel access server
- Figure out how to use the new C++ PCAS library.
- EPICS Java channel access library
- Learn how to use JCA/CAJ for clients and servers.
- EPICS Asyn driver
- Figure out if it might be useful for Hall D, and if so learn how to use it.
- cMsg/Labview connection
- Write Linux Labview module that communicates using the cMsg API from the JLab DAQ group.
- EPICS/Labview connection
- Figure out how to connect EPICS and Labview on Linux, with Labview as both client and server.
- SNS EPICS alarm system
- Download and test.
- SNS EPICS archiver
- Download and test.
- ORNL EPICS SCORE backup/restore/compare system
- Download and test.
- EPICS base
- Figure out how to create new record types and new device support.
- EPICS tools
- Survey the many EPICS tools available and figure out which ones might be useful for Hall D. Then download and test.
- AFECS state machine language
- Learn how to use AFECS from DAQ group.
- cMsg publish/subscribe interprocess communication package
- Learn how to use the cMsg package from the DAQ group.
2010
- Event display
- Investigate online event display options, especially the system from Dave Heddle (Hall B).
- Remote access and display of EPICS data
- Investigate mechanisms for remote display of controls data.
- Visual DCT - EPICS configuration tool
- Figure out if this might be useful for Hall D.
- EPICS State Notation Language for state machines
- Figure out what SNL is good for and how to use it.
- EPICS CAEN HV control
- Test CLS driver for CAEN HV crates, or find another one.
- Labview CAEN HV control
- Find a Labview control system for CAEN HV crates and test.
- Labview Wiener crate control
- Download module from Wiener and test.
- J5 database application development system
- Download, test, and work out how we might use it for database apps and elogs.
- Test Accelerator elog
- Test Accelerator elog without using custom operator scripts.
- OPC control protocol
- Is OPC useful for Hall D? If so, get it and test.
- CAN control protocol
- Learn about CAN and how we might control 3000 devices (FCAL PMT bases).
- SMBus control protocol
- Learn about SMBus and the design of the preamp card distribution box, and how we might control 1000 channels.
- SCONS ("make" replacement)
- Learn about and teach us how to use the SCONS build system.
2011
- EPICS on the web
- Learn how to use CAML and Web2cToolkit.
- Info Server for generic information storage and retreival
- Investigate and define role for generic info server (as in Hall B), either based on cMsg or something else.
- EVIO event I/O package
- Learn how to use the EVIO package from the DAQ group. Recommend improvements or extensions.
- Possible improvements: no fixed block size, dictionary, random access, implement Java DOM.
- National Instruments cRIO FPGA system
- Learn about the NI cRIO system, Labview FPGA programming support, and whether this might be useful in the Hall D trigger system.
- Configuration database
- Work out strategy for storing, retrieving and archiving detector configuration information (EPICS and non-EPICS information).
- Monitoring and level 3 farm system
- Recommend features needed in monitoring and level 3 farm systems.
- Python scripting language
- Learn about and teach us how to use Python.