diff --git a/core-buffer/include/RamBuffer.hpp b/core-buffer/include/RamBuffer.hpp index 45b67a1..91872cb 100644 --- a/core-buffer/include/RamBuffer.hpp +++ b/core-buffer/include/RamBuffer.hpp @@ -30,7 +30,9 @@ public: const uint64_t module_id, ModuleFrame &meta, char *data) const; - char* read_image(const uint64_t pulse_id, ImageMetadata &image_meta) const; + char* read_image(const uint64_t pulse_id) const; + void assemble_image( + const uint64_t pulse_id, ImageMetadata &image_meta) const; }; diff --git a/core-buffer/src/RamBuffer.cpp b/core-buffer/src/RamBuffer.cpp index 581ab73..ff14011 100644 --- a/core-buffer/src/RamBuffer.cpp +++ b/core-buffer/src/RamBuffer.cpp @@ -85,15 +85,12 @@ void RamBuffer::read_frame( memcpy(dst_data, src_data, MODULE_N_BYTES); } -char* RamBuffer::read_image(const uint64_t pulse_id, - ImageMetadata &image_meta) const +void RamBuffer::assemble_image( + const uint64_t pulse_id, ImageMetadata &image_meta) const { const size_t slot_n = pulse_id % n_slots_; - ModuleFrame *src_meta = meta_buffer_ + (n_modules_ * slot_n); - char *src_data = image_buffer_ + (image_bytes_ * slot_n); - auto is_pulse_init = false; auto is_good_image = true; @@ -158,7 +155,12 @@ char* RamBuffer::read_image(const uint64_t pulse_id, image_meta.frame_index = 0; image_meta.daq_rec = 0; } +} + +char* RamBuffer::read_image(const uint64_t pulse_id) const +{ + const size_t slot_n = pulse_id % n_slots_; + char *src_data = image_buffer_ + (image_bytes_ * slot_n); return src_data; } - diff --git a/core-buffer/test/test_RamBuffer.cpp b/core-buffer/test/test_RamBuffer.cpp index 55c3a7c..d28dd81 100644 --- a/core-buffer/test/test_RamBuffer.cpp +++ b/core-buffer/test/test_RamBuffer.cpp @@ -29,7 +29,7 @@ TEST(RamBuffer, simple_store) } ImageMetadata image_meta; - buffer.read_image(frame_meta.pulse_id, image_meta); + buffer.assemble_image(frame_meta.pulse_id, image_meta); ASSERT_EQ(image_meta.pulse_id, frame_meta.pulse_id); ASSERT_EQ(image_meta.daq_rec, frame_meta.daq_rec); ASSERT_EQ(image_meta.frame_index, frame_meta.frame_index);