wetzoeker

8.17 — Controleer EF.Driver_Activity_Data structuur Regeling specificaties en typegoedkeuring boordcomputer taxi

Controleer EF.Driver_Activity_Data structuur

Naam | CheckEFDriverActivityStructure

Gebruik | Chauffeurskaart

Input gegevens | Geen

Resultaat | 00 OK 01 Invalid Pointer Value 02 Wrong Length 03 Length Not Matching 04 Record Not Closed 05 Invalid PW Pointer 06 DayRecordLength Wrong 07 DriverCardNumber was overwritten

Hiervoor moeten de volgende stappen doorlopen worden:

1. Selecteer EF.Driver_Activity_Data met het commando Select met P1P2 = ‘04 0C’H en data = ‘E8 28 BD 08 0F A0 00 00 01 67 45 53 49 47 4E’H, gevolgd door het commando Select met P1P2 = ‘02 0C’H en data = ‘44 01’H.

2. Lees PointerOldestDayRecord en PointerLastDayRecord.

3. Controleer:

20 (‘00 14’H) <= PointerOldestDayRecord < Length_EF.Driver_Activity_Data of

PointerOldestDayRecord == 0.

Wanneer dit niet het geval is, geef dan “Invalid Pointer Value” terug.

4. Controleer:

20 (‘00 14’H) <= PointerLastDayRecord < Length_EF.Driver_Activity_Data of

PointerLastDayRecord == 0.

Wanneer dit niet het geval is, geef dan “Invalid Pointer Value” terug.

5. Controleer of DriverCardNumber gelijk is aan de eerste 20 bytes (karakters) van het subject.SerialNumber van het authenticiteitcertificaat.

Wanneer dit niet het geval is, geef dan “DriverCardNumber was overwritten” terug (en herstel de fout).

6. Controleer de DailyRecord structuur (voorwaarts):

a. Ga met de PointerOldestDayRecord naar de oudste DailyRecord.

b. Controleer of PreviousDayRecordLength = ‘00 00’H.

Wanneer dit niet het geval is, geef dan “Wrong Length” terug.

c. Bepaal mbv de DayRecordLength de positie van het volgende DailyRecord.

d. Controleer of de PreviousDayRecordLength in dit record gelijk is aan de DayRecordLength van het vorige record.

Wanneer dit niet het geval is, geef dan “Length Not Matching” terug.

e. Herhaal de vorige 2 punten totdat

– het beginpunt van een record gelijk is aan PointerLastDayRecord, of

– de referenties DayRecordLength/PreviousDayRecordLength niet meer kloppen. Beschouw dan het DailyRecord waar dit nog wel correct was als laatste record. Pas in dit geval ook de PointerLastDayRecord aan.

7. Controleer de DailyRecord structuur (terugwaarts):

a. Ga met de PointerLastDayRecord naar de laatste DailyRecord.

b. Bepaal mbv de PreviousDayRecordLength de positie van het vorige DailyRecord.

c. Controleer of de DayRecordLength in dit record gelijk is aan de PreviousDayRecordLength van het volgende record.

Wanneer dit niet het geval is, geef dan “Length Not Matching” terug.

d. Herhaal de vorige 2 punten totdat

– het beginpunt van een record gelijk is aan PointerOldestDayRecord, of

– de referenties DayRecordLength/PreviousDayRecordLength niet meer kloppen.

In het eerste geval moet de PreviousDayRecordLength = ‘00 00’H. Wanneer dit niet het geval is, geef dan “Wrong Length” terug.

Beschouw in het tweede geval het DailyRecord waar dit nog wel correct was als oudste record. Pas in dat geval ook PointerOldestDayRecord en PreviousDayRecordLength aan.

8. Controleer de laatste DailyRecord:

a. Ga met de PointerLastDayRecord naar de laatste DailyRecord.

b. Ga naar het eerste SessionRecord in het DailyRecord (PointerLastDayRecord + 10).

c. Controleer of dit SessionRecord het laatste is door de beginpositie hiervan te vergelijken met de PointerLastSessionRecord.

d. Is dit niet het laatste SessionRecord, controleer dan met PointerLastActivityRecord of de laatste activiteit een “Afsluiting” of een “Dagovergang” is. Is dit niet het geval, geef dan ”Record Not Closed” terug.

Ga met behulp van PointerLastActivityRecord + de lengte van de laatste activiteit naar het volgende SessionRecord en herhaal het vorige punt.

e. Controleer in het laatste SessionRecord of de PointerLastPWActivityRecord verwijst naar een “Start pauze” of “Start werk” activiteit.

Is dit niet het geval, geef dan een “Invalid PW Pointer” terug.

f. Controleer of de lengte van alle SessionRecords in dit DailyRecord samen gelijk is aan de DayRecordLength – 10.

Is dit niet het geval, geef dan “DayRecordLength Wrong” terug.

9. Bij alle controles en leesacties moet rekening gehouden worden met de lengte van EF.Driver_Activity_Data.

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