org.ka2ddo.aprs
Class MicE
java.lang.Object
org.ka2ddo.ax25.AX25Message
org.ka2ddo.aprs.Message
org.ka2ddo.aprs.PositionMessage
org.ka2ddo.aprs.MicE
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, java.lang.Comparable<AX25Message>, CommentedMessage, SendableMessage
public class MicE
- extends PositionMessage
- implements SendableMessage
This class defines a Mic-E message (APRS protocol specification chapter 10).
- See Also:
- Serialized Form
Fields inherited from class org.ka2ddo.aprs.PositionMessage |
abc, altitude, altitudeUnit, COMPRESSED_LAT_SCALING, CONV_MPH_TO_METERS_PER_SEC, DHM, fLatitude, fLatPrecision, fLongitude, fmtMonitorFreq, HMS, isCustom, latitude, LN_BASE1_08, longitude, MDHM |
Constructor Summary |
MicE(byte[] body,
int offset,
java.lang.String thirdParty,
AX25Callsign dest,
long rcvTimestamp)
Decode a Mic-E message from a byte array, |
MicE(long now)
Alternate constructor for creating a locally-originated MicE message. |
Method Summary |
static java.lang.String |
encodeDestination(double latitude,
double longitude,
byte status,
boolean isCustom)
Build the tocall destination "callsign" for a Mic-E message, containing the latitude, the status,
and part of the longitude information. |
byte[] |
getBody(boolean countTransmission,
byte protocolId,
AX25Frame frame)
Get an instance of this message, suitable for transmitting. |
AX25Message.Precedence |
getPrecedence()
Report the traffic-handling precedence for this message instance. |
java.lang.String |
getRadioModel()
Get the model string (if any) decoded from the Mic-E model type codes in the free-text field. |
java.lang.String |
paramString()
Descriptive text about this message, to be included in the toString() method's response. |
Methods inherited from class org.ka2ddo.aprs.PositionMessage |
appendAreaParameters, appendRepeaterParameters, appendSignpostParameters, bodyEquals, createObjectFromThisPosition, decodeDataExtension, decodeLatitude, decodeLongitude, decodeOnlyLatitude, decodeOnlyLongitude, encodeLatitudeCompressed, encodeLatitudePlainText, encodeLongitudeCompressed, encodeLongitudePlainText, extractCompressedLatitude, extractCompressedLongitude, extractLatitude, extractLongitude, getAbc, getAltitude, getAltitudeUnit, getCustom, getLatitude, getLatitudeAccuracy, getLongitude, hasPosition, isEnabled, isShowDate, isUsingCompressedFormat, looksLikeFrequency, looksLikeFrequency, setAbc, setLatitude, setLocation, setLongitude, setShowDate, testIfValidCompressedLocation |
Methods inherited from class org.ka2ddo.aprs.Message |
compareTo, decodeDatestamp, decodeHurricaneParams, decodeTimestamp, decodeWeatherParams, decodeWeatherParams, dup, encodeTimestamp, extractComment, extractComment, extractSymbol, formatBody, getComment, getExtension, getExtensionString, getMsgType, getReadOnlyExtensionMap, getSymbolCode, getSymTableId, hasWeather, inferSymbol, isSymbolInferred, looksLikeLongFormatLatitude, setComment, setSymbolCode, setSymTableId, storeExtension, toString |
Methods inherited from class org.ka2ddo.ax25.AX25Message |
equals, extractSource, getAx25Frame, getFirstDigipeat, getLastDigipeat, getOriginalDestination, getOriginalSource, getOriginatingCallsign, getRcptTime, getTimestamp, hashCode, hasThisFirstDigi, indexOf, indexOf, isInvalid, onlyDigits, onlyDigits, onlyDigitsOrPeriod, onlyDigitsOrSpace, onlyDigitsPlus, onlyPeriods, setAx25Frame, setInvalid, setOriginatingCallsign, setRcptTime, setTimestamp, split |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
MicE
public MicE(byte[] body,
int offset,
java.lang.String thirdParty,
AX25Callsign dest,
long rcvTimestamp)
- Decode a Mic-E message from a byte array,
- Parameters:
body
- byte array containing the Mic-E messageoffset
- index into the byte array where the Mic-E message startsthirdParty
- third-party routing path, or null if not routed from another networkdest
- destination callsign (to extract part of the position and status information from)rcvTimestamp
- time in Java milliseconds since 1 Jan 1970 UTC when this message was received
MicE
public MicE(long now)
- Alternate constructor for creating a locally-originated MicE message.
- Parameters:
now
- current time in milliseconds since midnight Jan 1 1970 UTC
paramString
public java.lang.String paramString()
- Descriptive text about this message, to be included in the toString() method's response.
- Overrides:
paramString
in class PositionMessage
- Returns:
- String describing the contents of this message
- See Also:
Message.toString()
getRadioModel
public java.lang.String getRadioModel()
- Get the model string (if any) decoded from the Mic-E model type codes in the free-text field.
- Returns:
- model String, or null if no known model
getPrecedence
public AX25Message.Precedence getPrecedence()
- Report the traffic-handling precedence for this message instance.
- Overrides:
getPrecedence
in class AX25Message
- Returns:
- Precedence level for this Message
encodeDestination
public static java.lang.String encodeDestination(double latitude,
double longitude,
byte status,
boolean isCustom)
- Build the tocall destination "callsign" for a Mic-E message, containing the latitude, the status,
and part of the longitude information.
- Parameters:
latitude
- latitude in fractional degrees Northlongitude
- longitude in fractional degrees Eaststatus
- Mic-E status code in the range 0 to 7isCustom
- boolean true if this is a custom status code instead of a standard status code
- Returns:
- tocall destination callsign String to use with transmitted Mic-E message
getBody
public byte[] getBody(boolean countTransmission,
byte protocolId,
AX25Frame frame)
- Get an instance of this message, suitable for transmitting.
- Specified by:
getBody
in interface SendableMessage
- Parameters:
countTransmission
- number of times the message has been transmitted.protocolId
- AX.25 protocol ID to generate the message in, or 0 for default protocol; currently,
only NOLVL3 (APRS) and OPENTRAC are supported.frame
- AX25Frame into which the message will be placed; the decoded message (as opposed to the byte
array encoding) should be stored into the field frame.parsedAX25Msg
- Returns:
- byte array of message, or null if message body cannot be generated in specified protocol, or
retransmission count has been exceeded.
- See Also:
AX25Frame.parsedAX25Msg