summaryrefslogtreecommitdiff
path: root/doc/documentation.tex
blob: f7c0feed90dc0c9ec2c345152ca540a42aa2b8e2 (plain)
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
\documentclass{report}
\author{xengineering}
\title{soundbox documentation}

\usepackage{graphicx}
\graphicspath{ {./diagrams/} }
\usepackage{hyperref}

\setlength\parindent{0pt}

\begin{document}

\maketitle
\newpage

\tableofcontents
\newpage

\listoffigures
\newpage

\chapter{Introduction}

\texttt{soundbox} is a device to connect classic audio systems to the network.

\section{Versioning}

This device is versioned with Semantic
Versioning\footnote{\href{https://semver.org}{https://semver.org}}. The
resulting version numbers have the format \texttt{<major>.<minor>.<patch>} like
e.g. \texttt{2.0.3}. While Semantic Versioning is usually targeted at software
only it is here used for the whole device. This includes mechanical, electronic
and software aspects as shown in figure \ref{diagram:device-semver}.

\begin{figure}[h]
	\centering
	\includegraphics[width=\textwidth]{device-semver.pdf}
	\caption{API for a device versioned with Semantic Versioning}
	\label{diagram:device-semver}
\end{figure}

This versioning makes sure that users do not have to care about the device
internals at all. Devices can be seen as atomic from a user's perspective. This
level of granularity is choosen because users are not expected to disassemble
devices or to care about the software internals.

%\section{Licensing}

%\chapter{User guide}
%\section{Device setup}
%\section{Playing audio}

%\chapter{Production}
%\section{Printing mechanical parts}
%\section{Install operating system to SD card}
%\section{Final assembly}

%\chapter{Device internals}
%\section{Mechanical design}
%\section{Electronics}
%\section{Operating system}
%\section{Software}

\end{document}