130 likes | 220 Views
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.
E N D
Recent developments of communication between DOOCS & ODR Valeria Bartsch Andrzej Misiejuk Tao Wu
How to communicate? LDAs ODR Control Interface DOOCS Device server Stream Sockets ODR Storage ENS Results DOOCS Clients GUI RPC/Display
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();
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;
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.
Hostname & Port number Hostname + Port: in configuration file
Socket Stream Communication test Marker/Commands Control Sender/Receiver Control
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
DOOCS: Send & Receive Send message Show statistics Receive Packet Change to LDA Marker Send message Receive Packet Show statistics
ODR Control Interface CMD = Start CMD = GetStat Change to LDA Marker CMD = Stop CMD = Terminate
Data Rate ~320 MB/s
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.
Summary • The sending and receiving methods can be improved; • Need to use threads to manage the sender and receiver;