wetzoeker

8.16 — Lees huidige / geselecteerde DailyRecord Regeling specificaties en typegoedkeuring boordcomputer taxi

Lees huidige / geselecteerde DailyRecord

Naam | ReadSelectedDailyRecord

Gebruik | Chauffeurskaart

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

Resultaat | Data || ‘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. Zet Pointer_1 = CurrentDailyRecordPointer om de pointer naar DayRecordLength te verkrijgen.

3. 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.

4. 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.

5. Onthou de DayRecordLength nu voorlopig als Length_1.

6. Voer Read Binary commando’s uit tot Length_1 bytes gelezen zijn. Per Read Binary kan een maximaal aantal bytes gelezen worden. Dit maximum is van een aantal factoren afhankelijk (zie referentie [7]) en wordt hier max_read genoemd. De eerste Read Binary heeft als offset Pointer_1 en het verwachte aantal bytes ‘00’H (in het geval dat Length_1 < max_read, dan wordt het verwachte aantal bytes Length_1). Voor iedere volgende Read Binary wordt de offset met max_read verhoogd. Het verwachte aantal bytes in de response is ‘00’H, behalve bij de laatste Read Binary, daar is het Length_1 modulo max_read.

NB. Voorafgaand aan elke Read Binary moet worden gecontroleerd of de te lezen bytes verder zouden doorlopen dan EF.Driver_Activity_Data groot is. In zo’n geval dient de betreffende Read Binary in twee slagen te worden uitgevoerd:

a. De eerste keer met een ongewijzigde offset en een aangepast verwacht aantal_bytes (aantal_bytes_a), zijnde (Length_EF.DriverActivity_Data – offset_a);

b. De tweede keer met een gecorrigeerde offset gelijk aan 20 (‘00 14’H) en het restant van het verwachte aantal_bytes, zijnde aantal_bytes_b = aantal_bytes – aantal_bytes_a.

c. Hierna kan vanaf offset (‘00 14’H + aantal_bytes_b) worden vervolgd met de eerstvolgende reguliere Read Binary.

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