UIDIGI

                           Version 1.6 TNC2

                 Copyright 2000 Marco Savegnago IW3FQG

What is UIDIGI?
--------------

UIDIGI is a firmware written for user TNC2 or clone as a APRS packet digipeater 
with advanced functions. (APRS is a register trademark of Bob Bruninga WB4APR)



Why UIDIGI?
-----------

Because, even if you can use a standard firmware to set up a digipeater, UIDIGI
introduces some features that make it more efficient in a complex APRS network.

The characteristics of UIDIGI
----------------------------

The firmware can be mounted on a TNC2 or 100% compatible Clone with clock
of the CPU to 2.4576Mhz, 4.9152Mhz 9,8304Mhz and 32K of RAM.
               
- Support AX.25 release 1 and 2.

- Full control of AX.25 link layer parameters (Timers, SlotTime, Persistence).

- Support the digipeating of UI AX.25 frame addressed to the digipeater callsign 
  or alias.

- Support the digipeating of UI AX.25 frame addressed to the generic APRS callsign 
  RELAY, WIDE, TRACE.

- Support the digipeating of UI AX.25 frame addressed to the advanced APRS WIDEn-n and 
  TRACEn-n destination callsign.

- Support the UIFLOOD function (ignore duplicated frame sent in a defined interval).

- Remote management protected by password.

- Digipeater heard station list.

- User definable Beacon.

- Reply to the APRS query.


The release of UIDIGI
---------------------

If in the program version appears the label ALPHA, BETA this mean that the
version is not considered stable.

Why still use a TNC2?
---------------------

- Because everybody can found it (also as used part).
- Because is best than a computer if mounted in cop to a mountain!


How to use UIDIGI
-----------------

UIDIGI EPROM image is distributed in binary form.
You must configure it before make the eprom, changing the configuration
settings in the UIDGCFG.TXT and then using the UIDGCFG program to make the
change in the binary image.
After this steps you can make the eprom.


Handling of the UI FRAME
------------------------
The digipeater is capable to repeat only the AX.25 of UI type (this to avoid
that the  digipeater can be used as a normal AX.25 digipeater) addressed to
the callsign, the alias, to the generic addresses (RELAY WIDE or TRACE) or to
special APRS address WIDEn-n TRACE n-n.


Case 1:
        A frame like this:
        IW3FQG>APRS v RELAY, WIDE

        will be repeated from the first digi:
        IW3FQG>APRS v RELAY*, WIDE

        and then the second make the call substitution:
        IW3FQG>APRS v RELAY, DIGI*


Case 2:
        A frame like this:
        IW3FQG>APRS v RELAY,WIDE1-1

        will be repeated from the first digi:
        IW3FQG>APRS v RELAY*, WIDE1-1

        and then from the second digi:
        IW3FQG>APRS v RELAY*, WIDE1-0

        then the third make the call substitution:
        IW3FQG>APRS v RELAY, WIDE1-0*

Case 3:
        A frame like this:
        IW3FQG>APRS v RELAY,TRACE1-1

        will be repeated from the first digi:
        IW3FQG>APRS v RELAY*, TRACE1-1

        and then from the second digi:
        IW3FQG>APRS v RELAY, DIGI1*, TRACE1-0

        and then from the third digi:
        IW3FQG>APRS v RELAY, DIGI1, DIGI2*


The Sysop interface of UIDIGI
-----------------------------

The sysop can connect directly the digipeater from the radio port or via the
serial port.
In the first case the sysop must send the password using the SYSOP command
(using the standard NETROM algorithm).

The commands available to the SYSOP are the following:

CONNECT [ callsign]
- Connect  to another digipeater or user

INFO
- Show the runtime information of the digipeater

PARMS [ number][ value]
- Allows to change the parameter of the digipeater

The available parameters are:
    1 Txdelay (1~255)
    2 Persistence (1~255)
    3 Slottime (1~255)
    4 Frack (1~15)
    5 Maxframe (1~7)
    6 Retries (0~127)
    7 Timer 2 (0~6000)
    8 Timer 3 (0~65535)
    9 Digipeater Enable (0~255)

    /* 0 = No digi
    /* bit 1 = Digipeated On AND RELAY          */
    /* bit 2 = Digipeated On AND WIDE           */
    /* bit 3 = Digipeaten On AND TRACE          */
    /* bit 4 = Digipeaten On AND WIDEn-n        */
    /* bit 5 = Digipeaten On AND TRACEn-n       */

    10 Digipeater Mode (0~255)

    /* APRS digipeater mode bit mask            */
    /* 00 = Use standard mode digipeating       */
    /* 01 = Use call substituition              */
    /* 10 = Use WIDEn-n algorithm               */
    /* 11 = Use TRACEn-n algorithm              */

    11 Beacon Enable (0~1)
    12 Beacon Interval (0~65535)
    13 UI Flood seconds (0~180)
    14 Reply to APRS query (0~1)

RESET
- Force a warm reset of the digipeater

SYSOP
- Start the sysop authentication procedure of the digipeater

TEST
- Enable the testmode function of the digipeater

USERS
- Show the users connected to the digipeater

HIGH[ 0| 1]
- Force HIGH LED (CONNECT 0 or STATUS 1) of the TNC2

LOW[ 0| 1]
- Force OFF the LED (CONNECT 0 or STATUS 1) of the TNC2

K [hh]: [mm]: [ss]
- Setup the digipeater clock

MHEARD
- Show the stations listen from the digipeater


The configuration of UIDIGI
---------------------------
The UIDGCFG program must be used to change the values of the default parameter
stored in the in the image of the EPROM. To change the parameter first you need
to the UIDGCFG.TXT with a simple text editor.
Then you must process it with the UIDGCFG.EXE program that store the
configuration in the destination binary image.

Proceed as follow.

In the file of distribution there is the following files:
UIDIGI.BIN
UIDGCFG.TXT
UIDGCFG.EXE

Copy these 3 lines in any directory of your computer disk.
Rename the UIDIGI.BIN and UIDGCFG.TXT with the name of the digipeater that you
are setting up (e.g.: IW3FQG).

Now the files have the names:

IW3FQG.BIN
IW3FQG.TXT
UIDGCFG.EXE

With a text editor changed line of the IW3FQG.TXT line following the indication 
written in the file.

You compile the file with the command:

UIDGCFG IW3FQG.BIN IW3FQG.TXT

If there are not problems the program don't give warning, if there is
problems it show it.

Now you can program the eprom with the binary image stored in the IW3FQG.BIN.

Mount the eprom in the TNC2 and turn it on.

If everything is ok, the digipeater emit a beacon.

Try it.


The UIDIGI author
---------------

This text is not written with the intent of furnish a manual detailed for the
minus experienced users. 
The program comes furnished without no warranty and the author can decide
to alter it any time or drop the free distribution in each moment.
If anybody finds any error or has any good idea or hint (not personal
adaptations pse!) can send to me a letter or WRITTEN message, NOT to words
(radio, telephone, intercom.).

My address is:

        Marco Savegnago
        Stradella Ospedale 87
        36100 Vicenza
        Italy

In Packet-Radio:

        IW3FQG@I3KUH.IVEN.ITA.EU

In Internet:

	msave@tin.it

Legal trademark
---------------
APRS is a register trademark of Bob Bruninga WB4APR


Copyright of UIDIGI
-------------------

The UIDIGI program and his components are freely copyable and dispensable in
any form only for amateur radio purposes and from which however could not draw
aside profit.
Is also forbidden to use the program for demonstration in commercial private
and public business, institutional, towns, regional, statal and governments.
Any type of commercial exploitation not expressly authorized from the author is
to consider forbidden!
No responsibility is attributable to the author if the program during its
execution procures blocks that could cause the loss of data or malfunctions
of the computer.

Copyright (c) 2000 Savegnago Marco. All right reserved.


Fonts and bibliographic references
---------------------------------

-       Implementation of AX25 in the NOS program of KA9Q

-       Implementation of AX25 of the TheFirmware program of the group German
        NORTH><LINK

-       Tanenbaum, Andrew S., "Networks Computer" pp.  288-292.
        Prentice-Hall 1981.

-       X.25 MADE EASY Nicolas M.Thrope, Derek Ross
        Prentice-Hall 1992.