Difference between revisions of "JLab discriminator"

From GlueXWiki
Jump to: navigation, search
(Linux VME support)
m
Line 37: Line 37:
 
To install the development RPM without kernel module will require the --nodeps option
 
To install the development RPM without kernel module will require the --nodeps option
 
  rpm -i --nodeps gefvme-kmod-common-4.1-0.i386.rpm
 
  rpm -i --nodeps gefvme-kmod-common-4.1-0.i386.rpm
 +
 +
== Scalers readout preliminary driver ==
 +
 +
The current scheme of data flow is the followong.
 +
 +
{| style="color:green; background-color:#ffffcc;" cellpadding="10" cellspacing="0" border="1px"
 +
| style="border-style: solid; border-width: 1px 1px 0 0" | VME bus
 +
| -
 +
| style="border-style: solid; border-width: 1px 1px 0 0" | dsc2.c <br/ > mutex-ed access to the hardware
 +
|-
 +
| style="border-style: solid; border-width: 1px 1px 0 0" | JLabDiscr.c::JLabDiscrReadTask() <br/ > a thread to poll scalers every second
 +
 +
|}

Revision as of 15:56, 5 December 2011

There is a Hall-B page for JLab discriminator

Manuals

Manual for 16-Channel Discriminator/Scaler VME Module (by J.Proffit), 20-Nov-2002, in (pdf)
Manual for New 16-Channel Discriminator/Scaler VME Module (draft by Ben Raydo), 6-Mar-2009, in (pdf)
Manual for New 16-Channel Discriminator/Scaler VME Module (rev.B by Ben Raydo), 28-May-2010, in (pdf)
Manual for New 16-Channel Discriminator/Scaler VME Module (rev.C by Ben Raydo), 11-Feb-2011, in (pdf)

Example Program

#include "dsc2.h"
int main(){
 vmeOpenDefaultWindows(); /* Map the VME bus memory (For Linux only.). */
 dsc2Init(0xe00000,0,1);  /* Base memory: Only last 2 HW switches are relevant, 
                             the rest are lost due to shift of address. */
                          /* Memory size per board. */
                          /* Number of boards. */
 dsc2Status(0,0);         /* Board number and flag which is not used. */
 dsc2PrintScalers(0,0xff);/* Board number and printing option */
 return(0);
}

Linux VME support

Brian Moffit from CODA group has setup a directory for software for Intel based VME controllers running Linux. README there is a good introduction to the subject.

/site/coda/2.6.1/extensions/linuxvme

RPMs for VME controllers running Linux located in the directory

/site/coda/2.6.1/extensions/linuxvme/RPMS

Available files are:

gefvme-kmod-common-4.1-0.i386.rpm (Development files)
kmod-gefvme-PAE*.rpm (Kernel module)

To install the development RPM without kernel module will require the --nodeps option

rpm -i --nodeps gefvme-kmod-common-4.1-0.i386.rpm

Scalers readout preliminary driver

The current scheme of data flow is the followong.

VME bus - dsc2.c
mutex-ed access to the hardware
JLabDiscr.c::JLabDiscrReadTask()
a thread to poll scalers every second