wetzoeker

5.3 — Algemene opmerkingen bij lezen en schrijven naar EF.Driver_Activity_Data Regeling specificaties en typegoedkeuring boordcomputer taxi

Algemene opmerkingen bij lezen en schrijven naar EF.Driver_Activity_Data

Bij lees- en schrijfacties (Read Binary en Update Binary) dient met de volgende punten rekening te worden gehouden:

1. EF.Driver_Activity_Data kan records bevatten vanaf positie ‘00 14’H tot aan het eind (Length_EF.Driver_Activity_Data). De eerste 20 bytes van EF.Driver_Activity_Data worden in beslag genomen worden door twee 16-bits pointers en een 16-bytes veld voor het chauffeurskaartnummer.

2. Wanneer er voor een toevoeging niet meer voldoende ruimte aan het eind van EF.Driver_Activity_Data is, wordt eerst de resterende ruimte benut en daarna gaat het toevoegen verder vanaf het begin van de EF.Driver_Activity_Data. Dit is dan vanaf positie ‘00 14’H.

3. De lengte van een te lezen of te schrijven record kan nooit langer zijn dan Length_EF.Driver_Activity_Data – 20 (‘14’H).

4. De offset bij een Read Binary of Update Binary (Pointer_1) moet kleiner zijn dan Length_EF.Driver_Activity_Data. Indien dit niet het geval is, moet de offset vervangen worden door de Pointer_1 – Length_EF.Driver_Activity_Data + 20 (‘14’H).

5. Indien bij een Read Binary de offset (Pointer_1) + het verwachte aantal bytes in de response (Length_1) groter is dan Length_EF.Driver_Activity_Data, dan moet de Read Binary in tweeën gesplitst worden: 1 Read Binary tot aan het eind van EF.Driver_Activity_Data en 1 Read Binary vanaf positie ‘00 14’H tot aan Pointer_1 + Length_1 – Length_EF.Driver_Activity_Data + 20 (‘14’H).

6. Indien bij een Update Binary de offset (Pointer_1) + het aantal weg te schrijven bytes (Length_1) groter is dan Length_EF.Driver_Activity_Data, dan moet de Update Binary in tweeën gesplitst worden: 1 Update Binary tot aan het eind van EF.Driver_Activity_Data en 1 Update Binary vanaf positie ‘00 14’H tot aan Pointer_1 + Length_1 – Length_EF.Driver_Activity_Data + 20 (‘14’H).

7. Bij een Update Binary bestaat de mogelijkheid dat de oudste dagregistratie overschreven wordt. Dit is het geval wanneer data voorbij PointerOldestDayRecord geschreven zou worden. Hier moet dus bij iedere schrijfactie op getest worden.

Om te voorkomen dat voorbij PointerOldestDayRecord geschreven wordt, moet het oudste DailyRecord weggehaald worden.

Dit wordt op de volgende manier gedaan:

1. PointerOldestDayRecord wijst naar het oudste DailyRecord. In dit DailyRecord staat de lengte van dit record (DayRecordLength). Uit deze pointer en lengte kan de positie van het volgende DailyRecord bepaald worden.

2. In dit volgende DailyRecord wordt de PreviousDayRecordLength op ‘00 00’H gezet.

3. PointerOldestDayRecord wordt op de positie van dit volgende DailyRecord gezet.

4. Wanneer er nog niet genoeg ruimte is voor de toevoeging, moeten de bovenstaande punten herhaald worden.

Regeling
Regeling specificaties en typegoedkeuring boordcomputer taxi
Soort
Ministeriële regeling
Geldend vanaf
19-12-2020
BWB-id
BWBR0027945
Versie
2020-12-19_0

In de hele regeling · Officiële tekst op wetten.overheid.nl