Only read after connected..

This commit is contained in:
Anders Sandstrom
2021-03-22 13:27:25 +01:00
parent 58d8467af8
commit 360bd8fe28
2 changed files with 9 additions and 3 deletions
@@ -194,7 +194,13 @@ void ecmcSocketCAN::doReadWorker() {
if(destructs_) { if(destructs_) {
break; break;
} }
if(!connected_) {
timespec tempPauseTime;
tempPauseTime.tv_sec = 1;
tempPauseTime.tv_nsec = 0;
nanosleep(&tempPauseTime,NULL);
continue;
}
// Wait for new CAN frame // Wait for new CAN frame
int bytes = read(socketId_, &rxmsg_, sizeof(rxmsg_)); int bytes = read(socketId_, &rxmsg_, sizeof(rxmsg_));
if(bytes == -1) { if(bytes == -1) {
@@ -420,7 +426,7 @@ void ecmcSocketCAN::initAsyn() {
} }
// Add resultdata "plugin.can.read.error" // Add resultdata "plugin.can.read.error"
std::string paramName = ECMC_PLUGIN_ASYN_PREFIX + std::string(".read.error"); std::string paramName = ECMC_PLUGIN_ASYN_PREFIX + std::string(".com.error");
errorParam_ = ecmcAsynPort->addNewAvailParam( errorParam_ = ecmcAsynPort->addNewAvailParam(
paramName.c_str(), // name paramName.c_str(), // name
@@ -46,7 +46,7 @@ ecmcSocketCANWriteBuffer::ecmcSocketCANWriteBuffer(int socketId, int cfgDbgMode)
bufferSwitchMutex_ = epicsMutexCreate(); bufferSwitchMutex_ = epicsMutexCreate();
lastWriteSumError_ = 0; lastWriteSumError_ = 0;
writePauseTime_.tv_sec = 0; writePauseTime_.tv_sec = 0;
writePauseTime_.tv_nsec = 2e6; // 1ms writePauseTime_.tv_nsec = 2e6; // 2ms
buffer1_.frameCounter = 0; buffer1_.frameCounter = 0;
buffer2_.frameCounter = 0; buffer2_.frameCounter = 0;