| | |
| | | #include "G4Hub.h" |
| | | #include <string.h> |
| | | #include <unistd.h> |
| | | #include "config.h" |
| | | #include <memory> |
| | | #include "clipp.h" |
| | | #include <ip/UdpSocket.h> |
| | | #include <osc/OscOutboundPacketStream.h> |
| | | using namespace clipp; using std::cout; using std::string; |
| | | |
| | | #define OUTPUT_BUFFER_SIZE 512 |
| | | |
| | | int RunCollect=0; |
| | | std::unique_ptr<UdpTransmitSocket> transmitSocket; |
| | | |
| | | |
| | | void* Collect(REND_STRUCT* prs){ |
| | |
| | | i++; |
| | | prs->hubreadmap=0; |
| | | prs->tot_hubs_on_system=prs->pTrk->GetHubsPno(prs); |
| | | char buffer[OUTPUT_BUFFER_SIZE]; |
| | | osc::OutboundPacketStream p( buffer, OUTPUT_BUFFER_SIZE ); |
| | | |
| | | 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]); |
| | | //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() ) |
| | | << dat[0] << dat[1] << dat[2] << dat[3] << dat[4] << dat[5] << osc::EndMessage; |
| | | } |
| | | |
| | | p << osc::EndBundle; |
| | | transmitSocket->Send( p.Data(), p.Size() ); |
| | | usleep(15000); |
| | | // usleep(8000); |
| | | } |
| | |
| | | CG4Trk trk; |
| | | REND_STRUCT rs; |
| | | string cfgFile; |
| | | string oscSink; |
| | | string oscSinkAddr; |
| | | int oscSinkPort; |
| | | |
| | | auto cli = ( |
| | | value("c4g configuration file", cfgFile), |
| | | value("osc sink", oscSink) |
| | | value("osc sink address", oscSinkAddr), |
| | | integer("osc sink port", oscSinkPort) |
| | | ); |
| | | |
| | | if(!parse(argc, argv, cli)) { |
| | | cout << make_man_page(cli, argv[0]); |
| | | return 1; |
| | | } |
| | | transmitSocket = std::make_unique<UdpTransmitSocket>( IpEndpointName( oscSinkAddr.c_str(), oscSinkPort ) ); |
| | | memset(rs.viewTrans,0,sizeof(float)*3); |
| | | rs.srcScale=rs.senScale=0.5; |
| | | rs.counter=0; |