DisplayLezen

author:albert

In deze (deel)opdracht wordt de module ‘het (uit)lezen van het display van een zakrekenmachine’ beschreven.

Doel

See also

Zie ook Project Kaders

Globaal

  • Lezen van het (7-segment, LCD) Display.
  • Te starten met 1 stuk type (naar keuze)
  • Uiteindelijk zullen ‘alle’ rekenmachientjes ondersteund worden.

Uitgangspunt is dat er één (display) regel –op commando— gelezen moet worden en als text en/of getal (float/int) teruggegeven wordt. Ook moeten errorcode’s, etc terug gegeven worden. Er mag geen interpretatie plaatsvinden (behalve het omzetten van een plaatje naar test/getallen); dat gebeurd extern (in de aanroeper). Ofwel: alles was op het rekenmachine display staat moet (begrijpbaar) opgeleverd worden.

Niet-Functionele Eisen

Het lezen moet zeer betrouwbaar en snel gebeuren; zonder menselijk interventie of supervisie.

  • Bij voorkeur duurt het lezen niet langer dan 50ms. Het moet altijd binnen 0.2sec gebeuren. Het systeem moet continue kunnen werken. Dus 5 à 20 lees-commando’s per seconde. En dat urenlang!
  • Een eenmalige calibratie van de opstelling (ook fysiek) is toegestaan; dit moet eenvoudig en snel kunnen, aan de hand van een duidelijke gebruikershandleiding. Daarna zal menselijk handelen niet meer nodig zijn.
  • Het lezen van de correcte getallen is belangrijk. Een eis van maximaal 1 fout opgeleverd per honderdduizend lees-commando’s is zeer wenselijk. Optioneel mag een ‘kan-niet-lezen’ melding gebruikt worden (dat liever dan een fout getal). Dat mag echter niet vaker dan 1 op de duidend keer gebeuren; als er een getal op het display staat.
  • Ook bij niet-getallen, als die op het display staan mag eens in de duizend keer onjuiste opgeleverd worden. Maar dit mag nooit een getal opleveren; lees: dat telt mee voor de max 1-op-100000 fouten eis.

Opleveren

  1. Een ‘library’ die alle benodigde functionaliteit bevat. Tezamen met een gedocumenteerde API hoe deze gebruikt zal worden. Het ‘lees-commando` is hiervan het belangrijkste onderdeel.
  2. Een eenvoudig, standalone, “command-line” programma, dat die library gebruikt en als ‘demo’ dient (voor HighTech-type medewerkers). Ook dit zal gedocumenteerd worden
  3. Alles (programmatuur, documentatie, etc) zal zowel als source als kant en klaar opgeleverd worden. Ook moet het ‘bouw’ process eenvoudig en gedocumenteerd zijn.
  4. Project documentatie; zodat anderen gemakkelijk dit deel kunnen gebruiken en/of verder kunnen ontwikkelen.
  5. Ook alle test, zowel op unit- als systeem-niveau (en alles daartussen). Liefst als Automatische- Test-Scripts. En anders als handmatige test (ontwerpen).
  6. Optioneel: tools die gebruikt zijn cq handig zijn tijdens (door)ontwikkelen.