1 / 13

Recent developments of communication between DOOCS & ODR

Recent developments of communication between DOOCS & ODR. Valeria B artsch Andrzej M isiejuk Tao W u. How to communicate?. LDAs. ODR Control Interface. DOOCS Device server. Stream Sockets. ODR. Storage. ENS. Results. DOOCS Clients. GUI RPC/Display.

adelie
Download Presentation

Recent developments of communication between DOOCS & ODR

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Recent developments of communication between DOOCS & ODR Valeria Bartsch Andrzej Misiejuk Tao Wu

  2. How to communicate? LDAs ODR Control Interface DOOCS Device server Stream Sockets ODR Storage ENS Results DOOCS Clients GUI RPC/Display

  3. Mockup version of device server eq_init_prolog(); Build a socket stream in the heap or stack, Set ODR Header params EqFctODR::init() eq_init_epilog(); Activate a device server & create device instances EqFct * eq_create refresh_prolog(); Send/Recv messages via socket stream, update data every period. If device offline, Delete socket stream EqFctODR::update(); refresh_epilog();

  4. Talk to ODR Control Interface LDAs ODR Control Interface DOOCS Device server Stream Sockets ODR ENS RcvMsgFromODR SendMsgToODR Results Build Socket Stream Host Port ODR1 DOOCS Clients Control parameters Nice GUI RPC/Display Sending and Receiving data containing ODR/LDA headers from DOOCS to ODR Control interface have been tested;

  5. One server, many instances LDAs ODR Control Interface DOOCS Device server Stream Sockets ODR ENS RcvMsgFromODR SendMsgToODR Results Build Socket Stream Host Port ODR1 DOOCS Clients Port ODR2 Port ODR3 Host+Port number can be same or different. Nice GUI RPC/Display One-to-many relationship: One device server can serve many instances, i.e. many ODR cards armed in different DAQ PC.

  6. Hostname & Port number Hostname + Port: in configuration file

  7. Socket Stream Communication test Marker/Commands Control Sender/Receiver Control

  8. DOOCS ODR Control Interface SendMsg Commands: 0 Stop 1 Start 2 GetStat 3 Write 4 Read 5 UpStreamWrite 6 UpStreamRead 7 Terminate Packets ODR Control Interface Commands CTL Parameters Socket Stream Headers: ODR/LDA Packets RecvMsg Receiver

  9. DOOCS: Send & Receive Send message Show statistics Receive Packet Change to LDA Marker Send message Receive Packet Show statistics

  10. ODR Control Interface CMD = Start CMD = GetStat Change to LDA Marker CMD = Stop CMD = Terminate

  11. Data Rate ~320 MB/s

  12. Summary • The communication between DOOCS device server and ODR Control Interface via socket streams has been successfully built and tested; • A GUI control/display has been correctly configured for client server, one device server can serve many ODRs armed in PC(s); • Use CVS to maintain the codes at DESY DOOCS source/server/calice/pcix_dma; • Some GUI control buttons need to be customized for a purpose of convenience. • To plot more histograms in order to monitor the statistics during sending and receiving packets.

  13. Summary • The sending and receiving methods can be improved; • Need to use threads to manage the sender and receiver;

More Related