Package 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:
Serializable
,Cloneable
,Comparable<AX25Message>
,CommentedMessage
,SendableMessage
This class defines a Mic-E message (APRS protocol specification chapter 10).
- Author:
- Andrew Pavlin, KA2DDO
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.ka2ddo.ax25.AX25Message
AX25Message.Precedence
-
Field Summary
Fields inherited from class org.ka2ddo.aprs.PositionMessage
abc, altitude, altitudeUnit, COMPRESSED_LAT_SCALING, CONV_MPH_TO_METERS_PER_SEC, DHM, enabledForTransmit, fLatitude, fLatPrecision, fLongitude, fmtMonitorFreq, HMS, HUNDREDTH_MINUTE_F, isCustom, latitude, LN_BASE1_08, longitude, ONE_DEGREE_F, ONE_MINUTE_F, TEN_MINUTES_F, TENTH_MINUTE_F
Fields inherited from class org.ka2ddo.aprs.Message
appendCR, APRS_AND_OPENTRAC_AND_RAW, APRS_AND_RAW, comment, msgType, S_PERMANENT, S_PERMANENT_UC, symbolCode, symTableId
Fields inherited from class org.ka2ddo.ax25.AX25Message
APRS_AND_OPENTRAC, ax25Frame, extensions, invalid, originatingCallsign, originatingDest, PERMANENT, rcptTime, thirdParty, timestamp, UTC
-
Constructor Summary
ConstructorDescriptionMicE
(byte[] body, int offset, 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
Modifier and TypeMethodDescriptionvoid
Specify that message should no longer be transmitted.static 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, ProtocolFamily protocolId, AX25Frame frame) Get an instance of this message, suitable for transmitting.char
Get the Mic-E type code of the transmitter (if one exists).Report the traffic-handling precedence for this message instance.Get the model string (if any) decoded from the Mic-E model type codes in the free-text field.static boolean
Test whether locally-generated Mic-E messages should use an experimental model code for YAAC.Descriptive text about this message, to be included in the toString() method's response.static void
setUseExperimentalYAACModelCode
(boolean useExperimentalYAACModelCode) Specify whether locally-generated Mic-E messages should use an experimental model code for YAAC.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, getLatitude, getLatitudeAccuracy, getLongitude, hasPosition, isCustom, isEnabled, isShowDate, isUsingCompressedFormat, looksLikeFrequency, looksLikeFrequency, setAbc, setAmbiguity, setCustom, 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, getExtensionString, getMsgType, getProtocols, getSymbolCode, getSymTableId, hasWeather, inferSymbol, isAppendCR, isSymbolInferred, looksLikeLongFormatLatitude, setAppendCR, setComment, setSymbolCode, setSymTableId, toString
Methods inherited from class org.ka2ddo.ax25.AX25Message
equals, extractSource, getAx25Frame, getExtension, getFirstDigipeat, getLastDigipeat, getNthDigipeat, getOriginalDestination, getOriginalSource, getOriginatingCallsign, getOriginatingDest, getRcptTime, getReadOnlyExtensionMap, getTimestamp, hashCode, hasThisFirstDigi, indexOf, indexOf, isDirect, isInvalid, isRf, onlyDigits, onlyDigits, onlyDigitsOrMinus, onlyDigitsOrPeriod, onlyDigitsOrSpace, onlyDigitsPlus, onlyPeriods, setAx25Frame, setInvalid, setOriginatingCallsign, setRcptTime, setTimestamp, split, storeExtension
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.ka2ddo.ax25.SendableMessage
dup, isEnabled
-
Constructor Details
-
MicE
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
-
-
Method Details
-
paramString
Descriptive text about this message, to be included in the toString() method's response.- Overrides:
paramString
in classPositionMessage
- Returns:
- String describing the contents of this message
- See Also:
-
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
Report the traffic-handling precedence for this message instance.- Overrides:
getPrecedence
in classMessage
- Returns:
- Precedence level for this Message
-
encodeDestination
public static 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
Get an instance of this message, suitable for transmitting.- Specified by:
getBody
in interfaceSendableMessage
- Parameters:
countTransmission
- number of times the message has been transmitted.protocolId
- ProtocolFamily to generate the message in; currently, only 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:
-
disableForTransmit
public void disableForTransmit()Specify that message should no longer be transmitted.- Specified by:
disableForTransmit
in interfaceSendableMessage
-
getMicETypeCode
public char getMicETypeCode()Get the Mic-E type code of the transmitter (if one exists).- Returns:
- type code character
-
isUseExperimentalYAACModelCode
public static boolean isUseExperimentalYAACModelCode()Test whether locally-generated Mic-E messages should use an experimental model code for YAAC.- Returns:
- boolean true if locally originated Mic-E messages have a model code
-
setUseExperimentalYAACModelCode
public static void setUseExperimentalYAACModelCode(boolean useExperimentalYAACModelCode) Specify whether locally-generated Mic-E messages should use an experimental model code for YAAC.- Parameters:
useExperimentalYAACModelCode
- boolean true if locally originated Mic-E messages have a model code
-