transmission delay added

This commit is contained in:
Dhanya Maliakal
2016-08-03 17:03:37 +02:00
parent 1db5ef4fd4
commit d28d737fb9
15 changed files with 243 additions and 52 deletions

View File

@ -268,10 +268,27 @@ int Beb_Activate(int enable){
}
int Beb_SetTransmissionDelay(int delay){
int Beb_SetTransmissionDelay(enum transmissionDelayIndex mode, int delay){
//mapping new memory
u_int32_t baseaddr, value = 0;
u_int32_t offset = TXM_DELAY_LEFT_OFFSET;
char modename[100] = "";
switch(mode){
case TXN_LEFT:
offset = TXM_DELAY_LEFT_OFFSET;
strcpy(modename,"Transmission Delay Left");
break;
case TXN_RIGHT:
offset = TXM_DELAY_RIGHT_OFFSET;
strcpy(modename,"Transmission Delay Right");
break;
case TXN_FRAME:
offset = TXM_DELAY_FRAME_OFFSET;
strcpy(modename,"Transmission Delay Frame");
break;
default: cprintf(BG_RED,"Unrecognized mode in transmission delay: %d\n",mode); return -1;
}
//open file pointer
int fd = Beb_open(XPAR_PLB_GPIO_SYS_BASEADDR,&baseaddr);
if(fd < 0){
@ -280,19 +297,19 @@ int Beb_SetTransmissionDelay(int delay){
}
else{
if(delay > -1){
value = Beb_Read32(baseaddr, TXM_DELAY_LEFT_OFFSET);
cprintf(BLUE, "Transmission Delay value before:%d\n",value);
Beb_Write32(baseaddr, TXM_DELAY_LEFT_OFFSET,delay);
value = Beb_Read32(baseaddr, offset);
cprintf(BLUE, "%s value before:%d\n",modename,value);
Beb_Write32(baseaddr, offset,delay);
}
value = Beb_Read32(baseaddr, TXM_DELAY_LEFT_OFFSET);
cprintf(BLUE,"Transmission Delay value:%d\n", value);
value = Beb_Read32(baseaddr, offset);
cprintf(BLUE,"%s value:%d\n", modename,value);
}
//close file pointer
if(fd > 0)
Beb_close(fd);
return 0;
return value;
}

View File

@ -11,8 +11,7 @@
#include "LocalLinkInterface.h"
#include "slsDetectorServer_defs.h"
struct BebInfo{
@ -51,7 +50,7 @@ struct BebInfo{
int Beb_SetMasterViaSoftware();
int Beb_SetSlaveViaSoftware();
int Beb_Activate(int enable);
int Beb_SetTransmissionDelay(int delay);
int Beb_SetTransmissionDelay(enum transmissionDelayIndex mode, int delay);
int Beb_ResetToHardwareSettings();
u_int32_t Beb_GetFirmwareRevision();
u_int32_t Beb_GetFirmwareSoftwareAPIVersion();

View File

@ -123,6 +123,8 @@
#define DEACTIVATE_BIT 0x4
#define TXM_DELAY_LEFT_OFFSET 0x180
#define TXM_DELAY_RIGHT_OFFSET 0x1A0
#define TXM_DELAY_FRAME_OFFSET 0x1C0
//command memory
#define LEFT_OFFSET 0x0

View File

@ -1303,8 +1303,7 @@ int getAllTrimbits(){
return *((detectorModules->chanregs));
}
int getBebFPGATemp()
{
int getBebFPGATemp(){
return Beb_GetBebFPGATemp();
}
@ -1314,4 +1313,8 @@ int activate(int enable){
}
int setTransmissionDelay(enum transmissionDelayIndex mode, int delay){
return Beb_SetTransmissionDelay(mode, delay);
}
#endif

View File

@ -42,5 +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};
#endif /* SLSDETECTORSERVER_DEFS_H_ */