qrailway 0.9
Öffentliche Slots | Signale | Öffentliche Methoden | Private Attribute

cHardware Klassenreferenz

Management der seriellen Klasse cSeriell. Mehr ...

#include <cHardware.h>

Aufstellung aller Elemente

Öffentliche Slots

void SlotsendeBefehlSignal (void)
 Schickt Befehle an alle angeschlossenen Signal-Karten.

Signale

void SignalWeicheGeaendert (int)
 Nachricht an das Hauptprogramm: Die Weiche mit dem angegebenen Konnektor hat sich geaendert.
void SignalReedkontaktGeaendert (int, int)
 Wird von cSeriell aufgerufen, wenn ein bestimmter Reedkontakt (1.Parameter) mit Richtung (2.Parameter) ueberfahren.
void HardwareSignal (char, char, char, char, char, char)
 Nachricht an alle interessierten Klassen. Der angegebene Befehl (bis auf erstes und letztes Byte) wurde empfangen.
void SignalReglerStatusGeaendert (int, int, int)
 Wird von cHardware emittiert, wenn ein Regler (1.Parameter) seinen Kurzschlussstatus (2.Parameter) oder Besetztstatus (3.Parameter) aendert.

Öffentliche Methoden

void cDebug (int prioritaet, const QString &meldung)
 Gibt die Meldung "meldung" in eine der Klasse zugeordnete Logdatei aus. Dabei werden Meldungen mit der Prioritaet prioritaet 0 auch auf dem Bildschirm als Warnung ausgegeben. Meldungen mit Prioritaet >=2 (bzw. >=1) werden in aller Regel nicht in die Log-Datei ausgegeben, lassen sich aber durch Modifikation der Funktion cDebug zur Ausgabe hinzufuegen.
 cHardware (cIntelligenz *Intelligenztmp)
 Initialisiert die Klasse und die serielle Schnittstelle.
 ~cHardware (void)
 Entfernt die Zeiger auf die (Zeiger der) existenten Konnektoren und Sektionen.
void registerKonnektor (cKonnektor *konnektor)
 Registriert den Konnektor konnektor in der Hardwareklasse. In Zukunft werden Meldungen fuer diesen Konnektor direkt an ihn uebergeben.
void registerSignal (cSignal *signal)
 Registriert das Signal signal in der Hardwareklasse. In Zukunft werden Meldungen fuer dieses Signal direkt an es uebergeben.
void setWeiche (int nrKon, const QString &richtung)
 Stellt die Weiche mit Konnektornummer in die uebergebene Richtung ("L"/"R").
void setRegler (int regler, int Geschwindigkeit, int Richtung, int Beschleunigung, int Mindestgeschwindigkeit, bool Notaus)
 Setzt den Fahrregler auf die angegebenen Parameter.
int getHardwareSignal (int adresse, int signal)
 Liefert den Zustand des Signals signal auf Signalkarte adresse zurueck.
void setzeSignal (int adresse, int signal, bool an, bool blink)
 Setzt den Zustand des Signals signal auf Signalkarte adresse auf die uebergebenen Parameter.
void starteSerielleKommunikation (void)
 Started den Kommandoschleifen-Thread in der Klasse cSeriell. Ab jetzt werden Kommandos auch wirklich gesendet.
int sendeBefehl (char *befehl)
 Sendet den uebergebenen Befehl (dieser Befehl sollte spaeter einmal verschwinden und durch viele kleine (fuer jeden Befehl eine) ersetzt werden, damit Aenderungen leichter vorzunehmen sind).
int sendeDauerBefehlStatusmeldung (int Adresse, int Statusmeldung, int wieoft=1, int licht=0)
 Schreibt einen permanenten Befehl in die Befehlsschleife.
int sendeBefehlWeicheStellen (int Adresse, int Weiche, const QString &Richtung)
 Stellt die angegebene Weiche auf dem Board mit der angegebenen Adresse in die angegebene Richtung ("L"/"R").
int sendeBefehlFahrregler (int Adresse, int Regler, int Geschwindigkeit, int Richtung, int Beschleunigung, int Mindestgeschwindigkeit, bool Notaus)
 Stellt den angegebenen Regler auf dem Board mit der angegebenen Adresse auf die Geschwindigkeit, Richtung, Beschleunigung und Mindestgeschwindigkeit ein.
int sendeBefehlTrigger (int Adresse, int Trigger, bool Aktiv, int Regler, int Geschwindigkeit, int Richtung, int Beschleunigung)
 Sendet einen Trigger-Befehl an eine Karte.
int sendeBefehlModifyTrigger (int Adresse, int Trigger, bool Aktiv, int Regler, int Geschwindigkeit, int Richtung, int Beschleunigung)
 Sendet einen Trigger-Modifikations-Befehl an eine Karte.
int sendeBefehlStatusmeldung (int Adresse, int Statusmeldung)
 Fragt nach Statusmeldung mit der angegebenen Nummer. Der Befehl wird spaeterstarten Eintraege nach dem aktuellen in die Befehlsschleife eingefuegt. Genauere Hinweise hierzu finden sich in cSeriell.h.
void sendeBefehlAlleReglerNotaus (bool aus)
 sendet notaus fuer alle regler
int verarbeiteAntwort (char *antwort, QDateTime zeit)
 vergleicht eine eingehende Nachricht mit der letzten Nachricht. Ergibt sich ein Unterschied, so werden registrierte Konnektoren/Sektionen benachrichtigt.
void setTrigger (int nrKon, bool Aktiv, int Regler, int Geschwindigkeit, int Richtung, int Beschleunigung, int geschwindigkeitkmh)
 Definiert einen Trigger mit den angegebenen Parametern.
void modifyTrigger (int nrKon, bool Aktiv, int Regler, int Geschwindigkeit, int Richtung, int Beschleunigung, int geschwindigkeitkmh)
 Modifiziert einen bereits gesetzten Trigger mit den angegebenen Parametern, falls dieser noch nicht ausgeloest wurde.
void registerRegler (void)
 Weist die in der Tabelle hardware gespeicherten Regler den Hardware-Karten/-Adressen zu.
void customEvent (QEvent *e)
 Verarbeitet eingehende Befehle und schickt diese als HardwareSignal in die Signalschleife. Hier koennen sich interessierte Routinen, wie z.B. cFensterCheckHardware, einklinken.

Private Attribute

cSeriellSeriell
 Die serielle Schnittstelle.
cKartenStatus KartenStatus [128]
 Statusmeldungen der angeschlossenen Karten.
cIntelligenzIntelligenz
 Zeiger auf die "Intelligenz"-Klasse, welche die Zeiger zu den Sektionen und Konnektoren enthaelt.

Ausführliche Beschreibung

Management der seriellen Klasse cSeriell.

Diese Klasse initialisiert die einzige serielle Klasse und ist auch die einzige Klasse, die Zugriff darauf hat. Alle anderen Klassen, die Zugriff haben moechten, muessen diese Klasse (cHardware) benutzen.

Definiert in Zeile 65 der Datei cHardware.h.


Beschreibung der Konstruktoren und Destruktoren

cHardware::cHardware ( cIntelligenz Intelligenztmp)

Initialisiert die Klasse und die serielle Schnittstelle.

cHardware::~cHardware ( void  )

Entfernt die Zeiger auf die (Zeiger der) existenten Konnektoren und Sektionen.


Dokumentation der Elementfunktionen

void cHardware::cDebug ( int  prioritaet,
const QString &  meldung 
)

Gibt die Meldung "meldung" in eine der Klasse zugeordnete Logdatei aus. Dabei werden Meldungen mit der Prioritaet prioritaet 0 auch auf dem Bildschirm als Warnung ausgegeben. Meldungen mit Prioritaet >=2 (bzw. >=1) werden in aller Regel nicht in die Log-Datei ausgegeben, lassen sich aber durch Modifikation der Funktion cDebug zur Ausgabe hinzufuegen.

void cHardware::customEvent ( QEvent *  e)

Verarbeitet eingehende Befehle und schickt diese als HardwareSignal in die Signalschleife. Hier koennen sich interessierte Routinen, wie z.B. cFensterCheckHardware, einklinken.

int cHardware::getHardwareSignal ( int  adresse,
int  signal 
)

Liefert den Zustand des Signals signal auf Signalkarte adresse zurueck.

void cHardware::HardwareSignal ( char  ,
char  ,
char  ,
char  ,
char  ,
char   
) [signal]

Nachricht an alle interessierten Klassen. Der angegebene Befehl (bis auf erstes und letztes Byte) wurde empfangen.

void cHardware::modifyTrigger ( int  nrKon,
bool  Aktiv,
int  Regler,
int  Geschwindigkeit,
int  Richtung,
int  Beschleunigung,
int  geschwindigkeitkmh 
)

Modifiziert einen bereits gesetzten Trigger mit den angegebenen Parametern, falls dieser noch nicht ausgeloest wurde.

void cHardware::registerKonnektor ( cKonnektor konnektor)

Registriert den Konnektor konnektor in der Hardwareklasse. In Zukunft werden Meldungen fuer diesen Konnektor direkt an ihn uebergeben.

void cHardware::registerRegler ( void  )

Weist die in der Tabelle hardware gespeicherten Regler den Hardware-Karten/-Adressen zu.

void cHardware::registerSignal ( cSignal signal)

Registriert das Signal signal in der Hardwareklasse. In Zukunft werden Meldungen fuer dieses Signal direkt an es uebergeben.

int cHardware::sendeBefehl ( char *  befehl)

Sendet den uebergebenen Befehl (dieser Befehl sollte spaeter einmal verschwinden und durch viele kleine (fuer jeden Befehl eine) ersetzt werden, damit Aenderungen leichter vorzunehmen sind).

void cHardware::sendeBefehlAlleReglerNotaus ( bool  aus)

sendet notaus fuer alle regler

int cHardware::sendeBefehlFahrregler ( int  Adresse,
int  Regler,
int  Geschwindigkeit,
int  Richtung,
int  Beschleunigung,
int  Mindestgeschwindigkeit,
bool  Notaus 
)

Stellt den angegebenen Regler auf dem Board mit der angegebenen Adresse auf die Geschwindigkeit, Richtung, Beschleunigung und Mindestgeschwindigkeit ein.

int cHardware::sendeBefehlModifyTrigger ( int  Adresse,
int  Trigger,
bool  Aktiv,
int  Regler,
int  Geschwindigkeit,
int  Richtung,
int  Beschleunigung 
)

Sendet einen Trigger-Modifikations-Befehl an eine Karte.

int cHardware::sendeBefehlStatusmeldung ( int  Adresse,
int  Statusmeldung 
)

Fragt nach Statusmeldung mit der angegebenen Nummer. Der Befehl wird spaeterstarten Eintraege nach dem aktuellen in die Befehlsschleife eingefuegt. Genauere Hinweise hierzu finden sich in cSeriell.h.

int cHardware::sendeBefehlTrigger ( int  Adresse,
int  Trigger,
bool  Aktiv,
int  Regler,
int  Geschwindigkeit,
int  Richtung,
int  Beschleunigung 
)

Sendet einen Trigger-Befehl an eine Karte.

int cHardware::sendeBefehlWeicheStellen ( int  Adresse,
int  Weiche,
const QString &  Richtung 
)

Stellt die angegebene Weiche auf dem Board mit der angegebenen Adresse in die angegebene Richtung ("L"/"R").

int cHardware::sendeDauerBefehlStatusmeldung ( int  Adresse,
int  Statusmeldung,
int  wieoft = 1,
int  licht = 0 
)

Schreibt einen permanenten Befehl in die Befehlsschleife.

void cHardware::setRegler ( int  regler,
int  Geschwindigkeit,
int  Richtung,
int  Beschleunigung,
int  Mindestgeschwindigkeit,
bool  Notaus 
)

Setzt den Fahrregler auf die angegebenen Parameter.

void cHardware::setTrigger ( int  nrKon,
bool  Aktiv,
int  Regler,
int  Geschwindigkeit,
int  Richtung,
int  Beschleunigung,
int  geschwindigkeitkmh 
)

Definiert einen Trigger mit den angegebenen Parametern.

void cHardware::setWeiche ( int  nrKon,
const QString &  richtung 
)

Stellt die Weiche mit Konnektornummer in die uebergebene Richtung ("L"/"R").

void cHardware::setzeSignal ( int  adresse,
int  signal,
bool  an,
bool  blink 
)

Setzt den Zustand des Signals signal auf Signalkarte adresse auf die uebergebenen Parameter.

void cHardware::SignalReedkontaktGeaendert ( int  ,
int   
) [signal]

Wird von cSeriell aufgerufen, wenn ein bestimmter Reedkontakt (1.Parameter) mit Richtung (2.Parameter) ueberfahren.

void cHardware::SignalReglerStatusGeaendert ( int  ,
int  ,
int   
) [signal]

Wird von cHardware emittiert, wenn ein Regler (1.Parameter) seinen Kurzschlussstatus (2.Parameter) oder Besetztstatus (3.Parameter) aendert.

void cHardware::SignalWeicheGeaendert ( int  ) [signal]

Nachricht an das Hauptprogramm: Die Weiche mit dem angegebenen Konnektor hat sich geaendert.

void cHardware::SlotsendeBefehlSignal ( void  ) [slot]

Schickt Befehle an alle angeschlossenen Signal-Karten.

void cHardware::starteSerielleKommunikation ( void  )

Started den Kommandoschleifen-Thread in der Klasse cSeriell. Ab jetzt werden Kommandos auch wirklich gesendet.

int cHardware::verarbeiteAntwort ( char *  antwort,
QDateTime  zeit 
)

vergleicht eine eingehende Nachricht mit der letzten Nachricht. Ergibt sich ein Unterschied, so werden registrierte Konnektoren/Sektionen benachrichtigt.


Dokumentation der Datenelemente

Zeiger auf die "Intelligenz"-Klasse, welche die Zeiger zu den Sektionen und Konnektoren enthaelt.

Definiert in Zeile 122 der Datei cHardware.h.

Statusmeldungen der angeschlossenen Karten.

Definiert in Zeile 120 der Datei cHardware.h.

Die serielle Schnittstelle.

Definiert in Zeile 118 der Datei cHardware.h.


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei: