added sanity check to only enable for chipttestboard and xilinx

This commit is contained in:
Mazzoleni Alice Francesca 2025-04-11 10:27:26 +02:00
parent 5be0724f82
commit 4c86ad3198
2 changed files with 17 additions and 0 deletions

View File

@ -336,6 +336,7 @@ void DataProcessor::StopProcessing(char *buf) {
void DataProcessor::ProcessAnImage(sls_receiver_header &header, size_t &size, void DataProcessor::ProcessAnImage(sls_receiver_header &header, size_t &size,
size_t &firstImageIndex, char *data) { size_t &firstImageIndex, char *data) {
uint64_t fnum = header.detHeader.frameNumber; uint64_t fnum = header.detHeader.frameNumber;
LOG(logDEBUG1) << "DataProcessing " << index << ": fnum:" << fnum; LOG(logDEBUG1) << "DataProcessing " << index << ": fnum:" << fnum;
currentFrameIndex = fnum; currentFrameIndex = fnum;
@ -540,6 +541,13 @@ void DataProcessor::PadMissingPackets(sls_receiver_header header, char *data) {
} }
void DataProcessor::RemoveTrailingBits(size_t &size, char *data) { void DataProcessor::RemoveTrailingBits(size_t &size, char *data) {
if (!(generalData->detType == slsDetectorDefs::CHIPTESTBOARD ||
generalData->detType == slsDetectorDefs::XILINX_CHIPTESTBOARD)) {
throw std::runtime_error("behavior undefined for detector " +
std::to_string(generalData->detType));
}
const size_t nAnalogDataBytes = generalData->GetNumberOfAnalogDatabytes(); const size_t nAnalogDataBytes = generalData->GetNumberOfAnalogDatabytes();
const size_t nDigitalDataBytes = generalData->GetNumberOfDigitalDatabytes(); const size_t nDigitalDataBytes = generalData->GetNumberOfDigitalDatabytes();
const size_t nTransceiverDataBytes = const size_t nTransceiverDataBytes =
@ -563,6 +571,13 @@ void DataProcessor::RemoveTrailingBits(size_t &size, char *data) {
/** ctb specific */ /** ctb specific */
void DataProcessor::ArrangeDbitData(size_t &size, char *data) { void DataProcessor::ArrangeDbitData(size_t &size, char *data) {
if (!(generalData->detType == slsDetectorDefs::CHIPTESTBOARD ||
generalData->detType == slsDetectorDefs::XILINX_CHIPTESTBOARD)) {
throw std::runtime_error("behavior undefined for detector " +
std::to_string(generalData->detType));
}
size_t nAnalogDataBytes = generalData->GetNumberOfAnalogDatabytes(); size_t nAnalogDataBytes = generalData->GetNumberOfAnalogDatabytes();
size_t nDigitalDataBytes = generalData->GetNumberOfDigitalDatabytes(); size_t nDigitalDataBytes = generalData->GetNumberOfDigitalDatabytes();
size_t nTransceiverDataBytes = size_t nTransceiverDataBytes =

View File

@ -16,6 +16,8 @@ namespace sls {
class GeneralDataTest : public GeneralData { class GeneralDataTest : public GeneralData {
public: public:
GeneralDataTest() { detType = slsDetectorDefs::CHIPTESTBOARD; }
int GetNumberOfAnalogDatabytes() { return nAnalogBytes; }; int GetNumberOfAnalogDatabytes() { return nAnalogBytes; };
int GetNumberOfDigitalDatabytes() { return nDigitalBytes; }; int GetNumberOfDigitalDatabytes() { return nDigitalBytes; };