mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-12 21:07:13 +02:00
changed transmission delay commands to go through network parameters and included 10g flow control
This commit is contained in:
@ -268,9 +268,9 @@ int Beb_Activate(int enable){
|
||||
}
|
||||
|
||||
|
||||
int Beb_SetTransmissionDelay(enum transmissionDelayIndex mode, int delay){
|
||||
int Beb_SetNetworkParameter(enum detNetworkParameter mode, int val){
|
||||
//mapping new memory
|
||||
u_int32_t baseaddr, value = 0;
|
||||
u_int32_t baseaddr, valueread = 0;
|
||||
u_int32_t offset = TXM_DELAY_LEFT_OFFSET;
|
||||
char modename[100] = "";
|
||||
|
||||
@ -281,35 +281,41 @@ int Beb_SetTransmissionDelay(enum transmissionDelayIndex mode, int delay){
|
||||
break;
|
||||
case TXN_RIGHT:
|
||||
offset = TXM_DELAY_RIGHT_OFFSET;
|
||||
strcpy(modename,"Transmission Delay Right");
|
||||
strcpy(modename,"Transmission Delay Right");
|
||||
break;
|
||||
case TXN_FRAME:
|
||||
offset = TXM_DELAY_FRAME_OFFSET;
|
||||
strcpy(modename,"Transmission Delay Frame");
|
||||
strcpy(modename,"Transmission Delay Frame");
|
||||
break;
|
||||
default: cprintf(BG_RED,"Unrecognized mode in transmission delay: %d\n",mode); return -1;
|
||||
case FLOWCTRL_10G:
|
||||
offset = TXM_FLOW_CONTROL_10G;
|
||||
strcpy(modename,"Flow Control for 10G");
|
||||
if(val>0) val = 1;
|
||||
break;
|
||||
default: cprintf(BG_RED,"Unrecognized mode in network parameter: %d\n",mode); return -1;
|
||||
}
|
||||
//open file pointer
|
||||
int fd = Beb_open(XPAR_PLB_GPIO_SYS_BASEADDR,&baseaddr);
|
||||
if(fd < 0){
|
||||
cprintf(BG_RED,"Deactivate FAIL\n");
|
||||
cprintf(BG_RED,"Could not read register to set network parameter. FAIL\n");
|
||||
return -1;
|
||||
}
|
||||
else{
|
||||
if(delay > -1){
|
||||
value = Beb_Read32(baseaddr, offset);
|
||||
cprintf(BLUE, "%s value before:%d\n",modename,value);
|
||||
Beb_Write32(baseaddr, offset,delay);
|
||||
if(val > -1){
|
||||
valueread = Beb_Read32(baseaddr, offset);
|
||||
//cprintf(BLUE, "%s value before:%d\n",modename,valueread);
|
||||
Beb_Write32(baseaddr, offset,val);
|
||||
cprintf(BLUE,"%s value:%d\n", modename,valueread);
|
||||
}
|
||||
|
||||
value = Beb_Read32(baseaddr, offset);
|
||||
cprintf(BLUE,"%s value:%d\n", modename,value);
|
||||
valueread = Beb_Read32(baseaddr, offset);
|
||||
//cprintf(BLUE,"%s value:%d\n", modename,valueread);
|
||||
}
|
||||
//close file pointer
|
||||
if(fd > 0)
|
||||
Beb_close(fd);
|
||||
|
||||
return value;
|
||||
return valueread;
|
||||
}
|
||||
|
||||
|
||||
|
@ -50,7 +50,7 @@ struct BebInfo{
|
||||
int Beb_SetMasterViaSoftware();
|
||||
int Beb_SetSlaveViaSoftware();
|
||||
int Beb_Activate(int enable);
|
||||
int Beb_SetTransmissionDelay(enum transmissionDelayIndex mode, int delay);
|
||||
int Beb_SetNetworkParameter(enum detNetworkParameter mode, int val);
|
||||
int Beb_ResetToHardwareSettings();
|
||||
u_int32_t Beb_GetFirmwareRevision();
|
||||
u_int32_t Beb_GetFirmwareSoftwareAPIVersion();
|
||||
|
@ -125,6 +125,7 @@
|
||||
#define TXM_DELAY_LEFT_OFFSET 0x180
|
||||
#define TXM_DELAY_RIGHT_OFFSET 0x1A0
|
||||
#define TXM_DELAY_FRAME_OFFSET 0x1C0
|
||||
#define TXM_FLOW_CONTROL_10G 0x140
|
||||
|
||||
//command memory
|
||||
#define LEFT_OFFSET 0x0
|
||||
|
Binary file not shown.
@ -1313,8 +1313,8 @@ int activate(int enable){
|
||||
}
|
||||
|
||||
|
||||
int setTransmissionDelay(enum transmissionDelayIndex mode, int delay){
|
||||
return Beb_SetTransmissionDelay(mode, delay);
|
||||
int setNetworkParameter(enum detNetworkParameter mode, int value){
|
||||
return Beb_SetNetworkParameter(mode, value);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -42,7 +42,7 @@ enum detDacIndex{SVP,VTR,VRF,VRS,SVN,VTGSTV,VCMP_LL,VCMP_LR,CAL,VCMP_RL,RXB_RB,R
|
||||
|
||||
enum detAdcIndex{TEMP_FPGAEXT, TEMP_10GE, TEMP_DCDC, TEMP_SODL, TEMP_SODR, TEMP_FPGA};
|
||||
|
||||
enum transmissionDelayIndex{TXN_LEFT, TXN_RIGHT, TXN_FRAME};
|
||||
enum detNetworkParameter{TXN_LEFT, TXN_RIGHT, TXN_FRAME,FLOWCTRL_10G};
|
||||
|
||||
|
||||
#endif /* SLSDETECTORSERVER_DEFS_H_ */
|
||||
|
Reference in New Issue
Block a user