Skip to content
Snippets Groups Projects
repeater.tex 3.7 KiB
Newer Older

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.}

Each repeater whisker represents a single repeater.

\subsubsection{Structure}

{\def\arraystretch{1.3}
\begin{tabular}{|l|l|l|l|}
  \hline
  \textbf{Byte offset} & \textbf{Length} & \textbf{Value} & \textbf{Description} \\
  \hline
  0 & 1 & 0x08 & Whisker type \\
  \hline
  1 & 1 & $N$ & Whisker length in bytes \\
  \hline
  2 & 4 & & Uplink frequency (unsigned integer, Hz) \\
  \hline
  6 & 4 & & Downlink frequency (unsigned integer, Hz) \\
  \hline
  10 & 1 & & Modulation type (See simplex whisker) \\
  \hline
  11 & 3 & & Tone information (See tones below) \\
  \hline
  14 & 1 & & Power (unsigned integer, ${4 \over{\text{dBm}}} x$, 255 = unknown) \\
  \hline
  15 & 2 & & Latitude (signed integer, ${2^{15} \over 90 \degree}x$) \\
  \hline
  17 & 2 & & Longitude (signed integer, ${2^{15} \over 180 \degree}x$) \\
  \hline
  19 & $N - 17$ & & Repeater name (UTF-8) \\
  \hline
\end{tabular}
}

\subsubsection{Tones}

Uplink and downlink tones are encoded in 3 bytes. CTCSS and DCS are both supported. The uplink tone is encoded in the 12 MSBs and the downlink tone is encoded in the 12 LSBs. \newline

\noindent
\begin{tabular}{|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|}
  \hline
  MSB &&&&&&&&&&&&&&&&&&&&&&& LSB \\
  \hline
  23 & 22 & 21 & 20 & 19 & 18 & 17 & 16 & 15 & 14 & 13 & 12 & 11 & 10 & 9 & 8 & 7 & 6 & 5 & 4 & 3 & 2 & 1 & 0 \\
  \hline
  $U_e$ & $U_p$ & \multicolumn{10}{|c|}{$U_v$} & $D_e$ & $D_p$ & \multicolumn{10}{|c|}{$D_v$} \\
  \hline
\end{tabular} \\
\newline \noindent
Where:

\begin{itemize}
\item $U_e$ and $D_e$ represent the encoding type (0 for CTCSS, 1 for DCS)
\item $U_p$ and $D_p$ represent the DCS tone polarity
  \begin{itemize}
  \item If the type is CTCSS, this value is unused and must be set to 0
  \item If the type is DCS, then
    \begin{itemize}
    \item If the polarity is normal, this value is set to 0
    \item If the polarity is reversed, this value is set to 1
    \end{itemize}
  \end{itemize}
\item $U_v$ and $D_v$ represent the tone value
  \begin{itemize}
  \item If the type is CTCSS, the value is an unsigned integer from the CTCSS table (see below)
  \item If the type is DCS, the value is the DCS code, encoded as an unsigned integer
  \item To encode no tone, set the type to CTCSS (0) and set the value to 0
  \end{itemize}
\end{itemize}

\subsubsection{CTCSS Table}

\begin{tabular}{|l|l|l|l|l|l|l|l|}
  \hline
  \textbf{Tone ID} & \textbf{PL tone (Hz)} & & \textbf{Tone ID} & \textbf{PL tone (Hz)} & & \textbf{Tone ID} & \textbf{PL tone (Hz)} \\
  \hline
  0 & [No tone] & & & & & & \\
  \hline
  1 & 67.0 & & 15 & 107.2 & & 29 & 173.8 \\
  \hline
  2 & 69.3 & & 16 & 110.9 & & 30 & 179.9 \\
  \hline
  3 & 71.9 & & 17 & 114.8 & & 31 & 186.2 \\
  \hline
  4 & 74.4 & & 18 & 118.8 & & 32 & 192.8 \\
  \hline
  5 & 77.0 & & 19 & 123.0 & & 33 & 203.5 \\
  \hline
  6 & 79.7 & & 20 & 127.3 & & 34 & 206.5 \\
  \hline
  7 & 82.5 & & 21 & 131.8 & & 35 & 210.7 \\
  \hline
  8 & 85.4 & & 22 & 136.5 & & 36 & 218.1 \\
  \hline
  9 & 88.5 & & 23 & 141.3 & & 37 & 225.7 \\
  \hline
  10 & 91.5 & & 24 & 146.2 & & 38 & 229.1 \\
  \hline
  11 & 94.8 & & 25 & 151.4 & & 39 & 233.6 \\
  \hline
  12 & 97.4 & & 26 & 156.7 & & 40 & 241.8 \\
  \hline
  13 & 100.0 & & 27 & 162.2 & & 41 & 250.3 \\
  \hline
  14 & 103.5 & & 28 & 167.9 & & 42 & 254.1 \\
  \hline
\end{tabular}