Omflyttning av funktioner till fler filer

* Datatyper som alla filer använder hamnade i datatypes.h
* Tanken är att man sen ska kunna inkludera typ bara motion.h
En viktig volatile...
Roboten "roterar" medan den står stilla

* Flyttat ut ik-specifikt till egen fil
* Massor av funktioner för att hantera vektorer och matriser
- Inte ens ett krav 2 att den ska kunna "snurra", men jag
  tyckte det var coolt
Roboten går fram/bak+sidleds och roterar eller allt samtidigt

* Skiljer på hastighet och steglängd åt de olika hållen
* Steglängd och rotation är flyttal från -1 till 1, medan
  hastighet är ett flyttal från 0 till 1.
* INITIAL_POSITIONS finns nu bara på ett ställe, `motion.c`
* Lite skum lösning med interpolation över statiska variabler,
  men det fungerar.
* Visade sig att statiska variabler kan göra mycket skada, så ena
  rotations-funktionen tar nu emot en pekare som den skriver till
  istället för att skicka tillbaka sin egna statiska version av matrisen.
* Jag har grafer över de flesta funktionerna jag kan visa på begäran,
  och även förklara varför de är som de är.
- Lagt till en hel del konstanter som variabler i funktioner istället
  för globala defines, så länge man vet var de ligger kan man i alla
  fall pilla på dem!
Can send P/D constants,changemode commands and start/stop timercommands between komenhet och beslutsenhet
manuell styrning v1
Manuell styrning v1.1
Styrmodul krashade med interrupt under skickning till servon

Nu kan den fjärrstyras! (Framåt, Bakåt, Rotera vänster/höger och Stop)
Autonomtlägeknapp och tidtagning testat och klart.
Simpel fetchbaserad bussövervakning och skrivning till logfil funkar fint
Ingen <common.h> i i2c och modulkom.h. Rätt länkning & build-order för allt

* Tanken är att man bara ska inkludera <common.h> och <modulkom.h>
* Små ändringar på datatyper. Det finns nu typdef-ade device_/data_id
  som är uint8_t. Device_id och Data_id är fortfarande enum:ar.
  Eftersom vi kör -fshort-enums så är de kompatibla
Deklarativ uppsättning av kommandon som skickas över BT och i2c

* Tanken är att man (ungefär) bara ska behöva ändra i common.h för
  att lägga till nya kommandon, och sen kompilera om komm-enheten.
* Varje enum i Data_id har en position i `command_lengths[]` och i
  `which_device[]`. Kom-enheten kollar i sin `ISR(){}` vad det är för
  kommando, väntar på extra data och skickar sen bara vidare det över
  i2c till rätt enhet.
* Alla kommandon får samma enum både över bluetooth och i2c, plusset
  med det är att varje kommando bara behöver defineras en gång på ett
  ställe, och det gör det (nästan) automatisk möjligt att skicka alla
  i2c-kommandon över bluetooth också.

* Mitt Telemetry.py får (än så länge bara) roboten att gå på alla sätt
  som är möjliga.
Grundlaggande busskod i sensorenheten
Styrprogram som styr alla sätt roboten kan gå

* Kommentarer i python-programmet kommer senare när det städats upp
Prepare data for buss with a union
Beslutsenhet gets IR sensor values from sensorenhet via the bus
Luta roboten men piltangenterna

* Flyttade även start-positionerna. Vet inte riktigt om det blev bättre.

* Tog med ändringarna på hastighet på commiten, men är lite för trött
  för att minnas om de var bra värden...

* Ändrade helt hur `takeStep(...)` fungerar. Istället för att ta ett helt
  steg gör den en liten bit av steget varje gång den anropas, och måste
  alltså anropas i en loop för att fungera. Det nya sättet gör att alla
  värden kommer in i funktionen tidigare, och eftersom de ändå interpoleras
  inuti `stepAt()` fungerar det!

- Det är en helt del `blahblah2`-variabler som bör försvinna i framtiden..

* En bit bortkommenterad och gammal kod försvann för att den förmodligen
  inte fungerar längre.
Added atomic block

-Atomic block when copying sensor values
-Changed pd constans and variables to double
-Timer interrupt only sets a flag
-Main work is done i the main loop
Decision sends correctly formatted commands to Control

*Added send_move_Data function
*Added Move_data union
Changed some commands in common.h

*Removed START_TMER
*Changed direction of STOP_TIMER
*Changed handling of CHANGEMODE in beslutsenhet
*Changed count of SENSOR_DATA to 4*5
*Changed count of P_DATA to 4
*Changed count of D_DATA to 4