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!") message(FATAL_ERROR "GCC version must be at least 4.8!")
endif() endif()
target_compile_options(slsProjectWarnings INTERFACE 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) if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 6.0)
target_compile_options(slsProjectWarnings INTERFACE target_compile_options(slsProjectWarnings INTERFACE
-Wno-misleading-indentation # mostly in rapidjson remove using clang format
-Wduplicated-cond -Wduplicated-cond
-Wnull-dereference ) -Wnull-dereference )
endif() endif()
if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 8.0)
target_compile_options(slsProjectWarnings INTERFACE
-Wno-class-memaccess )
endif()
endif() endif()

View File

@ -72,7 +72,7 @@ class DataStreamer : private virtual slsDetectorDefs, public ThreadObject {
/** /**
* Reset parameters for new measurement (eg. for each scan) * 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 * Set GeneralData pointer to the one given
@ -201,7 +201,7 @@ class DataStreamer : private virtual slsDetectorDefs, public ThreadObject {
uint64_t firstMeasurementIndex; uint64_t firstMeasurementIndex;
/* File name to stream */ /* File name to stream */
char fileNametoStream[MAX_STR_LENGTH]; std::string fileNametoStream;
/** Complete buffer used for roi, eg. shortGotthard */ /** Complete buffer used for roi, eg. shortGotthard */
char* completeBuffer; 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"; FILE_LOG(logDEBUG) << "DataStreamer " << ind << " created";
memset(fileNametoStream, 0, MAX_STR_LENGTH); // memset(fileNametoStream, 0, MAX_STR_LENGTH);
} }
@ -79,13 +79,14 @@ void DataStreamer::ResetParametersforNewAcquisition() {
acquisitionStartedFlag = false; acquisitionStartedFlag = false;
} }
void DataStreamer::ResetParametersforNewMeasurement(char* fname){ void DataStreamer::ResetParametersforNewMeasurement(const std::string& fname){
runningFlag = false; runningFlag = false;
firstMeasurementIndex = 0; firstMeasurementIndex = 0;
measurementStartedFlag = false; measurementStartedFlag = false;
strcpy(fileNametoStream, fname); // strcpy(fileNametoStream, fname);
fileNametoStream = fname;
if (completeBuffer) { if (completeBuffer) {
delete [] completeBuffer; delete[] completeBuffer;
completeBuffer = nullptr; completeBuffer = nullptr;
} }
if (roi->size()) { if (roi->size()) {
@ -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, return zmqSocket->SendHeaderData(index, dummy, SLS_DETECTOR_JSON_HEADER_VERSION, *dynamicRange, *fileIndex,
nx, ny, size, nx, ny, size,
acquisitionIndex, frameIndex, fileNametoStream, acquisitionIndex, frameIndex, fileNametoStream.c_str(),
header.frameNumber, header.expLength, header.packetNumber, header.bunchId, header.timestamp, header.frameNumber, header.expLength, header.packetNumber, header.bunchId, header.timestamp,
header.modId, header.row, header.column, header.reserved, header.modId, header.row, header.column, header.reserved,
header.debug, header.roundRNumber, header.debug, header.roundRNumber,

View File

@ -1433,8 +1433,8 @@ void slsReceiverImplementation::ResetParametersforNewMeasurement() {
it->ResetParametersforNewMeasurement(); it->ResetParametersforNewMeasurement();
if (dataStreamEnable) { if (dataStreamEnable) {
char fnametostream[MAX_STR_LENGTH]; char fnametostream[MAX_STR_LENGTH*2];
snprintf(fnametostream, MAX_STR_LENGTH, "%s/%s", filePath, fileName); snprintf(fnametostream, MAX_STR_LENGTH*2, "%s/%s", filePath, fileName);
for (const auto& it : dataStreamer) for (const auto& it : dataStreamer)
it->ResetParametersforNewMeasurement(fnametostream); 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, 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, 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 frameNumber = 0, uint32_t expLength = 0, uint32_t packetNumber = 0,
uint64_t bunchId = 0, uint64_t timestamp = 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, uint16_t modId = 0, uint16_t row = 0, uint16_t column = 0, uint16_t reserved = 0,
@ -262,19 +262,19 @@ public:
"{" "{"
"\"jsonversion\":%u, " "\"jsonversion\":%u, "
"\"bitmode\":%u, " "\"bitmode\":%u, "
"\"fileIndex\":%llu, " "\"fileIndex\":%lu, "
"\"shape\":[%u, %u], " "\"shape\":[%u, %u], "
"\"size\":%u, " "\"size\":%u, "
"\"acqIndex\":%llu, " "\"acqIndex\":%lu, "
"\"fIndex\":%llu, " "\"fIndex\":%lu, "
"\"fname\":\"%s\", " "\"fname\":\"%s\", "
"\"data\": %d, " "\"data\": %d, "
"\"frameNumber\":%llu, " "\"frameNumber\":%lu, "
"\"expLength\":%u, " "\"expLength\":%u, "
"\"packetNumber\":%u, " "\"packetNumber\":%u, "
"\"bunchId\":%llu, " "\"bunchId\":%lu, "
"\"timestamp\":%llu, " "\"timestamp\":%lu, "
"\"modId\":%u, " "\"modId\":%u, "
"\"row\":%u, " "\"row\":%u, "
"\"column\":%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<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"}; 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 mac0 = MacAddr(vec_addr[i]);
auto mac1 = MacAddr(vec_ans[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<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"}; 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 ip0 = IpAddr(vec_addr[i]);
auto ip1 = IpAddr(vec_ans[i]); auto ip1 = IpAddr(vec_ans[i]);