Adds Transponder activation reply code to LJ1200 message parsing.

This commit is contained in:
dennis.sheirer
2015-01-07 00:32:25 +00:00
parent 84261a4be9
commit 07d3b92dae

View File

@@ -35,6 +35,10 @@ public class LJ1200Message extends Message
{ {
private final static Logger mLog = LoggerFactory.getLogger( LJ1200Message.class ); private final static Logger mLog = LoggerFactory.getLogger( LJ1200Message.class );
public static final String[] REPLY_CODE = { "0","1","2","3","4","5","6","7",
"8","9","A","C","D","E","F","G","H","J","K","L","M","N","P","Q","R","S",
"T","U","V","W","X","Y" };
public static int[] SYNC = { 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 }; public static int[] SYNC = { 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 };
public static int[] VRC = { 16,17,18,19,20,21,22,23 }; public static int[] VRC = { 16,17,18,19,20,21,22,23 };
@@ -51,6 +55,12 @@ public class LJ1200Message extends Message
public static int[] ADDRESS = { 36,37,38,39,40,41,42,43,44,45,46,47,48,49, public static int[] ADDRESS = { 36,37,38,39,40,41,42,43,44,45,46,47,48,49,
50,51,52,53,54,55,56,57,58,59,60,61,62,63 }; 50,51,52,53,54,55,56,57,58,59,60,61,62,63 };
public static int[] REPLY_1 = { 39,38,37,36,43 };
public static int[] REPLY_2 = { 42,41,40,47,46 };
public static int[] REPLY_3 = { 45,44,51,50,49 };
public static int[] REPLY_4 = { 48,55,54,53,52 };
public static int[] REPLY_5 = { 59,58,57,56,63 };
public static int[] MESSAGE_CRC = { 64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79 }; public static int[] MESSAGE_CRC = { 64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79 };
private static SimpleDateFormat mSDF = new SimpleDateFormat( "yyyyMMdd HHmmss" ); private static SimpleDateFormat mSDF = new SimpleDateFormat( "yyyyMMdd HHmmss" );
@@ -140,6 +150,23 @@ public class LJ1200Message extends Message
return null; return null;
} }
/**
* 5 character reply code for function E and F, transponder activation.
* @return - reply code
*/
public String getReplyCode()
{
StringBuilder sb = new StringBuilder();
sb.append( REPLY_CODE[ mMessage.getInt( REPLY_1 ) ] );
sb.append( REPLY_CODE[ mMessage.getInt( REPLY_2 ) ] );
sb.append( REPLY_CODE[ mMessage.getInt( REPLY_3 ) ] );
sb.append( REPLY_CODE[ mMessage.getInt( REPLY_4 ) ] );
sb.append( REPLY_CODE[ mMessage.getInt( REPLY_5 ) ] );
return sb.toString();
}
@Override @Override
public String toString() public String toString()
{ {
@@ -150,24 +177,35 @@ public class LJ1200Message extends Message
sb.append( "FUNCTION: " ); sb.append( "FUNCTION: " );
sb.append( function.toString() ); sb.append( function.toString() );
if( function == Function.F8_SITE_ID ) switch( function )
{ {
sb.append( " SITE [" ); case FE_TRACK_PULSE:
sb.append( getSiteID() ); case FF_TRACK_PULSE:
sb.append( " REPLY CODE [" );
sb.append( getReplyCode() );
break;
case F8_SITE_ID:
sb.append( " SITE [" );
sb.append( getSiteID() );
Alias site = getSiteIDAlias(); Alias site = getSiteIDAlias();
if( site != null ) if( site != null )
{ {
sb.append( "/" ); sb.append( "/" );
sb.append( site.getName() ); sb.append( site.getName() );
} }
sb.append( "]" ); sb.append( "]" );
sb.append( " ADDRESS [" );
sb.append( getAddress() );
break;
default:
sb.append( " ADDRESS [" );
sb.append( getAddress() );
break;
} }
sb.append( " ADDRESS [" );
sb.append( getAddress() );
sb.append( "] VRC [" + getVRC() ); sb.append( "] VRC [" + getVRC() );
sb.append( "] LRC [" + getLRC() ); sb.append( "] LRC [" + getLRC() );
sb.append( "] CRC [" + getCRC() ); sb.append( "] CRC [" + getCRC() );
@@ -288,7 +326,7 @@ public class LJ1200Message extends Message
FB( 0xB, "B-UNKNOWN" ), FB( 0xB, "B-UNKNOWN" ),
FC_DEACTIVATE( 0xC, "C-DEACTIVATE" ), FC_DEACTIVATE( 0xC, "C-DEACTIVATE" ),
FD( 0xD, "D-UNKNOWN" ), FD( 0xD, "D-UNKNOWN" ),
FE( 0xE, "E-UNKNOWN" ), FE_TRACK_PULSE( 0xE, "E-TRACK PULSE" ),
FF_TRACK_PULSE( 0xF, "F-TRACK PULSE" ), FF_TRACK_PULSE( 0xF, "F-TRACK PULSE" ),
UNKNOWN( -1, "UNKNOWN" ); UNKNOWN( -1, "UNKNOWN" );