int OpenGL43Instance::EnumerateGpus() { fDebug0(); mGpuCount = 0; return mGpuCount; }
void Frame::CalibrateESCs() { fDebug0(); gDebug() << "Disabling ESCs\n"; for ( Motor* m : mMotors ) { m->Disable(); } gDebug() << "Waiting 10 seconds...\n"; usleep( 10 * 1000 * 1000 ); gDebug() << "Setting maximal speed\n"; for ( Motor* m : mMotors ) { m->setSpeed( 1.0f, true ); } gDebug() << "Waiting 10 seconds...\n"; usleep( 10 * 1000 * 1000 ); gDebug() << "Setting minimal speed\n"; for ( Motor* m : mMotors ) { m->setSpeed( 0.0f, true ); } gDebug() << "Waiting 2 seconds...\n"; usleep( 2 * 1000 * 1000 ); gDebug() << "Disarm all ESCs\n"; for ( Motor* m : mMotors ) { m->Disarm(); } }
int Socket::Connect() { fDebug0(); if ( mConnected ) { return 0; } setBlocking( true ); if ( mSocket < 0 ) { int type = ( mPortType == UDP or mPortType == UDPLite ) ? SOCK_DGRAM : SOCK_STREAM; int proto = ( mPortType == UDPLite ) ? IPPROTO_UDPLITE : ( ( mPortType == UDP ) ? IPPROTO_UDP : 0 ); char myname[256]; gethostname( myname, sizeof(myname) ); memset( &mSin, 0, sizeof( mSin ) ); mSin.sin_addr.s_addr = htonl( INADDR_ANY ); mSin.sin_family = AF_INET; mSin.sin_port = htons( mPort ); mSocket = socket( AF_INET, type, proto ); int option = 1; setsockopt( mSocket, SOL_SOCKET, ( 15/*SO_REUSEPORT*/ | SO_REUSEADDR ), (char*)&option, sizeof( option ) ); if ( mPortType == TCP ) { int flag = 1; setsockopt( mSocket, IPPROTO_TCP, TCP_NODELAY, (char*)&flag, sizeof(int) ); } if ( mBroadcast ) { int broadcastEnable = 1; setsockopt( mSocket, SOL_SOCKET, SO_BROADCAST, &broadcastEnable, sizeof(broadcastEnable) ); } if ( mPortType == UDPLite ) { uint16_t checksum_coverage = 8; setsockopt( mSocket, IPPROTO_UDPLITE, UDPLITE_SEND_CSCOV, &checksum_coverage, sizeof(checksum_coverage) ); setsockopt( mSocket, IPPROTO_UDPLITE, UDPLITE_RECV_CSCOV, &checksum_coverage, sizeof(checksum_coverage) ); } if ( bind( mSocket, (SOCKADDR*)&mSin, sizeof(mSin) ) < 0 ) { gDebug() << "Socket ( " << mPort << " ) error : " << strerror(errno) << "\n"; mConnected = false; return -1; } } if ( mPortType == TCP ) { int ret = listen( mSocket, 5 ); int size = 0; if ( !ret ) { mClientSocket = accept( mSocket, (SOCKADDR*)&mClientSin, (socklen_t*)&size ); if ( mClientSocket < 0 ) { mConnected = false; return -1; } } else { mConnected = false; return -1; } } else if ( mPortType == UDP or mPortType == UDPLite ) { if ( not mBroadcast ) { uint32_t flag = 0; uint32_t fromsize = sizeof( mClientSin ); int ret = recvfrom( mSocket, &flag, sizeof( flag ), 0, (SOCKADDR *)&mClientSin, &fromsize ); if ( ret > 0 ) { flag = ntohl( flag ); gDebug() << "flag : " << ntohl( flag ) << "\n"; if ( flag != 0x12345678 ) { mConnected = false; return -1; } } else { gDebug() << strerror( errno ) << "\n"; mConnected = false; return -1; } } } mConnected = true; return 0; }