diff --git a/slsDetectorSoftware/eigerDetectorServer/Beb.c b/slsDetectorSoftware/eigerDetectorServer/Beb.c index b0522622f..7b60185ea 100644 --- a/slsDetectorSoftware/eigerDetectorServer/Beb.c +++ b/slsDetectorSoftware/eigerDetectorServer/Beb.c @@ -154,7 +154,7 @@ void Beb_GetModuleCopnfiguration(int* master, int* top){ //open file pointer int fd = Beb_open(XPAR_PLB_GPIO_SYS_BASEADDR,&baseaddr); if(fd < 0){ - cprintf(RED,"Module Configuration FAIL\n"); + cprintf(BG_RED,"Module Configuration FAIL\n"); }else{ //read data ret = Beb_Read32(baseaddr, MODULE_CONFIGURATION_MASK); @@ -177,7 +177,7 @@ u_int32_t Beb_GetFirmwareRevision(){ //open file pointer int fd = Beb_open(XPAR_VERSION,&baseaddr); if(fd < 0) - cprintf(RED,"Firmware Revision Read FAIL\n"); + cprintf(BG_RED,"Firmware Revision Read FAIL\n"); else{ //read revision existing bit @@ -185,7 +185,7 @@ u_int32_t Beb_GetFirmwareRevision(){ printf("Firmware Revision Read OK\n"); //error reading if(!(value&REVISION_EXISTING_BIT)){ - cprintf(RED,"Firmware Revision Number does not exist in this version\n"); + cprintf(BG_RED,"Firmware Revision Number does not exist in this version\n"); value = 0; }else{ //read revision number @@ -203,6 +203,27 @@ u_int32_t Beb_GetFirmwareRevision(){ return value; } + +void Beb_ResetFrameNumber(){ + //mapping new memory to read master top module configuration + u_int32_t baseaddr; + //open file pointer + int fd = Beb_open(XPAR_PLB_GPIO_SYS_BASEADDR,&baseaddr); + if(fd < 0){ + cprintf(BG_RED,"Reset Frame Number FAIL\n"); + }else{ + //write a 1 + Beb_Write32(baseaddr, FRAME_NUM_RESET_OFFSET, 1); + usleep(100000); //100ms + //write a 0 + Beb_Write32(baseaddr, FRAME_NUM_RESET_OFFSET, 0); + printf("Frame Number Reset OK\n"); + //close file pointer + Beb_close(fd); + } +} + + void Beb_ClearBebInfos(){ //unsigned int i; //for(i=0;i