-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathLiquidCAN.tex
More file actions
153 lines (116 loc) · 3.48 KB
/
LiquidCAN.tex
File metadata and controls
153 lines (116 loc) · 3.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
\documentclass[11pt,a4paper]{article}
\usepackage[margin=20mm,a4paper]{geometry}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{microtype}
\usepackage{booktabs}
\usepackage{array}
\usepackage{tabularx}
\usepackage{longtable}
\usepackage{hyperref}
\usepackage{caption}
\usepackage{float}
\usepackage{tikz}
\usetikzlibrary{calc, shapes.geometric, arrows.meta, positioning, fit}
\usepackage{listings}
\usepackage{xcolor}
\usepackage{bytefield}
\usepackage{pdflscape}
\usepackage{fancyhdr}
\hypersetup{
colorlinks=true,
linkcolor=blue,
urlcolor=blue,
pdftitle={CAN Protocol Documentation Template},
pdfauthor={},
}
% Listings for C code
\lstset{
language=C,
basicstyle=\ttfamily\small,
keywordstyle=\color{blue}\bfseries,
commentstyle=\color{gray}\itshape,
stringstyle=\color{red},
showstringspaces=false,
tabsize=2,
breaklines=true,
numbers=left,
numberstyle=\tiny,
frame=single,
captionpos=b
}
% Define landscape page style
\fancypagestyle{landscape}{%
\fancyhf{} % clear all header and footer fields
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
% Add rotated page number
\fancyfoot[C]{%
\begin{tikzpicture}[remember picture, overlay]
\node[rotate=90, anchor=south] at (current page.east) [xshift=-1cm, yshift=1cm] {\thepage};
\end{tikzpicture}%
}
}
\newcommand{\todo}[1]{\textcolor{red}{\textbf{TODO:} #1}}
\title{LiquidCan Protocol Documentation}
\author{SpaceTeam}
\date{\today}
\begin{document}
% Header/Cover Page
\thispagestyle{empty}
\begin{center}
\vspace*{2cm}
{\Huge \textbf{LiquidCan Protocol Documentation}}
\vspace{1cm}
\vspace{0.5cm}
{\large for Distributed Embedded Systems\\ at the TU Wien Space Team}
\begin{figure}[H]
\centering
\includegraphics[scale=0.35]{images/SpaceTeamLogo.png}
\end{figure}
\vspace{7cm}
{\large TU Wien Space Team}
\vspace{1cm}
{\large Version 1.6}
\vspace{0.5cm}
{\large \today}
\vfill
\end{center}
\clearpage
% Version History Table
\section*{Version History}
\begin{center}
\begin{longtable}{c l p{8cm} l}
\toprule
\textbf{Version} & \textbf{Date} & \textbf{Changes} & \textbf{Author} \\
\midrule
0.1 & 2025-12-16 & Initial protocol specification proposal & Raffael Rott \\
0.2 & 2025-12-16 & Implemented Proposals from Team members & Raffael Rott \\
0.3 & 2026-01-05 & Fixed final bugs before initial release & Raffael Rott \\
1.0 & 2026-01-11 & Fixed minor typos & Raffael Rott \\
1.1 & 2026-01-25 & Fixed total sizes of structs. & Fabian Weichselbaum \\
1.2 & 2026-02-09 & Fixed inconsistant field value lengths \& typos & Raffael Rott\\
1.3 & 2026-02-28 & Added a status field to field access responses& Raffael Rott\\
1.4 & 2026-03-05 & Variable-length frame serialization; updated payload sizes & Michael Debertol\\
1.5 & 2026-03-21 & Defined reserved Node IDs & Michael Debertol\\
1.6 & 2026-03-28 & TelemetryGroup assignment \& Heartbeat initialization & Raffael Rott \\
% Make sure to change the version on the first page
\bottomrule
\end{longtable}
\end{center}
\clearpage
\tableofcontents
\clearpage
% Include all sections from external files
\input{sections/01_introduction}
\input{sections/02_can_id_scheme}
\input{sections/03_frame_layout}
\input{sections/04_node_registration}
\input{sections/05_field_management}
\input{sections/06_heartbeats}
\input{sections/07_status_messages}
\input{sections/08_message_types}
\input{sections/09_data_structures}
\input{sections/10_versioning}
\end{document}