diff --git a/pom.xml b/pom.xml index b7d84d94c0209743d71cb076f12bbf4bf3a2b557..103e57f9dc64ba2907a5eeb41aa88a65defe8681 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ <groupId>fr.soleil.device</groupId> <artifactId>PulseCounting-${aol}-${mode}</artifactId> - <version>2.0.1-SNAPSHOT</version> + <version>2.0.1</version> <packaging>nar</packaging> <name>PulseCounting</name> @@ -56,7 +56,7 @@ <dependency> <groupId>fr.soleil.lib</groupId> <artifactId>NexusCPPV2-${aol}-${library}-${mode}</artifactId> - <version>2.3.1</version> + <version>2.3.2</version> </dependency> </dependencies> <scm> diff --git a/src/BufferedCounterDt.cpp b/src/BufferedCounterDt.cpp index 176f3831b11c1778b6b2274018ea013520d7a6ac..386b9d59576d559d1dd2e6991f80a57aa93ba627 100644 --- a/src/BufferedCounterDt.cpp +++ b/src/BufferedCounterDt.cpp @@ -248,6 +248,10 @@ void BufferedCounterDt::handle_scaled_buffer(ni660Xsl::InScaledBuffer* buffer, l } DEBUG_STREAM << "NB to copy : " << nb_to_copy << endl; + // add number to copy to current data + data.capacity(data.length() + nb_to_copy, true); + data.force_length(data.length() + nb_to_copy); + // tempo buffer for storage RawData_t bufNx; if (data_to_be_stored) @@ -329,15 +333,25 @@ void BufferedCounterDt::startCnt() // check if infinite mode if (this->m_cfg.acq.samplesNumber == 0) { - // set data length to buffer depth + // set data length & capacity to buffer depth this->m_data.capacity(this->m_cfg.acq.bufferDepth); this->m_data.force_length(this->m_cfg.acq.bufferDepth); } else { - // set data length to samples nber - this->m_data.capacity(this->m_cfg.acq.samplesNumber); - this->m_data.force_length(this->m_cfg.acq.samplesNumber); + // check if continuous mode + if (this->m_cfg.acq.continuousAcquisition) + { + // set data length & capacity to samples nber + this->m_data.capacity(this->m_cfg.acq.samplesNumber); + this->m_data.force_length(this->m_cfg.acq.samplesNumber); + } + else + { + // set data capacity & length to 0 + this->m_data.capacity(0); + this->m_data.force_length(0); + } } this->m_data.fill(yat::IEEE_NAN); diff --git a/src/BufferedCounterEvt.cpp b/src/BufferedCounterEvt.cpp index 0ab68ba73f8c66d77b7353d3b1bc1da9cd409b8c..f62e115dd43810abb099e829236427c522f5bd91 100644 --- a/src/BufferedCounterEvt.cpp +++ b/src/BufferedCounterEvt.cpp @@ -264,6 +264,10 @@ void BufferedCounterEvt::handle_raw_buffer(ni660Xsl::InRawBuffer* buffer, long& } DEBUG_STREAM << "NB to copy : " << nb_to_copy << endl; + // add number to copy to current data + data.capacity(data.length() + nb_to_copy, true); + data.force_length(data.length() + nb_to_copy); + // tempo buffer for storage RawData_t bufNx; if (data_to_be_stored) @@ -362,15 +366,25 @@ void BufferedCounterEvt::startCnt() // check if infinite mode if (this->m_cfg.acq.samplesNumber == 0) { - // set data length to buffer depth - this->m_data.capacity(this->m_cfg.acq.bufferDepth); + // set data length & capacity to buffer depth + this->m_data.capacity(this->m_cfg.acq.bufferDepth); this->m_data.force_length(this->m_cfg.acq.bufferDepth); } else { - // set data length to samples nber - this->m_data.capacity(this->m_cfg.acq.samplesNumber); - this->m_data.force_length(this->m_cfg.acq.samplesNumber); + // check if continuous mode + if (this->m_cfg.acq.continuousAcquisition) + { + // set data length & capacity to samples nber + this->m_data.capacity(this->m_cfg.acq.samplesNumber); + this->m_data.force_length(this->m_cfg.acq.samplesNumber); + } + else + { + // set data capacity & length to 0 + this->m_data.capacity(0); + this->m_data.force_length(0); + } } this->m_data.fill(yat::IEEE_NAN); diff --git a/src/BufferedCounterPeriod.cpp b/src/BufferedCounterPeriod.cpp index 1cb9777efe46e14b31dfdae4ffd33ad6d41ed948..0ade7531124d52b6fe6601e9360dab62636c8d32 100644 --- a/src/BufferedCounterPeriod.cpp +++ b/src/BufferedCounterPeriod.cpp @@ -249,6 +249,10 @@ void BufferedCounterPeriod::handle_scaled_buffer(ni660Xsl::InScaledBuffer* buffe } DEBUG_STREAM << "NB to copy : " << nb_to_copy << endl; + // add number to copy to current data + data.capacity(data.length() + nb_to_copy, true); + data.force_length(data.length() + nb_to_copy); + // tempo buffer for storage RawData_t bufNx; if (data_to_be_stored) @@ -330,15 +334,25 @@ void BufferedCounterPeriod::startCnt() // check if infinite mode if (this->m_cfg.acq.samplesNumber == 0) { - // set data length to buffer depth + // set data length & capacity to buffer depth this->m_data.capacity(this->m_cfg.acq.bufferDepth); this->m_data.force_length(this->m_cfg.acq.bufferDepth); } else { - // set data length to samples nber - this->m_data.capacity(this->m_cfg.acq.samplesNumber); - this->m_data.force_length(this->m_cfg.acq.samplesNumber); + // check if continuous mode + if (this->m_cfg.acq.continuousAcquisition) + { + // set data length & capacity to samples nber + this->m_data.capacity(this->m_cfg.acq.samplesNumber); + this->m_data.force_length(this->m_cfg.acq.samplesNumber); + } + else + { + // set data capacity & length to 0 + this->m_data.capacity(0); + this->m_data.force_length(0); + } } this->m_data.fill(yat::IEEE_NAN); diff --git a/src/BufferedCounterPos.cpp b/src/BufferedCounterPos.cpp index ff55b6698980aecd24d6a20e61959ee12329a044..7762b1253482760911ce1df4440f9014ab7dc3ae 100644 --- a/src/BufferedCounterPos.cpp +++ b/src/BufferedCounterPos.cpp @@ -296,6 +296,10 @@ void BufferedCounterPos::handle_scaled_buffer(ni660Xsl::InScaledBuffer* buffer, } DEBUG_STREAM << "NB to copy : " << nb_to_copy << endl; + // add number to copy to current data + pos.capacity(pos.length() + nb_to_copy, true); + pos.force_length(pos.length() + nb_to_copy); + // tempo buffer for storage RawData_t bufNx; if (data_to_be_stored) @@ -397,15 +401,25 @@ void BufferedCounterPos::startCnt() // check if infinite mode if (this->m_cfg.acq.samplesNumber == 0) { - // set data length to buffer depth + // set data length & capacity to buffer depth this->m_data.capacity(this->m_cfg.acq.bufferDepth); this->m_data.force_length(this->m_cfg.acq.bufferDepth); } else { - // set data length to samples nber - this->m_data.capacity(this->m_cfg.acq.samplesNumber); - this->m_data.force_length(this->m_cfg.acq.samplesNumber); + // check if continuous mode + if (this->m_cfg.acq.continuousAcquisition) + { + // set data length & capacity to samples nber + this->m_data.capacity(this->m_cfg.acq.samplesNumber); + this->m_data.force_length(this->m_cfg.acq.samplesNumber); + } + else + { + // set data capacity & length to 0 + this->m_data.capacity(0); + this->m_data.force_length(0); + } } this->m_data.fill(yat::IEEE_NAN);