%============================================%
%      Kap: Metod                            %
%============================================%
\chapter{Metod}
Arbetet har utförts i en dedikerad labbsal på Chalmers, vilket gjort det lätt för handledare att mötas upp och diskutera projektets fortsatta utveckling. 

I början av projektet så lades stor tid på att försöka planera, läsa på och förstå ämnet. Det lades även tid på att lära sig programspråket Python, något som ingen av projektets medlemmar var särskilt bekant med sedan tidigare. Till en mindre grad lades även tid på att lära sig CAD-programmet KiCad, för att kunna skapa ett mönsterkortprototyp. 

Efter att ha fått en viss bekantskap med ämnet, startade arbetet en process av idéer och beslut gällande olika aspekter av den färdiga produkten. Beslut fattades om saker som vilken hårdvara och mjukvara som skulle användas, hur GUI:t skulle se ut och vilka funktionaliteter som programmet skulle ha och i vilken ordning de skulle implementeras. 

%============================================%
%      Sub: Agila Metoder                    %
%============================================%
\section{Agila metoder}
Agila metoder är ett speciellt arbetssätt vilket främjar utveckling och förbättring i olika ändamål. Detta tillämpas då det sker regelbundna möten med både medlemmar i arbetsgruppen, samt produktägare, för att få en kontinuerlig ström av feedback och information som används för att den tidigare nämnda utvecklingen ska fortskrida på ett bra sätt och inte stagnera. 

Dessa regelbundna mötet har skett med handledare, för att diskutera utvecklingen just då, samt bestämma ett lämpligt nästa steg. I många fall så har dessa tillfällen använts för att diskutera de aktuella problemen, då det var främst de som stod i vägen för en fortskrida utveckling. 

%Med hjälp av dessa möten så fanns det en konstant loop av feedback från både handläggare, andra medlemmar och eventuell projektägare. 

%Med hjälp av detta arbetssätt så kunde vi snabbt få feedback från handläggare om en åsikt på vad som arbetades med för tillfället.

%============================================%
%      Sub: Github                           %
%============================================%
\section{Git och GitHub}
Projektets versionshantering har skett med programmet {\tt git} med GitHub som hostingplatform\footnote{GitHub är, enkelt sammanfattat, en central server som distribuerade användare jobbar emot genom Git.}. Att versionshantera innebär att man har en metodik kring hur man håller reda på förändringar i ett system eller i kod. Detta utförs vanligen genom att man har en huvudstam med den aktuella koden, och utvecklingsgrenar. Dessa grenar skapas från stammen när man vill utveckla nya funktionaliteter, och när den specifika funktionen anses klar så sammanfogar man den grenen med den fungerande koden. På detta sätt så har man en centralt fungerande kod, samtidigt som flera olika utvecklare kan sitta i separata utvecklingsgrenar, beroende på mål eller funktion. Det kan också användas som backup om något skulle gå snett vid en integrering av en gren, då man lätt kan backa tillbaka till den versionen av koden som fungerade innan man försökte sammanfoga grenen med stammen, eller ännu längre bak i utvecklingen om man så vill det.

Där finns \textit{Master} branchen, samt de olika utvecklingsfokuserade brancher som använts under utveckling. Med hjälp av Github så kan man se hur utvecklingen gått framåt, vilka delar som utvecklats när och i vilken ordning. Det finns en fullständig versionshantering av projektet, vars versioner uppdaterats när något mindre mål uppnåtts. Vid standardinställningar är kommentarer obligatoriska vid varje uppdatering av koden vilket uppmuntrar till tydlighet. 


%\section{Extra funktionalitet} Borttagen på grund av relevans till metod. Finns beskrivet på annat ställe.
%Det finns en liten mängd extra funktionalitet som utvecklats parallellt med ett GUI. Detta inkluderar en förmåga att markera tidpunkter under inspelning för att göra korta kommentarer, samt tillägga en mängd olika metadata för patienten och användaren i fråga innan inspelning. 

%============================================%
%      Sec: Kunskapsinhämtning               %
%============================================%
\section{Kunskapsinhämtning}
När det kommer till kunskap om EEG och hjärnan generellt så finns det ett enormt utbud av information, men samtidigt inte så många svar som man skulle vilja ha. Det finns fortfarande mycket som är okänt när det kommer till hjärnan, och att kunna veta hur den därmed fungerar kan vara en svår sak. Däremot så finns det relativt väldokumenterat om de joniska strömmarna i hjärnan, vilket är vad EEG använder sig av. Det finns konstant aktivitet i hjärnan som genererar joniska strömmar, därmed så kan det vara svårt att veta exakt vilka strömmar som speglade vad en individ såg eller upplevde under någon tidpunkt. 

För att förstå de bioelektriska mekanismer i kroppen som ger upphov till elektriska signaler och hur man på bästa sätt mäter dem, användes en del litteratur om bioelektriska signaler och dess klassificeringar, samt bioelektriska mätsystem med beskrivningar av verkliga implementationer. I synnerhet har boken \textit{Medical Intrumentation:~application and design} av J.~G.~Webster och J.~W.~Clark\cite{webster} varit till stor hjälp under arbetet för att förstå ämnet. 

För att förstå olika tekniska koncept som används i ADC kretsar, som $\Sigma\Delta$-modulering, har man använt tidigare kursböcker, speciellt \textit{Elektriska Mätsystem och Mätmetoder} av Lars Bengtsson\cite{bengtsson_2012}, samt så kallade \textit{Application Notes}, beskrivande texter ämnade åt ingenjörer som ofta innehåller implementationsdetaljer utöver den abstrakta konceptbeskrivningen.

Information har även samlats in från olika vetenskapliga och tekniska journaler när det gäller specifika frågor eller koncept. % t.ex. EDF+ specifikationen, driven right leg ....

Vid programmering av Raspberry Pi har man utnyttjat det officiella forumet\cite{raspberrypi_forums} i många fall för att besvara praktiska frågor och vid programmering av mer maskinorienterade enheter som mikrokontroller har man använt sig av relevanta datablad samt även där utnyttjat relevanta forum såsom Arduino forumet\cite{arduino_forums} och Texas Instruments 'data converter' forum\cite{TI_data_conv_forums}.

%REFERENcES


