void MLTCam::Acquire( PvDevice *aDevice, PvStream *aStream ) { // Get device parameters need to control streaming PvGenParameterArray *lDeviceParams = aDevice->GetParameters(); // Map the GenICam AcquisitionStart and AcquisitionStop commands PvGenCommand *lStart = dynamic_cast<PvGenCommand *>( lDeviceParams->Get( "AcquisitionStart" ) ); PvGenCommand *lStop = dynamic_cast<PvGenCommand *>( lDeviceParams->Get( "AcquisitionStop" ) ); // Get stream parameters PvGenParameterArray *lStreamParams = aStream->GetParameters(); // Map a few GenICam stream stats counters PvGenFloat *lFrameRate = dynamic_cast<PvGenFloat *>( lStreamParams->Get( "AcquisitionRate" ) ); PvGenFloat *lBandwidth = dynamic_cast<PvGenFloat *>( lStreamParams->Get( "Bandwidth" ) ); // Enable streaming and send the AcquisitionStart command //qDebug() << "Enabling streaming and sending AcquisitionStart command." << endl; aDevice->StreamEnable(); lStart->Execute(); char lDoodle[] = "|\\-|-/"; int lDoodleIndex = 0; double lFrameRateVal = 0.0; double lBandwidthVal = 0.0; timer = new QTimer; connect(timer, SIGNAL(timeout()), SLOT(WaitForExecution())); timer->start(100); // Abort all buffers from the stream and dequeue // cout << "Aborting buffers still in stream" << endl; // aStream->AbortQueuedBuffers(); // while ( aStream->GetQueuedBufferCount() > 0 ) // { // PvBuffer *lBuffer = NULL; // PvResult lOperationResult; // aStream->RetrieveBuffer( &lBuffer, &lOperationResult ); // } }
void OpenBagMotionPlanner::Execution() { groupPtr->asyncExecute(plan); WaitForExecution(); }