From e2a526c549194e5b36ed7dd3617c5fb5fbbc0f43 Mon Sep 17 00:00:00 2001 From: minima Date: Tue, 21 Aug 2001 20:49:11 +0000 Subject: [PATCH] add new protocol document --- html/newprot.html | 173 ++++++++++++++++++++++++++++++++++++++++++++++ html/style.css | 6 +- 2 files changed, 177 insertions(+), 2 deletions(-) create mode 100644 html/newprot.html diff --git a/html/newprot.html b/html/newprot.html new file mode 100644 index 00000000..2b8c689a --- /dev/null +++ b/html/newprot.html @@ -0,0 +1,173 @@ + + + + + DXSpider Protocol + + + + + + + +
+ +

DXSpider Protocol

+
+
+ Dirk Koopman G1TLH +
+ + + +

Introduction

+ +


+For some time now it has become obvious that the original AK1A protocol has +become stretched to beyond breaking point. Some attempts have been made to +extend it, but none have done what is actually required: which is to throw it +away completely and start from scratch.

+ +

This is an attempt at starting again.

+ +

Design Criteria

+ + +

Definitions

+
+
<callsign>
+
A callsign can contain the characters [0-9A-Z\-/]. It is always in + upper case.
+
<nodecall>
+
A callsign of a node. It can contain the same characters as a + <callsign>
+
<origin>
+
The callsign of the originating node, it is a <nodecall>.
+
<destination>
+
The callsign of the destination node, this could be a + <nodecall> or empty (which implies that this is a broadcast).
+
<touser>
+
The callsign of a user to which this sentence is directed. It is a + <callsign> or empty.
+
<fromuser>
+

The callsign of the user from which this sentence originally come + came from. It is a <callsign>.

+
+
<serial>
+
The serial number of this sentence. It is a number between 0 and + 9999.
+
<time>
+
A time in standard 'time_t' format, the number of seconds since 00:00 + 1st Jan 1970 (the 'epoch'), the output of the standard system 'time()' + subroutine call in both unix and MS-Dos/Windows.
+
<minutes>
+
The number of minutes since the epoch. This is actually <time> + / 60 with no remainder.
+
<flags>
+
A bit field containing various binary values.
+
<digit>
+
A character, representing a numeral, befween '0' and '9'.
+
<hex digit>
+
A character, representing a hexadecimal numeral (a value between + 0->15 [a nibble]), '0'->'9' and 'A'->'F'.
+
<field>
+
A part of a protocol sentence.
+
<freq>
+
A frequency, in kilohertz with an optional (single digit) decimal + part (ie both 14001 and 14325.1 are valid).
+
<text>
+
Some text in ISO-Latin-1 in both upper and lower case.
+
<cs>
+
A checksum of two <hex digits>
+
<cr>
+
A carriage return character (0x0d)
+
<lf>
+
A line feed character (0x0a)
+
+ +

+ +

The Protocol

+ +

+ +

Each protocol line is separate and distinct. This is a "datagram" style +protocol. Each protocol line is called a "sentence" and begins with the +string "DX" in upper case, followed by two digits. The sentence is terminated +by a <cr> or a <lf> character or both. Internally, the +terminating characters should be discarded completely and the sentence +processed without.

+ +

The character set used shall be ISO-Latin-1, with only the characters 0x20 +-> 0x7e permitted within a sentence. All other characters shall be "HTML +Escaped" which is that they shall be replaced by the three character scheme +of '%', <hex digit>, <hex digit>.

+ +

The sentence is split up into <fields> which are delimited by the +'|' character (0x7c). If the '|' character occurs within a <field> it +shall be replaced by the string '%7C'.

+ +

There is no intrinsic maximum length of a sentence. Having said that, +there will be some underlying maximum lengths implied by the transport +mechanisms employed. Because one of those transport mechanisms is likely to +be AX25 in UI mode. It is recommended that broadcast sentences shall be no +more than 200 bytes in length.

+ +

All sentences shall have a <checksum> in a separate <field> at +the end. The checksum is simply the sum, modulo 256, of all the characters of +the sentence except for the final <field> separator and the two <hex +digits> of the checksum itself. The purpose of the checksum is to check +that no intermediate node has changed the sentence. It is assumed that the +underlying transport mechanisms will deal with communications errors.

+ +

All sentences shall have an <origin>, a <destination> and a +<serial> number. The <destination> can be empty which implies +that this sentence is to be broadcast. The <serial> number is a global +number, which is used for all sentences originating at a node, that is +incremented modulo 10000, and is used to determine duplicate or out of date +sentences.

+ +

So the generic form of a sentence is:-

+ +

+ +
+ DX99|<origin>|<destination>|<serial>|...|<cs>
+ +

+ +

Some examples:-

+ +
+

DX01|GB7TLH||0|

+
+ +

+
+Copyright © 2001 by Dirk Koopman G1TLH. All Rights +Reserved +
+$Id: index.html,v 1.19 2001/04/17 20:44:11 g0vgs Exp +$ + diff --git a/html/style.css b/html/style.css index aaab5de0..3c080dcd 100644 --- a/html/style.css +++ b/html/style.css @@ -5,7 +5,9 @@ h1 { font-size: +130%} h2 { font-size: +120%} h3 { font-size: +110%} + hr { color: gray; } blockquote code { font-family: courier; color: gray; } code { color: blue; } - .copy { font-size: small; color: red } - .id { font-size: small } + .copy { font-size: small; color: red; } + .id { font-size: small; } + .code { color: blue; } -- 2.34.1