diff --git a/CMakeLists.txt b/CMakeLists.txt index dbef01c..8a2969a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -35,6 +35,7 @@ add_subdirectory("jf-udp-recv") add_subdirectory("jf-buffer-writer") add_subdirectory("jf-assembler") add_subdirectory("jfj-udp-recv") +add_subdirectory("jfj-combined") add_subdirectory("sf-stream") add_subdirectory("sf-writer") diff --git a/jfj-combined/CMakeLists.txt b/jfj-combined/CMakeLists.txt index ab72908..0085b99 100644 --- a/jfj-combined/CMakeLists.txt +++ b/jfj-combined/CMakeLists.txt @@ -4,9 +4,9 @@ add_library(jfj-combined-lib STATIC ${SOURCES}) target_include_directories(jfj-combined-lib PUBLIC include/) target_link_libraries(jfj-combined-lib external core-buffer-lib) -add_executable(jfj-combined src/main.cpp) -set_target_properties(jfj-combined PROPERTIES OUTPUT_NAME jf_udp_recv) +add_executable(jfj-combined src/dummyMain.cpp) +set_target_properties(jfj-combined PROPERTIES OUTPUT_NAME jf_combined) target_link_libraries(jfj-combined jfj-combined-lib zmq rt) enable_testing() -add_subdirectory(test/) \ No newline at end of file +add_subdirectory(test/) diff --git a/jfj-combined/include/JfjFrameWorker.hpp b/jfj-combined/include/JfjFrameWorker.hpp index fbf21af..37874b8 100644 --- a/jfj-combined/include/JfjFrameWorker.hpp +++ b/jfj-combined/include/JfjFrameWorker.hpp @@ -30,7 +30,7 @@ class JfjFrameWorker { public: JfjFrameUdpReceiver(const uint16_t port, std::function callback); virtual ~JfjFrameUdpReceiver(); - uint64_t get_frame_from_udp(ModuleFrame& metadata, char* frame_buffer); + std::generator get_frame_from_udp(ModuleFrame& metadata, char* frame_buffer); void run(); }; diff --git a/jfj-combined/src/JfjFrameWorker.cpp b/jfj-combined/src/JfjFrameWorker.cpp index e866ad7..63dc6fb 100644 --- a/jfj-combined/src/JfjFrameWorker.cpp +++ b/jfj-combined/src/JfjFrameWorker.cpp @@ -60,31 +60,31 @@ inline uint64_t JfjFrameWorker::process_packets(ModuleFrame& metadata, char* fra return 0; } -uint64_t JfjFrameWorker::get_frame_from_udp(ModuleFrame& metadata, char* frame_buffer){ - // Reset the metadata and frame buffer for the next frame. (really needed?) - metadata.pulse_id = 0; - metadata.n_recv_packets = 0; - memset(frame_buffer, 0, m_num_data_bytes); - - - // Process leftover packages in the buffer - if (!m_buffer.is_empty()) { - auto pulse_id = process_packets(metadata, frame_buffer); - if (pulse_id != 0) { return pulse_id; } - } - - - while (true) { - // Receive new packages (pass if none)... - m_buffer.fill_from(m_udp_receiver); - if (m_buffer.is_empty()) { continue; } - - // ... and process them - auto pulse_id = process_packets(metadata, frame_buffer); - if (pulse_id != 0) { return pulse_id; } - } -} - +//uint64_t JfjFrameWorker::get_frame_from_udp(ModuleFrame& metadata, char* frame_buffer){ +// // Reset the metadata and frame buffer for the next frame. (really needed?) +// metadata.pulse_id = 0; +// metadata.n_recv_packets = 0; +// memset(frame_buffer, 0, m_num_data_bytes); +// +// +// // Process leftover packages in the buffer +// if (!m_buffer.is_empty()) { +// auto pulse_id = process_packets(metadata, frame_buffer); +// if (pulse_id != 0) { return pulse_id; } +// } +// +// +// while (true) { +// // Receive new packages (pass if none)... +// m_buffer.fill_from(m_udp_receiver); +// if (m_buffer.is_empty()) { continue; } +// +// // ... and process them +// auto pulse_id = process_packets(metadata, frame_buffer); +// if (pulse_id != 0) { return pulse_id; } +// } +//} +// diff --git a/jfj-combined/src/dummyMain.cpp b/jfj-combined/src/dummyMain.cpp index 952744e..0ecea91 100644 --- a/jfj-combined/src/dummyMain.cpp +++ b/jfj-combined/src/dummyMain.cpp @@ -16,12 +16,12 @@ void dummy_sender(ImageMetadata* meta, std::vector* data){ int main (int argc, char *argv[]) { + + + FrameCache cache(32, 3, JFJOCH_DATA_BYTES_PER_MODULE, &dummy_sender); - - - - JfjFrameWorker W0(5340, 0, cache.emplace); - JfjFrameWorker W1(5341, 1, cache.emplace); - JfjFrameWorker W2(5342, 2, cache.emplace); + JfjFrameWorker W0(5005, 0, cache.emplace); + JfjFrameWorker W1(5006, 1, cache.emplace); + JfjFrameWorker W2(5007, 2, cache.emplace); } diff --git a/jfj-combined/test/CMakeLists.txt b/jfj-combined/test/CMakeLists.txt index 77eeb3a..83358a3 100644 --- a/jfj-combined/test/CMakeLists.txt +++ b/jfj-combined/test/CMakeLists.txt @@ -1,8 +1,8 @@ -add_executable(jfj-udp-recv-tests main.cpp) +add_executable(jfj-combined-tests main.cpp) -target_link_libraries(jfj-udp-recv-tests +target_link_libraries(jfj-combined-tests core-buffer-lib - jfj-udp-recv-lib + jfj-combined-lib gtest )