aboutsummaryrefslogtreecommitdiffstats
path: root/doc/report
diff options
context:
space:
mode:
Diffstat (limited to 'doc/report')
-rw-r--r--doc/report/deps.dot17
-rw-r--r--doc/report/report.tex9
2 files changed, 24 insertions, 2 deletions
diff --git a/doc/report/deps.dot b/doc/report/deps.dot
new file mode 100644
index 0000000..1f55dc4
--- /dev/null
+++ b/doc/report/deps.dot
@@ -0,0 +1,17 @@
+digraph deps {
+ main -> {system, types, eeprom, dac, can, signal, serial, table}
+ can -> {system, types, spi}
+ dac -> {system, types, spi}
+ eeprom -> {system, types, spi}
+ serial -> {types, eeprom, can, signal}
+ signal -> {types, can}
+ spi -> {system, types}
+ table -> {types, can, eeprom, signal, serial}
+
+ subgraph cluster_hal {
+ label="HAL"
+ style=dashed
+ rank=same
+ can; eeprom; dac;
+ }
+}
diff --git a/doc/report/report.tex b/doc/report/report.tex
index b209f48..927274e 100644
--- a/doc/report/report.tex
+++ b/doc/report/report.tex
@@ -348,9 +348,14 @@ The EEPROM stores several tables that are mappings from sensor-reading-values to
For example, one table maps engine speed (rpm) to tachometer pulse frequency.
The \texttt{table} module makes use of the \texttt{eeprom} HAL module and provides a simple interface to read and manipulate these mapping tables stored in the EEPROM.
-Dependencies between the modules are shown in Fig. \ref{fig:Dependencies}.
+Dependencies between the modules are shown in Fig. \ref{fig:Deps}.
-TODO: module dependency graph.
+\begin{figure}
+ \centering
+ \includegraphics[width=2.5in]{deps.png}
+ \caption{Firmware module dependency graph.}
+ \label{fig:Deps}
+\end{figure}
The \texttt{main} entrypoint of the firmware simply initializes the HAL and waits to receive an interrupt from the CAN controller or from a timer.
The ISR (interrupt service routine) handles the reception and decoding of CAN frames.