wetzoeker

8.15 — Selecteer volgende DailyRecord Regeling specificaties en typegoedkeuring boordcomputer taxi

Selecteer volgende DailyRecord

Naam | SelectNextDailyRecord

Gebruik | Chauffeurskaart

Input gegevens | CurrentDailyRecordPointer (bereik ‘00 14’H t/m (Length_EF.Driver_Activitiy_Data – 1)) PointerLastDayRecord

Resultaat | DailyRecordPointer || ‘90 00’H OK ‘xx xx’H Foutcode van een van de gebruikte commando’s, afhankelijk van de implementatie

Hiervoor moeten de volgende stappen doorlopen worden:

1. Indien EF.Driver_Activity_Data nog niet geselecteerd is, 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. Indien PointerLastDayRecord niet was meegegeven als inputgegeven, lees dan PointerLastDayRecord met het commando Read Binary met offset = 2 en het verwachte aantal bytes in de respons 2.

3. Als CurrentDailyRecordPointer gelijk is aan PointerLastDayRecord, dan is de geselecteerde DailyRecord de laatste (meest recente) en is er geen volgende DailyRecord aanwezig. Breek dan deze functie af.

4. Zet Pointer_1 = CurrentDailyRecordPointer om de pointer naar DayRecordLength te verkrijgen.

5. Als Pointer_1 precies gelijk is aan (Length_EF.Driver_Activity_Data – 1), dan staat de MSB van DayRecordLength in de laatste byte van EF.Driver_Activity_Data en de LSB op positie ‘00 14’H (20). Voer dan twee keer het commando Read Binary uit met het verwachte aantal bytes in de response gelijk aan 1; één keer met offset = (Length_EF.Driver_Activity_Data – 1) voor Length_1_MSB en één keer met offset = 20 (‘00 14’H) voor Length_1_LSB. Bereken dan DayRecordLength = 256 x Length_1_MSB + Length_1_LSB.

6. Als ‘00 14’H <= Pointer_1 < (Length_EF.Driver_Activity_Data – 1) is, dan kan DayRecordLength in één keer worden uitgelezen met het commando Read Binary met offset = Pointer_1 en het verwachte aantal bytes in de response 2.

7. Bereken nu voorlopig Pointer_2 = CurrentDailyRecordPointer + DayRecordLength.

8. Als Pointer_2 >= Length_EF.Driver_Activity_Data herbereken dan de positie met de formule: Pointer_2 = (Pointer_2 modulo Length_EF.Driver_Activity_Data) + ‘00 14’H (20)

9. Geef nu de gevraagde DailyRecordPointer = Pointer_2 terug.

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