From d05d799d9774291f7bc15de4819510b457b20ffd Mon Sep 17 00:00:00 2001 From: Janis Streib <me@janis-streib.de> Date: Tue, 01 Feb 2022 12:32:39 +0100 Subject: [PATCH] UPD: send enumare all sensors and check., if sensors are active --- src/G4Export.cpp | 35 ++++++++++++++++++++--------------- src/G4Hub.h | 1 + src/G4Hub.cpp | 4 ++++ 3 files changed, 25 insertions(+), 15 deletions(-) diff --git a/src/G4Export.cpp b/src/G4Export.cpp index 2908ae6..707e29c 100644 --- a/src/G4Export.cpp +++ b/src/G4Export.cpp @@ -54,23 +54,28 @@ p << osc::BeginBundleImmediate; } for (int i=0;i<prs->numHub;i++){ - auto dat = prs->hubList[i].GetPnoData()[0]; - //printf("sns: %i: [%f;%f;%f],[%f,%f,%f]\n",i, dat[0],dat[1],dat[2], dat[3],dat[4],dat[5]); - p << osc::BeginMessage( (string("/hub/") + std::to_string(i)).c_str() ); - std::ostringstream ss; - if(use_text) { - ss << "[" << dat[0] << "," << dat[1] << "," << dat[2] << "," << dat[3] << "," << dat[4] << "," << dat[5] << "]"; - auto res = ss.str(); - p << res.c_str(); - } else { - p << dat[0] << dat[1] << dat[2] << dat[3] << dat[4] << dat[5]; + for(int j=0;j<G4_SENSORS_PER_HUB;j++) { + if(!prs->hubList[i].IsSenActive(j)){ + continue; + } + auto dat = prs->hubList[i].GetPnoData()[j]; + //printf("sns: %i: [%f;%f;%f],[%f,%f,%f]\n",i, dat[0],dat[1],dat[2], dat[3],dat[4],dat[5]); + p << osc::BeginMessage( (string("/g4/hub/") + std::to_string(i) + string("/") + std::to_string(j)).c_str()); + std::ostringstream ss; + if(use_text) { + ss << "[" << dat[0] << "," << dat[1] << "," << dat[2] << "," << dat[3] << "," << dat[4] << "," << dat[5] << "]"; + auto res = ss.str(); + p << res.c_str(); + } else { + p << dat[0] << dat[1] << dat[2] << dat[3] << dat[4] << dat[5]; + } + p << osc::EndMessage; } - p << osc::EndMessage; + if(!use_text) { + p << osc::EndBundle; + } + transmitSocket->Send( p.Data(), p.Size() ); } - if(!use_text) { - p << osc::EndBundle; - } - transmitSocket->Send( p.Data(), p.Size() ); usleep(15000); // usleep(8000); } diff --git a/src/G4Hub.cpp b/src/G4Hub.cpp index 14a6e01..657eec0 100644 --- a/src/G4Hub.cpp +++ b/src/G4Hub.cpp @@ -36,6 +36,10 @@ return m_id; } +bool CG4Hub::IsSenActive(int i) +{ + return m_senActive[i]; +} void CG4Hub::SetId(int id) diff --git a/src/G4Hub.h b/src/G4Hub.h index 6187838..aef97f6 100644 --- a/src/G4Hub.h +++ b/src/G4Hub.h @@ -20,6 +20,7 @@ int GetId(); void SetPnoData(float* pno,int sen); float (*GetPnoData())[6]; + bool IsSenActive(int i); CG4Hub(); virtual ~CG4Hub(); -- Gitblit v1.9.1