From afc9b1d6fb654f2643112b10a16cafaddb481304 Mon Sep 17 00:00:00 2001 From: Nam Tran Date: Fri, 4 Jun 2021 20:38:33 -0400 Subject: [PATCH] switch to cmake --- CMakeLists.txt | 17 +++++++++++++++++ Makefile | 4 ++-- client.cc | 11 ++++++++++- 3 files changed, 29 insertions(+), 3 deletions(-) create mode 100644 CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..cceacdf --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,17 @@ +cmake_minimum_required(VERSION 3.0.0) +project(zynqDump VERSION 0.1.0) + +# include(CTest) +# enable_testing() +add_compile_options(-std=c++14) + +include_directories(include) +add_library(channel STATIC channel.cc) + +add_executable(zynqDump client.cc) + +target_link_libraries(zynqDump channel) + +set(CPACK_PROJECT_NAME ${PROJECT_NAME}) +set(CPACK_PROJECT_VERSION ${PROJECT_VERSION}) +include(CPack) diff --git a/Makefile b/Makefile index c9fe718..ec57267 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ target = r CXX = g++ -CXX_FLAGS := -std=c++14 -I/home/daq/sw/include -Wall -DSPDLOG_COMPILED_LIB -LD_FLAGS := -lpthread -ldl -L/home/daq/sw/lib64 -lspdlog +CXX_FLAGS := -std=c++14 -I./include -Wall +LD_FLAGS := -lpthread -ldl BUILD := ./build OBJS = $(BUILD)/client.o $(BUILD)/channel.o diff --git a/client.cc b/client.cc index 97c1d97..9f639b8 100644 --- a/client.cc +++ b/client.cc @@ -17,7 +17,7 @@ #include "spdlog/spdlog.h" #include "spdlog/sinks/rotating_file_sink.h" -const char * HOST = "192.168.30.89"; +const char * HOST = "192.168.19.1"; const uint32_t PORT = 9999; const size_t MAX_EVENT_SIZE = 33484; // in bytes const size_t MIN_EVENT_SIZE = 204; // in bytes @@ -51,6 +51,9 @@ int main(int argc, char * argv[]) char char_buffer[MAX_EVENT_SIZE]; uint32_t * wordData = (uint32_t*) char_buffer; ssize_t nread; + std::ofstream output; + std::string outputName = "dump.bin"; + output.open (outputName, std::ios::out ); fd_set select_fds; // fd's used by select struct timeval timeout; // Time value for time out @@ -70,6 +73,9 @@ int main(int argc, char * argv[]) // read in first 4 bytes nread = recv(sock, char_buffer, 4, 0); spdlog::get("zynqDump")->debug("read in {:d} bytes: 0x{:X}", nread, wordData[0]); + for (uint32_t j = 0; j < nread; ++j) { + output << char_buffer[j]; + } // if not A5 marker, go to next iteration (read in 4 more bytes) if ((char_buffer[0] & 0xFF) != 0xA5){ bad_data = true; @@ -89,6 +95,9 @@ int main(int argc, char * argv[]) spdlog::get("zynqDump")->debug("next {:d} bytes (expecting {:d}): {:X} {:X} {:X} {:X}", nread, frameSize - 4, wordData[0], wordData[1], wordData[2], wordData[3]); spdlog::get("zynqDump")->debug("{:X} {:X} {:X} {:X}", wordData[4], wordData[5], wordData[6], wordData[7]); + for (uint32_t j = 0; j < nread; ++j) { + output << char_buffer[j]; + } uint8_t board_id = (wordData[0] >> 24) & 0xFF; uint8_t version = wordData[0] & 0xFF; uint16_t spill_id = (wordData[1] & 0x00FFFF00) >> 8;