Cleanup
This commit is contained in:
@@ -120,7 +120,6 @@ void ecmcCANOpenSDO::execute() {
|
||||
printf("readStates_ = WAIT_FOR_REQ_CONF!!!\n");
|
||||
|
||||
writeBuffer_->addWriteCAN(&reqDataFrame_);
|
||||
//writeBuffer_->triggWrites();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -145,8 +144,6 @@ void ecmcCANOpenSDO::newRxFrame(can_frame *frame) {
|
||||
readStates_ = WAIT_FOR_DATA; //Next frame should be data!
|
||||
printf("readStates_ = WAIT_FOR_DATA!!!\n");
|
||||
writeBuffer_->addWriteCAN(&confReqFrameTg0_); // Send tg0 frame and wait for data, also size must match to go ahead
|
||||
//writeBuffer_->triggWrites();
|
||||
|
||||
useTg1Frame_ = 1;
|
||||
break;
|
||||
|
||||
@@ -167,7 +164,6 @@ void ecmcCANOpenSDO::newRxFrame(can_frame *frame) {
|
||||
writeBuffer_->addWriteCAN(&confReqFrameTg0_);
|
||||
useTg1Frame_ = 1;
|
||||
}
|
||||
//writeBuffer_->triggWrites();
|
||||
}
|
||||
printf("recivedBytes = %d!!!\n",recivedBytes_);
|
||||
|
||||
|
||||
@@ -164,12 +164,7 @@ double can_connected() {
|
||||
return (double)getSocketCANConnectd();
|
||||
}
|
||||
|
||||
// trigger all writes added to buffer
|
||||
//double can_trigg_writes() {
|
||||
// return (double)triggWrites();
|
||||
//}
|
||||
|
||||
// trigger all writes added to buffer
|
||||
// Error during last writes
|
||||
double can_last_writes_error() {
|
||||
return (double)getlastWritesError();
|
||||
}
|
||||
|
||||
@@ -237,22 +237,6 @@ void ecmcSocketCAN::doConnectWorker() {
|
||||
connectPrivate();
|
||||
}
|
||||
}
|
||||
// struct byte0 {
|
||||
// char ccs : 3;
|
||||
// char reserved : 1;
|
||||
// char n : 2;
|
||||
// char e : 1;
|
||||
// char s : 1;
|
||||
// }
|
||||
|
||||
// int ecmcSocketCAN::triggWrites() {
|
||||
// if(!writeBuffer_) {
|
||||
// return ECMC_CAN_ERROR_WRITE_BUFFER_NULL;
|
||||
// }
|
||||
|
||||
// writeBuffer_->triggWrites();
|
||||
// return 0;
|
||||
// }
|
||||
|
||||
int ecmcSocketCAN::getlastWritesError() {
|
||||
if(!writeBuffer_) {
|
||||
@@ -275,7 +259,7 @@ int ecmcSocketCAN::addWriteCAN(uint32_t canId,
|
||||
if(!writeBuffer_) {
|
||||
return ECMC_CAN_ERROR_WRITE_BUFFER_NULL;
|
||||
}
|
||||
|
||||
|
||||
writeBuffer_->addWriteCAN(canId,
|
||||
len,
|
||||
data0,
|
||||
|
||||
@@ -77,7 +77,6 @@ class ecmcSocketCAN : public asynPortDriver {
|
||||
uint8_t data5,
|
||||
uint8_t data6,
|
||||
uint8_t data7);
|
||||
//int triggWrites();
|
||||
int getlastWritesError();
|
||||
void execute(); // ecmc rt loop
|
||||
|
||||
|
||||
@@ -91,19 +91,6 @@ int getlastWritesError() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
// int triggWrites() {
|
||||
// if(can){
|
||||
// try {
|
||||
// return can->triggWrites();
|
||||
// }
|
||||
// catch(std::exception& e) {
|
||||
// printf("Exception: %s.\n",e.what());
|
||||
// return ECMC_PLUGIN_SOCKETCAN_ERROR_CODE;
|
||||
// }
|
||||
// }
|
||||
// return ECMC_PLUGIN_SOCKETCAN_ERROR_CODE;
|
||||
// }
|
||||
|
||||
int execute() {
|
||||
if(can){
|
||||
can->execute();
|
||||
|
||||
@@ -38,14 +38,6 @@ int connectSocketCAN();
|
||||
*/
|
||||
int getSocketCANConnectd();
|
||||
|
||||
/** \brief Write all buffered writes to CAN
|
||||
*/
|
||||
//int triggWrites();
|
||||
|
||||
/** \brief Busy writing\n
|
||||
*/
|
||||
int getWriteBusy();
|
||||
|
||||
/** \brief Get last error from writes\n
|
||||
*/
|
||||
int getlastWritesError();
|
||||
|
||||
@@ -31,16 +31,6 @@ void f_worker_write(void *obj) {
|
||||
canObj->doWriteWorker();
|
||||
}
|
||||
|
||||
//void f_worker_trigger(void *obj) {
|
||||
// if(!obj) {
|
||||
// printf("%s/%s:%d: Error: Worker trigg thread ecmcSocketCANWriteBuffer object NULL..\n",
|
||||
// __FILE__, __FUNCTION__, __LINE__);
|
||||
// return;
|
||||
// }
|
||||
// ecmcSocketCANWriteBuffer * canObj = (ecmcSocketCANWriteBuffer*)obj;
|
||||
// canObj->doTriggerWorker();
|
||||
//}
|
||||
|
||||
/** ecmc ecmcSocketCANWriteBuffer class
|
||||
*/
|
||||
ecmcSocketCANWriteBuffer::ecmcSocketCANWriteBuffer(int socketId, int cfgDbgMode) {
|
||||
@@ -67,29 +57,13 @@ ecmcSocketCANWriteBuffer::ecmcSocketCANWriteBuffer(int socketId, int cfgDbgMode)
|
||||
if(epicsThreadCreate(threadname.c_str(), 0, 32768, f_worker_write, this) == NULL) {
|
||||
throw std::runtime_error("Error: Failed create worker thread for write().");
|
||||
}
|
||||
|
||||
//threadname = "ecmc." ECMC_PLUGIN_ASYN_PREFIX".write_trigg";
|
||||
//if(epicsThreadCreate(threadname.c_str(), 0, 32768, f_worker_trigger, this) == NULL) {
|
||||
// throw std::runtime_error("Error: Failed create worker thread for write trigger.");
|
||||
//}
|
||||
}
|
||||
|
||||
ecmcSocketCANWriteBuffer::~ecmcSocketCANWriteBuffer() {
|
||||
// kill worker
|
||||
destructs_ = 1; // maybe need todo in other way..
|
||||
//doWriteEvent_.signal();
|
||||
}
|
||||
|
||||
//void ecmcSocketCANWriteBuffer::doTriggerWorker() {
|
||||
// while(true) {
|
||||
// if(destructs_) {
|
||||
// return;
|
||||
// }
|
||||
// nanosleep(&writePauseTime_,NULL);
|
||||
// triggWrites();
|
||||
// }
|
||||
//}
|
||||
|
||||
// Write socket worker thread (switch between two buffers)
|
||||
void ecmcSocketCANWriteBuffer::doWriteWorker() {
|
||||
while(true) {
|
||||
@@ -253,19 +227,6 @@ int ecmcSocketCANWriteBuffer::switchBuffer() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Trigger all writes
|
||||
//int ecmcSocketCANWriteBuffer::triggWrites() {
|
||||
//
|
||||
// if(writeBusy_) {
|
||||
// return ECMC_CAN_ERROR_WRITE_BUSY;
|
||||
// }
|
||||
// writeBusy_ = 1;
|
||||
// switchBuffer();
|
||||
// lastWriteSumError_ = 0;
|
||||
// doWriteEvent_.signal(); // let worker start
|
||||
// return 0;
|
||||
//}
|
||||
|
||||
// Write to socket
|
||||
int ecmcSocketCANWriteBuffer::writeCAN(can_frame *frame){
|
||||
|
||||
|
||||
@@ -59,7 +59,6 @@ class ecmcSocketCANWriteBuffer {
|
||||
|
||||
|
||||
void doWriteWorker();
|
||||
//void doTriggerWorker();
|
||||
|
||||
int addWriteCAN(uint32_t canId,
|
||||
uint8_t len,
|
||||
@@ -75,26 +74,14 @@ class ecmcSocketCANWriteBuffer {
|
||||
int getlastWritesError();
|
||||
|
||||
private:
|
||||
//int triggWrites();
|
||||
static std::string to_string(int value);
|
||||
int writeCAN(can_frame *frame);
|
||||
int switchBuffer();
|
||||
int addToBuffer(can_frame *frame);
|
||||
//void addToBuffer1(can_frame *frame);
|
||||
//void addToBuffer2(can_frame *frame);
|
||||
int writeBuffer();
|
||||
//void writeBuffer1();
|
||||
//void writeBuffer2();
|
||||
int destructs_;
|
||||
int cfgDbgMode_;
|
||||
//epicsEvent doWriteEvent_;
|
||||
int socketId_;
|
||||
// struct can_frame txmsgBuffer1_[ECMC_CAN_MAX_WRITE_CMDS];
|
||||
// struct can_frame txmsgBuffer2_[ECMC_CAN_MAX_WRITE_CMDS];
|
||||
// int writeCmdCounter1_;
|
||||
// int writeCmdCounter2_;
|
||||
// epicsMutexId bufferMutex1_;
|
||||
// epicsMutexId bufferMutex2_;
|
||||
epicsMutexId bufferSwitchMutex_;
|
||||
canWriteBuffer buffer1_;
|
||||
canWriteBuffer buffer2_;
|
||||
|
||||
Reference in New Issue
Block a user