summaryrefslogtreecommitdiffstats
path: root/Dokument/Teknisk Dokumentation/text/04-events.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Dokument/Teknisk Dokumentation/text/04-events.tex')
-rw-r--r--Dokument/Teknisk Dokumentation/text/04-events.tex24
1 files changed, 24 insertions, 0 deletions
diff --git a/Dokument/Teknisk Dokumentation/text/04-events.tex b/Dokument/Teknisk Dokumentation/text/04-events.tex
new file mode 100644
index 0000000..e302ae3
--- /dev/null
+++ b/Dokument/Teknisk Dokumentation/text/04-events.tex
@@ -0,0 +1,24 @@
+\subsection{Missade givare}
+\label{sec:missade givare}
+
+Programmet gör redan en uppskattning av bilens position (\texttt{get\_position()})
+ och justerar denna vid ny givare, se \ref{sec:system:korning:position}.
+Eftersom \texttt{get\_new\_v()} utgår ifrån denna uppskattning, behövs ingen
+anpassning göras ifall en givare inte ger utslag. Däremot måste det
+kompenseras nästa gång en givare detekteras. Detta görs med funktionen
+\texttt{choose\_position()}.
+
+Vid varje givare kontrollerar \texttt{choose\_position()} vilken givare
+\texttt{car.position} ligger närmast genom att jämföra den \emph{beräknade} positionen med de kända positionerna varje givare befinner sig på.
+Funktionen beräknar skillnaden i antalet givare mellan denna och den givare som
+valdes med givardetektionen. I normala fall är skillnaden 0 (ingen missad givare) eller 1 (om en
+givare missats), men systemet kan hantera att flera givare i rad missas.
+(Systemet kan inte hantera en givare som skickar dubbla signaler). Om
+\texttt{choose\_position()} bedömer att en givare missats flyttas
+\texttt{car.segment} till den givare som matchar.
+
+Den insamlade datan behöver justeras när en eller flera givare har missats. Om
+datan inte justeras kommer \texttt{car.seg\_times} spara tiden för flera segment
+som om det vore ett enda. För att undvika detta sätts både den nuvarande och den
+förra segmentstiden till 0. Om en annan del av systemet vill räkna på
+segmentstiderna ansvarar den själv för att hoppa över segmentstider som är noll.