From b21ff09151ca7e87348f1ea38944decc1f46f5db Mon Sep 17 00:00:00 2001 From: Janis Streib <me@janis-streib.de> Date: Fr., 19 Mai 2023 18:12:03 +0200 Subject: [PATCH] FIXUP --- src/G4Export.cpp | 24 ++++++++++++++++-------- 1 files changed, 16 insertions(+), 8 deletions(-) diff --git a/src/G4Export.cpp b/src/G4Export.cpp index 97016fe..18adf0b 100644 --- a/src/G4Export.cpp +++ b/src/G4Export.cpp @@ -12,6 +12,8 @@ #include <osc/OscOutboundPacketStream.h> #include <sstream> #include <signal.h> +#include <chrono> +#include <thread> using namespace clipp; using std::cout; using std::string; @@ -20,7 +22,7 @@ int RunCollect=0; std::unique_ptr<UdpTransmitSocket> transmitSocket; bool use_text = false; -int pollPeriod = 8; +int pollPeriod; void* Collect(REND_STRUCT* prs){ @@ -56,6 +58,16 @@ if(!use_text) { p << osc::BeginBundleImmediate; } + p << osc::BeginMessage( (string("/g4/hub/") + std::to_string(prs->hubList[i].GetId()) + string("/digio")).c_str()); + std::ostringstream ss; + if(use_text) { + ss << prs->hubList[i].GetDigIOData(); + auto res = ss.str(); + p << res.c_str(); + } else { + p << osc::int64(prs->hubList[i].GetDigIOData()); + } + p << osc::EndMessage; auto dat = prs->hubList[i].GetPnoData(); for(int j=0;j<G4_SENSORS_PER_HUB;j++) { if(!prs->hubList[i].IsSenActive(j)){ @@ -77,17 +89,16 @@ } transmitSocket->Send( p.Data(), p.Size() ); } - usleep(pollPeriod*1000); - // usleep(8000); + std::this_thread::sleep_for(std::chrono::milliseconds(pollPeriod)); } + g4_close_tracker(); return NULL; } void sighandler(int s){ printf("Caught signal %d\n",s); - // FIXME: Do something gracefully - exit(1); + RunCollect=0; } int main(int argc,char* argv[]){ @@ -149,9 +160,6 @@ sigaction(SIGINT, &sigIntHandler, NULL); Collect(&rs); - - delete[] rs.srcList; - delete[] rs.hubList; return 0; } -- Gitblit v1.9.1