PacComm Packet Controller Firmware Release 5.0

Features and APRS Usage Tips


Firmware Release 5 supports full remote commanding of the TNC, has an expanded digipeating function to reduce congestion on UI networks, includes many additional commands and features to support the Automatic Position Reporting System (APRS) and other telemetry applications such as weather stations, etc.

The PicoPacket 2nd Serial Port and Internal GPS Models have firmware features that support some two port hardware. These commands are not available in some EPROM versions or may have a different function on single serial port models. All such commands are identified in this document with the symbol (2P).

The packet controllers which have the 8530 SCC as the HDLC chip have less EPROM space available for user features. This includes the TNC-220, TNC-320, PC-320, SPIRIT-2 with 32K RAM, and HandiPacket models. For these models, PacComm offers two EPROM selections: One with limited APRS features and the PacComm Personal Message System (PMS); and one with all the new APRS features but without PMS.

NOTE: The terms TNC and Packet Controller are used interchangeably in this document. The term APRS applies to both the DOS Automatic Packet Reporting System by Bob Bruninga, WB4APR, WINAPRS for Windows by Keith and Mark Sproul, and similar programs. Some examples of APRS frames are based on poor technique and are not recommended practice. However these examples show how the PacComm firmware solves problems often encountered in the real world.

Digipeating Callsign Substitution

The DIGIpeat command was previously a Y|N (YES/NO or ON/OFF) command. The new command format is DIGI n where n can take a value of 0 to 8.

0 DIGIpeat off (the old DIGI N)
1 DIGIpeat ON and DIGI-SWAP enabled
2 DIGIpeat ON and DIGI-OWN enabled
3 DIGIpeat ON and DIGI-NOT-OWN, DIGI-SWAP enabled
4 DIGIpeat ON and DIGI-ONCE enabled
5 DIGIpeat ON and DIGI-SWAP, DIGI-ONCE enabled
6 DIGIpeat ON and DIGI-NOT-OWN, DIGI-ONCE enabled
7 DIGIpeat ON and DIGI-SWAP, DIGI-NOT-OWN, DIGI-ONCE enabled(default)
8 DIGIpeat ON (the old DIGI ON with no new features)

Digipeating Callsign Substitution Features

Remote Commanding

A password protected remote commanding feature has been added to PacComm Firmware Release 4.0. This allows for the complete set-up and control of a TNC over the RF link.


The following commands are used to implement the Remote Commanding feature:






Enables or disables the remote commanding function in the remote TNC



This command enters the remote commanding callsign in the remote TNC



Sets the password in the remote TNC used in remote commanding operations

NOTE: The first two commands above must be initially set from the terminal attached to the TNC which is to be remotely commanded (Remote TNC). PASSED can be changed over the RF link or set from the Remote TNC's terminal. Once set, the PASSWD and REMOTE values can be changed remotely. If you remotely set REMOTE to OFF, and disconnect, then another remote connection may not be established.

All commands may be executed remotely with the following exceptions:

Setting and Using the Password

ThePASSWD command is used to set the password in the remote TNC. is a 31 character field which contains the password. This field can be cleared by entering the "%" character. If the PASSWD field is blank, then the TNC will function without any password protection. The default value of PASSWD is "PASSWORD". If this field is set over the RF link, the entire password must be sent and received in a single packet, up to 31 characters or numbers in length, followed by a . In other words, PACLEN must be greater than 32 for it to function properly.

When a connection is made to the remote TNC's RMTcall callsign, the TNC selects five random letters from the stored password, and sends the remote user five decimal numbers corresponding to the position of these letters within the stored password. The remote user must respond with the corresponding five letters to gain access to the TNC.

If the correct response to the password query is entered, the TNC will respond by sending the CMD: prompt. If the wrong password is entered, the TNC will disconnect.

The response string can contain leading and trailing camouflage characters, as long as the correct five letters are included somewhere in the string. The password search is case sensitive, so be sure to use the correct case.

Example: If you are using the default password of PASSWORD, the remote TNC may send a password query of: 01 08 05 06 02. The operator would enter: PDWOA to gain access to the TNC. The operator may also enter: oiJIPDWOAkjhNHCYfa and gain access.

The operator entered response string should not exceed 80 characters, and it must always be less than the MAXPAC length value set in the base TNC.

If no password is entered in the remote TNC, (PASSWD is clear), then any connect to the RMTcall will gain access to the TNC.

Other Firmware Features for APRS and UI Mode Communication

?APRS? Function - When the TNC receives a frame with the data field consisting of ?APRS?, it will immediately initiate transmission of the GPS capture buffers as would be done by the LOC command.

BRAnge command (beacon timer range) allows setting the beacon timer interval. This is the amount by which the beacon timer increments. For example, with BRAnge set to 2, B E 1 will cause a beacon to be transmitted each second. If BRA is set to 4, then B E 1 will trigger a beacon every 100 seconds. (See also LRANGE).

Arguments for BRAnge are listed below:

CONRPTcommand, when on, sends the GPS capture buffers (LTEXT, etc.) at the initiation of any connection to the PMS as well as the STEXT field (if not blank). It also sends the GPS capture buffers (LTEXT, etc.) along with CTEXT if CMSG is on when a connection occurs to MYCALL. This allows the CTEXT and STEXT fields to be used for a fixed text message.

The DISPlay command has a new display class of DISP G for GPS related parameters.

EBEacon Y|N Beacon echoing to the serial port. This allows monitoring of one's own transmitted beacons. Allowed arguments and their descriptions are listed below.

ELOC enables or disables echoing the content of LOCation beacons to the serial port. This allows monitoring of one's own location beacons. Allowed arguments and their descriptions are listed below.

FIXType establishes how the TNC determines if a good fix has been obtained for control of the FIX/AUX LED. Some options let the FIX/AUX LED be triggered by non-GPS data if desired. Allowed arguments and their descriptions are listed below.

The FIX LED (marked AUX on some models) operates according to the following state table:

Models with a Single-Color FIX LED


GPS is OFF and no fix has been received


GPS could be OFF or ON, but a good fix was received the last time power was on (for GPSSleep models)


GPS is ON and is searching for a good fix

Models with a Dual-Color (Red/Green)FIX LED


GPS is OFF and no fix has been received


GPS is OFF , but a good fix was received the last time power was on (for GPSSleep models)

YELLOW (Red and Green together)

GPS is ON and a good fix was received


GPS is ON and searching for a good fix

GPS Power SleepThis feature adds the controls to turn off the GPS receiver based on the commands GPSSleep and GPSLimit. Used properly, this command can reduce power consumption by over 90%.

The GPSSleep command sets the duration in seconds that the GPS will remain off after receiving a good fix. A value of zero (0) disables this function. (2P)(PicoPacket ONLY).

The GPSLimit sets the time limit in seconds that the GPS receiver's power will remain on in the event that no good fix is received. A value of zero (0) disables this command. If disabled, the power to the GPS receiver will stay on until a good fix is received if GPSSleep is active. If GPSSleep is set to zero (0) this command is similarly disabled. (2P) (PicoPacket ONLY).

GPSITEXT is a user determined configuration string set to the GPS when the TNC is powered on.

GPS ON|exit character. This command enables the GPS parser on the primary serial port. On dual serial port models this command causes the primary and secondary ports to be set for the GPS parser. Note that there is no GPS OFF command. Once GPS is ON, the GPSExit character must be used to get out of the GPS mode.

GPSExit This command sets the character which causes the TNC to exit from the GPS mode. Defaults to "\".

GPSTEXT, LG1TEXT, LG2TEXT, LG3TEXT parameters specify the NMEA GPS sentences (or other text strings) to be parsed by the GPS parser. User defined to any value, even non-GPS strings for weather station support (maximum of 80 characters). The GPS parser places the GPS string specified in GPSTEXT into LTEXT, thus saving BTEXT for normal beacons. Similarly L1TEXT is stored in the LG1TEXT buffer, L2TEXT in LG2TEXT,etc.

LGETchar sets the value of the "hot key" character used to dump GPS capture buffers to the serial port on dual serial port models. LGETchar will always send the data in the LTEXT, L1text, L2text, and L3text fields to the terminal port. If the ELOC value is set to 2, then it will also cause the contents of these buffers to be transmitted.(2P)(PicoPacket ONLY).

The LOCation command controls a beaconing facility tied to the GPS capture buffers. The command takes arguments just like the BEACON command, e.g. LOC E 2 or LOC A 5. When LOC is enabled, it transmits any non-blank GPS capture buffer (LTEXT, L1TEXT, L2TEXT, L3TEXT).

LPATH (Location Beacon Path) is analogous to UNPROTO - the path by which location beacons will be sent. [Beacons go out via UNPROTO, Locations go out via LPATH].

TheLRAnge command (Location Timer Range) allows setting the location timing interval.

Arguments for LRAnge are listed below:

Thus with LRA set to 2, LOC E 1 will cause a beacon to be transmitted each second.

LTEXT is a location capture buffer analogous to BTEXT. The GPS parser places the GPS string specified in GPSTEXT into LTEXT, thus saving BTEXT for normal beacons. Similarly LG1TEXT is stored in L1TEXT capture buffer, LG2TEXT in L2TEXT, etc.

MYA is the primary alias callsign for digipeating.

MY1A is an additional alias callsign for digipeating.

MY2A is an additional alias callsign for digipeating.

MY3A is an additional alias callsign for digipeating.

The MONitor command was previously a Y|N (YES/NO or ON/OFF) command. The new command format is MON n where n can take a value of 0 to 3.

0 Monitoring disabled. (commercial default)
1 Monitors all UI frames, but not connected frames. Frames which are part of a connection involving this controller are not affected.
2 Monitors all types of data frames but outputs no non-printable ASCII characters (above hex 7F/decimal 127).
3 (equivalent to ON in previous firmware releases) monitors all received frames. (amateur default)


The QRA function is an additional capability available in firmware release 5.0. When a UI frame is received addressed to QRA-0, the TNC will respond after a random length of time (up to 2 minutes) with an ID frame. The QRA function works with the HID command. If HID is OFF (which is the default), QRA will never send an ID.

The RTCM function (2P)(PicoPacket ONLY) supports Real Time Differential Correction via an RF link. If a UI frame is received addressed to RTCM, the data contents of that frame are output to the GPS receiver port. All other frames are output to the terminal port. No formatting or terminal commands affect the RTCM data.

RTCsync is a Y|N command which enables synchronizing the TNC clock to GPS received time. The clock is updated to GPS time once per minute if GPSSleep is OFF, and on every fix is GPSSleep is enabled. RTCsync will get it's time from any $GPGGA sentence, and it is not necessary for any of the GPS capture buffers to be scanning the GGA sentence. Of course, the GPS receiver must output the GGA sentence.

TDMA Function

The TDMA function provides a time slotted location beaconing system which effectively eliminates the hidden transmitter problem. It works with the LOC and Beacon commands to allow beaconed text or location reports (or any strings parsed by the capture function) to be transmitted either once per minute or once per hour. In addition, short duration transmissions (such as those at 9600 bps or compressed data at lower rates) may use sub-second slotting. In the maximum configuration of ten subslots per second, 60 seconds per minute, and using one location beacon per hour, you can accommodate reporting from up to 36,000 stations.Such time sensitive transmissions are made possible by reference to the GPS time (see RTCSync command).

Location Slotting

These commands work with the capture buffers (LTEXT, L1TEXT, L2TEXT, and L3TEXT).

Beacon Slotting

The following slots enable TDMA transmissions using the BTEXT data field. This does not work the same as Location Slotting. It is intended for applications when an intelligent device wishes to load a data string into the TNC for transmission in a precise time slot. It can also be used for periodic transmission of fixed text as has been done in the past with beacons.

UIBEACON is a Y|N command. When UIBeacon is ON, and a UI frame is received addressed to MYCALL, the BTEXT will be sent immediately and the beacon timer (if enabled) will be reset to the full beacon period.

UILOC is a Y|N command. When UILocation is received addressed to MYCALL, the GPS capture buffers (LTEXT, etc.) will be sent immediately and the Location timer (if enabled) will be reset to the full location period. Note that UIBeacon and UILocation must both be enabled. In effect, UIL ON converts UIB to operate on the GPS capture buffers and timer instead of the beacon text buffer and timer. Thus it is not possible to have both a beacon and a location triggered by a UI frame.

UIMODE puts the TNC directly into CONMODE upon power-up. In other words, the TNC will not come up with a CMD: prompt if UIMODE is ON, but will instead be in either CONVERse or TRANSparent mode as specified by CONMODE. Thus the TNC will be ready to send UI frames generated by APRS or a telemetry source without any operator intervention or additional setup.

Request for Information

Take me back to PacComm homepage

Any questions regarding this page should go to
Last updated 8/24/99