This commit is contained in:
2024-03-04 13:58:13 +01:00
parent 3366414ff8
commit 760c2d786b
3 changed files with 11 additions and 11 deletions

View File

@@ -60,6 +60,7 @@ class ecmcDAQChannelItem {
float32Ptr_ = NULL;
float64Ptr_ = NULL;
dataType_ = ECMC_EC_NONE;
printf("ecmcDAQChannelItem: Created new item %s, format %d\n",name,(int)format);
}
~ecmcDAQChannelItem() {
@@ -123,14 +124,12 @@ class ecmcDAQChannelItem {
if(first) {
dataIndexToReturn_ = 0;
}
dataIndexToReturn_++;
return 0.0;
if(dataIndexToReturn_ >= dataElementCount_) {
printf("ERROR: Try to read outside data buffer for data item %s\n", name_.c_str());
return -1;
}
printf("DATATYPE = %d\n",(int) dataType_);
switch (dataType_) {
case ECMC_EC_B1:
uint8Ptr_ = (uint8_t *)&dataItemInfo_->data[dataIndexToReturn_ * bytesPerElement_];
@@ -215,7 +214,6 @@ class ecmcDAQChannelItem {
break;
}
dataIndexToReturn_++;
return formatData(data,time);
}
@@ -240,6 +238,7 @@ class ecmcDAQChannelItem {
;
break;
}
printf("DATA = %lf\n",data);
return data;
}

View File

@@ -158,10 +158,10 @@ void ecmcDAQDataArray::execute() {
size_t index = firstDataElementIndex_ ;
for(std::vector<ecmcDAQDataChannel*>::iterator pDataCh = dataChannels_.begin(); pDataCh != dataChannels_.end(); ++pDataCh) {
//always atleast one data item in a channel. Set "first" bit in call to getData()
buffer_[index]=(*pDataCh)->getData(1);
index++;
while(!(*pDataCh)->empty()) {
buffer_[index]=(*pDataCh)->getData(0);
int first = 1;
for(int i = 0 ; i < (*pDataCh)->getDataElementCount(); i++) {
buffer_[index]=(*pDataCh)->getData(first);
first = 0;
}
}
updateAsyn();

View File

@@ -48,7 +48,7 @@ void ecmcDAQDataChannel::connectToDataSources() {
(*pDataItem)->connectToSource();
dataElementCount_ = dataElementCount_ + (*pDataItem)->getDataElementCount();
}
printf("ecmcDAQDataChannel::connectToDataSources()::dataElementCount_=%d\n",dataElementCount_);
dataSourcesLinked_ = 1;
}
@@ -67,7 +67,7 @@ double ecmcDAQDataChannel::getData(int first){
first = false;
}
if(dataItems_[currItemIndex_]->empty() && currItemIndex_+1<itemCounter_) {
if(dataItems_[currItemIndex_]->empty() && currItemIndex_+1 < itemCounter_) {
// get first index of next dataItem
first = true;
currItemIndex_++;
@@ -84,5 +84,6 @@ double ecmcDAQDataChannel::getData(int first){
}
bool ecmcDAQDataChannel::empty(){
return 1;
return dataElementCount_>=returnedDataCounter_;
}