WIP
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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_;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user