Teledyne LeCroy USB Analyzer Automation Manual User Manual
Page 121

Teledyne LeCroy Automation API Reference Manual for USBTracer, USB Advisor, and Voyager USB Protocol
Suite
121
C++:
#define RECORDING_PROGRESS_REPORT
( 1 )
#define ANALYZERSTATE_IDLE
( -1 )
#define ANALYZERSTATE_WAITING_TRIGGER
( 0 )
#define ANALYZERSTATE_RECORDING_TRIGGERED
( 1 )
#define ANALYZERSTATE_UPLOADING_DATA
( 2 )
#define ANALYZERSTATE_SAVING_DATA
( 3 )
HRESULT __stdcall OnStatusReport( short subsystem, short state, long percent_done )
{
switch ( subsystem )
{
case RECORDING_PROGRESS_REPORT:
UpdateRecStatus( state, percent_done );
break;
}
TCHAR buf[1024];
_stprintf( buf, _T("%s"), m_RecordingStatus );
::SetWindowText( m_hwndStatus, buf );
return S_OK;
}
void UpdateRecStatus( short state, long percent_done )
{
TCHAR status_buf[64];
switch ( state )
{
case ANALYZERSTATE_IDLE:
_tcscpy( status_buf, _T("Idle") );
break;
case ANALYZERSTATE_WAITING_TRIGGER:
_tcscpy( status_buf, _T("Recording - Waiting for trigger") );
break;
case ANALYZERSTATE_RECORDING_TRIGGERED:
_tcscpy( status_buf, _T("Recording - Triggered") );
break;
case ANALYZERSTATE_UPLOADING_DATA:
_tcscpy( status_buf, _T("Uploading") );
break;
case ANALYZERSTATE_SAVING_DATA:
_tcscpy( status_buf, _T("Saving data") );
break;
default:
_tcscpy( status_buf, _T("Unknown") );
break;
}
_stprintf( m_RecordingStatus, _T("%s, done %ld%%"), status_buf, percent_done );