mirror of
https://github.com/paulscherrerinstitute/sf_daq_buffer.git
synced 2026-05-02 18:54:13 +02:00
std vector seems working
This commit is contained in:
@@ -4,6 +4,7 @@
|
||||
#include "buffer_config.hpp"
|
||||
#include "jungfrau.hpp"
|
||||
#include "jungfraujoch.hpp"
|
||||
#include <vector>
|
||||
|
||||
#pragma pack(push)
|
||||
#pragma pack(1)
|
||||
@@ -41,12 +42,12 @@ struct BufferBinaryFormat {
|
||||
#pragma pack(pop)
|
||||
|
||||
|
||||
struct ImageBinaryFormat {
|
||||
class ImageBinaryFormat {
|
||||
public:
|
||||
ImageMetadata meta;
|
||||
char* data = nullptr;
|
||||
const size_t size;
|
||||
ImageBinaryFormat(size_t H, size_t W, size_t D): size(H*W*D) { data = (char*) calloc(H*W*D, sizeof(int)); };
|
||||
~ImageBinaryFormat(){ free(data); std::cout << "ImageBinaryFormat destructor called!" << std::endl; }
|
||||
std::vector<char> data;
|
||||
ImageBinaryFormat(size_t H, size_t W, size_t D): data(H*W*D, 0) {};
|
||||
~ImageBinaryFormat(){ std::cout << "ImageBinaryFormat destructor called!" << std::endl; }
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -56,17 +56,17 @@ public:
|
||||
|
||||
std::cout << " fill/cpy" << std::endl;
|
||||
m_fill[idx]++;
|
||||
//char* ptr_dest = m_buffer[idx].data + moduleIDX * m_blocksize;
|
||||
char* ptr_dest = m_buffer[idx].data;
|
||||
// std::cout << " Root: " << (void*)m_buffer[idx].data << " ( " << m_buffer[idx].size << " )" << "\ttarget:" << (void*)ptr_dest << "\tsize: " << m_blocksize << std::endl;
|
||||
std::cout << "Module: " << moduleIDX << std::endl;
|
||||
char* ptr_dest = m_buffer[idx].data.data() + moduleIDX * m_blocksize;
|
||||
//char* ptr_dest = m_buffer[idx].data;
|
||||
std::cout << " Root: " << (void*)m_buffer[idx].data.data() << "\tTarget:" << (void*)ptr_dest
|
||||
<< "\tblocksize: " << m_blocksize << "\tcontainer: " << m_buffer[idx].data.size() << std::endl;
|
||||
|
||||
m_buffer[idx].meta.pulse_id = ref_frame.meta.pulse_id;
|
||||
m_buffer[idx].meta.frame_index = ref_frame.meta.frame_index;
|
||||
m_buffer[idx].meta.daq_rec = ref_frame.meta.daq_rec;
|
||||
std::cout << "NI " << std::endl;
|
||||
//std::memcpy((void*)ptr_dest, (void*)&ref_frame.data, m_blocksize);
|
||||
std::memcpy((void*)&ptr_dest[moduleIDX * m_blocksize], (void*)&ref_frame.data, m_blocksize);
|
||||
std::memcpy((void*)ptr_dest, (void*)&ref_frame.data, m_blocksize);
|
||||
// std::memcpy((void*)&ptr_dest[moduleIDX * m_blocksize], (void*)&ref_frame.data, m_blocksize);
|
||||
|
||||
std::cout << " Fill ctr: " << m_fill[idx] << std::endl;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user