fixed bug of crash when changing dr sometimes, latestdata was incorrectly inititalized

This commit is contained in:
Dhanya Maliakal 2016-12-02 08:55:07 +01:00
parent ce086fe79d
commit 28b0897dd7
4 changed files with 62 additions and 39 deletions

View File

@ -539,7 +539,7 @@ class UDPBaseImplementation : protected virtual slsReceiverDefs, public UDPInter
/** Fifo Depth */ /** Fifo Depth */
uint32_t fifoDepth; uint32_t fifoDepth;
/** enable for flipping data across both axes */ /** enable for flipping data across both axes */
bool flippedData[2]; int flippedData[2];
//***receiver parameters*** //***receiver parameters***
/** Maximum Number of Listening Threads/ UDP Ports */ /** Maximum Number of Listening Threads/ UDP Ports */

View File

@ -46,8 +46,8 @@ void UDPBaseImplementation::initializeMembers(){
dynamicRange = 16; dynamicRange = 16;
tengigaEnable = false; tengigaEnable = false;
fifoDepth = 0; fifoDepth = 0;
flippedData[0] = false; flippedData[0] = 0;
flippedData[1] = false; flippedData[1] = 0;
//***receiver parameters*** //***receiver parameters***
status = IDLE; status = IDLE;
@ -221,7 +221,7 @@ void UDPBaseImplementation::configure(map<string, string> config_map){
void UDPBaseImplementation::setFlippedData(int axis, int enable){ void UDPBaseImplementation::setFlippedData(int axis, int enable){
FILE_LOG(logDEBUG) << __AT__ << " starting"; FILE_LOG(logDEBUG) << __AT__ << " starting";
if(axis<0 || axis>1) return; if(axis<0 || axis>1) return;
flippedData[axis] = enable; flippedData[axis] = enable==0?0:1;
FILE_LOG(logINFO) << "Flipped Data: " << flippedData[0] << " , " << flippedData[1]; FILE_LOG(logINFO) << "Flipped Data: " << flippedData[0] << " , " << flippedData[1];
} }

View File

@ -320,13 +320,12 @@ int UDPStandardImplementation::setupFifoStructure(){
// fifo depth // fifo depth
uint32_t oldFifoSize = fifoSize; uint32_t oldFifoSize = fifoSize;
fifoSize = fifoDepth;
//reduce fifo depth if > 1 numberofJobsPerBuffer //reduce fifo depth if > 1 numberofJobsPerBuffer
if(fifoSize % numberofJobsPerBuffer) if(fifoDepth % numberofJobsPerBuffer)
fifoSize = (fifoSize/numberofJobsPerBuffer)+1; fifoSize = (fifoDepth/numberofJobsPerBuffer)+1;
else else
fifoSize = fifoSize/numberofJobsPerBuffer; fifoSize = fifoDepth/numberofJobsPerBuffer;
//do not rebuild fifo structure if it is the same (oldfifosize differs only for different packetsperframe) //do not rebuild fifo structure if it is the same (oldfifosize differs only for different packetsperframe)
if((oldNumberofJobsPerBuffer == numberofJobsPerBuffer) && (oldFifoSize == fifoSize)) if((oldNumberofJobsPerBuffer == numberofJobsPerBuffer) && (oldFifoSize == fifoSize))
@ -343,7 +342,7 @@ int UDPStandardImplementation::setupFifoStructure(){
//set up fifo structure //set up fifo structure
for(int i=0;i<numberofListeningThreads;i++){ for(int i=0;i<MAX_NUMBER_OF_LISTENING_THREADS;i++){
//deleting //deleting
if(fifoFree[i]){ if(fifoFree[i]){
@ -367,6 +366,10 @@ int UDPStandardImplementation::setupFifoStructure(){
mem0[i] = 0; mem0[i] = 0;
} }
}
for(int i=0;i<numberofListeningThreads;i++){
//creating //creating
fifoFree[i] = new CircularFifo<char>(fifoSize); fifoFree[i] = new CircularFifo<char>(fifoSize);
fifo[i] = new CircularFifo<char>(fifoSize); fifo[i] = new CircularFifo<char>(fifoSize);
@ -382,7 +385,7 @@ int UDPStandardImplementation::setupFifoStructure(){
buffer[i]=mem0[i]; buffer[i]=mem0[i];
while (buffer[i] < (mem0[i]+(bufferSize * numberofJobsPerBuffer + fifoBufferHeaderSize) * (fifoSize-1))) { while (buffer[i] < (mem0[i]+(bufferSize * numberofJobsPerBuffer + fifoBufferHeaderSize) * (fifoSize-1))) {
//cprintf(BLUE,"fifofree %d: push 0x%p\n",i,(void*)buffer[i]); //cprintf(BLUE,"fifofree %d: push 0x%p\n",i,(void*)buffer[i]);
/*for(int k=0;k<bufferSize;k=k+4){ /*for(int k=0;k<bufferSize;k=k+10){
sprintf(buffer[i]+fifoBufferHeaderSize+k,"mem%d",i); sprintf(buffer[i]+fifoBufferHeaderSize+k,"mem%d",i);
}*/ }*/
sprintf(buffer[i],"mem%d",i); sprintf(buffer[i],"mem%d",i);
@ -644,10 +647,10 @@ int UDPStandardImplementation::setDynamicRange(const uint32_t i){
//gui buffer //gui buffer
for(int i=0;i<MAX_NUMBER_OF_WRITER_THREADS;i++){ for(int i=0;i<MAX_NUMBER_OF_WRITER_THREADS;i++){
if(latestData[i]){delete[] latestData[i]; latestData[i] = 0;} if(latestData[i]){delete[] latestData[i];latestData[i] = 0;}
} }
for(int i=0;i<numberofWriterThreads;i++){ for(int i=0;i<numberofWriterThreads;i++){
latestData[i] = new char[bufferSize](); latestData[i] = new char[bufferSize+FILE_FRAME_HEADER_LENGTH]();
} }
//restructure fifo //restructure fifo
numberofJobsPerBuffer = -1; numberofJobsPerBuffer = -1;
@ -701,10 +704,10 @@ int UDPStandardImplementation::setTenGigaEnable(const bool b){
//gui buffer //gui buffer
for(int i=0;i<MAX_NUMBER_OF_WRITER_THREADS;i++){ for(int i=0;i<MAX_NUMBER_OF_WRITER_THREADS;i++){
if(latestData[i]){delete[] latestData[i]; latestData[i] = 0;} if(latestData[i]){delete[] latestData[i];latestData[i] = 0;}
} }
for(int i=0;i<numberofWriterThreads;i++){ for(int i=0;i<numberofWriterThreads;i++){
latestData[i] = new char[bufferSize](); latestData[i] = new char[bufferSize+FILE_FRAME_HEADER_LENGTH]();
} }
//restructure fifo //restructure fifo
@ -888,7 +891,7 @@ int UDPStandardImplementation::setDetectorType(const detectorType d){
//allocate for latest data (frame copy for gui), free variables //allocate for latest data (frame copy for gui), free variables
for(int i=0; i<MAX_NUMBER_OF_WRITER_THREADS; i++){ for(int i=0; i<MAX_NUMBER_OF_WRITER_THREADS; i++){
if(latestData[i]) {delete[] latestData[i]; latestData[i] = 0;} if(latestData[i]) {delete[] latestData[i];latestData[i] = 0;}
} }
for(int i=0; i<numberofWriterThreads; i++){ for(int i=0; i<numberofWriterThreads; i++){
if(excludeMissingPackets) if(excludeMissingPackets)
@ -1862,7 +1865,7 @@ void UDPStandardImplementation::startDataCallback(){
int len = sprintf(buf,jsonFmt,type,shape, acquisitionIndex, frameIndex, subframeIndex,completeFileName[ithread]); int len = sprintf(buf,jsonFmt,type,shape, acquisitionIndex, frameIndex, subframeIndex,completeFileName[ithread]);
zmq_send(zmqsocket, buf,len, ZMQ_SNDMORE); zmq_send(zmqsocket, buf,len, ZMQ_SNDMORE);
//send data //send data
zmq_send(zmqsocket, latestData[ithread]+FILE_FRAME_HEADER_LENGTH, bufferSize, 0); zmq_send(zmqsocket, (latestData[ithread]+FILE_FRAME_HEADER_LENGTH), bufferSize, 0);
//start clock after sending //start clock after sending
if(!frameToGuiFrequency){ if(!frameToGuiFrequency){
randomSendNow = false; randomSendNow = false;
@ -2507,6 +2510,7 @@ void UDPStandardImplementation::startWriting(){
else else
fifo[0]->pop(wbuf); fifo[0]->pop(wbuf);
uint32_t numPackets = (uint32_t)(*((uint32_t*)wbuf)); uint32_t numPackets = (uint32_t)(*((uint32_t*)wbuf));
#ifdef DEBUG4 #ifdef DEBUG4
cprintf(GREEN,"Writing_Thread %d: Number of Packets: %d for FIFO %d\n", ithread, numPackets, dataCompressionEnable?0:ithread); cprintf(GREEN,"Writing_Thread %d: Number of Packets: %d for FIFO %d\n", ithread, numPackets, dataCompressionEnable?0:ithread);
#endif #endif
@ -2880,7 +2884,7 @@ void UDPStandardImplementation::handleCompleteFramesOnly(int ithread, char* wbuf
if((fileWriteEnable) && (sfilefd[ithread])){ if((fileWriteEnable) && (sfilefd[ithread])){
if(tempframenumber && (tempframenumber%maxFramesPerFile) == 0) if(tempframenumber && (tempframenumber%maxFramesPerFile) == 0)
createNewFile(ithread); createNewFile(ithread);
fwrite(wbuffer + HEADER_SIZE_NUM_TOT_PACKETS, 1, bufferSize + FILE_FRAME_HEADER_LENGTH, sfilefd[ithread]); fwrite(wbuffer + HEADER_SIZE_NUM_TOT_PACKETS, 1, (bufferSize + FILE_FRAME_HEADER_LENGTH), sfilefd[ithread]);
} }
@ -3140,6 +3144,7 @@ void UDPStandardImplementation::copyFrameToGui(int ithread, char* buffer, uint32
//copy date //copy date
guiNumPackets[ithread] = numpackets; guiNumPackets[ithread] = numpackets;
strcpy(guiFileName[ithread],completeFileName[ithread]); strcpy(guiFileName[ithread],completeFileName[ithread]);
if(excludeMissingPackets) //copy also the header if(excludeMissingPackets) //copy also the header
memcpy(latestData[ithread],buffer+HEADER_SIZE_NUM_TOT_PACKETS, bufferSize + FILE_FRAME_HEADER_LENGTH); memcpy(latestData[ithread],buffer+HEADER_SIZE_NUM_TOT_PACKETS, bufferSize + FILE_FRAME_HEADER_LENGTH);
else //copy only the data else //copy only the data

View File

@ -355,8 +355,9 @@ int slsReceiverTCPIPInterface::set_detector_type(){
sprintf(mess,"Receiver locked by %s\n", mySock->lastClientIP); sprintf(mess,"Receiver locked by %s\n", mySock->lastClientIP);
ret=FAIL; ret=FAIL;
} }
else if((receiverBase)&&(receiverBase->getStatus()==RUNNING || receiverBase->getStatus()==TRANSMITTING)){ else if((receiverBase)&&(receiverBase->getStatus()!= IDLE)){
strcpy(mess,"Can not set detector type while receiver not idle\n"); strcpy(mess,"Can not set detector type while receiver not idle\n");
cprintf(RED,"%s",mess);
ret = FAIL; ret = FAIL;
} }
else{ else{
@ -447,8 +448,9 @@ int slsReceiverTCPIPInterface::set_file_name() {
strcpy(mess,SET_RECEIVER_ERR_MESSAGE); strcpy(mess,SET_RECEIVER_ERR_MESSAGE);
ret=FAIL; ret=FAIL;
} }
else if(receiverBase->getStatus()==RUNNING || receiverBase->getStatus()==TRANSMITTING){ else if(receiverBase->getStatus()!= IDLE){
strcpy(mess,"Can not set file name while receiver not idle\n"); strcpy(mess,"Can not set file name while receiver not idle\n");
cprintf(RED,"%s",mess);
ret = FAIL; ret = FAIL;
} }
else{ else{
@ -519,8 +521,9 @@ int slsReceiverTCPIPInterface::set_file_dir() {
strcpy(mess,SET_RECEIVER_ERR_MESSAGE); strcpy(mess,SET_RECEIVER_ERR_MESSAGE);
ret=FAIL; ret=FAIL;
} }
else if(receiverBase->getStatus()==RUNNING || receiverBase->getStatus()==TRANSMITTING){ else if(receiverBase->getStatus()!= IDLE){
strcpy(mess,"Can not set file path while receiver not idle\n"); strcpy(mess,"Can not set file path while receiver not idle\n");
cprintf(RED,"%s",mess);
ret = FAIL; ret = FAIL;
} }
else{ else{
@ -592,8 +595,9 @@ int slsReceiverTCPIPInterface::set_file_index() {
strcpy(mess,SET_RECEIVER_ERR_MESSAGE); strcpy(mess,SET_RECEIVER_ERR_MESSAGE);
ret=FAIL; ret=FAIL;
} }
else if(receiverBase->getStatus()==RUNNING || receiverBase->getStatus()==TRANSMITTING){ else if(receiverBase->getStatus()!= IDLE){
strcpy(mess,"Can not set file index while receiver not idle\n"); strcpy(mess,"Can not set file index while receiver not idle\n");
cprintf(RED,"%s",mess);
ret = FAIL; ret = FAIL;
} }
else{ else{
@ -660,8 +664,9 @@ int slsReceiverTCPIPInterface::set_frame_index() {
strcpy(mess,SET_RECEIVER_ERR_MESSAGE); strcpy(mess,SET_RECEIVER_ERR_MESSAGE);
ret=FAIL; ret=FAIL;
} }
else if(receiverBase->getStatus()==RUNNING || receiverBase->getStatus()==TRANSMITTING){ else if(receiverBase->getStatus()!= IDLE){
strcpy(mess,"Can not set frame index while receiver not idle\n"); strcpy(mess,"Can not set frame index while receiver not idle\n");
cprintf(RED,"%s",mess);
ret = FAIL; ret = FAIL;
} }
else{ else{
@ -741,8 +746,9 @@ int slsReceiverTCPIPInterface::setup_udp(){
strcpy(mess,SET_RECEIVER_ERR_MESSAGE); strcpy(mess,SET_RECEIVER_ERR_MESSAGE);
ret=FAIL; ret=FAIL;
} }
else if(receiverBase->getStatus()==RUNNING || receiverBase->getStatus()==TRANSMITTING){ else if(receiverBase->getStatus()!= IDLE){
strcpy(mess,"Can not set up udp while receiver not idle\n"); strcpy(mess,"Can not set up udp while receiver not idle\n");
cprintf(RED,"%s",mess);
ret = FAIL; ret = FAIL;
} }
else{ else{
@ -836,6 +842,7 @@ int slsReceiverTCPIPInterface::start_receiver(){
ret=receiverBase->startReceiver(mess); ret=receiverBase->startReceiver(mess);
else{ else{
sprintf(mess,"Cannot start Receiver as it is in %s state\n",runStatusType(s).c_str()); sprintf(mess,"Cannot start Receiver as it is in %s state\n",runStatusType(s).c_str());
cprintf(RED,"%s",mess);
ret=FAIL; ret=FAIL;
} }
} }
@ -875,7 +882,7 @@ int slsReceiverTCPIPInterface::stop_receiver(){
ret=FAIL; ret=FAIL;
} }
else{ else{
if(receiverBase->getStatus()==RUNNING || receiverBase->getStatus()==TRANSMITTING || receiverBase->getStatus()==RUN_FINISHED){ if(receiverBase->getStatus()!= IDLE){
receiverBase->stopReceiver(); receiverBase->stopReceiver();
} }
s = receiverBase->getStatus(); s = receiverBase->getStatus();
@ -883,6 +890,7 @@ int slsReceiverTCPIPInterface::stop_receiver(){
ret = OK; ret = OK;
else{ else{
sprintf(mess,"Could not stop receiver. It is in %s state\n",runStatusType(s).c_str()); sprintf(mess,"Could not stop receiver. It is in %s state\n",runStatusType(s).c_str());
cprintf(RED,"%s",mess);
ret = FAIL; ret = FAIL;
} }
} }
@ -1079,8 +1087,9 @@ int slsReceiverTCPIPInterface::set_short_frame() {
strcpy(mess,SET_RECEIVER_ERR_MESSAGE); strcpy(mess,SET_RECEIVER_ERR_MESSAGE);
ret=FAIL; ret=FAIL;
} }
else if(receiverBase->getStatus()==RUNNING || receiverBase->getStatus()==TRANSMITTING){ else if(receiverBase->getStatus()!= IDLE){
strcpy(mess,"Cannot set short frame while status is running\n"); strcpy(mess,"Cannot set short frame while status is running\n");
cprintf(RED,"%s",mess);
ret=FAIL; ret=FAIL;
} }
else{ else{
@ -2096,7 +2105,7 @@ int slsReceiverTCPIPInterface::set_read_frequency(){
strcpy(mess,SET_RECEIVER_ERR_MESSAGE); strcpy(mess,SET_RECEIVER_ERR_MESSAGE);
ret=FAIL; ret=FAIL;
} }
else if(receiverBase->getStatus()==RUNNING || receiverBase->getStatus()==TRANSMITTING){ else if(receiverBase->getStatus()!= IDLE){
strcpy(mess,"Can not set receiver frequency mode while receiver not idle\n"); strcpy(mess,"Can not set receiver frequency mode while receiver not idle\n");
cprintf(RED,"%s\n",mess); cprintf(RED,"%s\n",mess);
ret = FAIL; ret = FAIL;
@ -2166,7 +2175,7 @@ int slsReceiverTCPIPInterface::set_read_receiver_timer(){
strcpy(mess,SET_RECEIVER_ERR_MESSAGE); strcpy(mess,SET_RECEIVER_ERR_MESSAGE);
ret=FAIL; ret=FAIL;
} }
else if(receiverBase->getStatus()==RUNNING || receiverBase->getStatus()==TRANSMITTING){ else if(receiverBase->getStatus()!= IDLE){
strcpy(mess,"Can not set receiver frequency mode while receiver not idle\n"); strcpy(mess,"Can not set receiver frequency mode while receiver not idle\n");
cprintf(RED,"%s\n",mess); cprintf(RED,"%s\n",mess);
ret = FAIL; ret = FAIL;
@ -2230,7 +2239,7 @@ int slsReceiverTCPIPInterface::set_data_stream_enable(){
strcpy(mess,SET_RECEIVER_ERR_MESSAGE); strcpy(mess,SET_RECEIVER_ERR_MESSAGE);
ret=FAIL; ret=FAIL;
} }
else if((index >= 0) && (receiverBase->getStatus()==RUNNING || receiverBase->getStatus()==TRANSMITTING)){ else if((index >= 0) && (receiverBase->getStatus()!= IDLE)){
strcpy(mess,"Can not set data stream enable while receiver not idle\n"); strcpy(mess,"Can not set data stream enable while receiver not idle\n");
cprintf(RED,"%s\n",mess); cprintf(RED,"%s\n",mess);
ret = FAIL; ret = FAIL;
@ -2294,8 +2303,9 @@ int slsReceiverTCPIPInterface::enable_file_write(){
strcpy(mess,SET_RECEIVER_ERR_MESSAGE); strcpy(mess,SET_RECEIVER_ERR_MESSAGE);
ret=FAIL; ret=FAIL;
} }
else if(receiverBase->getStatus()==RUNNING || receiverBase->getStatus()==TRANSMITTING){ else if(receiverBase->getStatus()!= IDLE){
strcpy(mess,"Can not set file write mode while receiver not idle\n"); strcpy(mess,"Can not set file write mode while receiver not idle\n");
cprintf(RED,"%s",mess);
ret = FAIL; ret = FAIL;
} }
else{ else{
@ -2370,7 +2380,7 @@ int slsReceiverTCPIPInterface::start_readout(){cprintf(BLUE,"In start readout!\n
strcpy(mess,SET_RECEIVER_ERR_MESSAGE); strcpy(mess,SET_RECEIVER_ERR_MESSAGE);
ret=FAIL; ret=FAIL;
} }
/*else if(receiverBase->getStatus()==RUNNING || receiverBase->getStatus()==TRANSMITTING){ /*else if(receiverBase->getStatus()!= IDLE){
strcpy(mess,"Can not start receiver readout while receiver not idle\n"); strcpy(mess,"Can not start receiver readout while receiver not idle\n");
ret = FAIL; ret = FAIL;
}*/ }*/
@ -2430,8 +2440,9 @@ int slsReceiverTCPIPInterface::set_timer() {
strcpy(mess,SET_RECEIVER_ERR_MESSAGE); strcpy(mess,SET_RECEIVER_ERR_MESSAGE);
ret=FAIL; ret=FAIL;
} }
else if(receiverBase->getStatus()==RUNNING || receiverBase->getStatus()==TRANSMITTING){ else if(receiverBase->getStatus()!= IDLE){
strcpy(mess,"Can not set timer while receiver not idle\n"); strcpy(mess,"Can not set timer while receiver not idle\n");
cprintf(RED,"%s",mess);
ret = FAIL; ret = FAIL;
} }
else{ else{
@ -2518,8 +2529,9 @@ int slsReceiverTCPIPInterface::enable_compression() {
strcpy(mess,SET_RECEIVER_ERR_MESSAGE); strcpy(mess,SET_RECEIVER_ERR_MESSAGE);
ret=FAIL; ret=FAIL;
} }
else if(receiverBase->getStatus()==RUNNING || receiverBase->getStatus()==TRANSMITTING){ else if(receiverBase->getStatus()!= IDLE){
strcpy(mess,"Cannot enable/disable compression while status is running\n"); strcpy(mess,"Cannot enable/disable compression while status is running\n");
cprintf(RED,"%s",mess);
ret=FAIL; ret=FAIL;
} }
else{ else{
@ -2587,8 +2599,9 @@ int slsReceiverTCPIPInterface::set_detector_hostname() {
strcpy(mess,SET_RECEIVER_ERR_MESSAGE); strcpy(mess,SET_RECEIVER_ERR_MESSAGE);
ret=FAIL; ret=FAIL;
} }
else if(receiverBase->getStatus()==RUNNING || receiverBase->getStatus()==TRANSMITTING){ else if(receiverBase->getStatus()!= IDLE){
strcpy(mess,"Can not set detector hostname while receiver not idle\n"); strcpy(mess,"Can not set detector hostname while receiver not idle\n");
cprintf(RED,"%s",mess);
ret = FAIL; ret = FAIL;
} }
else{ else{
@ -2673,8 +2686,9 @@ int slsReceiverTCPIPInterface::set_dynamic_range() {
strcpy(mess,SET_RECEIVER_ERR_MESSAGE); strcpy(mess,SET_RECEIVER_ERR_MESSAGE);
ret=FAIL; ret=FAIL;
} }
else if(receiverBase->getStatus()==RUNNING || receiverBase->getStatus()==TRANSMITTING){ else if(receiverBase->getStatus()!= IDLE){
strcpy(mess,"Can not set dynamic range while receiver not idle\n"); strcpy(mess,"Can not set dynamic range while receiver not idle\n");
cprintf(RED,"%s",mess);
ret = FAIL; ret = FAIL;
} }
else{ else{
@ -2754,8 +2768,9 @@ int slsReceiverTCPIPInterface::enable_overwrite() {
strcpy(mess,SET_RECEIVER_ERR_MESSAGE); strcpy(mess,SET_RECEIVER_ERR_MESSAGE);
ret=FAIL; ret=FAIL;
} }
else if(receiverBase->getStatus()==RUNNING || receiverBase->getStatus()==TRANSMITTING){ else if(receiverBase->getStatus()!= IDLE){
strcpy(mess,"Can not set overwrite mode while receiver not idle\n"); strcpy(mess,"Can not set overwrite mode while receiver not idle\n");
cprintf(RED,"%s",mess);
ret = FAIL; ret = FAIL;
} }
else{ else{
@ -2821,8 +2836,9 @@ int slsReceiverTCPIPInterface::enable_tengiga() {
strcpy(mess,SET_RECEIVER_ERR_MESSAGE); strcpy(mess,SET_RECEIVER_ERR_MESSAGE);
ret=FAIL; ret=FAIL;
} }
else if(receiverBase->getStatus()==RUNNING || receiverBase->getStatus()==TRANSMITTING){ else if(receiverBase->getStatus()!= IDLE){
strcpy(mess,"Can not set up 1Giga/10Giga mode while receiver not idle\n"); strcpy(mess,"Can not set up 1Giga/10Giga mode while receiver not idle\n");
cprintf(RED,"%s",mess);
ret = FAIL; ret = FAIL;
} }
else{ else{
@ -2890,8 +2906,9 @@ int slsReceiverTCPIPInterface::set_fifo_depth() {
strcpy(mess,SET_RECEIVER_ERR_MESSAGE); strcpy(mess,SET_RECEIVER_ERR_MESSAGE);
ret=FAIL; ret=FAIL;
} }
else if(receiverBase->getStatus()==RUNNING || receiverBase->getStatus()==TRANSMITTING){ else if(receiverBase->getStatus()!= IDLE){
strcpy(mess,"Cannot set/get fifo depth while status is running\n"); strcpy(mess,"Cannot set/get fifo depth while status is running\n");
cprintf(RED,"%s",mess);
ret=FAIL; ret=FAIL;
} }
else{ else{
@ -3033,8 +3050,9 @@ int slsReceiverTCPIPInterface::set_flipped_data(){
strcpy(mess,SET_RECEIVER_ERR_MESSAGE); strcpy(mess,SET_RECEIVER_ERR_MESSAGE);
ret=FAIL; ret=FAIL;
} }
else if(receiverBase->getStatus()==RUNNING || receiverBase->getStatus()==TRANSMITTING){ else if(receiverBase->getStatus()!= IDLE){
strcpy(mess,"Can not set flipped data while receiver not idle\n"); strcpy(mess,"Can not set flipped data while receiver not idle\n");
cprintf(RED,"%s",mess);
ret = FAIL; ret = FAIL;
} }
else{ else{