mirror of
https://github.com/paulscherrerinstitute/sf_daq_buffer.git
synced 2026-05-10 09:42:02 +02:00
Adjust interface and usage
This commit is contained in:
@@ -6,16 +6,17 @@
|
||||
|
||||
class BufferMultiReader
|
||||
{
|
||||
const std::string device_name;
|
||||
const std::string root_folder;
|
||||
|
||||
const std::string device_name_;
|
||||
const std::string root_folder_;
|
||||
std::atomic_bool is_running_;
|
||||
uint16_t* frame_buffer_;
|
||||
|
||||
std::atomic_int n_modules_left_;
|
||||
std::atomic_uint64_t pulse_id_;
|
||||
std::vector<std::thread> receiving_threads_;
|
||||
|
||||
protected:
|
||||
void read_thread();
|
||||
void read_thread(uint8_t module_number);
|
||||
|
||||
public:
|
||||
BufferMultiReader(
|
||||
@@ -24,7 +25,9 @@ public:
|
||||
|
||||
virtual ~BufferMultiReader();
|
||||
|
||||
UdpFrameMetadata get_frame(const uint64_t pulse_id, void* frame_buffer);
|
||||
char* get_buffer();
|
||||
|
||||
UdpFrameMetadata load_frame_to_buffer(const uint64_t pulse_id);
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -37,7 +37,7 @@ int main (int argc, char *argv[])
|
||||
|
||||
BufferMultiReader reader(device_name, root_folder);
|
||||
UdpFrameMetadata metadata;
|
||||
uint16_t* frame_buffer = new uint16_t[32*512*1024];
|
||||
char* frame_buffer = reader.get_buffer();
|
||||
|
||||
H5Writer writer(output_file);
|
||||
|
||||
@@ -45,7 +45,11 @@ int main (int argc, char *argv[])
|
||||
pulse_id <= stop_pulse_id;
|
||||
pulse_id++) {
|
||||
|
||||
metadata = reader.get(pulse_id, (void*) frame_buffer);
|
||||
metadata = reader.load_frame_to_buffer(pulse_id);
|
||||
|
||||
writer.write_data("frame", pulse_id,
|
||||
frame_buffer,
|
||||
{32*512, 1024}, 2, "uint16", "little");
|
||||
|
||||
writer.write_data("pulse_id", pulse_id,
|
||||
(char*)&(metadata.pulse_id),
|
||||
@@ -69,8 +73,6 @@ int main (int argc, char *argv[])
|
||||
{1}, 8, "uint64", "little");
|
||||
}
|
||||
|
||||
reader.close();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user