mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-20 02:40:03 +02:00
Callback rxheader (#502)
* gui message doesnt show if it has a '>' symbol in error msg * minor refactoring for readability (size_t calc fifo size) * refactoring listening udp socket code: activated and datastream dont create udp sockets anyway, rc<=- should be discarded in any case * wip * refactoring memory structure access * wip: bugfix write header + data to binary * wip * wip * wip * wip * wip * wip * wip * wip * wip * portRoi no roi effecto on progress * fail at receiver progress, wip * segfaults for char pointer in struct * reference to header to get header and data * refactoring * use const defined for size of header of fifo * updated release notes * remove pointer in callback for sls_receiver_header pointer * passing reference header for callback instead of copying it
This commit is contained in:
parent
4117cda79b
commit
d132ad8d02
@ -68,7 +68,7 @@ class Receiver : private virtual slsDetectorDefs {
|
||||
* - pointer to data
|
||||
* - image size in bytes
|
||||
*/
|
||||
void registerCallBackRawDataReady(void (*func)(sls_receiver_header *,
|
||||
void registerCallBackRawDataReady(void (*func)(sls_receiver_header&,
|
||||
char *, size_t, void *),
|
||||
void *arg);
|
||||
|
||||
@ -81,7 +81,7 @@ class Receiver : private virtual slsDetectorDefs {
|
||||
* Can be modified to the new size to be written/streamed. (only smaller
|
||||
* value allowed).
|
||||
*/
|
||||
void registerCallBackRawDataModifyReady(void (*func)(sls_receiver_header *,
|
||||
void registerCallBackRawDataModifyReady(void (*func)(sls_receiver_header&,
|
||||
char *, size_t &,
|
||||
void *),
|
||||
void *arg);
|
||||
|
@ -72,13 +72,13 @@ void ClientInterface::registerCallBackAcquisitionFinished(void (*func)(uint64_t,
|
||||
}
|
||||
|
||||
void ClientInterface::registerCallBackRawDataReady(
|
||||
void (*func)(sls_receiver_header *, char *, size_t, void *), void *arg) {
|
||||
void (*func)(sls_receiver_header&, char *, size_t, void *), void *arg) {
|
||||
rawDataReadyCallBack = func;
|
||||
pRawDataReady = arg;
|
||||
}
|
||||
|
||||
void ClientInterface::registerCallBackRawDataModifyReady(
|
||||
void (*func)(sls_receiver_header *, char *, size_t &, void *), void *arg) {
|
||||
void (*func)(sls_receiver_header&, char *, size_t &, void *), void *arg) {
|
||||
rawDataModifyReadyCallBack = func;
|
||||
pRawDataReady = arg;
|
||||
}
|
||||
|
@ -42,13 +42,13 @@ class ClientInterface : private virtual slsDetectorDefs {
|
||||
void registerCallBackAcquisitionFinished(void (*func)(uint64_t, void *),
|
||||
void *arg);
|
||||
|
||||
/** params: sls_receiver_header pointer, pointer to data, image size */
|
||||
void registerCallBackRawDataReady(void (*func)(sls_receiver_header *,
|
||||
/** params: sls_receiver_header, pointer to data, image size */
|
||||
void registerCallBackRawDataReady(void (*func)(sls_receiver_header&,
|
||||
char *, size_t, void *),
|
||||
void *arg);
|
||||
|
||||
/** params: sls_receiver_header pointer, pointer to data, reference to image size */
|
||||
void registerCallBackRawDataModifyReady(void (*func)(sls_receiver_header *,
|
||||
/** params: sls_receiver_header, pointer to data, reference to image size */
|
||||
void registerCallBackRawDataModifyReady(void (*func)(sls_receiver_header&,
|
||||
char *, size_t &,
|
||||
void *),
|
||||
void *arg);
|
||||
@ -190,9 +190,9 @@ class ClientInterface : private virtual slsDetectorDefs {
|
||||
void *pStartAcquisition{nullptr};
|
||||
void (*acquisitionFinishedCallBack)(uint64_t, void *) = nullptr;
|
||||
void *pAcquisitionFinished{nullptr};
|
||||
void (*rawDataReadyCallBack)(sls_receiver_header *, char *, size_t,
|
||||
void (*rawDataReadyCallBack)(sls_receiver_header&, char *, size_t,
|
||||
void *) = nullptr;
|
||||
void (*rawDataModifyReadyCallBack)(sls_receiver_header *, char *, size_t &,
|
||||
void (*rawDataModifyReadyCallBack)(sls_receiver_header&, char *, size_t &,
|
||||
void *) = nullptr;
|
||||
void *pRawDataReady{nullptr};
|
||||
|
||||
|
@ -349,12 +349,12 @@ void DataProcessor::ProcessAnImage(sls_receiver_header & header, size_t &size, s
|
||||
try {
|
||||
// normal call back
|
||||
if (rawDataReadyCallBack != nullptr) {
|
||||
rawDataReadyCallBack(&header, data, size, pRawDataReady);
|
||||
rawDataReadyCallBack(header, data, size, pRawDataReady);
|
||||
}
|
||||
|
||||
// call back with modified size
|
||||
else if (rawDataModifyReadyCallBack != nullptr) {
|
||||
rawDataModifyReadyCallBack(&header, data, size, pRawDataReady);
|
||||
rawDataModifyReadyCallBack(header, data, size, pRawDataReady);
|
||||
}
|
||||
} catch (const std::exception &e) {
|
||||
throw RuntimeError("Get Data Callback Error: " +
|
||||
@ -414,13 +414,13 @@ bool DataProcessor::CheckCount() {
|
||||
}
|
||||
|
||||
void DataProcessor::registerCallBackRawDataReady(
|
||||
void (*func)(sls_receiver_header *, char *, size_t, void *), void *arg) {
|
||||
void (*func)(sls_receiver_header&, char *, size_t, void *), void *arg) {
|
||||
rawDataReadyCallBack = func;
|
||||
pRawDataReady = arg;
|
||||
}
|
||||
|
||||
void DataProcessor::registerCallBackRawDataModifyReady(
|
||||
void (*func)(sls_receiver_header *, char *, size_t &, void *), void *arg) {
|
||||
void (*func)(sls_receiver_header&, char *, size_t &, void *), void *arg) {
|
||||
rawDataModifyReadyCallBack = func;
|
||||
pRawDataReady = arg;
|
||||
}
|
||||
|
@ -82,14 +82,14 @@ class DataProcessor : private virtual slsDetectorDefs, public ThreadObject {
|
||||
MasterAttributes *attr,
|
||||
std::mutex *hdf5LibMutex);
|
||||
|
||||
/** params: sls_receiver_header pointer, pointer to data, image size */
|
||||
void registerCallBackRawDataReady(void (*func)(sls_receiver_header *,
|
||||
/** params: sls_receiver_header, pointer to data, image size */
|
||||
void registerCallBackRawDataReady(void (*func)(sls_receiver_header&,
|
||||
char *, size_t, void *),
|
||||
void *arg);
|
||||
|
||||
/** params: sls_receiver_header pointer, pointer to data, reference to image
|
||||
/** params: sls_receiver_header, pointer to data, reference to image
|
||||
* size */
|
||||
void registerCallBackRawDataModifyReady(void (*func)(sls_receiver_header *,
|
||||
void registerCallBackRawDataModifyReady(void (*func)(sls_receiver_header&,
|
||||
char *, size_t &,
|
||||
void *),
|
||||
void *arg);
|
||||
@ -192,7 +192,7 @@ class DataProcessor : private virtual slsDetectorDefs, public ThreadObject {
|
||||
* dataPointer is the pointer to the data
|
||||
* dataSize in bytes is the size of the data in bytes.
|
||||
*/
|
||||
void (*rawDataReadyCallBack)(sls_receiver_header *, char *, size_t,
|
||||
void (*rawDataReadyCallBack)(sls_receiver_header&, char *, size_t,
|
||||
void *) = nullptr;
|
||||
|
||||
/**
|
||||
@ -203,7 +203,7 @@ class DataProcessor : private virtual slsDetectorDefs, public ThreadObject {
|
||||
* revDatasize is the reference of data size in bytes. Can be modified to
|
||||
* the new size to be written/streamed. (only smaller value).
|
||||
*/
|
||||
void (*rawDataModifyReadyCallBack)(sls_receiver_header *, char *, size_t &,
|
||||
void (*rawDataModifyReadyCallBack)(sls_receiver_header&, char *, size_t &,
|
||||
void *) = nullptr;
|
||||
|
||||
void *pRawDataReady{nullptr};
|
||||
|
@ -1748,7 +1748,7 @@ void Implementation::registerCallBackAcquisitionFinished(void (*func)(uint64_t,
|
||||
}
|
||||
|
||||
void Implementation::registerCallBackRawDataReady(
|
||||
void (*func)(sls_receiver_header *, char *, size_t, void *), void *arg) {
|
||||
void (*func)(sls_receiver_header&, char *, size_t, void *), void *arg) {
|
||||
rawDataReadyCallBack = func;
|
||||
pRawDataReady = arg;
|
||||
for (const auto &it : dataProcessor)
|
||||
@ -1756,7 +1756,7 @@ void Implementation::registerCallBackRawDataReady(
|
||||
}
|
||||
|
||||
void Implementation::registerCallBackRawDataModifyReady(
|
||||
void (*func)(sls_receiver_header *, char *, size_t &, void *), void *arg) {
|
||||
void (*func)(sls_receiver_header&, char *, size_t &, void *), void *arg) {
|
||||
rawDataModifyReadyCallBack = func;
|
||||
pRawDataReady = arg;
|
||||
for (const auto &it : dataProcessor)
|
||||
|
@ -266,13 +266,12 @@ class Implementation : private virtual slsDetectorDefs {
|
||||
/** params: total frames caught */
|
||||
void registerCallBackAcquisitionFinished(void (*func)(uint64_t, void *),
|
||||
void *arg);
|
||||
/** params: sls_receiver_header pointer, pointer to data, image size */
|
||||
void registerCallBackRawDataReady(void (*func)(sls_receiver_header *,
|
||||
/** params: sls_receiver_header, pointer to data, image size */
|
||||
void registerCallBackRawDataReady(void (*func)(sls_receiver_header&,
|
||||
char *, size_t, void *),
|
||||
void *arg);
|
||||
/** params: sls_receiver_header pointer, pointer to data, reference to image
|
||||
* size */
|
||||
void registerCallBackRawDataModifyReady(void (*func)(sls_receiver_header *,
|
||||
/** params: sls_receiver_header, pointer to data, reference to image size */
|
||||
void registerCallBackRawDataModifyReady(void (*func)(sls_receiver_header&,
|
||||
char *, size_t &,
|
||||
void *),
|
||||
void *arg);
|
||||
@ -392,9 +391,9 @@ class Implementation : private virtual slsDetectorDefs {
|
||||
void *pStartAcquisition{nullptr};
|
||||
void (*acquisitionFinishedCallBack)(uint64_t, void *){nullptr};
|
||||
void *pAcquisitionFinished{nullptr};
|
||||
void (*rawDataReadyCallBack)(sls_receiver_header *, char *, size_t,
|
||||
void (*rawDataReadyCallBack)(sls_receiver_header&, char *, size_t,
|
||||
void *){nullptr};
|
||||
void (*rawDataModifyReadyCallBack)(sls_receiver_header *, char *, size_t &,
|
||||
void (*rawDataModifyReadyCallBack)(sls_receiver_header&, char *, size_t &,
|
||||
void *){nullptr};
|
||||
void *pRawDataReady{nullptr};
|
||||
|
||||
|
@ -70,9 +70,9 @@ void AcquisitionFinished(uint64_t framesCaught, void *objectPointer) {
|
||||
* Prints in different colors(for each receiver process) the different headers
|
||||
* for each image call back.
|
||||
*/
|
||||
void GetData(slsDetectorDefs::sls_receiver_header *header, char *dataPointer,
|
||||
void GetData(slsDetectorDefs::sls_receiver_header& header, char *dataPointer,
|
||||
size_t imageSize, void *objectPointer) {
|
||||
slsDetectorDefs::sls_detector_header detectorHeader = header->detHeader;
|
||||
slsDetectorDefs::sls_detector_header detectorHeader = header.detHeader;
|
||||
|
||||
PRINT_IN_COLOR(
|
||||
detectorHeader.modId ? detectorHeader.modId : detectorHeader.row,
|
||||
@ -101,9 +101,9 @@ void GetData(slsDetectorDefs::sls_receiver_header *header, char *dataPointer,
|
||||
* @param modifiedImageSize new data size in bytes after the callback.
|
||||
* This will be the size written/streamed. (only smaller value is allowed).
|
||||
*/
|
||||
void GetData(slsDetectorDefs::sls_receiver_header *header, char *dataPointer,
|
||||
void GetData(slsDetectorDefs::sls_receiver_header& header, char *dataPointer,
|
||||
size_t &modifiedImageSize, void *objectPointer) {
|
||||
slsDetectorDefs::sls_detector_header detectorHeader = header->detHeader;
|
||||
slsDetectorDefs::sls_detector_header detectorHeader = header.detHeader;
|
||||
|
||||
PRINT_IN_COLOR(
|
||||
detectorHeader.modId ? detectorHeader.modId : detectorHeader.row,
|
||||
|
@ -141,12 +141,12 @@ void Receiver::registerCallBackAcquisitionFinished(void (*func)(uint64_t,
|
||||
}
|
||||
|
||||
void Receiver::registerCallBackRawDataReady(
|
||||
void (*func)(sls_receiver_header *, char *, size_t, void *), void *arg) {
|
||||
void (*func)(sls_receiver_header&, char *, size_t, void *), void *arg) {
|
||||
tcpipInterface->registerCallBackRawDataReady(func, arg);
|
||||
}
|
||||
|
||||
void Receiver::registerCallBackRawDataModifyReady(
|
||||
void (*func)(sls_receiver_header *, char *, size_t &, void *), void *arg) {
|
||||
void (*func)(sls_receiver_header&, char *, size_t &, void *), void *arg) {
|
||||
tcpipInterface->registerCallBackRawDataModifyReady(func, arg);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user