Skip to content
Snippets Groups Projects
Commit 821c8e31 authored by Stephen D's avatar Stephen D
Browse files

Merge branch 'whisker-id-headers' into 'master'

Whisker Types in Sections

See merge request !7
parents b1b9da38 d5859a5d
No related branches found
No related tags found
1 merge request!7Whisker Types in Sections
Pipeline #7241 passed
\subsection{Arbitrary}
\subsection{Arbitrary (0x06)}
The arbitrary whisker is a special type of whisker. Its content is intentionally not understood by the CATS standard. Instead, any content can be encoded. Most stations will ignore this content. This is also useful if the same packet is to be sent multiple times. To prevent de-duplication by receiving nodes, a different arbitrary whisker can be affixed to each one. \textbf{A valid CATS packet may contain zero or more arbitrary whiskers.}
......
\subsection{Comment}
\subsection{Comment (0x03)}
The comment whisker specifies a textual comment on the CATS packet. The content is an arbitrary byte string. \textbf{A valid CATS packet may contain zero or more comment whiskers.} In this case, their content should be concatenated together. This allows for comments longer than 255 bytes. After concatenation, the result must be valid UTF-8. Note that an individual comment whisker may or may not be valid UTF-8.
......
\subsection{Destination}
\subsection{Destination (0x05)}
CATS packets can optionally have one or more destinations. This can be useful for e.g. sending a message to another amateur radio operator, or for communicating with a service. The destination consists of a UTF-8 callsign and an SSID byte. \textbf{A valid CATS packet may contain zero or more destination whiskers.}
......
\subsection{GPS}
\subsection{GPS (0x02)}
The GPS whisker is used to encode latitude, longitude, altitude, precision, heading, and speed. The latitude, longitude, and altitude define a precise point in 3D space. An error is specified in meters. This defines a sphere in space, of which the actual location is somewhere inside. If the latitude, longitude, and altitude are precise, the error should be 0. \textbf{A valid CATS packet contains a maximum of one GPS whisker.}
......
\subsection{Identification}
\subsection{Identification (0x00)}
As an example of CATS' extreme flexibility, even the packet's identification exists in a whisker. When using CATS as intended, this whisker will likely always be included. There are some situations where it may not be, however. For example, to save data it could be omitted in some packets, as long as it is included often enough for legal station identification. It could also be omitted if CATS is being used outside of amateur frequencies. \textbf{A valid CATS packet contains a maximum of one identification whisker.}
......
\subsection{NodeInfo}
\subsection{NodeInfo (0x09)}
A CATS station may want to communicate information about itself. This may be relatively immutable information, such as the hardware revision of the station. It may also include variable information, such as the station's uptime. The NodeInfo whisker provides a range of variables which the station can choose to populate. The NodeInfo uses a bitmap to select which variables are used. This increases efficiency, as unused variables do not need to be transmitted. \textbf{A valid CATS packet contains a maximum of one NodeInfo whisker.}
......
\subsection{Repeater}
\subsection{Repeater (0x08)}
A CATS station may want to articulate repeater information. For instance, a user may want to transmit the repeaters they are monitoring, or a ham radio club may wish to transmit a list of repeaters for their local area. Hypothetically, a CATS-compliant radio could listen to these repeater whiskers and automatically program them into its own memory. \textbf{A valid CATS packet may contain zero or more repeater whiskers.}
......
\subsection{Route}
\subsection{Route (0x04)}
The route of a CATS packet is an ordered list of stations which have digipeated the packet. Each station consists of a callsign of arbitrary length, as well as a 1-byte SSID. The callsign must be valid UTF-8. This is identical to what is allowed in an identification whisker. \textbf{A valid CATS packet contains a maximum of one route whisker.}
......
\subsection{Simplex}
\subsection{Simplex (0x07)}
A CATS station may want to articulate a frequency for voice purposes. This would usually be for transmitting what frequencies the station is monitoring. Each simplex whisker represents a single frequency. \textbf{A valid CATS packet may contain zero or more simplex whiskers.}
......
\subsection{Timestamp}
\subsection{Timestamp (0x01)}
The timestamp whisker is used to mark the time that a CATS packet occurred at. It is encoded in the Unix timestamp --- that is, seconds since January 1, 1970, in the UTC timezone.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment