qrailway 0.9
|
Management der seriellen Klasse cSeriell. Mehr ...
#include <cHardware.h>
Ö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 | |
cSeriell * | Seriell |
Die serielle Schnittstelle. | |
cKartenStatus | KartenStatus [128] |
Statusmeldungen der angeschlossenen Karten. | |
cIntelligenz * | Intelligenz |
Zeiger auf die "Intelligenz"-Klasse, welche die Zeiger zu den Sektionen und Konnektoren enthaelt. |
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.
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.
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.
cIntelligenz* cHardware::Intelligenz [private] |
Zeiger auf die "Intelligenz"-Klasse, welche die Zeiger zu den Sektionen und Konnektoren enthaelt.
Definiert in Zeile 122 der Datei cHardware.h.
cKartenStatus cHardware::KartenStatus[128] [private] |
Statusmeldungen der angeschlossenen Karten.
Definiert in Zeile 120 der Datei cHardware.h.
cSeriell* cHardware::Seriell [private] |
Die serielle Schnittstelle.
Definiert in Zeile 118 der Datei cHardware.h.