From bd39f6be8469e908950365ebb98725615bddf803 Mon Sep 17 00:00:00 2001
From: Sam Anthony <sam@samanthony.xyz>
Date: Sat, 13 Dec 2025 16:37:31 -0500
Subject: report: firmware module dependency graph

---
 doc/report/report.tex | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

(limited to 'doc/report/report.tex')

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.
-- 
cgit v1.2.3

