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

@ -70,15 +70,20 @@ elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
message(FATAL_ERROR "GCC version must be at least 4.8!")
endif()
target_compile_options(slsProjectWarnings INTERFACE
-Wno-misleading-indentation # mostly in rapidjson remove using clang format
-Wno-class-memaccess # also in rapidjson
)
if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 6.0)
target_compile_options(slsProjectWarnings INTERFACE
-Wno-misleading-indentation # mostly in rapidjson remove using clang format
-Wduplicated-cond
-Wnull-dereference )
endif()
if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 8.0)
target_compile_options(slsProjectWarnings INTERFACE
-Wno-class-memaccess )
endif()
endif()

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);
}

View File

@ -247,7 +247,7 @@ public:
*/
int SendHeaderData ( int index, bool dummy, uint32_t jsonversion, uint32_t dynamicrange = 0, uint64_t fileIndex = 0,
uint32_t npixelsx = 0, uint32_t npixelsy = 0, uint32_t imageSize = 0,
uint64_t acqIndex = 0, uint64_t fIndex = 0, char* fname = NULL,
uint64_t acqIndex = 0, uint64_t fIndex = 0, const char* fname = NULL,
uint64_t frameNumber = 0, uint32_t expLength = 0, uint32_t packetNumber = 0,
uint64_t bunchId = 0, uint64_t timestamp = 0,
uint16_t modId = 0, uint16_t row = 0, uint16_t column = 0, uint16_t reserved = 0,
@ -262,19 +262,19 @@ public:
"{"
"\"jsonversion\":%u, "
"\"bitmode\":%u, "
"\"fileIndex\":%llu, "
"\"fileIndex\":%lu, "
"\"shape\":[%u, %u], "
"\"size\":%u, "
"\"acqIndex\":%llu, "
"\"fIndex\":%llu, "
"\"acqIndex\":%lu, "
"\"fIndex\":%lu, "
"\"fname\":\"%s\", "
"\"data\": %d, "
"\"frameNumber\":%llu, "
"\"frameNumber\":%lu, "
"\"expLength\":%u, "
"\"packetNumber\":%u, "
"\"bunchId\":%llu, "
"\"timestamp\":%llu, "
"\"bunchId\":%lu, "
"\"timestamp\":%lu, "
"\"modId\":%u, "
"\"row\":%u, "
"\"column\":%u, "

View File

@ -13,7 +13,7 @@ TEST_CASE("Convert mac address using classes") {
std::vector<uint64_t> vec_addr{346856806822, 346856806852, 262027939863028};
std::vector<std::string> vec_ans{"00:50:c2:46:d9:a6", "00:50:c2:46:d9:c4", "ee:50:22:46:d9:f4"};
for (int i = 0; i != vec_addr.size(); ++i) {
for (size_t i = 0; i != vec_addr.size(); ++i) {
auto mac0 = MacAddr(vec_addr[i]);
auto mac1 = MacAddr(vec_ans[i]);
@ -31,7 +31,7 @@ TEST_CASE("Convert IP using classes ") {
std::vector<uint32_t> vec_addr{4073554305, 2747957633, 2697625985};
std::vector<std::string> vec_ans{"129.129.205.242", "129.129.202.163", "129.129.202.160"};
for (int i = 0; i != vec_addr.size(); ++i) {
for (size_t i = 0; i != vec_addr.size(); ++i) {
auto ip0 = IpAddr(vec_addr[i]);
auto ip1 = IpAddr(vec_ans[i]);