Graphics, Figures & Tables[Help needed] Text exceeds langtable boundaries

Information and discussion about graphics, figures & tables in LaTeX documents.
Post Reply
busken
Posts: 2
Joined: Fri May 03, 2019 1:42 pm

[Help needed] Text exceeds langtable boundaries

Post by busken »

Hello,
As part of my education I've been in an internship in the last couple of months, where I had to write a paper which includes a diary. I want to put the diary in a table, and quickly found out that a longtable was needed, as the table is of multiple pages. My problem is that, as the title implies, that the text exceeds the boundaries of the longtable. I'm looking for a package or something in the likes to fix my problem. I've been looking for a while, but can't seem to figure out a solution on my own. I'll supply the code and a picture below

Picture of PDF:
https://ibb.co/dQhxmDV

Code:

Code: Select all

\begin{longtable}{| p{.10\textwidth} | p{.90\textwidth} |}
%\centering
%\resizebox{\textwidth}{!}{%
%\begin{tabular}{ll}
\hline
\textbf{Dato} & \textbf{Bemærkning} \\ \hline
1/2-2019 & \begin{tabular}[c]{@{}l@{}}Første dag i praktik. Jeg er blevet introduceret til min praktikvejleder. Vi holdt\\ et møde, der omhandlede de opgaver, de forestillede sig at jeg skulle hjælpe med,\\ og hvordan situationen med produktet (level sensor) så ud lige nu. I første omgang\\ skal der bruges et nyt kommunikationsmodul til sensorapparatet. Der ønskes et\\ alternativ til det nuværende 3G, da 3G er på vej til at lukke i Norge, hvor man\\ gerne vil ind på markedet. Jeg har undersøgt alternative kommunikationsmoduler,\\ ud fra kravet om, at de skal være så strømbesparende som muligt.\end{tabular} \\ \hline
4/2-2019 & \begin{tabular}[c]{@{}l@{}}I dag har jeg fortsat søgt efter kommunikationsmoduler. Der\\ er blevet bestilt hhv: en SARA-N2, en SARA-N4 og en LARA-R2. Disse skal\\ undersøges for, hvilken der virker bedst til det kommende produkt. Derudover\\ ønsker virksomheden af få erfaring med at bruge NB-IoT, hvilket der derfor også\\ skal eksperimenteres med. Efter bestilling af moduler har jeg samlet de kendte værdier\\ fra databladene, og lavet et Excel-ark. Dette skal bruges til at teste\\ forskellige Use Cases, når modulerne ankommer. \\ Derudover har jeg i dag læst op på forskellige modes,\\ som skal bruges for at modulet er så strømbesparende som muligt (LTE eDRX \&\\ LTE PSM).\end{tabular} \\ \hline
5/2-2019 & \begin{tabular}[c]{@{}l@{}}For at færdiggøre Use Case regnearket, har jeg brug for at\\ måle strømme på modulerne. Derfor kan jeg ikke komme længere, før disse\\ ankommer. Der er et ønske om at benytte Python til opsætning af\\ det kommende kommunikationsmodul. Derfor har jeg brugt dagen på at sætte mig\\ ind i Python og skrive små programmer for øvelses skyld\end{tabular} \\ \hline
6/2-2019 & \begin{tabular}[c]{@{}l@{}}Dagen er desværre mest gået med IT problemstillinger. Da der kom styr på disse har\\ jeg opsat Git, hentet koden til de tidligere modeller ned, og er kommet i gang\\ med at gennemgå denne. Dette er gjort med henblik på at være bedst muligt\\ forberedt, når de nye moduler kommer hjem. Der er rigeligt med kode der kan\\ gennemlæses, så det er min plan indtil modulet kommer hjem.\end{tabular} \\ \hline
7/2-2019 & \begin{tabular}[c]{@{}l@{}}I dag har jeg fortsat lavet code review. Modulerne med tilhørende evalueringsboards\\ kom hjem lige omkring middag. Jeg har brugt dagen på at bokse med IT i\\ forbindelse med at skulle installerer hjælpeprogrammer til evalueringsboardet,\\ og på at prøve at kommunikere med modulet. \\ Det lykkedes sidst på dagen at kommunikere via UART med modulet. Næste\\ udfordring er at oprette et ”dial-up modem” på computeren, som virker med\\ modulet.\end{tabular} \\ \hline
8/2-2019 & \begin{tabular}[c]{@{}l@{}}I dag har jeg fortsat kæmpet med dial-up modemmet. Det skulle egentlig blot bruges\\ til at bekræfte, at der kunne opnås internetforbindelse via SIM kortet på\\ modulet. Det viste sig at jeg ikke blot kunne oprette et modem fra min PC,\\ sandsynligvis grundet IT sikkerheden på stedet. Jeg blev bedt om at prøve at få\\ internetforbindelse via AT-kommandoer (igennem programmet m-center, der følger\\ med evaluering kittet). Dette lykkedes én gang, hvorefter forbindelsen hurtigt\\ blev tabt. Det lykkedes mig ikke at få den oprettet igen\end{tabular} \\ \hline
11/2-2019 & \begin{tabular}[c]{@{}l@{}}Formiddagen gik med fortsat at forsøge at oprette en forbindelse via AT-kommandoer.\\ Jeg tog kontakt til udbyderen af SIM kortet, der\\ forklarede mig følgende: Første gang der blev oprettet forbindelse til\\ netværket, blev enheden registreret herpå. Enheden bruger M1 båndet, hvilket\\ (åbenbart) er anderledes fra de frekvensbånd, der bruges i Danmark. Derfor blev\\ jeg smidt af netværket hurtigt efter forbindelsen blev oprettet, og kunne siden\\ ikke genetablere forbindelsen, fordi netværket husker enheden, og ikke giver\\ den lov. Det betyder at internet-modul-projektet igen er på stand-by,\\ indtil det andet kit kommer (der operere på ”danske” frekvenser).\\ Jeg er derfor gået i gang med at undersøge, hvilken ny MCU der kan benyttes til\\ ultralydssensoren, ud fra nogle krav fra min praktikvejleder.\end{tabular} \\ \hline
12/2-2019 & \begin{tabular}[c]{@{}l@{}}Formiddagen er gået med fortsat at undersøge mulige MCU’er. Der blev truffet en beslutning,\\ og et par forskellige er bestilt hjem med tilhørende evalueringsboards. I dag\\ modtog vi evalueringsboard til 4g modulet (LARA-R211), så jeg har siden middag\\ forsøgt at få den til at oprette forbindelse til FTP serveren.\end{tabular} \\ \hline
13/2-2019 & \begin{tabular}[c]{@{}l@{}}I dag har jeg fortsat arbejdet på at oprette forbindelse til\\ FTP serveren. Efter lang tids makkeri lykkedes det endelig at få forbindelse\\ –Der var åbenbart noget obligatorisk opsætning, jeg ikke havde fået\\ konfigureret, hvilket ledte til at jeg ikke kunne oprette forbindelse.\\ Resten af dagen gik med at prøve at lave et Python\\ script, der kan sende de nødvendige AT kommandoer, for at oprette forbindelsen,\\ så det kan gøres uden brug af u-blox software (m-center 2.0). Det har været\\ noget bøvl, fordi jeg ikke kunne få easy install (PIP) til at virke ift\\ installation af Python moduler. Jeg endte med at installere det nødvendige\\ modul (serial) manuelt.\end{tabular} \\ \hline
14/2-2019 & \begin{tabular}[c]{@{}l@{}}I dag har jeg brugt hele dagen på at skrive et Python script til at logge modulet på\\ FTP serveren. Langsom start, eftersom jeg lige skulle i gang med Python, men\\ jeg blev næsten færdig.\end{tabular} \\ \hline
15/2-2019 & \begin{tabular}[c]{@{}l@{}}I dag er det lykkedes at logge på FTP server, downloade fil og skrive den ud til en\\ .txt fil på computeren. Nu mangler jeg blot at få den til at skrive 128 bytes\\ af gangen, for at kunne simulere hvordan det vil fungere i det færdige produkt.\end{tabular} \\ \hline
18/2-2019 & \begin{tabular}[c]{@{}l@{}}I dag har jeg løst problemet med at skrive 128 bytes af\\ gangen. Der opstod et andet problem, nemlig at jeg ud over filen også fik\\ indlæst en URC når modulet læser en intern fil. Denne URC skal selvfølgelig\\ ikke skrives videre, hvorfor den er blevet sorteret ud af strengen, inden denne\\ skrives videre. Jeg er nu gået i gang med at undersøge hvordan modulet\\ autonomt kommunikere med serveren, og prøve at sætte en dummy client op, så der\\ kan testes strømforbrug under forskellige use cases.\end{tabular} \\ \hline
19/2-2019 & \begin{tabular}[c]{@{}l@{}}… Der var lige et skridt mere, inden autonom kommunikation kan opnås. Jeg har i dag\\ sammenflettet min egen kode med noget af Peters (praktikvejleder), der laver\\ den pakke (besked), der skal sendes til serveren fra modulet. Jeg har\\ succesfuldt kommunikeret med serveren via et Python scribt, men er nu i gang\\ med at udvikle scriptet, så kommunikationen går igennem modulet, og ikke\\ computeren. Jeg har fået oprettet en UDP socket via AT kommandoer, men får en\\ error, når jeg prøver at sende en besked til serveren.\end{tabular} \\ \hline
20/2-2019 & \begin{tabular}[c]{@{}l@{}}Så kom der styr på den error. Python programmet er som sådan færdigt nu. Nu er planen\\ at jeg skal kommunikere: PC \textgreater UART på PCBA \textgreater LARA-R211 (internetmodulet). Der skal altså ikke være\\ direkte forbindelse mellem modulet og pc’en. I den forbindelse har jeg kigget\\ på schematics af evalueringsboarded, for at finde ud af hvordan jeg kunne skabe\\ forbindelse til modulets UART (RX og TX). Efter en tur i dokumentationen fandt\\ jeg de korrekte pins at forbinde til. Derefter kiggede jeg schematics af PCBA’et,\\ for at finde ud af, hvor jeg skulle forbinde UART’en til. I morgen tidlig skal\\ der loddes et par ledninger, hvorefter der kan blive testet kommunikation\\ mellem modulet og PCBA’et (nærmere den MCU der styre PCBA’et)\end{tabular} \\ \hline
21/2-2019 & \begin{tabular}[c]{@{}l@{}}Jeg havde nok undervurderet, hvor småt det der skulle loddes\\ var. Det tog i hvert fald længere end forventet. Om ikke andet er der nu skabt UART forbindelse mellem\\ MCU og modem, og forbindelse mellem PC og MCU. Nu skal der så ”hackes” i\\ kredsløbet, og lade kommunikationen fra MCUen gå hen til det nye modul, i\\ stedet for det, der er monteret på testprintet (som jo altså er et 3G modul).\\ Det krævede en smule planlægning og studering af schematics.\end{tabular} \\ \hline
22/2-2019 & \begin{tabular}[c]{@{}l@{}}Nu er alt hardware sat op som det skulle. Dagen er gået med at kigge den (omfattende)\\ kode, jeg er blevet givet, igennem, samt opsætning af programmer til at\\ monitorere kommunikationen.\end{tabular} \\ \hline
25/2-2019 & \begin{tabular}[c]{@{}l@{}}I dag er jeg blevet inviteret ud for at se de forskellige produktionsafdelinger, som\\ Poul Tarp A/S har i omegnen. Det var ikke synderlig relevant for min tekniske\\ opgave, men interessant og med til at give en forståelse af, hvad virksomheden\\ har af forskellige afdelinger – Og hvor omfattende de er. Da jeg kom tilbage\\ brugte jeg resten af dagen på at omskrive kode så den passer til det nye 4G\\ modul. Sidst på dagen er der blevet bokset med build errors, i forbindelse med\\ at bygge projektet første gang fra min egen arbejdscomputer.\end{tabular} \\ \hline
26/2-2019 & \begin{tabular}[c]{@{}l@{}}Dagen er desværre fortsat gået med at prøve at fikse build errors. Det er et\\ omfattende program, så der er nok at gennemgå for fejl. Jeg kan ikke regne ud,\\ hvad der giver disse build errors, men jeg har en mistanke om, at jeg måske\\ mangler at installere et library. Peter er ude af huset, så han har ikke kunne\\ hjælpe mig. I går fortalte han, at der var nogle opsætningsindstillinger, der\\ skulle sættes. Jeg har selv forsøgt at finde noget, men forgæves. Til gengæld\\ har jeg brugt lidt af dagen på at forberede møde med salgschefen omkring\\ virksomhedens struktur. Mødet skal finde sted først i næste uge\end{tabular} \\ \hline
27/2-2019 & \begin{tabular}[c]{@{}l@{}}Dagen gik med debugging af program. Der skulle ekskluderes nogle filer i projektet,\\ for at fjerne en del compile errors. Problemet er nu, at programmet ”hænger”,\\ når der forsøges at compile. Det viste sig at antivirussen på netværket\\ bremsede kompilationen. IT medarbejderen, der står for antivirussen er desværre\\ ude af huset i dag, hvilket umuliggjorde løsning af mit problem. Jeg brugte\\ derfor eftermiddagen på at skrive lidt på min praktikrapport.\end{tabular} \\ \hline
28/2-2019 & \begin{tabular}[c]{@{}l@{}}Så fik jeg IT til at undtage de relevante programmer fra antivirussen. Nu kan der\\ compiles! Jeg har desværre i dag måtte erkende, at jeg ikke kan overskue koden,\\ og er derfor gået i gang med at læse op på C++, for at have en idé om, hvordan\\ jeg mest effektivt kan rette og supplere i koden.\end{tabular} \\ \hline
1/3-2019 & \begin{tabular}[c]{@{}l@{}}I dag er gået med at læse på C++, mere konkret om klasser, objekter, metoder og\\ nedarvning.\end{tabular} \\ \hline
4/3-2019 & \begin{tabular}[c]{@{}l@{}}I dag har jeg prøvet at få gang i kommunikationen mellem CCS (Code Composer Studio)\\ og internetmodulet. Det har selvfølgelig ikke været lige ud af landevejen. Jeg\\ har brugt det meste af dagen på at skrive nogle test funktioner, som kunne\\ hjælpe mig med at debugge ift hvorfor jeg ikke får et svar retur, når jeg\\ sender en kommando. Det viste sig, at ”hardware flow control” blev benyttet.\\ Jeg kunne slå dette fra med en AT kommando, og nu er der hul igennem! Herfra\\ vil jeg gennemgå funktioner og metoder, som indeholder AT kommandoer, og rette\\ disse, så de rigtige kommandoer benyttet til dette nye modul.\end{tabular} \\ \hline
5/3-2019 & \begin{tabular}[c]{@{}l@{}}I dag har jeg fortsat arbejdet med programmet til produktet. Det er lykkes at sende\\ en besked til serveren! Nu arbejdes der på at kunne læse en indkommende besked.\end{tabular} \\ \hline
6/3-2019 & \begin{tabular}[c]{@{}l@{}}Jeg har programmeret hele dagen. Der kan nu læses fra serveren, men beskeden bliver\\ ikke gemt rigtigt.\end{tabular} \\ \hline
8/3-2019 & \begin{tabular}[c]{@{}l@{}}Både i går og i dag er desværre også gået med at finde ud af, hvorfor beskeder fra\\ serveren ikke gemmes rigtigt. Frustrationen kan efterhånden mærkes. Om ikke\\ andet er jeg blevet meget klogere hver dag jeg har arbejdet med det, så mon ikke\\ jeg får problemet løst først i næste uge\end{tabular} \\ \hline
11/3-2019 & \begin{tabular}[c]{@{}l@{}}I dag har jeg fortsat debugget. Derudover har jeg sammen med en anden praktikant\\ holdt møde med marketingschefen om virksomhedens struktur. Dette møde er blevet\\ holdt for bedre at kunne beskrive virksomheden i praktikrapporten, og for\\ personligt bedre at forstå virksomhedsopbygningen.\end{tabular} \\ \hline
12/3-2019 & Fortsat debugging. Jeg knokler med en stringparser, der driller mig. \\ \hline
13/3-2019 & \begin{tabular}[c]{@{}l@{}}I dag var dagen, hvor jeg succesfuld sendte en besked til serveren, fik et svar\\ retur, og kunne håndtere svaret korrekt! Fantastisk. Nu skal koden optimeres,\\ før jeg går videre til at teste softwareupdatering. Der bliver brugt for-loops\\ til at shifte i arrays, men jeg har nu gennemskuet hvordan jeg kan bruge de\\ eksisterende metoder i stringparseren, for ikke at ”spilde” en masse clock\\ cycles på at shifte i registrene. Dette skal implementeres, da det i sidste\\ ende sparer strøm, hvilket er essentielt for produktet.\end{tabular} \\ \hline
14/3-2019 & \begin{tabular}[c]{@{}l@{}}I dag har jeg omstruktureret koden, så der\\ bliver brugt mere strømbesparende metoder (metoder der bruger færrest muligt\\ clock cycles). Jeg har omskrevet sendData funktionen, og er nu i gang med\\ readData, som driller lidt, grundet beskedens header og tail, som der skal ses\\ bort fra.\end{tabular} \\ \hline
15/3-2019 & \begin{tabular}[c]{@{}l@{}}I dag er der blevet debugget efter den omfattende omskrivning i går. Der opstår fejl\\ ved modtagelse af svar fra serveren, alt op til da virker nu med effektive\\ (læs: ikke storforbrugende af clock-cycles) metoder og funktioner\end{tabular} \\ \hline
18/3-2019 & \begin{tabular}[c]{@{}l@{}}Jeg har i dag prøvet at finde en metode til at håndtere de tre URC’s jeg får\\ praktisk talt samtidig. Det er desværre ikke lykkedes helt, men jeg har en god\\ idé til, hvad der skal ske, for at de bliver håndteret korrekt.\end{tabular} \\ \hline
22/3-2019 & \begin{tabular}[c]{@{}l@{}}De sidste dage har fortsat stået på omskrivning og debugging. Det virker nu, så der kan\\ sendes og modtages beskeder til serveren. I næste uge skal der arbejdes på at\\ kunne hente og installere softwareopdateringer ned på modulet fra FTP serveren.\end{tabular} \\ \hline
25/3-2019 & \begin{tabular}[c]{@{}l@{}}I dag har jeg forsøgt at indstille modulet til at ignorere indkommende opkald.\\ Derudover har jeg klargjort mit oplæg til midtvejsseminaret, som jeg regner med\\ kommer til at ligge på torsdag (28/3).\end{tabular} \\ \hline
26/3-2019 & \begin{tabular}[c]{@{}l@{}}I dag har jeg startet på opgaven med at downloade SW opdateringer fra FTP serveren.\\ Formiddagen gik med at git pushe min kode samt at blive sat ind i den kode der\\ relaterer sig til SW opdatering. Eftermiddagen er gået med at ændre i koden og\\ at bestemme, hvilken tilgang der er bedst (altså hvilke AT-kommandoer, der\\ bruges)\end{tabular} \\ \hline
27/3-2019 & \begin{tabular}[c]{@{}l@{}}I dag har jeg fundet ud af, hvor koden skal tilpasses for at oprette forbindelse til\\ FTP serveren. Det er lykkedes (i Python), at downloade den korrekte SW\\ updatering, men der sker en fejl når jeg forsøger at skrive den over til en fil\\ på PC’en. Derudover har jeg gjort klar til midtvejsseminaret i morgen.\end{tabular} \\ \hline
28/3-2019 & \begin{tabular}[c]{@{}l@{}}Dagen har til dels stået på forberedelser op til midtvejsseminaret, som blev afholdt\\ klokken 13. Kirsten blev sat ind i, hvad jeg laver i praktikken og der blev\\ diskuteret mulighed for bachelorskrivning med virksomheden samt hvordan\\ strukturen deraf ville være. Derudover har jeg været i kontakt med\\ kundesupporten hos uBlox, angående spørgsmål om at skrive filer fra modulets\\ lokale hukommelse til ud på UARTen, samt hvordan jeg helt slår muligheden for\\ at modtage opkald fra, da det crasher koden, hvis der modtaget et opkald på et\\ kritisk tidspunkt. Jeg har selv prøvet at løse problemet, og har i den\\ forbindelse sørget for, at opkaldet bliver blokeret (afsenderen får ”opkald\\ mislykkedes”), men modulet prioriterer stadig at håndtere opkaldet, hvilket gør\\ at programmet stadig crasher. uBlox’ kundesupport vil vende tilbage med svar på\\ mine spørgsmål snarest.\end{tabular} \\ \hline
29/3-2019 & Dagen er gået med prøve at løse gårdsdagens problemstillinger. \\ \hline
1/4-2019 & \begin{tabular}[c]{@{}l@{}}Dagen er gået med at prøve at sætte mig ind i hvordan SW updateringer før er blevet\\ flyttet fra det tidligere modul til MCUen, og hvordan det skal gøres anderledes\\ med det nye modul.\end{tabular} \\ \hline
2/4-2019 & \begin{tabular}[c]{@{}l@{}}I dag har jeg været i kontakt med techsupport fra uBlox angående blokering af\\ indkommende opkald. Jeg har i den forbindelse udført et par tests. Min teori\\ er, at der ikke kan matches password, fordi PIN er slået fra fra udbyderens\\ side. Derudover er jeg kommet i gang med at skrive koden til FTP download.\end{tabular} \\ \hline
3/4-2019 & \begin{tabular}[c]{@{}l@{}}I dag har jeg arbejdet på at downloade SW updates i produktkoden. Den downloader og\\ gemmer filen lokalt på modemmet nu. Nu planlægger jeg hvordan filen skal\\ flyttes fra modulet til MCU via UART, og så fra MCU til EEPROM via I2C\end{tabular} \\ \hline
4/4-2019 & \begin{tabular}[c]{@{}l@{}}Modulet kan nu downloade SW updates. Jeg har også fået løst problemet med, at man kunne\\ ringe til modulet, og derved forstyrre flowet i produktkoden. Nu arbejder jeg\\ på at få filen flyttet 128 bytes af gangen, hvilket sker via I2C fra MCU til\\ EEPROM.\end{tabular} \\ \hline
5/4-2019 & \begin{tabular}[c]{@{}l@{}}I dag har jeg sloges med at finde på et scheme, der kan udføre datatransporten til\\ EEPROM og samtidig kan integreres i den øvrige kodestruktur.\end{tabular} \\ \hline
8/4-2019 & \begin{tabular}[c]{@{}l@{}}I dag har jeg skrevet kode, der er i stand til at flytte data fra modulet, og over på\\ MCUen. Det er en smule besværligt, da modulet sender en tåbeligt lang header\\ med, når den sender en del af dataen på den, hvilket skal sorteres fra.\end{tabular} \\ \hline
9/4-2019 & \begin{tabular}[c]{@{}l@{}}Det er lykkedes at flytte dataen over på MCUen, så nu arbejder jeg på at få I2C til at\\ fungere mellem MCU og EEPROM.\end{tabular} \\ \hline
10/4-2019 & \begin{tabular}[c]{@{}l@{}}I dag er det lykkedes at oprette I2C kommunikation mellem MCU og EEPROM! Det ser ud\\ til, at det er lykkedes at lagre filen på EEPROMen. Dog kan jeg ikke være\\ sikker, da jeg ikke endnu kan tilgå filen på EEPROMen. Derfor arbejder jeg nu\\ med at finde en måde at læse ud af EEPROMen, så jeg kan sammenligne det, der\\ ligger derpå, med den egentlige fil.\end{tabular} \\ \hline
11/4-2019 & \begin{tabular}[c]{@{}l@{}}Det lykkedes at skrive filen ud fra EEPROMen på UARTen, dog repræsenteret som uint8\\ værdier. Jeg har i dag arbejdet med at skrive et program i Python, som kan\\ ”fange” disse uint8 værdier, konvertere dem til ASCII og skrive dem over i en\\ .txt fil. Dog er det ikke lykkedes endnu.\end{tabular} \\ \hline
15/4-2019 & \begin{tabular}[c]{@{}l@{}}I dag er det lykkedes at konvertere til ASCII i Python, og skrive over i en .txt fil.\\ Det ser ud som om, at filen er identisk med SW updateringen! I morgen skal jeg\\ lige have fjernet de få fejlkarakterer, der bliver skrevet over i .txt filen,\\ og sammenligne om det, jeg har lagret på EEPROMen er 100\% identisk med selve\\ opdateringsfilen.\end{tabular} \\ \hline
16/4-2019 & \begin{tabular}[c]{@{}l@{}}I dag lykkedes det at få den korrekte fil ud af EEPROMen, så det er altså lykkedes at\\ gemme SW updateringen korrekt. Da opgaven er løst og Peter er på ferie, bruger\\ jeg resten af dagen og i morgen på at skrive rapport.\end{tabular} \\ \hline
17/4-2019 & Dagen er gået med rapportskrivning. \\ \hline
23/4-2019 & \begin{tabular}[c]{@{}l@{}}Der ønskes i fremtiden at sammenligne den downloadede fil med originalen via et\\ CRC-16 tjek. Derfor er jeg gået i gang med at undersøge mulighederne for at\\ lave et CRC-16 med den benyttede MCU.\end{tabular} \\ \hline
24/4-2019 & \begin{tabular}[c]{@{}l@{}}Det viser sig, at MCUen understøtter CRC-16 standarden ”CRC-CCITT”. Derfor har jeg\\ skrevet et program i Python, der kan lave et CRC med samme standard. Nu\\ arbejder jeg på at få det til at virke på MCU’en, så CRC’erne kan sammenlignes,\\ for at bekræfte at de arbejder på samme måde.\end{tabular} \\ \hline
25/4-2019 & \begin{tabular}[c]{@{}l@{}}Det viser sig, at ordet ”standard” bliver brugt i flæng. Der er nemlig ikke helt\\ enighed om, hvilke parametre/betingelser/værdier, der bruges i CCITT\\ ”standarden”. Jeg har fået MCUen til at beregne et CRC, men det stemmer ikke\\ overens med det CRC, der beregnes i Python programmet. Derfor bokser jeg stadig\\ med, at få de to programmer til at udregne samme CRC-16 værdi\end{tabular} \\ \hline
29/4-2019 & \begin{tabular}[c]{@{}l@{}}Dagen er fortsat gået med at prøve at få matchende CRC-16 værdier. Jeg er nået frem\\ til, at der sker en fejl i forbindelse med CRC beregningen, da en enkelt\\ hex-værdi konsistent bliver forkert repræsenteret, når der flyttes data fra\\ internetmodulet.\end{tabular} \\ \hline
30/4-2019 & \begin{tabular}[c]{@{}l@{}}I dag er jeg kommet et skridt længere i mit eventyr for at få matchende CRC-16\\ værdier. Jeg fandt en fejl i koden, der parser data fra modulet til MCUen. Jeg\\ havde lavet en hardcoding, som offsatte de sidste 8 bytes data med 1 bit,\\ hvilket selvfølgelig ledte til forskellige CRC-16 værdier. Det er løst, men\\ værdierne passer stadig ikke. Det ser ud til, at data ikke bliver parset\\ korrekt igennem CRC-16 registrene på MCUen, så nu har jeg lavet en testkode,\\ der (forhåbentlig) forsimpler processen med at generere en korrekt CRC-16 værdi\end{tabular} \\ \hline
1/5-2019 & \begin{tabular}[c]{@{}l@{}}I dag har jeg fortsat arbejdet med CRC-16 værdierne. Det er stadig ikke lykkedes at\\ få dem til at matche, men jeg har læst en del på Texas Instruments forum, og\\ har en plan for, hvad jeg vil forsøge i morgen.\end{tabular} \\ \hline
2/5-2019 & \begin{tabular}[c]{@{}l@{}}I dag er det lykkedes at få min testkode til at give det korrekte CRC! Jeg havde lavet\\ en fejl i min konvertering mellem variabeltyper, der gjorde at 8bit værdier\\ blev læst som 16bit værdier. Nu arbejder jeg på at få CRC-et implementeret i\\ den øvrige kode.\end{tabular} \\ \hline
%\end{tabular}%

\label{tab:my-table}
\end{longtable}
Thanks in advance.

Recommended reading 2024:

LaTeXguide.org • LaTeX-Cookbook.net • TikZ.org

NEW: TikZ book now 40% off at Amazon.com for a short time.

Ijon Tichy
Posts: 640
Joined: Mon Dec 24, 2018 10:12 am

[Help needed] Text exceeds langtable boundaries

Post by Ijon Tichy »

Unfortunately you have not posted a Infominimal working example, but only a code snippet. To it is hard to reproduce the result of the image. However, there are several issues with you example:
  • LaTeX adds a column separation of \tabcolsep before and after each column. (In the inner {tabular} environments you've removed this before and after the column using @{} in the column declaration, but you must not do the same for the outer {longtable} as you are using vertical lines that are placed at this space). So [cmd]tabcolsep[/cmd]+0.10[cmd]textwidth[/cmd]+2[cmd]tabcolsep[/cmd]+0.90[cmd]textwidth[/cmd]+[cmd]tabcolsep[/cmd] a greater than \textwidth. Because of this, the {longtable} is wider than the text area.
  • Each cell of the right column of the {longtable} uses a {tabular} with the column declaration @{}c@{}. There is no automatic line break in c-columns. So the inner {tabular} environments exceed the outer {longtable} cell.
To avoid the first issue, you should reduce the width of the columns, e.g. use \begin{longtable}{|p{\dimexpr .1\textwidth-2\tabcolsep\relax}|p{\dimexpr .9\textwidth-2\tabcolsep\relax}|}. However I would recommend to use xltabular, make the left column a l-column and the right column a X-column.

To avoid the second issue, you could use [cmd]begin[/cmd][env]tabular[/env][c]{@{}p{\hsize}@{}} for the inner {tabular} environments. However I would recommend to remove the inner {tabular} environments and replace the column type of the X-columns by m.

Code: Select all

\documentclass{article}
\usepackage[danish]{babel}
\usepackage{xltabular}% combination of longtable and tabularx
\usepackage{showframe}% To see the size of several elements like the text area.

\renewcommand*{\tabularxcolumn}[1]{m{#1}}% use vertical centered columns for X-columns

\begin{document}
\begin{xltabular}{\textwidth}{|l|X|}
  \caption{Table caption}
  \label{tab:my-table}\\
  \hline
  \textbf{Dato} & \textbf{Bemærkning} \\ \hline
  \endfirsthead
  \hline
  \textbf{Dato} & \textbf{Bemærkning} \\ \hline
  \endhead
  \hline
  \endfoot
    1/2-2019 & Første dag i praktik. Jeg er blevet introduceret til min praktikvejleder. Vi holdt et møde, der omhandlede de opgaver, de forestillede sig at jeg skulle hjælpe med, og hvordan situationen med produktet (level sensor) så ud lige nu. I første omgang skal der bruges et nyt kommunikationsmodul til sensorapparatet. Der ønskes et alternativ til det nuværende 3G, da 3G er på vej til at lukke i Norge, hvor man gerne vil ind på markedet. Jeg har undersøgt alternative kommunikationsmoduler, ud fra kravet om, at de skal være så strømbesparende som muligt. \\ \hline
    4/2-2019 & I dag har jeg fortsat søgt efter kommunikationsmoduler. Der er blevet bestilt hhv: en SARA-N2, en SARA-N4 og en LARA-R2. Disse skal undersøges for, hvilken der virker bedst til det kommende produkt. Derudover ønsker virksomheden af få erfaring med at bruge NB-IoT, hvilket der derfor også skal eksperimenteres med. Efter bestilling af moduler har jeg samlet de kendte værdier fra databladene, og lavet et Excel-ark. Dette skal bruges til at teste forskellige Use Cases, når modulerne ankommer.  Derudover har jeg i dag læst op på forskellige modes, som skal bruges for at modulet er så strømbesparende som muligt (LTE eDRX \& LTE PSM). \\ \hline
    5/2-2019 & For at færdiggøre Use Case regnearket, har jeg brug for at måle strømme på modulerne. Derfor kan jeg ikke komme længere, før disse ankommer. Der er et ønske om at benytte Python til opsætning af det kommende kommunikationsmodul. Derfor har jeg brugt dagen på at sætte mig ind i Python og skrive små programmer for øvelses skyld \\ \hline
    6/2-2019 & Dagen er desværre mest gået med IT problemstillinger. Da der kom styr på disse har jeg opsat Git, hentet koden til de tidligere modeller ned, og er kommet i gang med at gennemgå denne. Dette er gjort med henblik på at være bedst muligt forberedt, når de nye moduler kommer hjem. Der er rigeligt med kode der kan gennemlæses, så det er min plan indtil modulet kommer hjem. \\ \hline
    7/2-2019 & I dag har jeg fortsat lavet code review. Modulerne med tilhørende evalueringsboards kom hjem lige omkring middag. Jeg har brugt dagen på at bokse med IT i forbindelse med at skulle installerer hjælpeprogrammer til evalueringsboardet, og på at prøve at kommunikere med modulet.  Det lykkedes sidst på dagen at kommunikere via UART med modulet. Næste udfordring er at oprette et ”dial-up modem” på computeren, som virker med modulet. \\ \hline
    8/2-2019 & I dag har jeg fortsat kæmpet med dial-up modemmet. Det skulle egentlig blot bruges til at bekræfte, at der kunne opnås internetforbindelse via SIM kortet på modulet. Det viste sig at jeg ikke blot kunne oprette et modem fra min PC, sandsynligvis grundet IT sikkerheden på stedet. Jeg blev bedt om at prøve at få internetforbindelse via AT-kommandoer (igennem programmet m-center, der følger med evaluering kittet). Dette lykkedes én gang, hvorefter forbindelsen hurtigt blev tabt. Det lykkedes mig ikke at få den oprettet igen \\ \hline
    11/2-2019 & Formiddagen gik med fortsat at forsøge at oprette en forbindelse via AT-kommandoer. Jeg tog kontakt til udbyderen af SIM kortet, der forklarede mig følgende: Første gang der blev oprettet forbindelse til netværket, blev enheden registreret herpå. Enheden bruger M1 båndet, hvilket (åbenbart) er anderledes fra de frekvensbånd, der bruges i Danmark. Derfor blev jeg smidt af netværket hurtigt efter forbindelsen blev oprettet, og kunne siden ikke genetablere forbindelsen, fordi netværket husker enheden, og ikke giver den lov. Det betyder at internet-modul-projektet igen er på stand-by, indtil det andet kit kommer (der operere på ”danske” frekvenser). Jeg er derfor gået i gang med at undersøge, hvilken ny MCU der kan benyttes til ultralydssensoren, ud fra nogle krav fra min praktikvejleder. \\ \hline
    12/2-2019 & Formiddagen er gået med fortsat at undersøge mulige MCU’er. Der blev truffet en beslutning, og et par forskellige er bestilt hjem med tilhørende evalueringsboards. I dag modtog vi evalueringsboard til 4g modulet (LARA-R211), så jeg har siden middag forsøgt at få den til at oprette forbindelse til FTP serveren. \\ \hline
    13/2-2019 & I dag har jeg fortsat arbejdet på at oprette forbindelse til FTP serveren. Efter lang tids makkeri lykkedes det endelig at få forbindelse –Der var åbenbart noget obligatorisk opsætning, jeg ikke havde fået konfigureret, hvilket ledte til at jeg ikke kunne oprette forbindelse. Resten af dagen gik med at prøve at lave et Python script, der kan sende de nødvendige AT kommandoer, for at oprette forbindelsen, så det kan gøres uden brug af u-blox software (m-center 2.0). Det har været noget bøvl, fordi jeg ikke kunne få easy install (PIP) til at virke ift installation af Python moduler. Jeg endte med at installere det nødvendige modul (serial) manuelt. \\ \hline
    14/2-2019 & I dag har jeg brugt hele dagen på at skrive et Python script til at logge modulet på FTP serveren. Langsom start, eftersom jeg lige skulle i gang med Python, men jeg blev næsten færdig. \\ \hline
    15/2-2019 & I dag er det lykkedes at logge på FTP server, downloade fil og skrive den ud til en .txt fil på computeren. Nu mangler jeg blot at få den til at skrive 128 bytes af gangen, for at kunne simulere hvordan det vil fungere i det færdige produkt. \\ \hline
    18/2-2019 & I dag har jeg løst problemet med at skrive 128 bytes af gangen. Der opstod et andet problem, nemlig at jeg ud over filen også fik indlæst en URC når modulet læser en intern fil. Denne URC skal selvfølgelig ikke skrives videre, hvorfor den er blevet sorteret ud af strengen, inden denne skrives videre. Jeg er nu gået i gang med at undersøge hvordan modulet autonomt kommunikere med serveren, og prøve at sætte en dummy client op, så der kan testes strømforbrug under forskellige use cases. \\ \hline
    19/2-2019 & … Der var lige et skridt mere, inden autonom kommunikation kan opnås. Jeg har i dag sammenflettet min egen kode med noget af Peters (praktikvejleder), der laver den pakke (besked), der skal sendes til serveren fra modulet. Jeg har succesfuldt kommunikeret med serveren via et Python scribt, men er nu i gang med at udvikle scriptet, så kommunikationen går igennem modulet, og ikke computeren. Jeg har fået oprettet en UDP socket via AT kommandoer, men får en error, når jeg prøver at sende en besked til serveren. \\ \hline
    20/2-2019 & Så kom der styr på den error. Python programmet er som sådan færdigt nu. Nu er planen at jeg skal kommunikere: PC \textgreater UART på PCBA \textgreater LARA-R211 (internetmodulet). Der skal altså ikke være direkte forbindelse mellem modulet og pc’en. I den forbindelse har jeg kigget på schematics af evalueringsboarded, for at finde ud af hvordan jeg kunne skabe forbindelse til modulets UART (RX og TX). Efter en tur i dokumentationen fandt jeg de korrekte pins at forbinde til. Derefter kiggede jeg schematics af PCBA’et, for at finde ud af, hvor jeg skulle forbinde UART’en til. I morgen tidlig skal der loddes et par ledninger, hvorefter der kan blive testet kommunikation mellem modulet og PCBA’et (nærmere den MCU der styre PCBA’et) \\ \hline
    21/2-2019 & Jeg havde nok undervurderet, hvor småt det der skulle loddes var. Det tog i hvert fald længere end forventet. Om ikke andet er der nu skabt UART forbindelse mellem MCU og modem, og forbindelse mellem PC og MCU. Nu skal der så ”hackes” i kredsløbet, og lade kommunikationen fra MCUen gå hen til det nye modul, i stedet for det, der er monteret på testprintet (som jo altså er et 3G modul). Det krævede en smule planlægning og studering af schematics. \\ \hline
    22/2-2019 & Nu er alt hardware sat op som det skulle. Dagen er gået med at kigge den (omfattende) kode, jeg er blevet givet, igennem, samt opsætning af programmer til at monitorere kommunikationen. \\ \hline
    25/2-2019 & I dag er jeg blevet inviteret ud for at se de forskellige produktionsafdelinger, som Poul Tarp A/S har i omegnen. Det var ikke synderlig relevant for min tekniske opgave, men interessant og med til at give en forståelse af, hvad virksomheden har af forskellige afdelinger – Og hvor omfattende de er. Da jeg kom tilbage brugte jeg resten af dagen på at omskrive kode så den passer til det nye 4G modul. Sidst på dagen er der blevet bokset med build errors, i forbindelse med at bygge projektet første gang fra min egen arbejdscomputer. \\ \hline
    26/2-2019 & Dagen er desværre fortsat gået med at prøve at fikse build errors. Det er et omfattende program, så der er nok at gennemgå for fejl. Jeg kan ikke regne ud, hvad der giver disse build errors, men jeg har en mistanke om, at jeg måske mangler at installere et library. Peter er ude af huset, så han har ikke kunne hjælpe mig. I går fortalte han, at der var nogle opsætningsindstillinger, der skulle sættes. Jeg har selv forsøgt at finde noget, men forgæves. Til gengæld har jeg brugt lidt af dagen på at forberede møde med salgschefen omkring virksomhedens struktur. Mødet skal finde sted først i næste uge \\ \hline
    27/2-2019 & Dagen gik med debugging af program. Der skulle ekskluderes nogle filer i projektet, for at fjerne en del compile errors. Problemet er nu, at programmet ”hænger”, når der forsøges at compile. Det viste sig at antivirussen på netværket bremsede kompilationen. IT medarbejderen, der står for antivirussen er desværre ude af huset i dag, hvilket umuliggjorde løsning af mit problem. Jeg brugte derfor eftermiddagen på at skrive lidt på min praktikrapport. \\ \hline
    28/2-2019 & Så fik jeg IT til at undtage de relevante programmer fra antivirussen. Nu kan der compiles! Jeg har desværre i dag måtte erkende, at jeg ikke kan overskue koden, og er derfor gået i gang med at læse op på C++, for at have en idé om, hvordan jeg mest effektivt kan rette og supplere i koden. \\ \hline
    1/3-2019 & I dag er gået med at læse på C++, mere konkret om klasser, objekter, metoder og nedarvning. \\ \hline
    4/3-2019 & I dag har jeg prøvet at få gang i kommunikationen mellem CCS (Code Composer Studio) og internetmodulet. Det har selvfølgelig ikke været lige ud af landevejen. Jeg har brugt det meste af dagen på at skrive nogle test funktioner, som kunne hjælpe mig med at debugge ift hvorfor jeg ikke får et svar retur, når jeg sender en kommando. Det viste sig, at ”hardware flow control” blev benyttet. Jeg kunne slå dette fra med en AT kommando, og nu er der hul igennem! Herfra vil jeg gennemgå funktioner og metoder, som indeholder AT kommandoer, og rette disse, så de rigtige kommandoer benyttet til dette nye modul. \\ \hline
    5/3-2019 & I dag har jeg fortsat arbejdet med programmet til produktet. Det er lykkes at sende en besked til serveren! Nu arbejdes der på at kunne læse en indkommende besked. \\ \hline
    6/3-2019 & Jeg har programmeret hele dagen. Der kan nu læses fra serveren, men beskeden bliver ikke gemt rigtigt. \\ \hline
    8/3-2019 & Både i går og i dag er desværre også gået med at finde ud af, hvorfor beskeder fra serveren ikke gemmes rigtigt. Frustrationen kan efterhånden mærkes. Om ikke andet er jeg blevet meget klogere hver dag jeg har arbejdet med det, så mon ikke jeg får problemet løst først i næste uge \\ \hline
    11/3-2019 & I dag har jeg fortsat debugget. Derudover har jeg sammen med en anden praktikant holdt møde med marketingschefen om virksomhedens struktur. Dette møde er blevet holdt for bedre at kunne beskrive virksomheden i praktikrapporten, og for personligt bedre at forstå virksomhedsopbygningen. \\ \hline
    12/3-2019 & Fortsat debugging. Jeg knokler med en stringparser, der driller mig. \\ \hline
    13/3-2019 & I dag var dagen, hvor jeg succesfuld sendte en besked til serveren, fik et svar retur, og kunne håndtere svaret korrekt! Fantastisk. Nu skal koden optimeres, før jeg går videre til at teste softwareupdatering. Der bliver brugt for-loops til at shifte i arrays, men jeg har nu gennemskuet hvordan jeg kan bruge de eksisterende metoder i stringparseren, for ikke at ”spilde” en masse clock cycles på at shifte i registrene. Dette skal implementeres, da det i sidste ende sparer strøm, hvilket er essentielt for produktet. \\ \hline
    14/3-2019 & I dag har jeg omstruktureret koden, så der bliver brugt mere strømbesparende metoder (metoder der bruger færrest muligt clock cycles). Jeg har omskrevet sendData funktionen, og er nu i gang med readData, som driller lidt, grundet beskedens header og tail, som der skal ses bort fra. \\ \hline
    15/3-2019 & I dag er der blevet debugget efter den omfattende omskrivning i går. Der opstår fejl ved modtagelse af svar fra serveren, alt op til da virker nu med effektive (læs: ikke storforbrugende af clock-cycles) metoder og funktioner \\ \hline
    18/3-2019 & Jeg har i dag prøvet at finde en metode til at håndtere de tre URC’s jeg får praktisk talt samtidig. Det er desværre ikke lykkedes helt, men jeg har en god idé til, hvad der skal ske, for at de bliver håndteret korrekt. \\ \hline
    22/3-2019 & De sidste dage har fortsat stået på omskrivning og debugging. Det virker nu, så der kan sendes og modtages beskeder til serveren. I næste uge skal der arbejdes på at kunne hente og installere softwareopdateringer ned på modulet fra FTP serveren. \\ \hline
    25/3-2019 & I dag har jeg forsøgt at indstille modulet til at ignorere indkommende opkald. Derudover har jeg klargjort mit oplæg til midtvejsseminaret, som jeg regner med kommer til at ligge på torsdag (28/3). \\ \hline
    26/3-2019 & I dag har jeg startet på opgaven med at downloade SW opdateringer fra FTP serveren. Formiddagen gik med at git pushe min kode samt at blive sat ind i den kode der relaterer sig til SW opdatering. Eftermiddagen er gået med at ændre i koden og at bestemme, hvilken tilgang der er bedst (altså hvilke AT-kommandoer, der bruges) \\ \hline
    27/3-2019 & I dag har jeg fundet ud af, hvor koden skal tilpasses for at oprette forbindelse til FTP serveren. Det er lykkedes (i Python), at downloade den korrekte SW updatering, men der sker en fejl når jeg forsøger at skrive den over til en fil på PC’en. Derudover har jeg gjort klar til midtvejsseminaret i morgen. \\ \hline
    28/3-2019 & Dagen har til dels stået på forberedelser op til midtvejsseminaret, som blev afholdt klokken 13. Kirsten blev sat ind i, hvad jeg laver i praktikken og der blev diskuteret mulighed for bachelorskrivning med virksomheden samt hvordan strukturen deraf ville være. Derudover har jeg været i kontakt med kundesupporten hos uBlox, angående spørgsmål om at skrive filer fra modulets lokale hukommelse til ud på UARTen, samt hvordan jeg helt slår muligheden for at modtage opkald fra, da det crasher koden, hvis der modtaget et opkald på et kritisk tidspunkt. Jeg har selv prøvet at løse problemet, og har i den forbindelse sørget for, at opkaldet bliver blokeret (afsenderen får ”opkald mislykkedes”), men modulet prioriterer stadig at håndtere opkaldet, hvilket gør at programmet stadig crasher. uBlox’ kundesupport vil vende tilbage med svar på mine spørgsmål snarest. \\ \hline
    29/3-2019 & Dagen er gået med prøve at løse gårdsdagens problemstillinger. \\ \hline
    1/4-2019 & Dagen er gået med at prøve at sætte mig ind i hvordan SW updateringer før er blevet flyttet fra det tidligere modul til MCUen, og hvordan det skal gøres anderledes med det nye modul. \\ \hline
    2/4-2019 & I dag har jeg været i kontakt med techsupport fra uBlox angående blokering af indkommende opkald. Jeg har i den forbindelse udført et par tests. Min teori er, at der ikke kan matches password, fordi PIN er slået fra fra udbyderens side. Derudover er jeg kommet i gang med at skrive koden til FTP download. \\ \hline
    3/4-2019 & I dag har jeg arbejdet på at downloade SW updates i produktkoden. Den downloader og gemmer filen lokalt på modemmet nu. Nu planlægger jeg hvordan filen skal flyttes fra modulet til MCU via UART, og så fra MCU til EEPROM via I2C \\ \hline
    4/4-2019 & Modulet kan nu downloade SW updates. Jeg har også fået løst problemet med, at man kunne ringe til modulet, og derved forstyrre flowet i produktkoden. Nu arbejder jeg på at få filen flyttet 128 bytes af gangen, hvilket sker via I2C fra MCU til EEPROM. \\ \hline
    5/4-2019 & I dag har jeg sloges med at finde på et scheme, der kan udføre datatransporten til EEPROM og samtidig kan integreres i den øvrige kodestruktur. \\ \hline
    8/4-2019 & I dag har jeg skrevet kode, der er i stand til at flytte data fra modulet, og over på MCUen. Det er en smule besværligt, da modulet sender en tåbeligt lang header med, når den sender en del af dataen på den, hvilket skal sorteres fra. \\ \hline
    9/4-2019 & Det er lykkedes at flytte dataen over på MCUen, så nu arbejder jeg på at få I2C til at fungere mellem MCU og EEPROM. \\ \hline
    10/4-2019 & I dag er det lykkedes at oprette I2C kommunikation mellem MCU og EEPROM! Det ser ud til, at det er lykkedes at lagre filen på EEPROMen. Dog kan jeg ikke være sikker, da jeg ikke endnu kan tilgå filen på EEPROMen. Derfor arbejder jeg nu med at finde en måde at læse ud af EEPROMen, så jeg kan sammenligne det, der ligger derpå, med den egentlige fil. \\ \hline
    11/4-2019 & Det lykkedes at skrive filen ud fra EEPROMen på UARTen, dog repræsenteret som uint8 værdier. Jeg har i dag arbejdet med at skrive et program i Python, som kan ”fange” disse uint8 værdier, konvertere dem til ASCII og skrive dem over i en .txt fil. Dog er det ikke lykkedes endnu. \\ \hline
    15/4-2019 & I dag er det lykkedes at konvertere til ASCII i Python, og skrive over i en .txt fil. Det ser ud som om, at filen er identisk med SW updateringen! I morgen skal jeg lige have fjernet de få fejlkarakterer, der bliver skrevet over i .txt filen, og sammenligne om det, jeg har lagret på EEPROMen er 100\% identisk med selve opdateringsfilen. \\ \hline
    16/4-2019 & I dag lykkedes det at få den korrekte fil ud af EEPROMen, så det er altså lykkedes at gemme SW updateringen korrekt. Da opgaven er løst og Peter er på ferie, bruger jeg resten af dagen og i morgen på at skrive rapport. \\ \hline
    17/4-2019 & Dagen er gået med rapportskrivning. \\ \hline
    23/4-2019 & Der ønskes i fremtiden at sammenligne den downloadede fil med originalen via et CRC-16 tjek. Derfor er jeg gået i gang med at undersøge mulighederne for at lave et CRC-16 med den benyttede MCU. \\ \hline
    24/4-2019 & Det viser sig, at MCUen understøtter CRC-16 standarden ”CRC-CCITT”. Derfor har jeg skrevet et program i Python, der kan lave et CRC med samme standard. Nu arbejder jeg på at få det til at virke på MCU’en, så CRC’erne kan sammenlignes, for at bekræfte at de arbejder på samme måde. \\ \hline
    25/4-2019 & Det viser sig, at ordet ”standard” bliver brugt i flæng. Der er nemlig ikke helt enighed om, hvilke parametre/betingelser/værdier, der bruges i CCITT ”standarden”. Jeg har fået MCUen til at beregne et CRC, men det stemmer ikke overens med det CRC, der beregnes i Python programmet. Derfor bokser jeg stadig med, at få de to programmer til at udregne samme CRC-16 værdi \\ \hline
    29/4-2019 & Dagen er fortsat gået med at prøve at få matchende CRC-16 værdier. Jeg er nået frem til, at der sker en fejl i forbindelse med CRC beregningen, da en enkelt hex-værdi konsistent bliver forkert repræsenteret, når der flyttes data fra internetmodulet. \\ \hline
    30/4-2019 & I dag er jeg kommet et skridt længere i mit eventyr for at få matchende CRC-16 værdier. Jeg fandt en fejl i koden, der parser data fra modulet til MCUen. Jeg havde lavet en hardcoding, som offsatte de sidste 8 bytes data med 1 bit, hvilket selvfølgelig ledte til forskellige CRC-16 værdier. Det er løst, men værdierne passer stadig ikke. Det ser ud til, at data ikke bliver parset korrekt igennem CRC-16 registrene på MCUen, så nu har jeg lavet en testkode, der (forhåbentlig) forsimpler processen med at generere en korrekt CRC-16 værdi \\ \hline
    1/5-2019 & I dag har jeg fortsat arbejdet med CRC-16 værdierne. Det er stadig ikke lykkedes at få dem til at matche, men jeg har læst en del på Texas Instruments forum, og har en plan for, hvad jeg vil forsøge i morgen. \\ \hline
    2/5-2019 & I dag er det lykkedes at få min testkode til at give det korrekte CRC! Jeg havde lavet en fejl i min konvertering mellem variabeltyper, der gjorde at 8bit værdier blev læst som 16bit værdier. Nu arbejder jeg på at få CRC-et implementeret i den øvrige kode. \\
    \end{xltabular}
\end{document}
And please, next time try to make a real Infominimal working example.
Sorry, but I can no longer participate here as the administrator is trampling on my wishes on one of his other platforms. :cry:
busken
Posts: 2
Joined: Fri May 03, 2019 1:42 pm

[Help needed] Text exceeds langtable boundaries

Post by busken »

Ijon Tichy wrote:Unfortunately you have not posted a Infominimal working example, but only a code snippet. To it is hard to reproduce the result of the image. However, there are several issues with you example:
  • LaTeX adds a column separation of \tabcolsep before and after each column. (In the inner {tabular} environments you've removed this before and after the column using @{} in the column declaration, but you must not do the same for the outer {longtable} as you are using vertical lines that are placed at this space). So [cmd]tabcolsep[/cmd]+0.10[cmd]textwidth[/cmd]+2[cmd]tabcolsep[/cmd]+0.90[cmd]textwidth[/cmd]+[cmd]tabcolsep[/cmd] a greater than \textwidth. Because of this, the {longtable} is wider than the text area.
  • Each cell of the right column of the {longtable} uses a {tabular} with the column declaration @{}c@{}. There is no automatic line break in c-columns. So the inner {tabular} environments exceed the outer {longtable} cell.
To avoid the first issue, you should reduce the width of the columns, e.g. use \begin{longtable}{|p{\dimexpr .1\textwidth-2\tabcolsep\relax}|p{\dimexpr .9\textwidth-2\tabcolsep\relax}|}. However I would recommend to use xltabular, make the left column a l-column and the right column a X-column.

To avoid the second issue, you could use [cmd]begin[/cmd][env]tabular[/env][c]{@{}p{\hsize}@{}} for the inner {tabular} environments. However I would recommend to remove the inner {tabular} environments and replace the column type of the X-columns by m.

Code: Select all

\documentclass{article}
\usepackage[danish]{babel}
\usepackage{xltabular}% combination of longtable and tabularx
\usepackage{showframe}% To see the size of several elements like the text area.

\renewcommand*{\tabularxcolumn}[1]{m{#1}}% use vertical centered columns for X-columns

\begin{document}
\begin{xltabular}{\textwidth}{|l|X|}
  \caption{Table caption}
  \label{tab:my-table}\\
  \hline
  \textbf{Dato} & \textbf{Bemærkning} \\ \hline
  \endfirsthead
  \hline
  \textbf{Dato} & \textbf{Bemærkning} \\ \hline
  \endhead
  \hline
  \endfoot
    1/2-2019 & Første dag i praktik. Jeg er blevet introduceret til min praktikvejleder. Vi holdt et møde, der omhandlede de opgaver, de forestillede sig at jeg skulle hjælpe med, og hvordan situationen med produktet (level sensor) så ud lige nu. I første omgang skal der bruges et nyt kommunikationsmodul til sensorapparatet. Der ønskes et alternativ til det nuværende 3G, da 3G er på vej til at lukke i Norge, hvor man gerne vil ind på markedet. Jeg har undersøgt alternative kommunikationsmoduler, ud fra kravet om, at de skal være så strømbesparende som muligt. \\ \hline
    4/2-2019 & I dag har jeg fortsat søgt efter kommunikationsmoduler. Der er blevet bestilt hhv: en SARA-N2, en SARA-N4 og en LARA-R2. Disse skal undersøges for, hvilken der virker bedst til det kommende produkt. Derudover ønsker virksomheden af få erfaring med at bruge NB-IoT, hvilket der derfor også skal eksperimenteres med. Efter bestilling af moduler har jeg samlet de kendte værdier fra databladene, og lavet et Excel-ark. Dette skal bruges til at teste forskellige Use Cases, når modulerne ankommer.  Derudover har jeg i dag læst op på forskellige modes, som skal bruges for at modulet er så strømbesparende som muligt (LTE eDRX \& LTE PSM). \\ \hline
    5/2-2019 & For at færdiggøre Use Case regnearket, har jeg brug for at måle strømme på modulerne. Derfor kan jeg ikke komme længere, før disse ankommer. Der er et ønske om at benytte Python til opsætning af det kommende kommunikationsmodul. Derfor har jeg brugt dagen på at sætte mig ind i Python og skrive små programmer for øvelses skyld \\ \hline
    6/2-2019 & Dagen er desværre mest gået med IT problemstillinger. Da der kom styr på disse har jeg opsat Git, hentet koden til de tidligere modeller ned, og er kommet i gang med at gennemgå denne. Dette er gjort med henblik på at være bedst muligt forberedt, når de nye moduler kommer hjem. Der er rigeligt med kode der kan gennemlæses, så det er min plan indtil modulet kommer hjem. \\ \hline
    7/2-2019 & I dag har jeg fortsat lavet code review. Modulerne med tilhørende evalueringsboards kom hjem lige omkring middag. Jeg har brugt dagen på at bokse med IT i forbindelse med at skulle installerer hjælpeprogrammer til evalueringsboardet, og på at prøve at kommunikere med modulet.  Det lykkedes sidst på dagen at kommunikere via UART med modulet. Næste udfordring er at oprette et ”dial-up modem” på computeren, som virker med modulet. \\ \hline
    8/2-2019 & I dag har jeg fortsat kæmpet med dial-up modemmet. Det skulle egentlig blot bruges til at bekræfte, at der kunne opnås internetforbindelse via SIM kortet på modulet. Det viste sig at jeg ikke blot kunne oprette et modem fra min PC, sandsynligvis grundet IT sikkerheden på stedet. Jeg blev bedt om at prøve at få internetforbindelse via AT-kommandoer (igennem programmet m-center, der følger med evaluering kittet). Dette lykkedes én gang, hvorefter forbindelsen hurtigt blev tabt. Det lykkedes mig ikke at få den oprettet igen \\ \hline
    11/2-2019 & Formiddagen gik med fortsat at forsøge at oprette en forbindelse via AT-kommandoer. Jeg tog kontakt til udbyderen af SIM kortet, der forklarede mig følgende: Første gang der blev oprettet forbindelse til netværket, blev enheden registreret herpå. Enheden bruger M1 båndet, hvilket (åbenbart) er anderledes fra de frekvensbånd, der bruges i Danmark. Derfor blev jeg smidt af netværket hurtigt efter forbindelsen blev oprettet, og kunne siden ikke genetablere forbindelsen, fordi netværket husker enheden, og ikke giver den lov. Det betyder at internet-modul-projektet igen er på stand-by, indtil det andet kit kommer (der operere på ”danske” frekvenser). Jeg er derfor gået i gang med at undersøge, hvilken ny MCU der kan benyttes til ultralydssensoren, ud fra nogle krav fra min praktikvejleder. \\ \hline
    12/2-2019 & Formiddagen er gået med fortsat at undersøge mulige MCU’er. Der blev truffet en beslutning, og et par forskellige er bestilt hjem med tilhørende evalueringsboards. I dag modtog vi evalueringsboard til 4g modulet (LARA-R211), så jeg har siden middag forsøgt at få den til at oprette forbindelse til FTP serveren. \\ \hline
    13/2-2019 & I dag har jeg fortsat arbejdet på at oprette forbindelse til FTP serveren. Efter lang tids makkeri lykkedes det endelig at få forbindelse –Der var åbenbart noget obligatorisk opsætning, jeg ikke havde fået konfigureret, hvilket ledte til at jeg ikke kunne oprette forbindelse. Resten af dagen gik med at prøve at lave et Python script, der kan sende de nødvendige AT kommandoer, for at oprette forbindelsen, så det kan gøres uden brug af u-blox software (m-center 2.0). Det har været noget bøvl, fordi jeg ikke kunne få easy install (PIP) til at virke ift installation af Python moduler. Jeg endte med at installere det nødvendige modul (serial) manuelt. \\ \hline
    14/2-2019 & I dag har jeg brugt hele dagen på at skrive et Python script til at logge modulet på FTP serveren. Langsom start, eftersom jeg lige skulle i gang med Python, men jeg blev næsten færdig. \\ \hline
    15/2-2019 & I dag er det lykkedes at logge på FTP server, downloade fil og skrive den ud til en .txt fil på computeren. Nu mangler jeg blot at få den til at skrive 128 bytes af gangen, for at kunne simulere hvordan det vil fungere i det færdige produkt. \\ \hline
    18/2-2019 & I dag har jeg løst problemet med at skrive 128 bytes af gangen. Der opstod et andet problem, nemlig at jeg ud over filen også fik indlæst en URC når modulet læser en intern fil. Denne URC skal selvfølgelig ikke skrives videre, hvorfor den er blevet sorteret ud af strengen, inden denne skrives videre. Jeg er nu gået i gang med at undersøge hvordan modulet autonomt kommunikere med serveren, og prøve at sætte en dummy client op, så der kan testes strømforbrug under forskellige use cases. \\ \hline
    19/2-2019 & … Der var lige et skridt mere, inden autonom kommunikation kan opnås. Jeg har i dag sammenflettet min egen kode med noget af Peters (praktikvejleder), der laver den pakke (besked), der skal sendes til serveren fra modulet. Jeg har succesfuldt kommunikeret med serveren via et Python scribt, men er nu i gang med at udvikle scriptet, så kommunikationen går igennem modulet, og ikke computeren. Jeg har fået oprettet en UDP socket via AT kommandoer, men får en error, når jeg prøver at sende en besked til serveren. \\ \hline
    20/2-2019 & Så kom der styr på den error. Python programmet er som sådan færdigt nu. Nu er planen at jeg skal kommunikere: PC \textgreater UART på PCBA \textgreater LARA-R211 (internetmodulet). Der skal altså ikke være direkte forbindelse mellem modulet og pc’en. I den forbindelse har jeg kigget på schematics af evalueringsboarded, for at finde ud af hvordan jeg kunne skabe forbindelse til modulets UART (RX og TX). Efter en tur i dokumentationen fandt jeg de korrekte pins at forbinde til. Derefter kiggede jeg schematics af PCBA’et, for at finde ud af, hvor jeg skulle forbinde UART’en til. I morgen tidlig skal der loddes et par ledninger, hvorefter der kan blive testet kommunikation mellem modulet og PCBA’et (nærmere den MCU der styre PCBA’et) \\ \hline
    21/2-2019 & Jeg havde nok undervurderet, hvor småt det der skulle loddes var. Det tog i hvert fald længere end forventet. Om ikke andet er der nu skabt UART forbindelse mellem MCU og modem, og forbindelse mellem PC og MCU. Nu skal der så ”hackes” i kredsløbet, og lade kommunikationen fra MCUen gå hen til det nye modul, i stedet for det, der er monteret på testprintet (som jo altså er et 3G modul). Det krævede en smule planlægning og studering af schematics. \\ \hline
    22/2-2019 & Nu er alt hardware sat op som det skulle. Dagen er gået med at kigge den (omfattende) kode, jeg er blevet givet, igennem, samt opsætning af programmer til at monitorere kommunikationen. \\ \hline
    25/2-2019 & I dag er jeg blevet inviteret ud for at se de forskellige produktionsafdelinger, som Poul Tarp A/S har i omegnen. Det var ikke synderlig relevant for min tekniske opgave, men interessant og med til at give en forståelse af, hvad virksomheden har af forskellige afdelinger – Og hvor omfattende de er. Da jeg kom tilbage brugte jeg resten af dagen på at omskrive kode så den passer til det nye 4G modul. Sidst på dagen er der blevet bokset med build errors, i forbindelse med at bygge projektet første gang fra min egen arbejdscomputer. \\ \hline
    26/2-2019 & Dagen er desværre fortsat gået med at prøve at fikse build errors. Det er et omfattende program, så der er nok at gennemgå for fejl. Jeg kan ikke regne ud, hvad der giver disse build errors, men jeg har en mistanke om, at jeg måske mangler at installere et library. Peter er ude af huset, så han har ikke kunne hjælpe mig. I går fortalte han, at der var nogle opsætningsindstillinger, der skulle sættes. Jeg har selv forsøgt at finde noget, men forgæves. Til gengæld har jeg brugt lidt af dagen på at forberede møde med salgschefen omkring virksomhedens struktur. Mødet skal finde sted først i næste uge \\ \hline
    27/2-2019 & Dagen gik med debugging af program. Der skulle ekskluderes nogle filer i projektet, for at fjerne en del compile errors. Problemet er nu, at programmet ”hænger”, når der forsøges at compile. Det viste sig at antivirussen på netværket bremsede kompilationen. IT medarbejderen, der står for antivirussen er desværre ude af huset i dag, hvilket umuliggjorde løsning af mit problem. Jeg brugte derfor eftermiddagen på at skrive lidt på min praktikrapport. \\ \hline
    28/2-2019 & Så fik jeg IT til at undtage de relevante programmer fra antivirussen. Nu kan der compiles! Jeg har desværre i dag måtte erkende, at jeg ikke kan overskue koden, og er derfor gået i gang med at læse op på C++, for at have en idé om, hvordan jeg mest effektivt kan rette og supplere i koden. \\ \hline
    1/3-2019 & I dag er gået med at læse på C++, mere konkret om klasser, objekter, metoder og nedarvning. \\ \hline
    4/3-2019 & I dag har jeg prøvet at få gang i kommunikationen mellem CCS (Code Composer Studio) og internetmodulet. Det har selvfølgelig ikke været lige ud af landevejen. Jeg har brugt det meste af dagen på at skrive nogle test funktioner, som kunne hjælpe mig med at debugge ift hvorfor jeg ikke får et svar retur, når jeg sender en kommando. Det viste sig, at ”hardware flow control” blev benyttet. Jeg kunne slå dette fra med en AT kommando, og nu er der hul igennem! Herfra vil jeg gennemgå funktioner og metoder, som indeholder AT kommandoer, og rette disse, så de rigtige kommandoer benyttet til dette nye modul. \\ \hline
    5/3-2019 & I dag har jeg fortsat arbejdet med programmet til produktet. Det er lykkes at sende en besked til serveren! Nu arbejdes der på at kunne læse en indkommende besked. \\ \hline
    6/3-2019 & Jeg har programmeret hele dagen. Der kan nu læses fra serveren, men beskeden bliver ikke gemt rigtigt. \\ \hline
    8/3-2019 & Både i går og i dag er desværre også gået med at finde ud af, hvorfor beskeder fra serveren ikke gemmes rigtigt. Frustrationen kan efterhånden mærkes. Om ikke andet er jeg blevet meget klogere hver dag jeg har arbejdet med det, så mon ikke jeg får problemet løst først i næste uge \\ \hline
    11/3-2019 & I dag har jeg fortsat debugget. Derudover har jeg sammen med en anden praktikant holdt møde med marketingschefen om virksomhedens struktur. Dette møde er blevet holdt for bedre at kunne beskrive virksomheden i praktikrapporten, og for personligt bedre at forstå virksomhedsopbygningen. \\ \hline
    12/3-2019 & Fortsat debugging. Jeg knokler med en stringparser, der driller mig. \\ \hline
    13/3-2019 & I dag var dagen, hvor jeg succesfuld sendte en besked til serveren, fik et svar retur, og kunne håndtere svaret korrekt! Fantastisk. Nu skal koden optimeres, før jeg går videre til at teste softwareupdatering. Der bliver brugt for-loops til at shifte i arrays, men jeg har nu gennemskuet hvordan jeg kan bruge de eksisterende metoder i stringparseren, for ikke at ”spilde” en masse clock cycles på at shifte i registrene. Dette skal implementeres, da det i sidste ende sparer strøm, hvilket er essentielt for produktet. \\ \hline
    14/3-2019 & I dag har jeg omstruktureret koden, så der bliver brugt mere strømbesparende metoder (metoder der bruger færrest muligt clock cycles). Jeg har omskrevet sendData funktionen, og er nu i gang med readData, som driller lidt, grundet beskedens header og tail, som der skal ses bort fra. \\ \hline
    15/3-2019 & I dag er der blevet debugget efter den omfattende omskrivning i går. Der opstår fejl ved modtagelse af svar fra serveren, alt op til da virker nu med effektive (læs: ikke storforbrugende af clock-cycles) metoder og funktioner \\ \hline
    18/3-2019 & Jeg har i dag prøvet at finde en metode til at håndtere de tre URC’s jeg får praktisk talt samtidig. Det er desværre ikke lykkedes helt, men jeg har en god idé til, hvad der skal ske, for at de bliver håndteret korrekt. \\ \hline
    22/3-2019 & De sidste dage har fortsat stået på omskrivning og debugging. Det virker nu, så der kan sendes og modtages beskeder til serveren. I næste uge skal der arbejdes på at kunne hente og installere softwareopdateringer ned på modulet fra FTP serveren. \\ \hline
    25/3-2019 & I dag har jeg forsøgt at indstille modulet til at ignorere indkommende opkald. Derudover har jeg klargjort mit oplæg til midtvejsseminaret, som jeg regner med kommer til at ligge på torsdag (28/3). \\ \hline
    26/3-2019 & I dag har jeg startet på opgaven med at downloade SW opdateringer fra FTP serveren. Formiddagen gik med at git pushe min kode samt at blive sat ind i den kode der relaterer sig til SW opdatering. Eftermiddagen er gået med at ændre i koden og at bestemme, hvilken tilgang der er bedst (altså hvilke AT-kommandoer, der bruges) \\ \hline
    27/3-2019 & I dag har jeg fundet ud af, hvor koden skal tilpasses for at oprette forbindelse til FTP serveren. Det er lykkedes (i Python), at downloade den korrekte SW updatering, men der sker en fejl når jeg forsøger at skrive den over til en fil på PC’en. Derudover har jeg gjort klar til midtvejsseminaret i morgen. \\ \hline
    28/3-2019 & Dagen har til dels stået på forberedelser op til midtvejsseminaret, som blev afholdt klokken 13. Kirsten blev sat ind i, hvad jeg laver i praktikken og der blev diskuteret mulighed for bachelorskrivning med virksomheden samt hvordan strukturen deraf ville være. Derudover har jeg været i kontakt med kundesupporten hos uBlox, angående spørgsmål om at skrive filer fra modulets lokale hukommelse til ud på UARTen, samt hvordan jeg helt slår muligheden for at modtage opkald fra, da det crasher koden, hvis der modtaget et opkald på et kritisk tidspunkt. Jeg har selv prøvet at løse problemet, og har i den forbindelse sørget for, at opkaldet bliver blokeret (afsenderen får ”opkald mislykkedes”), men modulet prioriterer stadig at håndtere opkaldet, hvilket gør at programmet stadig crasher. uBlox’ kundesupport vil vende tilbage med svar på mine spørgsmål snarest. \\ \hline
    29/3-2019 & Dagen er gået med prøve at løse gårdsdagens problemstillinger. \\ \hline
    1/4-2019 & Dagen er gået med at prøve at sætte mig ind i hvordan SW updateringer før er blevet flyttet fra det tidligere modul til MCUen, og hvordan det skal gøres anderledes med det nye modul. \\ \hline
    2/4-2019 & I dag har jeg været i kontakt med techsupport fra uBlox angående blokering af indkommende opkald. Jeg har i den forbindelse udført et par tests. Min teori er, at der ikke kan matches password, fordi PIN er slået fra fra udbyderens side. Derudover er jeg kommet i gang med at skrive koden til FTP download. \\ \hline
    3/4-2019 & I dag har jeg arbejdet på at downloade SW updates i produktkoden. Den downloader og gemmer filen lokalt på modemmet nu. Nu planlægger jeg hvordan filen skal flyttes fra modulet til MCU via UART, og så fra MCU til EEPROM via I2C \\ \hline
    4/4-2019 & Modulet kan nu downloade SW updates. Jeg har også fået løst problemet med, at man kunne ringe til modulet, og derved forstyrre flowet i produktkoden. Nu arbejder jeg på at få filen flyttet 128 bytes af gangen, hvilket sker via I2C fra MCU til EEPROM. \\ \hline
    5/4-2019 & I dag har jeg sloges med at finde på et scheme, der kan udføre datatransporten til EEPROM og samtidig kan integreres i den øvrige kodestruktur. \\ \hline
    8/4-2019 & I dag har jeg skrevet kode, der er i stand til at flytte data fra modulet, og over på MCUen. Det er en smule besværligt, da modulet sender en tåbeligt lang header med, når den sender en del af dataen på den, hvilket skal sorteres fra. \\ \hline
    9/4-2019 & Det er lykkedes at flytte dataen over på MCUen, så nu arbejder jeg på at få I2C til at fungere mellem MCU og EEPROM. \\ \hline
    10/4-2019 & I dag er det lykkedes at oprette I2C kommunikation mellem MCU og EEPROM! Det ser ud til, at det er lykkedes at lagre filen på EEPROMen. Dog kan jeg ikke være sikker, da jeg ikke endnu kan tilgå filen på EEPROMen. Derfor arbejder jeg nu med at finde en måde at læse ud af EEPROMen, så jeg kan sammenligne det, der ligger derpå, med den egentlige fil. \\ \hline
    11/4-2019 & Det lykkedes at skrive filen ud fra EEPROMen på UARTen, dog repræsenteret som uint8 værdier. Jeg har i dag arbejdet med at skrive et program i Python, som kan ”fange” disse uint8 værdier, konvertere dem til ASCII og skrive dem over i en .txt fil. Dog er det ikke lykkedes endnu. \\ \hline
    15/4-2019 & I dag er det lykkedes at konvertere til ASCII i Python, og skrive over i en .txt fil. Det ser ud som om, at filen er identisk med SW updateringen! I morgen skal jeg lige have fjernet de få fejlkarakterer, der bliver skrevet over i .txt filen, og sammenligne om det, jeg har lagret på EEPROMen er 100\% identisk med selve opdateringsfilen. \\ \hline
    16/4-2019 & I dag lykkedes det at få den korrekte fil ud af EEPROMen, så det er altså lykkedes at gemme SW updateringen korrekt. Da opgaven er løst og Peter er på ferie, bruger jeg resten af dagen og i morgen på at skrive rapport. \\ \hline
    17/4-2019 & Dagen er gået med rapportskrivning. \\ \hline
    23/4-2019 & Der ønskes i fremtiden at sammenligne den downloadede fil med originalen via et CRC-16 tjek. Derfor er jeg gået i gang med at undersøge mulighederne for at lave et CRC-16 med den benyttede MCU. \\ \hline
    24/4-2019 & Det viser sig, at MCUen understøtter CRC-16 standarden ”CRC-CCITT”. Derfor har jeg skrevet et program i Python, der kan lave et CRC med samme standard. Nu arbejder jeg på at få det til at virke på MCU’en, så CRC’erne kan sammenlignes, for at bekræfte at de arbejder på samme måde. \\ \hline
    25/4-2019 & Det viser sig, at ordet ”standard” bliver brugt i flæng. Der er nemlig ikke helt enighed om, hvilke parametre/betingelser/værdier, der bruges i CCITT ”standarden”. Jeg har fået MCUen til at beregne et CRC, men det stemmer ikke overens med det CRC, der beregnes i Python programmet. Derfor bokser jeg stadig med, at få de to programmer til at udregne samme CRC-16 værdi \\ \hline
    29/4-2019 & Dagen er fortsat gået med at prøve at få matchende CRC-16 værdier. Jeg er nået frem til, at der sker en fejl i forbindelse med CRC beregningen, da en enkelt hex-værdi konsistent bliver forkert repræsenteret, når der flyttes data fra internetmodulet. \\ \hline
    30/4-2019 & I dag er jeg kommet et skridt længere i mit eventyr for at få matchende CRC-16 værdier. Jeg fandt en fejl i koden, der parser data fra modulet til MCUen. Jeg havde lavet en hardcoding, som offsatte de sidste 8 bytes data med 1 bit, hvilket selvfølgelig ledte til forskellige CRC-16 værdier. Det er løst, men værdierne passer stadig ikke. Det ser ud til, at data ikke bliver parset korrekt igennem CRC-16 registrene på MCUen, så nu har jeg lavet en testkode, der (forhåbentlig) forsimpler processen med at generere en korrekt CRC-16 værdi \\ \hline
    1/5-2019 & I dag har jeg fortsat arbejdet med CRC-16 værdierne. Det er stadig ikke lykkedes at få dem til at matche, men jeg har læst en del på Texas Instruments forum, og har en plan for, hvad jeg vil forsøge i morgen. \\ \hline
    2/5-2019 & I dag er det lykkedes at få min testkode til at give det korrekte CRC! Jeg havde lavet en fejl i min konvertering mellem variabeltyper, der gjorde at 8bit værdier blev læst som 16bit værdier. Nu arbejder jeg på at få CRC-et implementeret i den øvrige kode. \\
    \end{xltabular}
\end{document}
And please, next time try to make a real Infominimal working example.
Thanks a lot! This really helped me. And yes, sorry. I will try to make a working example next time.
Post Reply