This commit is contained in:
Erik Frojdh
2019-04-03 16:17:09 +02:00
parent 1558ca2bb5
commit 90b257a74d
6 changed files with 28 additions and 22 deletions

View File

@ -72,7 +72,7 @@ class DataStreamer : private virtual slsDetectorDefs, public ThreadObject {
/**
* Reset parameters for new measurement (eg. for each scan)
*/
void ResetParametersforNewMeasurement(char* fname);
void ResetParametersforNewMeasurement(const std::string& fname);
/**
* Set GeneralData pointer to the one given
@ -201,7 +201,7 @@ class DataStreamer : private virtual slsDetectorDefs, public ThreadObject {
uint64_t firstMeasurementIndex;
/* File name to stream */
char fileNametoStream[MAX_STR_LENGTH];
std::string fileNametoStream;
/** Complete buffer used for roi, eg. shortGotthard */
char* completeBuffer;

View File

@ -40,7 +40,7 @@ DataStreamer::DataStreamer(int ind, Fifo* f, uint32_t* dr, std::vector<ROI>* r,
FILE_LOG(logDEBUG) << "DataStreamer " << ind << " created";
memset(fileNametoStream, 0, MAX_STR_LENGTH);
// memset(fileNametoStream, 0, MAX_STR_LENGTH);
}
@ -79,14 +79,15 @@ void DataStreamer::ResetParametersforNewAcquisition() {
acquisitionStartedFlag = false;
}
void DataStreamer::ResetParametersforNewMeasurement(char* fname){
void DataStreamer::ResetParametersforNewMeasurement(const std::string& fname){
runningFlag = false;
firstMeasurementIndex = 0;
measurementStartedFlag = false;
strcpy(fileNametoStream, fname);
if (completeBuffer) {
delete [] completeBuffer;
completeBuffer = nullptr;
// strcpy(fileNametoStream, fname);
fileNametoStream = fname;
if (completeBuffer) {
delete[] completeBuffer;
completeBuffer = nullptr;
}
if (roi->size()) {
if (generalData->myDetectorType == GOTTHARD) {
@ -247,7 +248,7 @@ int DataStreamer::SendHeader(sls_receiver_header* rheader, uint32_t size, uint32
return zmqSocket->SendHeaderData(index, dummy, SLS_DETECTOR_JSON_HEADER_VERSION, *dynamicRange, *fileIndex,
nx, ny, size,
acquisitionIndex, frameIndex, fileNametoStream,
acquisitionIndex, frameIndex, fileNametoStream.c_str(),
header.frameNumber, header.expLength, header.packetNumber, header.bunchId, header.timestamp,
header.modId, header.row, header.column, header.reserved,
header.debug, header.roundRNumber,

View File

@ -1433,8 +1433,8 @@ void slsReceiverImplementation::ResetParametersforNewMeasurement() {
it->ResetParametersforNewMeasurement();
if (dataStreamEnable) {
char fnametostream[MAX_STR_LENGTH];
snprintf(fnametostream, MAX_STR_LENGTH, "%s/%s", filePath, fileName);
char fnametostream[MAX_STR_LENGTH*2];
snprintf(fnametostream, MAX_STR_LENGTH*2, "%s/%s", filePath, fileName);
for (const auto& it : dataStreamer)
it->ResetParametersforNewMeasurement(fnametostream);
}