AppManagement

Daten für Klassenmodell-Skripte

Dieses Paket enthält folgende Bibliotheksbausteine:

template PecAppKernel{void onSysTick();void initSystemClock();uint16_t getMilliSpan();void resetMilliSpan();void getSysTime();}:PecAppModul;
template PecEventQueue{bool postEvent();bool hasEvents();bool postEvent();};
class PecDevice{virtual onPower(); virtual onStart();};
class PecAppModul{virtual onPower(); virtual onStart(); virtual onWork(); virtual onTimer10ms();virtual onEvent100ms();virtual onEvent1s();}:PecEventHandler;
class PecEventHandler(virtual onEvent(PecEvent e);)
class PecEvent{*pObj, sysUint_t data, uint8_t eventType};

In Generator-Skripten darf die Klasse Controller nicht mehr als neu anzulegen vorgeschlagen werden. Es ist jedoch sinnvoll Attribute vorzuschlagen die der zu lösenden Aufgabe dienen.

Beispiel:

ATTRIBUTE counter TYPE uint16_t IN Controller

Des Weiteren ist es Sinnvoll, bei einem Lösungsvorschlag zum Klassenmodell, vorzuschlagen virtuelle Operationen (Laufzeit-Events) zu überschreiben indem diese in die Applikationsklasse eingefügt werden.

Beispiel:

OVERWRITE onEvent100ms IN Controller

Basistemplate die den Kern der Laufzeitumgebung (Betriebsystem). Es darf nur eine Realisierung je Anwendung geben. Das ist die Anwendungsklasse. Typischerweise heißt diese Anwendungsklasse Controller. Die Anwendungsklasse Controller basiert auf dem PecAppKernel und ist somit Sceduler und EventQueueManager für die gesamte Anwendung. Gleichzeitig ist er auch immer ein PecAppModul also selbst eine Task und erhält auch alle Start und Laufzeitereignisse.

Basisklasse für Geräte die in der Initialisierung berücksichtigt werden müssen aber keine AppModule sind. Klassen die hiervon abgeleitet sind erhalten die Initialisierungs-Ereignisse onPower und onStart aber keine Laufzeit-Ereignisse (onWork, onTimer10ms, onEvent100ms, onEvent1s).

Basisklasse für selbständig agierende Programm-Module (aktive Klassen / Tasks).