\documentclass{article}

\usepackage{swiftnav}

\usepackage{endnotes}

\usepackage{standalone}

\usepackage{register}
\usepackage{bytefield}
\usepackage{booktabs}
\usepackage{minibox}
\usepackage{float}
\usepackage{amsmath}
\usepackage{caption}

\setlength{\regWidth}{0.4\textwidth}

\floatstyle{plain}
\newfloat{field}{h}{fld}
\floatname{field}{Field}

\numberwithin{table}{subsection}
\numberwithin{field}{subsection}

\usepackage{draftwatermark}
\SetWatermarkLightness{0.9}
\SetWatermarkScale{1}

\renewcommand{\regLabelFamily}{}

% ---------------------------------------------------------------------------

\version{1.0}
\title{SwiftNav Binary Protocol}
\mysubtitle{Protocol Specification v\theversion}
\author{Swift Navigation}
\date{\today}

\begin{document}

\maketitle

\thispagestyle{firstpage}

\section{Message Types}
\label{sec:Messages}

Messages can be divided into two categories. The first are standardized SBP
messages which are the messages described in this document. The second category
is for messages which are spcific to a particular hardware platform and are
implementation defined. These messages are defined to have message types in the
range \texttt{0x0000} -- \texttt{0x00FF}.

((* block messages_table *))
((* endblock *))

% ---------------------------------------------------------------------------

((* for m in msgs *))
((* block message_desc scoped *))
((* endblock *))
((*- endfor *))

\end{document}
