From c0616c2e752b2c786b89a3aa84d185b970ae042e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gustav=20S=C3=B6rn=C3=A4s?= <gusso230@student.liu.se>
Date: Sun, 1 Dec 2019 15:49:28 +0100
Subject: =?UTF-8?q?Gustavs=20=C3=A4ndringar?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 Dokument/Teknisk Dokumentation/text/04-events.tex | 61 ++++++++---------------
 1 file changed, 22 insertions(+), 39 deletions(-)

(limited to 'Dokument/Teknisk Dokumentation/text/04-events.tex')

diff --git a/Dokument/Teknisk Dokumentation/text/04-events.tex b/Dokument/Teknisk Dokumentation/text/04-events.tex
index e2395e8..9deab9a 100644
--- a/Dokument/Teknisk Dokumentation/text/04-events.tex	
+++ b/Dokument/Teknisk Dokumentation/text/04-events.tex	
@@ -1,42 +1,25 @@
-\section{Händelser}
+\section{Missade givare}
 
-\subsection{Avslutning av körning}
-
-För att avbryta programmet manuellt kan användaren när som helst trycka på s
-eller q på datorns tangentbord. Trycker användaren på q avslutas programmet
-direkt. Trycker användaren på s stoppas varje bil var för sig när de är 80~cm
-från målgivaren och programmet avslutas när båda bilarna står stilla.
-
-Om det har gått mer än nio sekunder sedan en givare passerades pausas programmet
-och användaren informeras på styrdatorn att en bil misstänkts ha fastnat eller
-åkt av banan. 
-
-Vid programslut visas statistik om varvtid och genomsnittlig segmenttid på
-displayen. Se figurer xx-xx.
-
-\subsection{Missade givare}
-
-Programmet gör redan en uppskattning av bilens position (\emph{get\_position})
+Programmet gör redan en uppskattning av bilens position (\texttt{get\_position()})
  och justerar denna vid ny givare (lägg till referens här).
-Eftersom \emph{get\_new\_v} utgår ifrån denna uppskattning, kommer ingen
+Eftersom \texttt{get\_new\_v()} utgår ifrån denna uppskattning, kommer ingen
 anpassning behöva 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 
-\emph{choose\_position}. Den funktionen jämför positionen beräknad av 
-\emph{get\_position} och positionen vald av nuvarande givare. 
-
-Vid varje givare kollar \emph{choose\_position} vilken givare som 
-\emph{get\_position} ligger närmast. Funktionen beräknar skillnaden mellan denna
-och den givare som valdes med givardetektionen. Denna kallas \emph{seg\_plus}.
-I normala fall är \emph{seg\_plus} = 0 (ingen 
-missad givare) eller 1 (en missad givare), men den kan också bli högre. Eftersom
-programmet inte ska behöva hantera för många givarsignaler ska \emph{seg\_plus}
-aldrig kunna bli lägre än 0. Om så ändå är fallet ändras denna till 0. \emph{seg\_plus} 
-retuneras av funktionen och används sedan för att höja \emph{car.segment} så att
-programmet har koll på var bilen är.
-
-Dessutom behöver den insamlade datan justeras när en eller flera givare har 
-missats. Annars kommer \emph{car.seg\_times} spara tiden för flera segment som 
-om det vore ett enda. Lösningen är att skriva över denna tid med 0. Alla 
-funktioner som använder denna data behöver kolla ifall den är noll eller inte, 
-om den är noll används den ifrån varvet innan i stället. Om den också är noll 
-används den från två varv tidigare osv.
+kompenseras nästa gång en givare detekteras. Detta görs med funktionen
+\texttt{choose\_position()}. Den funktionen jämför positionen beräknad av 
+\texttt{get\_position()} och positionen vald av nuvarande givare. 
+
+Vid varje givare kontrollerar \texttt{choose\_position()} vilken givare
+\texttt{car.position} ligger närmast genom att jämföra den nuvarande
+(uppskattade) 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 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.
-- 
cgit v1.2.1

