Janis Streib
01.02.22 d05d799d9774291f7bc15de4819510b457b20ffd
UPD: send enumare all sensors and check., if sensors are active
3 files modified
40 ■■■■■ changed files
src/G4Export.cpp 35 ●●●●● patch | view | raw | blame | history
src/G4Hub.cpp 4 ●●●● patch | view | raw | blame | history
src/G4Hub.h 1 ●●●● patch | view | raw | blame | history
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);
    }
src/G4Hub.cpp
@@ -36,6 +36,10 @@
    return m_id;
}
bool CG4Hub::IsSenActive(int i)
{
    return m_senActive[i];
}
void CG4Hub::SetId(int id)
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();