Only read after connected..
This commit is contained in:
@@ -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;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user