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_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
unsigned int i;
for(i=0;i<nimages;i++){
// unsigned int i;
// for(i=0;i<nimages;i++){
//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) ||
!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");
return 0;
}
}
// }
#ifdef MARTIN
cprintf(RED, "----Beb_RequestNImages----\n");
#endif

View File

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