/praktikum/lc2277/mioni.sh |
File deleted |
|
Property changes: |
Deleted: svn:executable |
Index: lc2277/gui.C |
=================================================================== |
--- lc2277/gui.C (revision 109) |
+++ lc2277/gui.C (nonexistent) |
@@ -1,454 +0,0 @@ |
-// By ROOT version 5.17/02 on 2008-03-13 06:46:41 |
- |
-#ifndef ROOT_TGDockableFrame |
-#include "TGDockableFrame.h" |
-#endif |
-#ifndef ROOT_TGMenu |
-#include "TGMenu.h" |
-#endif |
-#ifndef ROOT_TGMdiDecorFrame |
-#include "TGMdiDecorFrame.h" |
-#endif |
-#ifndef ROOT_TG3DLine |
-#include "TG3DLine.h" |
-#endif |
-#ifndef ROOT_TGMdiFrame |
-#include "TGMdiFrame.h" |
-#endif |
-#ifndef ROOT_TGMdiMainFrame |
-#include "TGMdiMainFrame.h" |
-#endif |
-//#ifndef ROOT_TGuiBldHintsButton |
-//#include "TGuiBldHintsButton.h" |
-//#endif |
-#ifndef ROOT_TGMdiMenu |
-#include "TGMdiMenu.h" |
-#endif |
-#ifndef ROOT_TGListBox |
-#include "TGListBox.h" |
-#endif |
-#ifndef ROOT_TGNumberEntry |
-#include "TGNumberEntry.h" |
-#endif |
-#ifndef ROOT_TGScrollBar |
-#include "TGScrollBar.h" |
-#endif |
-//#ifndef ROOT_TGuiBldHintsEditor |
-//#include "TGuiBldHintsEditor.h" |
-//#endif |
-#ifndef ROOT_TRootBrowser |
-#include "TRootBrowser.h" |
-#endif |
-#ifndef ROOT_TGFrame |
-#include "TGFrame.h" |
-#endif |
-#ifndef ROOT_TGFileDialog |
-#include "TGFileDialog.h" |
-#endif |
-#ifndef ROOT_TGShutter |
-#include "TGShutter.h" |
-#endif |
-#ifndef ROOT_TGButtonGroup |
-#include "TGButtonGroup.h" |
-#endif |
-#ifndef ROOT_TGCanvas |
-#include "TGCanvas.h" |
-#endif |
-#ifndef ROOT_TGFSContainer |
-#include "TGFSContainer.h" |
-#endif |
-#ifndef ROOT_TGButton |
-#include "TGButton.h" |
-#endif |
-//#ifndef ROOT_TGuiBldEditor |
-//#include "TGuiBldEditor.h" |
-//#endif |
-#ifndef ROOT_TGTextEdit |
-#include "TGTextEdit.h" |
-#endif |
-#ifndef ROOT_TGFSComboBox |
-#include "TGFSComboBox.h" |
-#endif |
-#ifndef ROOT_TGLabel |
-#include "TGLabel.h" |
-#endif |
-#ifndef ROOT_TGView |
-#include "TGView.h" |
-#endif |
-//#ifndef ROOT_TRootGuiBuilder |
-//#include "TRootGuiBuilder.h" |
-//#endif |
-#ifndef ROOT_TGTab |
-#include "TGTab.h" |
-#endif |
-#ifndef ROOT_TGListView |
-#include "TGListView.h" |
-#endif |
-#ifndef ROOT_TGSplitter |
-#include "TGSplitter.h" |
-#endif |
-#ifndef ROOT_TGStatusBar |
-#include "TGStatusBar.h" |
-#endif |
-#ifndef ROOT_TGListTree |
-#include "TGListTree.h" |
-#endif |
-#ifndef ROOT_TGToolTip |
-#include "TGToolTip.h" |
-#endif |
-#ifndef ROOT_TGToolBar |
-#include "TGToolBar.h" |
-#endif |
-#ifndef ROOT_TRootEmbeddedCanvas |
-#include "TRootEmbeddedCanvas.h" |
-#endif |
-#ifndef ROOT_TCanvas |
-#include "TCanvas.h" |
-#endif |
-//#ifndef ROOT_TGuiBldDragManager |
-//#include "TGuiBldDragManager.h" |
-//#endif |
- |
-#include "Riostream.h" |
-#include "TThread.h" |
-#include "TApplication.h" |
-#include "TROOT.h" |
-#include "TGraph.h" |
-#include "TH1F.h" |
-#include "daq.h" |
- |
-TGTextButton *gTextButton[10]; |
-TCanvas *fCanvas; |
-TGMainFrame *fMain; |
-TGTextEntry *gFilename; |
-TGNumberEntry *gCh; |
-TGNumberEntry *gMaxEve; |
-TGNumberEntry *gNeve; |
-TGTextEntry *gTimeDisplay; |
-TGCheckButton *gCheckButton; |
- |
- |
-TRootEmbeddedCanvas *gCanvas; |
-#define MAXCH 32 |
-TH1F* gHisto[MAXCH]; |
-daq * gDaq; |
-#define WINDOW_NAME "Zivljenski cas mionov" |
-//---------------------------------------------------- |
-int UIRDimming(int state){ |
- switch (state) { |
- case 0: |
- gTextButton[0]->SetEnabled(0); |
- gTextButton[1]->SetEnabled(1); |
- gTextButton[2]->SetEnabled(0); |
- |
- break; |
- |
- case 1: |
- gTextButton[0]->SetEnabled(0); |
- gTextButton[1]->SetEnabled(0); |
- gTextButton[2]->SetEnabled(1); |
- |
- break; |
- |
- case 2: |
- gTextButton[0]->SetEnabled(1); |
- gTextButton[1]->SetEnabled(1); |
- gTextButton[2]->SetEnabled(0); |
- break; |
- |
- default: |
- break; |
- } |
- return 0; |
-} |
- |
-int fDebug; |
-void GetDebug(){ |
- if ( gCheckButton->IsOn() ) fDebug=1; |
- else fDebug=0; |
-} |
- |
-int GetTime(char *x){ |
- time_t rawtime; |
- struct tm * timeinfo; |
- time ( &rawtime ); |
- timeinfo = localtime ( &rawtime ); |
- sprintf(x,"%s",asctime (timeinfo)); |
- int len=strlen(x); |
- if (len) x[len-1]=0; |
- return 0; |
-} |
-void MyTimer(){ |
- char cmd[100]; |
- GetTime(cmd); |
- if (gTimeDisplay) gTimeDisplay->SetText(cmd); |
- /* Canvas ni thread safe |
- if (gCanvas){ |
- gCanvas->GetCanvas()->Modified(); |
- gCanvas->GetCanvas()->Update(); |
- } |
- */ |
-} |
- |
-//---------------------------------------------------- |
-// thread function |
-int gStop=0; |
-#define BSIZE 10000 |
-unsigned int gBuf[BSIZE]; |
-void *MyThread(void *ptr) |
-{ |
- TThread::Printf("Start of MyThread %x \n" ,(int *)ptr); |
- |
- // odpremo datoteko za pisanje |
- char fname[128]; |
- sprintf(fname,"%s.dat",gFilename->GetText()); |
- FILE *fp=fopen(fname,"w"); |
- int neve = (int) gMaxEve->GetNumber(); |
- int hdr[4]={1}; |
- |
- if (gDaq) gDaq->fStop=0; |
- // zajem zeljenega kolicine podatkov |
- for (int n=0;n<neve;n++){ |
- if (!gDaq) break; |
- int nb = gDaq->event(gBuf,BSIZE); |
- if (gDaq->fStop) break; |
- if (nb<0){ |
- n--; |
- continue; |
- } |
- |
- // zapis v datoteko |
- hdr[1]=nb+4*sizeof(int); |
- hdr[2]=time(NULL); |
- hdr[3]=n; |
- |
- fwrite(hdr, sizeof(int),4 , fp); |
- fwrite(gBuf, sizeof(int),nb, fp); |
- // napolni histograme |
- //***************** |
- unsigned int *data= gBuf; |
- int evsize=0; |
- int events=0; |
- int ib=1,count=0; |
- events = data[0]; |
- evsize = data[1]&0xffff; |
- if (evsize<2){ |
- n--; |
- continue; |
- } |
- const unsigned int END_MARKER=0xFAF5; |
- if (fDebug) printf("nb=%d Event:%d events=%d EvSize:%d\n",nb, n, events, evsize); |
- for (int i=0;i<evsize;i++) { |
- //if (fDebug) printf("%d\t%08x\n", ib, data[ib]); |
- |
- if (data[ib]== END_MARKER) break; |
- if (ib%2==0) { |
- unsigned short word1 =data[ib ]&0xFFFF; |
- unsigned short word2 =data[ib+1]&0xFFFF; |
- unsigned short tdc = word1; |
- unsigned short ch = (word2 >> 1 ) &0x1F; |
- unsigned short edge = word2 & 0x1; |
- unsigned short q = (word2 >> 8) &0x1; |
- unsigned short x = (word2 >> 9) &0x1; |
- TThread::Lock(); |
- if (edge && ch < MAXCH) gHisto[ch]->Fill(tdc); |
- TThread::UnLock(); |
- if (fDebug) TThread::Printf("%d. [ch=%2d] edge=%d data=%d q=%d x=%d\n",count,ch,edge,tdc, q, x); |
- |
- count++; |
- } |
- ib++; |
- } |
- if (data[evsize+1]!=END_MARKER) printf("Error! END_MARKER not found\n"); |
-//***************** |
- |
- |
- |
- |
- |
- gNeve->SetNumber(n); |
- } |
- fclose(fp); |
- UIRDimming(2); |
- TThread::Printf("End of MyThread neve=%d\n",neve); |
- return 0; |
-} |
- |
- |
-int save2ascii(){ |
- if (!gHisto[0]) return 0; |
- char fname[128]; |
- sprintf(fname,"%s.txt",gFilename->GetText()); |
- FILE *fp= fopen(fname, "w"); |
- fprintf(fp, "%s\n",WINDOW_NAME); |
- char cmd[128]; |
- GetTime(cmd); |
- fprintf(fp, "Shranjeno: %s\n\n", cmd ); |
- fprintf(fp, "Kanal hid=") ; |
- for (int j=0;j<MAXCH;j++) fprintf(fp, "%d\t",j); |
- fprintf(fp, "\n-------------------------------------------------\n"); |
- for (int i=0;i<gHisto[0]->GetNbinsX();i++){ |
- fprintf(fp, "%f\t",gHisto[0]->GetBinCenter(i+1)); |
- for (int j=0;j<MAXCH;j++) fprintf(fp, "%d\t",(int) gHisto[j]->GetBinContent(i+1)); |
- fprintf(fp, "\n"); |
- } |
- fclose(fp); |
- printf("Rezultati meritev so zapisani v datoteki %s\n",fname); |
- return 0; |
- } |
- |
-void MyEventHandler(int i){ |
- static TTimer * tmr = new TTimer(1000, kFALSE); |
- UIRDimming(i); |
- TThread *fThread; |
- switch (i) { |
- case 0: // Init |
- gDaq->init(); |
- break; |
- case 1: // Start |
- fThread = new TThread(MyThread,(void*)0); |
- fThread->Run(); |
- tmr->SetCommand("MyTimer()"); |
- tmr->TurnOn(); |
- tmr->Start(1000, kFALSE); // 1 second single-shot |
- break; |
- case 2: // Stop |
- gDaq->fStop=1; |
- tmr->Stop(); |
- tmr->TurnOff(); |
- break; |
- case 3: // ReDraw |
- gCanvas->GetCanvas()->Modified(); |
- gCanvas->GetCanvas()->Update(); |
- break; |
- case 4: // Clear |
- for (int j=0;j<MAXCH;j++) if (gHisto[j]) gHisto[j]->Reset(); |
- break; |
- case 5: // Save |
- save2ascii(); |
- break; |
- case 6: // Print |
- gCanvas->GetCanvas()->SaveAs("zivljenjski_cas_mionov.pdf"); |
- break; |
- case 7: // exit |
- gApplication->Terminate(0); |
- break; |
- } |
- |
-} |
- |
-int Redraw(long val=0){ |
- unsigned int ch= (unsigned int)(gCh->GetNumber()); |
- if (ch<MAXCH && gHisto[ch]) { |
- gCanvas->GetCanvas()->cd(); |
- gHisto[ch]->Draw(); |
- gCanvas->GetCanvas()->Modified(); |
- gCanvas->GetCanvas()->Update(); |
- } else { |
- if (gCh->GetNumber()>=MAXCH) gCh->SetNumber(MAXCH-1); |
- if (gCh->GetNumber()< 0) gCh->SetNumber(0); |
- } |
- return 0; |
-} |
-//---------------------------------------------------- |
- |
-int gui(){ |
- |
- for (int i=0;i<MAXCH;i++){ |
- char hname[50]; |
- sprintf(hname,"TDC Ch. %d;TDC;N",i); |
- char hn[50]; |
- sprintf(hn,"ch%d",i); |
- gHisto[i] = new TH1F(hn,hname,128,-0.5,1024*8-0.5); |
- } |
- gDaq= new daq(); |
- fMain = new TGMainFrame(0,800,800); |
- TGHorizontalFrame *fH=new TGHorizontalFrame(fMain,800,400); |
- //------------------------------------------------------------ |
- TGLayoutHints *f0= new TGLayoutHints(kLHintsLeft | kLHintsTop,2,2,2,2); |
- TGLayoutHints *layout2= new TGLayoutHints(kLHintsLeft | kLHintsTop,20,20,20,20); |
- // gumbi |
- |
- int nbut=8; |
- const char *names[10]={"Inicializacija","Start","Stop","Osvezi","Zbrisi","Shrani v datoteko", "Natisni" , "Izhod"}; |
- for (int i=0;i<nbut;i++){ |
- |
- gTextButton[i]= new TGTextButton(fH, names[i]); |
- gTextButton[i]->SetTextJustify(36); |
- gTextButton[i]->SetMargins(0,0,0,0); |
- gTextButton[i]->SetWrapLength(-1); |
- gTextButton[i]->ChangeOptions(gTextButton[i]->GetOptions() | kFixedWidth); // | kFixedSize |
- gTextButton[i]->Resize(100,gTextButton[i]->GetDefaultHeight()); |
- |
- fH->AddFrame(gTextButton[i], f0); |
- char cmd[50]; |
- sprintf(cmd,"MyEventHandler(=%d)",i); |
- TQObject::Connect(gTextButton[i],"Clicked()",0,0,cmd); |
- } |
- |
- gCheckButton = new TGCheckButton( fH,"Razhroscevanje"); |
- gCheckButton->Resize(50,22); |
- TQObject::Connect(gCheckButton,"Clicked()", 0, 0 , "GetDebug()"); |
- gCheckButton->SetState(kButtonDown); |
- fH->AddFrame(gCheckButton, f0); |
- |
- fMain->AddFrame(fH , f0); |
- //--------------------------------------------------------- |
- // ura |
- TGLabel *lab1; |
- fH=new TGHorizontalFrame(fMain,800,200); |
- lab1 = new TGLabel( fH ,"Ura:"); |
- fH->AddFrame(lab1, f0); |
- gTimeDisplay = new TGTextEntry( fH,""); |
- gTimeDisplay->Resize(200,22); |
- fH->AddFrame(gTimeDisplay, f0); |
- fMain->AddFrame(fH , f0); |
- //--------------------------------------------------------- |
- // inputi |
- fH=new TGHorizontalFrame(fMain,800,200); |
- lab1 = new TGLabel( fH ,"Ime datoteke:"); |
- fH->AddFrame(lab1, f0); |
- gFilename = new TGTextEntry( fH,"datoteka"); |
- gFilename->Resize(200,22); |
- fH->AddFrame(gFilename, f0); |
- fMain->AddFrame(fH , f0); |
- //--------------------------------------------------------- |
- fH=new TGHorizontalFrame(fMain,800,200); |
- lab1 = new TGLabel( fH ,"Zeljeno stevilo dogodkov:"); |
- fH->AddFrame(lab1, f0); |
- gMaxEve = new TGNumberEntry( fH,10000); |
- gMaxEve->Resize(100,22); |
- fH->AddFrame(gMaxEve, f0); |
- fMain->AddFrame(fH , f0); |
- //--------------------------------------------------------- |
- fH=new TGHorizontalFrame(fMain,800,200); |
- lab1 = new TGLabel( fH ,"Zajetih dogodkov:"); |
- fH->AddFrame(lab1, f0); |
- gNeve = new TGNumberEntry( fH,0); |
- gNeve->Resize(100,22); |
- fH->AddFrame(gNeve, f0); |
- fMain->AddFrame(fH , f0); |
- //--------------------------------------------------------- |
- // canvas |
- fH=new TGHorizontalFrame(fMain,800,200); |
- gCanvas = new TRootEmbeddedCanvas ("gCanvas",fH,800,400); |
- fH->AddFrame(gCanvas, f0); |
- fMain->AddFrame(fH , f0); |
- //------------------------------------------------------------ |
- fH=new TGHorizontalFrame(fMain,800,200); |
- lab1 = new TGLabel( fH ,"St. kanala (0..31):"); |
- fH->AddFrame(lab1, f0); |
- gCh = new TGNumberEntry( fH,2); |
- fH->AddFrame(gCh, f0); |
- TQObject::Connect(gCh,"ValueSet(Long_t)",0,0,"Redraw(Long_t )"); |
- |
- fMain->AddFrame(fH , f0); |
- //------------------------------------------------------------ |
- fMain->SetWindowName(WINDOW_NAME); |
- fMain->MapSubwindows(); |
- fMain->Resize(fMain->GetDefaultSize()); |
- fMain->MapWindow(); |
- Redraw(); |
- GetDebug(); |
- return 0; |
-} |
Index: lc2277/libxxusb.h |
=================================================================== |
--- lc2277/libxxusb.h (revision 109) |
+++ lc2277/libxxusb.h (nonexistent) |
@@ -1,111 +0,0 @@ |
-#include <usb.h> |
- |
- |
-#define XXUSB_WIENER_VENDOR_ID 0x16DC /* Wiener, Plein & Baus */ |
-#define XXUSB_VMUSB_PRODUCT_ID 0x000B /* VM-USB */ |
-#define XXUSB_CCUSB_PRODUCT_ID 0x0001 /* CC-USB */ |
-#define XXUSB_ENDPOINT_OUT 2 /* Endpoint 2 Out*/ |
-#define XXUSB_ENDPOINT_IN 0x86 /* Endpoint 6 In */ |
-#define XXUSB_FIRMWARE_REGISTER 0 |
-#define XXUSB_GLOBAL_REGISTER 1 |
-#define XXUSB_ACTION_REGISTER 10 |
-#define XXUSB_DELAYS_REGISTER 2 |
-#define XXUSB_WATCHDOG_REGISTER 3 |
-#define XXUSB_SELLEDA_REGISTER 6 |
-#define XXUSB_SELNIM_REGISTER 7 |
-#define XXUSB_SELLEDB_REGISTER 4 |
-#define XXUSB_SERIAL_REGISTER 15 |
-#define XXUSB_LAMMASK_REGISTER 8 |
-#define XXUSB_LAM_REGISTER 12 |
-#define XXUSB_READOUT_STACK 2 |
-#define XXUSB_SCALER_STACK 3 |
-#define XXUSB_NAF_DIRECT 12 |
- |
-struct XXUSB_STACK |
-{ |
-long Data; |
-short Hit; |
-short APatt; |
-short Num; |
-short HitMask; |
-}; |
- |
-struct XXUSB_CC_COMMAND_TYPE |
-{ |
-short Crate; |
-short F; |
-short A; |
-short N; |
-long Data; |
-short NoS2; |
-short LongD; |
-short HitPatt; |
-short QStop; |
-short LAMMode; |
-short UseHit; |
-short Repeat; |
-short AddrScan; |
-short FastCam; |
-short NumMod; |
-short AddrPatt; |
-long HitMask[4]; |
-long Num; |
-}; |
- |
-struct xxusb_device_typ |
-{ |
- struct usb_device *usbdev; |
- char SerialString[7]; |
-}; |
- |
-typedef struct xxusb_device_typ xxusb_device_type; |
-typedef unsigned char UCHAR; |
-typedef struct usb_bus usb_busx; |
- |
- |
-int xxusb_longstack_execute(usb_dev_handle *hDev, void *DataBuffer, int lDataLen, int timeout); |
-int xxusb_bulk_read(usb_dev_handle *hDev, void *DataBuffer, int lDataLen, int timeout); |
-int xxusb_bulk_write(usb_dev_handle *hDev, void *DataBuffer, int lDataLen, int timeout); |
-int xxusb_usbfifo_read(usb_dev_handle *hDev, int *DataBuffer, int lDataLen, int timeout); |
- |
-short xxusb_register_read(usb_dev_handle *hDev, short RegAddr, long *RegData); |
-short xxusb_stack_read(usb_dev_handle *hDev, short StackAddr, long *StackData); |
-short xxusb_stack_write(usb_dev_handle *hDev, short StackAddr, long *StackData); |
-short xxusb_stack_execute(usb_dev_handle *hDev, long *StackData); |
-short xxusb_register_write(usb_dev_handle *hDev, short RegAddr, long RegData); |
-short xxusb_reset_toggle(usb_dev_handle *hDev); |
- |
-short xxusb_devices_find(xxusb_device_type *xxusbDev); |
-short xxusb_device_close(usb_dev_handle *hDev); |
-usb_dev_handle* xxusb_device_open(struct usb_device *dev); |
-short xxusb_flash_program(usb_dev_handle *hDev, char *config, short nsect); |
-short xxusb_flashblock_program(usb_dev_handle *hDev, UCHAR *config); |
-usb_dev_handle* xxusb_serial_open(char *SerialString); |
- |
-short VME_register_write(usb_dev_handle *hdev, long VME_Address, long Data); |
-short VME_register_read(usb_dev_handle *hdev, long VME_Address, long *Data); |
-short VME_LED_settings(usb_dev_handle *hdev, int LED, int code, int invert, int latch); |
-short VME_DGG(usb_dev_handle *hdev, unsigned short channel, unsigned short trigger,unsigned short output, long delay, unsigned short gate, unsigned short invert, unsigned short latch); |
- |
-short VME_Output_settings(usb_dev_handle *hdev, int Channel, int code, int invert, int latch); |
- |
-short VME_read_16(usb_dev_handle *hdev,short Address_Modifier, long VME_Address, long *Data); |
-short VME_read_32(usb_dev_handle *hdev, short Address_Modifier, long VME_Address, long *Data); |
-short VME_BLT_read_32(usb_dev_handle *hdev, short Address_Modifier, int count, long VME_Address, long Data[]); |
-short VME_write_16(usb_dev_handle *hdev, short Address_Modifier, long VME_Address, long Data); |
-short VME_write_32(usb_dev_handle *hdev, short Address_Modifier, long VME_Address, long Data); |
- |
-short CAMAC_DGG(usb_dev_handle *hdev, short channel, short trigger, short output, int delay, int gate, short invert, short latch); |
-short CAMAC_register_read(usb_dev_handle *hdev, int A, long *Data); |
-short CAMAC_register_write(usb_dev_handle *hdev, int A, long Data); |
-short CAMAC_LED_settings(usb_dev_handle *hdev, int LED, int code, int invert, int latch); |
-short CAMAC_Output_settings(usb_dev_handle *hdev, int Channel, int code, int invert, int latch); |
-short CAMAC_read_LAM_mask(usb_dev_handle *hdev, long *Data); |
-short CAMAC_write_LAM_mask(usb_dev_handle *hdev, long Data); |
- |
-short CAMAC_write(usb_dev_handle *hdev, int N, int A, int F, long Data, int *Q, int *X); |
-short CAMAC_read(usb_dev_handle *hdev, int N, int A, int F, long *Data, int *Q, int *X); |
-short CAMAC_Z(usb_dev_handle *hdev); |
-short CAMAC_C(usb_dev_handle *hdev); |
-short CAMAC_I(usb_dev_handle *hdev, int inhibit); |
- |
Index: lc2277/daq.h |
=================================================================== |
--- lc2277/daq.h (revision 109) |
+++ lc2277/daq.h (nonexistent) |
@@ -1,18 +0,0 @@ |
-#ifndef _daq_h_ |
-#define _daq_h_ |
- |
-#define BUFF_L 2048 |
-class daq { |
-public: |
- unsigned long stackwrite[BUFF_L],stackdata[10000],stackdump[27000]; |
-int debug; |
-int fStop; |
-int event(unsigned int *, int); |
-int init(); |
-int connect(); |
-int disconnect(); |
-daq(); |
-~daq(); |
-}; |
- |
-#endif |
Index: lc2277/read.C |
=================================================================== |
--- lc2277/read.C (revision 109) |
+++ lc2277/read.C (nonexistent) |
@@ -1,75 +0,0 @@ |
-//root [1] .x read.C("../../guest/datoteka.dat") |
- |
-const int BSIZE=10000; |
-unsigned int gBuf[BSIZE]; |
-const int MAXCH=32; |
-TH1F* gHisto[MAXCH]; |
- |
-int read(char *fname="datoteka.dat", int fDebug=1){ |
-FILE *fp= fopen(fname,"r"); |
-if (!fp) { |
- printf("Error! File %s not found\n", fname); |
- return 0; |
-} |
- |
- |
-for (int i=0;i<MAXCH;i++){ |
- char hname[50]; |
- sprintf(hname,"TDC Ch. %d;TDC;N",i); |
- char hn[50]; |
- sprintf(hn,"ch%d",i); |
- gHisto[i] = new TH1F(hn,hname,128,-0.5,1024*8-0.5); |
-} |
- |
-int hdr[4]; |
-int n=0; |
-while (!feof(fp)){ |
- fread(hdr,sizeof(int),4,fp); |
- if (hdr[0]!=1) { |
- printf("error\n"); |
- return -1; |
- } |
- int nb = hdr[1]-4*sizeof(int); |
- fread(gBuf,sizeof(int),nb,fp); |
- unsigned int *data= gBuf; |
- int evsize=0; |
- int events=0; |
- int ib=1,count=0; |
- events = data[0]; |
- evsize = data[1]&0xffff; |
- if (evsize<2){ |
- continue; |
- } |
- n=hdr[3]; |
- const unsigned int END_MARKER=0xFAF5; |
- if (fDebug) printf("nb=%d Event:%d events=%d EvSize:%d\n",nb,n, events, evsize); |
- for (int i=0;i<evsize;i++) { |
- //if (fDebug) printf("%d\t%08x\n", ib, data[ib]); |
- |
- if (data[ib]== END_MARKER) break; |
- if (ib%2==0) { |
- unsigned short word1 =data[ib ]&0xFFFF; |
- unsigned short word2 =data[ib+1]&0xFFFF; |
- unsigned short tdc = word1; |
- unsigned short ch = (word2 >> 1 ) &0x1F; |
- unsigned short edge = word2 & 0x1; |
- unsigned short q = (word2 >> 8) &0x1; |
- unsigned short x = (word2 >> 9) &0x1; |
- |
- if (edge && ch < MAXCH) gHisto[ch]->Fill(tdc); |
- |
- if (fDebug) printf("%d. [ch=%2d] edge=%d data=%d q=%d x=%d\n",count,ch,edge,tdc, q, x); |
- |
- count++; |
- } |
- ib++; |
- } |
- if (data[evsize+1]!=END_MARKER) printf("Error! END_MARKER not found\n"); |
-//***************** |
-} |
-for (int i=0;i<MAXCH;i++){ |
-if (gHisto[i]->GetEntries()>0) gHisto[i]->Draw(); |
- |
-} |
- |
-} |
Index: lc2277/wusbcc.h |
=================================================================== |
--- lc2277/wusbcc.h (revision 109) |
+++ lc2277/wusbcc.h (nonexistent) |
@@ -1,15 +0,0 @@ |
-#ifndef _WUSBCC_H |
-#define _WUSBCC_H |
- |
-#define NAF(N,A,F) 0x4000+(N)*0x200+(A)*0x20+(F) |
-#define NAFS(N,A,F) (N)*0x200+(A)*0x20+(F) |
- |
-#define CSSA_RQX(N,A,F,DATA,Q,X) CAMAC_read(udev,(N),(A),(F),(DATA),(Q),(X)) |
-#define CSSA_WQX(N,A,F,DATA,Q,X) CAMAC_write(udev,(N),(A),(F),(DATA),(Q),(X)) |
- |
-#define CCCZ CAMAC_Z(udev) |
-#define CCCC CAMAC_C(udev) |
-#define CSET_I CAMAC_I(udev,1) |
-#define CREM_I CAMAC_I(udev,0) |
- |
-#endif |
Index: lc2277/wusbxx_dll.c |
=================================================================== |
--- lc2277/wusbxx_dll.c (revision 109) |
+++ lc2277/wusbxx_dll.c (nonexistent) |
@@ -1,105 +0,0 @@ |
-#include "wusbxx_dll.h" |
- |
-usb_dev_handle *udev; |
- |
- |
- |
-void _VI_FUNC WUSBXX_load (char* module_path) |
-{ |
- |
- /* |
- if (module_path == NULL) |
- DLLHandle = LoadLibrary("libxxusb.dll"); |
- else |
- DLLHandle = LoadLibrary(module_path); |
- |
- if (!(xxusb_register_read_Ptr = (void*) GetProcAddress(DLLHandle,"xxusb_register_read"))) exit(1); |
- if (!(xxusb_stack_read_Ptr = (void*) GetProcAddress(DLLHandle,"xxusb_stack_read"))) exit(1); |
- if (!(xxusb_stack_write_Ptr = (void*) GetProcAddress(DLLHandle,"xxusb_stack_write"))) exit(1); |
- if (!(xxusb_stack_execute_Ptr = (void*) GetProcAddress(DLLHandle,"xxusb_stack_execute"))) exit(1); |
- if (!(xxusb_register_write_Ptr = (void*) GetProcAddress(DLLHandle,"xxusb_register_write"))) exit(1); |
- if (!(xxusb_usbfifo_read_Ptr = (void*) GetProcAddress(DLLHandle,"xxusb_usbfifo_read"))) exit(1); |
- if (!(xxusb_bulk_read_Ptr = (void*) GetProcAddress(DLLHandle,"xxusb_bulk_read"))) exit(1); |
- if (!(xxusb_bulk_write_Ptr = (void*) GetProcAddress(DLLHandle,"xxusb_bulk_write"))) exit(1); |
- if (!(xxusb_reset_toggle_Ptr = (void*) GetProcAddress(DLLHandle,"xxusb_reset_toggle"))) exit(1); |
- |
- if (!(xxusb_devices_find_Ptr = (void*) GetProcAddress(DLLHandle,"xxusb_devices_find"))) exit(1); |
- if (!(xxusb_device_close_Ptr = (void*) GetProcAddress(DLLHandle,"xxusb_device_close"))) exit(1); |
- if (!(xxusb_device_open_Ptr = (void*) GetProcAddress(DLLHandle,"xxusb_device_open"))) exit(1); |
- if (!(xxusb_flash_program_Ptr = (void*) GetProcAddress(DLLHandle,"xxusb_flash_program"))) exit(1); |
- if (!(xxusb_flashblock_program_Ptr = (void*) GetProcAddress(DLLHandle,"xxusb_flashblock_program"))) exit(1); |
- if (!(xxusb_serial_open_Ptr = (void*) GetProcAddress(DLLHandle,"xxusb_serial_open"))) exit(1); |
- |
- if (!(VME_register_write_Ptr = (void*) GetProcAddress(DLLHandle,"VME_register_write"))) exit(1); |
- if (!(VME_register_read_Ptr = (void*) GetProcAddress(DLLHandle,"VME_register_read"))) exit(1); |
- if (!(VME_LED_settings_Ptr = (void*) GetProcAddress(DLLHandle,"VME_LED_settings"))) exit(1); |
- if (!(VME_DGG_Ptr = (void*) GetProcAddress(DLLHandle,"VME_DGG"))) exit(1); |
- if (!(VME_Output_settings_Ptr = (void*) GetProcAddress(DLLHandle,"VME_Output_settings"))) exit(1); |
- if (!(VME_read_16_Ptr = (void*) GetProcAddress(DLLHandle,"VME_read_16"))) exit(1); |
- if (!(VME_read_32_Ptr = (void*) GetProcAddress(DLLHandle,"VME_read_32"))) exit(1); |
- if (!(VME_BLT_read_32_Ptr = (void*) GetProcAddress(DLLHandle,"VME_BLT_read_32"))) exit(1); |
- if (!(VME_write_16_Ptr = (void*) GetProcAddress(DLLHandle,"VME_write_16"))) exit(1); |
- if (!(VME_write_32_Ptr = (void*) GetProcAddress(DLLHandle,"VME_write_32"))) exit(1); |
- |
- if (!(CAMAC_DGG_Ptr = (void*) GetProcAddress(DLLHandle,"CAMAC_DGG"))) exit(1); |
- if (!(CAMAC_register_read_Ptr = (void*) GetProcAddress(DLLHandle,"CAMAC_register_read"))) exit(1); |
- if (!(CAMAC_register_write_Ptr = (void*) GetProcAddress(DLLHandle,"CAMAC_register_write"))) exit(1); |
- if (!(CAMAC_LED_settings_Ptr = (void*) GetProcAddress(DLLHandle,"CAMAC_LED_settings"))) exit(1); |
- if (!(CAMAC_Output_settings_Ptr = (void*) GetProcAddress(DLLHandle,"CAMAC_Output_settings"))) exit(1); |
- if (!(CAMAC_read_LAM_mask_Ptr = (void*) GetProcAddress(DLLHandle,"CAMAC_read_LAM_mask"))) exit(1); |
- if (!(CAMAC_write_LAM_mask_Ptr = (void*) GetProcAddress(DLLHandle,"CAMAC_write_LAM_mask"))) exit(1); |
- if (!(CAMAC_write_Ptr = (void*) GetProcAddress(DLLHandle,"CAMAC_write"))) exit(1); |
- if (!(CAMAC_read_Ptr = (void*) GetProcAddress(DLLHandle,"CAMAC_read"))) exit(1); |
- if (!(CAMAC_Z_Ptr = (void*) GetProcAddress(DLLHandle,"CAMAC_Z"))) exit(1); |
- if (!(CAMAC_C_Ptr = (void*) GetProcAddress(DLLHandle,"CAMAC_C"))) exit(1); |
- if (!(CAMAC_I_Ptr = (void*) GetProcAddress(DLLHandle,"CAMAC_I"))) exit(1); |
-*/ |
-} |
- |
-void _VI_FUNC WUSBXX_open (char *serial) |
-{ |
- if (serial != NULL) |
- udev = xxusb_serial_open(serial); |
- if (udev == NULL) printf("Cannot open device WUSBXX_open\n"); |
-} |
- |
-void _VI_FUNC WUSBXX_close (void) |
-{ |
- if (udev) xxusb_device_close(udev); |
-} |
- |
-int _VI_FUNC WUSBXX_CCread (int n, int a, int f, unsigned long *data) |
-{ |
- long intbuf[4]; |
- int ret; |
- // CAMAC direct read function |
- intbuf[0]=1; |
- intbuf[1]=(long)(f+a*32+n*512 + 0x4000); |
- ret = xxusb_stack_execute(udev, intbuf); |
- if (f < 16) |
- { |
- *data=intbuf[0] + intbuf[1] * 0x10000; //24-bit word |
-// *Q = ((intbuf[1] >> 8) & 1); |
-// *X = ((intbuf[1] >> 9) & 1); |
- } |
- return ret; |
-} |
- |
-int _VI_FUNC WUSBXX_CCwrite (int n, int a, int f, unsigned long data) |
-{ |
- long intbuf[4]; |
- int ret; |
-// CAMAC direct write function |
- intbuf[0]=1; |
- intbuf[1]=(long)(f+a*32+n*512 + 0x4000); |
- if ((f > 15) && (f < 24)) |
- { |
- intbuf[0]=3; |
- intbuf[2]=(data & 0xffff); |
- intbuf[3]=((data >>16) & 255); |
- ret = xxusb_stack_execute(udev, intbuf); |
-// *Q = (intbuf[0] & 1); |
-// *X = ((intbuf[0] >> 1) & 1); |
- } |
- return ret; |
-} |
Index: lc2277/Makefile |
=================================================================== |
--- lc2277/Makefile (revision 109) |
+++ lc2277/Makefile (nonexistent) |
@@ -1,62 +0,0 @@ |
- |
-ROOTINC=$(shell root-config --incdir ) |
-ROOTLIB=$(shell root-config --libs ) |
- |
-INC=-I. -I$(ROOTINC) |
- |
- |
-LIBS=$(ROOTLIB) -L./ -lm |
-LIBS1=$(shell root-config --libs --glibs ) |
- |
-OBJ_FILES = wusbxx_dll.o libxxusb.o |
- |
-SRC = . |
-INC1 = -I. -I../lib -I/usr/include |
-DBG = |
-CFLAGS = $(DBG) $(INC1) -Wall |
- |
- |
-LIBFILE = libdaqusb.a |
- |
-TARGET = daqusb |
-FILES = $(SRC)/daqusb.C |
-SHLIB = $(LIBFILE) -lusb |
- |
-all: $(TARGET) libdaqusb.so |
- |
- |
-$(TARGET): $(FILES) library |
- $(CXX) -DMAIN $(FILES) $(CFLAGS) -o $(TARGET) $(SHLIB) -lstdc++ |
- |
- |
-library: $(OBJ_FILES) |
- |
-wusbxx_dll.o:wusbxx_dll.c wusbxx_dll.h |
- |
-libxxusb.o: libxxusb.cpp libxxusb.h |
- |
-.cc.o: |
- $(CXX) -c $< |
- ar r $(LIBFILE) $@ |
- |
-.cpp.o: |
- $(CXX) -fPIC -c $< |
- ar r $(LIBFILE) $@ |
- |
-.c.o: |
- $(CXX) -fPIC -c $< |
- ar r $(LIBFILE) $@ |
- |
- |
- |
-libdaqusb.so: $(FILES) |
- @echo "Generating dictionary Dict.C..." |
- rootcint -f Dict.C -c $(INC) $(CPPFLAGS) daq.h LinkDef.h |
- $(CXX) -DG__DICTIONARY $(CPPFLAGS) $(INC) -fPIC -g -Wall $(FILES) wusbxx_dll.o libxxusb.o Dict.C -lusb -shared -o libdaqusb.so |
- |
-clean: |
- rm Dict.C libdaqusb.so $(TARGET) $(OBJ_FILES) |
- |
- |
-tgz: |
- tar czvf lc2277.tgz Makefile gui.C daq.C daq.h LinkDef.h README start.cxx start.sh readtdcfile.cxx readtdcfile.sh |
Index: lc2277/start.cxx |
=================================================================== |
--- lc2277/start.cxx (revision 109) |
+++ lc2277/start.cxx (nonexistent) |
@@ -1,7 +0,0 @@ |
- |
-int start(char *path="."){ |
- gROOT->SetMacroPath(path); |
- gROOT->ProcessLine(".L libdaqusb.so"); |
- gROOT->ProcessLine(".L gui.C+"); |
- gui(); |
-} |
/lc2277/start.cxx |
Property changes: |
Deleted: svn:executable |
Index: lc2277/50-udev.rules |
=================================================================== |
--- lc2277/50-udev.rules (revision 109) |
+++ lc2277/50-udev.rules (nonexistent) |
@@ -1 +0,0 @@ |
-SUBSYSTEMS=="usb", ATTRS{product}=="CC-USB CAMAC CRATE CONTROLLER", GROUP="f9daq" |