beautypg.com

Teledyne LeCroy Automation API for Teledyne LeCroy PETracer_PETrainer User Manual

Page 143

background image

Teledyne LeCroy

Automation API for PETracer/PETrainer

138

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 )

#define ANALYZERSTATE_PREPARE_UPLOADING

( 4 )

#define ANALYZERSTATE_PREPARE_RECORDING

( 5 )

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;

case ANALYZERSTATE_PREPARE_UPLOADING:

_tcscpy( status_buf, _T("Preparing Data for Upload") );

break;

case ANALYZERSTATE_PREPARE_RECORDING:

_tcscpy( status_buf, _T("Preparing Data for Recording") );
break;

default:

_tcscpy( status_buf, _T("Unknown") );
break;

}
_stprintf( m_RecordingStatus, _T("%s, done %ld%%"), status_buf, percent_done );

}