interleaving request messages to different ports of eiger detector

This commit is contained in:
Dhanya Maliakal 2015-05-26 12:07:43 +02:00
parent 9c66e96770
commit ee4fa791be
3 changed files with 11 additions and 7 deletions

View File

@ -569,8 +569,8 @@ int Beb_RequestNImages(unsigned int beb_number, unsigned int left_right, int ten
cprintf(RED, "----Beb_RequestNImages Start----\n"); cprintf(RED, "----Beb_RequestNImages Start----\n");
cprintf(RED, "beb_number:%X, left_right:%X,ten_gig:%X,dst_number:%X,npackets:%X,Beb_bit_mode:%X,header_size:%X,test_just_send_out_packets_no_wait:%X\n",beb_number,left_right,ten_gig,dst_number,npackets,Beb_bit_mode,header_size,test_just_send_out_packets_no_wait); cprintf(RED, "beb_number:%X, left_right:%X,ten_gig:%X,dst_number:%X,npackets:%X,Beb_bit_mode:%X,header_size:%X,test_just_send_out_packets_no_wait:%X\n",beb_number,left_right,ten_gig,dst_number,npackets,Beb_bit_mode,header_size,test_just_send_out_packets_no_wait);
#endif #endif
unsigned int i; // unsigned int i;
for(i=0;i<nimages;i++){ // for(i=0;i<nimages;i++){
//header then data request //header then data request
if(!Beb_SendMultiReadRequest(beb_number,left_right,ten_gig,dst_number,1,header_size,test_just_send_out_packets_no_wait) || if(!Beb_SendMultiReadRequest(beb_number,left_right,ten_gig,dst_number,1,header_size,test_just_send_out_packets_no_wait) ||
!Beb_SendMultiReadRequest(beb_number,left_right,ten_gig,dst_number,npackets,packet_size,test_just_send_out_packets_no_wait) || !Beb_SendMultiReadRequest(beb_number,left_right,ten_gig,dst_number,npackets,packet_size,test_just_send_out_packets_no_wait) ||
@ -578,7 +578,7 @@ int Beb_RequestNImages(unsigned int beb_number, unsigned int left_right, int ten
printf("SendMultiReadRequest failed\n"); printf("SendMultiReadRequest failed\n");
return 0; return 0;
} }
} // }
#ifdef MARTIN #ifdef MARTIN
cprintf(RED, "----Beb_RequestNImages----\n"); cprintf(RED, "----Beb_RequestNImages----\n");
#endif #endif

View File

@ -535,16 +535,20 @@ int stopStateMachine(){
int startReadOut(){ int startReadOut(){
//RequestImages(); //RequestImages();
int ret_val = 0; int ret_val = 0, i;
dst_requested[0] = 1; dst_requested[0] = 1;
while(dst_requested[on_dst]){ while(dst_requested[on_dst]){
//waits on data //waits on data
int beb_num = BEB_NUM;//Feb_Control_GetModuleNumber(); int beb_num = BEB_NUM;//Feb_Control_GetModuleNumber();
if((ret_val = (!Beb_RequestNImages(beb_num,1,send_to_ten_gig,on_dst,nimages_per_request,0)|| for(i=0;i<nimages_per_request;i++){
!Beb_RequestNImages(beb_num,2,send_to_ten_gig,0x20|on_dst,nimages_per_request,0)))) if((ret_val = (!Beb_RequestNImages(beb_num,1,send_to_ten_gig,on_dst,1,0)||
break; !Beb_RequestNImages(beb_num,2,send_to_ten_gig,0x20|on_dst,1,0))))
break;
}
dst_requested[on_dst++]=0; dst_requested[on_dst++]=0;
on_dst%=ndsts_in_use; on_dst%=ndsts_in_use;
} }