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

View File

@@ -194,7 +194,13 @@ void ecmcSocketCAN::doReadWorker() {
if(destructs_) {
break;
}
if(!connected_) {
timespec tempPauseTime;
tempPauseTime.tv_sec = 1;
tempPauseTime.tv_nsec = 0;
nanosleep(&tempPauseTime,NULL);
continue;
}
// Wait for new CAN frame
int bytes = read(socketId_, &rxmsg_, sizeof(rxmsg_));
if(bytes == -1) {
@@ -420,7 +426,7 @@ void ecmcSocketCAN::initAsyn() {
}
// 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(
paramName.c_str(), // name

View File

@@ -46,7 +46,7 @@ ecmcSocketCANWriteBuffer::ecmcSocketCANWriteBuffer(int socketId, int cfgDbgMode)
bufferSwitchMutex_ = epicsMutexCreate();
lastWriteSumError_ = 0;
writePauseTime_.tv_sec = 0;
writePauseTime_.tv_nsec = 2e6; // 1ms
writePauseTime_.tv_nsec = 2e6; // 2ms
buffer1_.frameCounter = 0;
buffer2_.frameCounter = 0;