From 7dd75d6778568241749c8746fd727417d4e2f8eb Mon Sep 17 00:00:00 2001 From: Mohacsi Istvan Date: Mon, 21 Jun 2021 15:04:47 +0200 Subject: [PATCH] Running --- jfj-combined/include/JfjFrameWorker.hpp | 7 +----- jfj-combined/src/JfjFrameWorker.cpp | 30 +++++++++++++------------ jfj-combined/src/PacketUdpReceiver.cpp | 3 +-- 3 files changed, 18 insertions(+), 22 deletions(-) diff --git a/jfj-combined/include/JfjFrameWorker.hpp b/jfj-combined/include/JfjFrameWorker.hpp index dfd49d0..df3e0c5 100644 --- a/jfj-combined/include/JfjFrameWorker.hpp +++ b/jfj-combined/include/JfjFrameWorker.hpp @@ -18,8 +18,6 @@ class JfjFrameWorker { bool in_progress = false; uint64_t m_frame_index = 0; const uint64_t m_moduleID; - const uint64_t m_num_packets; - const uint64_t m_num_data_bytes; PacketBuffer m_buffer; @@ -36,10 +34,7 @@ public: }; -std::ostream& operator<<(std::ostream& os, const JfjFrameWorker& worker){ - os << worker.print() << std::endl; - return os; -} +std::ostream& operator<<(std::ostream& os, const JfjFrameWorker& worker); #endif //SF_DAQ_BUFFER_JFJ_FRAMEWORKER_HPP diff --git a/jfj-combined/src/JfjFrameWorker.cpp b/jfj-combined/src/JfjFrameWorker.cpp index 2cfee63..43020ef 100644 --- a/jfj-combined/src/JfjFrameWorker.cpp +++ b/jfj-combined/src/JfjFrameWorker.cpp @@ -8,18 +8,19 @@ using namespace buffer_config; JfjFrameWorker::JfjFrameWorker(const uint16_t port, const uint32_t moduleID, std::function callback): - m_moduleID(moduleID), m_num_packets(JFJOCH_N_PACKETS_PER_MODULE), - m_num_data_bytes(JFJOCH_DATA_BYTES_PER_MODULE), f_push_callback(callback) { + m_moduleID(moduleID), f_push_callback(callback) { m_udp_receiver.bind(port); m_state = "ON"; } + JfjFrameWorker::~JfjFrameWorker() { m_udp_receiver.disconnect(); } inline uint64_t JfjFrameWorker::process_packets(BufferBinaryFormat& buffer){ + std::cout << " Called process_packets()" << std::endl; while(!m_buffer.is_empty()){ // Happens if the last packet from the previous frame gets lost. @@ -35,21 +36,22 @@ inline uint64_t JfjFrameWorker::process_packets(BufferBinaryFormat& buffer){ jfjoch_packet_t& c_packet = m_buffer.pop_front(); m_frame_index = c_packet.framenum; this->in_progress = true; - + std::cout << " pp: " << c_packet.packetnum << std::endl; // Always copy metadata (otherwise problem when 0th packet gets lost) buffer.meta.pulse_id = c_packet.bunchid; buffer.meta.frame_index = c_packet.framenum; buffer.meta.daq_rec = c_packet.debug; buffer.meta.module_id = m_moduleID; - + // Copy data to frame buffer - size_t offset = JFJOCH_DATA_BYTES_PER_PACKET * c_packet.packetnum; - memcpy( (void*) (&buffer.data + offset), c_packet.data, JFJOCH_DATA_BYTES_PER_PACKET); + size_t offset = JUNGFRAU_DATA_BYTES_PER_PACKET * c_packet.packetnum; + memcpy( (void*) (buffer.data + offset), c_packet.data, JUNGFRAU_DATA_BYTES_PER_PACKET); buffer.meta.n_recv_packets++; // Last frame packet received. Frame finished. - if (c_packet.packetnum == m_num_packets - 1){ + if (c_packet.packetnum == JF_N_PACKETS_PER_FRAME - 1){ + std::cout << "Finished pulse: " << buffer.meta.pulse_id << std::endl; this->in_progress = false; return buffer.meta.pulse_id; } @@ -60,6 +62,7 @@ inline uint64_t JfjFrameWorker::process_packets(BufferBinaryFormat& buffer){ } uint64_t JfjFrameWorker::get_frame(BufferBinaryFormat& buffer){ + std::cout << "Called get_frame()" << std::endl; // Reset the metadata and frame buffer for the next frame. (really needed?) memset(&buffer, 0, sizeof(buffer)); @@ -96,11 +99,13 @@ void JfjFrameWorker::run(){ auto pulse_id = get_frame(buffer); if(pulse_id>10){ + std::cout << "Pushing " << pulse_id << std::endl; f_push_callback(pulse_id, m_moduleID, buffer); } } } catch (const std::exception& ex) { std::cout << "Exception in worker loop: " << ex.what() << std::endl; + m_state = "ERROR"; throw; }; @@ -113,12 +118,9 @@ std::string JfjFrameWorker::print() const { } - - - - - - - +std::ostream& operator<<(std::ostream& os, const JfjFrameWorker& worker){ + os << worker.print() << std::endl; + return os; +} diff --git a/jfj-combined/src/PacketUdpReceiver.cpp b/jfj-combined/src/PacketUdpReceiver.cpp index 713dd98..84bd836 100644 --- a/jfj-combined/src/PacketUdpReceiver.cpp +++ b/jfj-combined/src/PacketUdpReceiver.cpp @@ -1,10 +1,9 @@ #include #include #include "PacketUdpReceiver.hpp" -#include "jungfrau.hpp" #include #include -#include "buffer_config.hpp" +#include "../../core-buffer/include/buffer_config.hpp" using namespace std; using namespace buffer_config;