}
else if ( this.currentState == UPDATE_DR )
{ // state 8: Update DR
state = this.currentState.getDisplayText();
this.annotationListener.onAnnotation( new SampleDataAnnotation( this.tdiIdx, timestamps[startTdiDataIdx],
timestamps[endTdiDataIdx], String.format( "0x%x", new BigInteger( tdiData, 2 ) ) ) );
this.annotationListener.onAnnotation( new SampleDataAnnotation( this.tdoIdx, timestamps[startTdiDataIdx],
timestamps[endTdiDataIdx], String.format( "0x%x", new BigInteger( tdoData, 2 ) ) ) );
aDataSet.reportJTAGTdiData( tdiIdx, startTdiDataIdx, endTdiDataIdx, currentState, tdiData );
aDataSet.reportJTAGTdoData( tdoIdx, startTdiDataIdx, endTdiDataIdx, currentState, tdoData );
if ( tmsValue == 0 )
{
this.currentState = RUN_TEST_IDLE;
}
else
{
this.currentState = SELECT_DR;
}
}
else if ( this.currentState == SELECT_IR )
{ // state 9: Select IR
state = this.currentState.getDisplayText();
if ( tmsValue == 0 )
{
this.currentState = CAPTURE_IR;
}
else
{
this.currentState = TEST_LOGIC_RESET;
}
}
else if ( this.currentState == CAPTURE_IR )
{ // state 10: Capture IR
state = this.currentState.getDisplayText();
tdiData = null;
tdoData = null;
if ( tmsValue == 0 )
{
this.currentState = SHIFT_IR;
}
else
{
this.currentState = EXIT1_IR;
}
}
else if ( this.currentState == SHIFT_IR )
{ // state 11: Shift IR
state = this.currentState.getDisplayText();
if ( tdiData == null )
{
startTdiDataIdx = idx;
tdiData = "";
tdoData = "";
}
endTdiDataIdx = idx;
if ( tdiValue == 0 )
{
tdiData = "0" + tdiData;
}
else
{
tdiData = "1" + tdiData;
}
if ( tdoValue == 0 )
{
tdoData = "0" + tdoData;
}
else
{
tdoData = "1" + tdoData;
}
if ( tmsValue != 0 )
{
this.currentState = EXIT1_IR;
}
}
else if ( this.currentState == EXIT1_IR )
{ // state 12: Exit1 IR
state = this.currentState.getDisplayText();
if ( tmsValue == 0 )
{
this.currentState = PAUSE_IR;
}
else
{
this.currentState = UPDATE_IR;
}
}
else if ( this.currentState == PAUSE_IR )
{ // state 13: Pause IR
state = this.currentState.getDisplayText();
if ( tmsValue == 0 )
{
this.currentState = PAUSE_IR;
}
else
{
this.currentState = EXIT2_IR;
}
}
else if ( this.currentState == EXIT2_IR )
{ // state 14: Exit2 IR
state = this.currentState.getDisplayText();
if ( tmsValue == 0 )
{
this.currentState = SHIFT_IR;
}
else
{
this.currentState = UPDATE_IR;
}
}
else if ( this.currentState == UPDATE_IR )
{ // state 15: Update IR
state = this.currentState.getDisplayText();
this.annotationListener.onAnnotation( new SampleDataAnnotation( this.tdiIdx, timestamps[startTdiDataIdx],
timestamps[endTdiDataIdx], String.format( "0x%x", new BigInteger( tdiData, 2 ) ) ) );
this.annotationListener.onAnnotation( new SampleDataAnnotation( this.tdoIdx, timestamps[startTdiDataIdx],
timestamps[endTdiDataIdx], String.format( "0x%x", new BigInteger( tdoData, 2 ) ) ) );
aDataSet.reportJTAGTdiData( tdiIdx, startTdiDataIdx, endTdiDataIdx, currentState, tdiData );
aDataSet.reportJTAGTdoData( tdoIdx, startTdiDataIdx, endTdiDataIdx, currentState, tdoData );
if ( tmsValue == 0 )
{
this.currentState = RUN_TEST_IDLE;
}
else
{
this.currentState = SELECT_DR;
}
}
else
{
state = "ERROR";
}
if ( this.oldState != this.currentState )
{
this.annotationListener.onAnnotation( new SampleDataAnnotation( this.tmsIdx, timestamps[this.startIdx],
timestamps[idx], state ) );
aDataSet.reportJTAGState( this.tmsIdx, this.startIdx, idx, this.oldState );
this.startIdx = idx + 1;