예제 #1
0
COctopusAOTF::~COctopusAOTF()
{	

	B.AOTF_loaded = false;

	HBUF hBuf = NULL;
	olDaAbort( hdass_9834 );
	olDaFlushBuffers( hdass_9834 ); 
	
	do {
		olDaGetBuffer( hdass_9834, &hBuf );           // get the buffer from the done queue
		if( hBuf != NULL ) olDmFreeBuffer( hBuf );    // and free it
	} while( hBuf != NULL );                          // until the done queue is empty	

	olDaReleaseDASS( hdass_9834 );					  // release the subsystem and the board
	olDaTerminate( hdrvr_9834 );
}
예제 #2
0
int DTFUN::CleanUp( void )
{
    int     i, bcount, status;

    status= olDaFlushBuffers( lphDass );

    bcount= BUFNUM;

    for (i=0; i<bcount; i++)
    {
        status+= olDaGetBuffer( lphDass, &hbuf[i] );
        status+= olDmFreeBuffer( hbuf[i] );
    }

    if (outputclockonusercounter)
        status+= olDaReleaseDASS( lphDassCT );

    status+= olDaReleaseDASS( lphDass );
    return( status );
}
예제 #3
0
void COctopusAOTF::Stop( void ) 
{
	HBUF hBuf;
	
	olDaAbort( hdass_9834 );
	
	olDaFlushBuffers( hdass_9834 );                        // make sure flush all buffers to done queue
		
	do {
		olDaGetBuffer( hdass_9834, &hBuf );                // get the buffer from the done queue
		if( hBuf != NULL ) {
			olDmFreeBuffer( hBuf );
		}
	} while( hBuf != NULL );

	B.AOTF_running = false;

	m_status_AOTF.SetBitmap( m_bmp_no );

	Sleep( 50 );
}