JLogger-Plugin-Dokumentation

  1. Bau eines eigenen Loggers

    Für die Erstellung eines eigenen Logger benötigt man die Klassen JLoggerInterface und JLoggerHeaderInterface. Davon werden jeweils die eigenen Klassen abgeleitet.

    class myLogger extends JLoggerInterface

    class myLoggerHeader extends JLoggerHeaderInterface

    Alle abstrakten Funktionen dieser Interfaces müssen überschrieben und ausprogrammiert werden. Die Header-Klasse kümmert sich um die Verwaltung der Konfigurationsdaten des Loggers und das interpretieren der Infobereiche der diversen Datendateiformate. Die eigentliche Logger-Klasse ist für die Verwaltung der Daten zuständig.

    Informationen zu den einzelnen zu überschreibenden Funktionen finden sich in der Entwicklerdokumentation.

    WICHTIG!! Eine Instanz der Header-Klasse muss im Konstruktor des Loggers dem Member loggerHeader zugewiesen werden.

    Der eigene Logger kann in den Vektor loggerChannels vorgegebene Sensoren aus dem Jlogger.jar oder selbst erstellte einbinden.

  2. Bau eines Sensors

    Zum Erstellen eines eigenen Sensors benötigt man die Klasse Sensor. Welche Member im Konstruktor zu initialisieren sind, entnehmen sie bitte der aktuellen Entwicklerdokumentation.

    Der Sensor kann im eigenen Logger genutzt werden.

  3. Überschreiben eines bestehenden Sensors

    Zum Überschreiben eines bestehenden Sensors wird von diesem eine Klasse abgeleitet. In dieser werden die zu ändernden Memberfunktion überschrieben.

    Name der Sensorklasse Sensorfunktion
    SAltitudeADC16 Höhensensor
    SAltitudeADC0 Höhensensor
    SVario Variometer
    SSpeed Geschwindigkeitssensor
    SCurrent Stromstärke
    SUb Spannungssensor
    SAneometer Windgeschwindigkeit
    SRpm RPM-Sensor
    SBx Beschleunigungsmesser bx
    SBy Beschleunigungsmesser by
    SRC3 RC3
    STemp_int Interne Temperatur
    STemp_ext Externe Temperatur
    SGPS GPS-Sensor

    Wichtig!!!
    Für alle Sensoren, die im bestehenden Meissner-Logger einen Sensor überschreiben sollen, ist es nötig die Funktion
    public boolean pluginSensor()
    so zu überschreiben, dass sie true zurück liefert. Ansonsten wird der Sensor für die Überschreibung ignoriert.

    Es können alle Berechnungsfunktionen eines Sensor überschrieben werden. Die Standardaufrufreihenfolge der Funktionen ist:

    1. public double parameter()
      Diese Funktion wird im Programm aufgerufen, um die berechneten Werte des Sensors abzurufen.
      Die Funktion ruft zuerst calculate und dann extremValue auf.
    2. protected double calculate()
      Berechnet zuerst den physikalisch korrekten Wert des Sensors und verrechnet ihn dann mit einer Abbildungsfunktion.

    Innerhalb dieser Funktionen können sie beliebige Berechnungsalgorithmen unterbringen. Beispiele können sie der Entwicklerdokumentation für die jeweiligen bestehenden Sensorenklassen entnehmen. Bitte denken sie daran alle benötigten Membervariablen in ihrem Sensor korrekt zu initialisieren, wenn diese von den Vorgaben des zu überschreibenden Sensors abweichen. Zum Beispiel die Anzahl der Bytes, die die Werte des Sensors im Logger belegen.

    Methoden der Sensorklasse
  4. Programmieren mit JLogger

    Konzentrieren wir uns auf drei Hauptwege:

    1. Sie arbeiten mit der Konsole.
      Dazu sollten Sie wissen, was Sie tun.
    2. Sie nehmen die Eclipse-Umgebung. Sie ist kostenlos und gut ausgebaut.
    3. Sie benutzen den JBuilder. Er ist in der "Personal"-Edition kostenfrei und reicht für unsere Zwecke allemal aus.

    Zu den beiden Entwicklungsumgebungen erhalten Sie im Folgenden "Klick"-Anleitungen, die Sie befähigen, ohne großes Vorwissen Großes leisten zu können.

  5. Schritt für Schrittanleitung zur Sensorerstellung mit Eclipse

    Folgend eine bebilderte Anleitung, wie Sie mit Eclipse einen eigenen Sensor erstellen sollten. Als Beispiel dient uns der SRPM-Sensor auf dem JLogger.

    1. Legen Sie ein neues Projekt an.
      Neues Projekt erstellen

    2. Vergeben Sie einen Namen für das Projekt und nehmen Sie eventuell individuelle Einstellungen vor.
      Name für Projekt vergeben

    3. Binden Sie die zur Verfügung gestellte Bibliothek JLogger.jar in Ihr Projekt ein.
      JLogger.jar einbinden

    4. Legen Sie eine neue Klasse für Ihren Sensor an.
      Sensor-Klasse anlegen

    5. Vergeben Sie einen Namen für Ihren Sensor und stellen Sie individuelle Eigenschaften ein.
      Sensor-Name vergeben

    6. Leiten Sie ihren Sensor von dem zu Überschreibenden ab. Fügen Sie die 2 benötigten Konstruktoren zum Code der Klasse hinzu.
      Sensor-Klasse ableiten

    7. Überschreiben Sie nun die Berechnungsfunktionen, die Sie ändern wollen. Im Folgenden sind die markierten Stellen abgewandelt vom Original.
      Berechnungsfunktionen überschreiben

    8. Nachdem Sie Ihren Sensor ausprogrammiert haben, exportieren Sie ihn als JAR-Datei.
      Sensor als JAR exportieren

    9. Geben Sie als Exporttyp JAR file an.
      Exporttyp festlegen

    10. Wählen Sie den zu generierenden Inhalt der JAR-Datei aus.
      Dateien für Export auswählen
  6. Schritt für Schrittanleitung zur Sensorerstellung mit JBuilder

    1. Legen Sie ein neues Verzeichnis (z.B. NewSensors) mit den Unterverzeichnissen src sowie plugin an.

    2. Legen Sie ein neues Projekt an (Datei → Neu → Erzeugen → Builder für native ausführbare Datei).
      Neues Projekt anlegen

    3. Vergeben Sie einen Namen für die zu erzeugende JAR-Datei (hier MySuperSensor) im Verzeichnis plugin.
      Name für JAR vergeben

    4. Entfernen Sie alle Häkchen unter "ausführbare Dateien", dann → Fertig stellen

    5. Binden Sie die zur Verfügung gestellte Bibliothek JLogger.jar in ihr Projekt ein (Projekt → Projekteigenschaften).
      JLogger.jar einbinden

    6. Fügen Sie Ihre neue Klasse hinzu (Rechtsklick auf MySuperSensor.jpx → Klassen hinzufügen)
      Neue Klasse hinzufügen

    7. Compilieren Sie (Rechtsklick auf Ihre Sensorklasse → Neu erzeugen)
      Sensor-Klasse kompilieren

    8. Erzeugen Sie die gewünschte JAR-Datei (Rechtsklick auf MySuperSensor → Neu erzeugen)
      JAR-Datei erstellen

    9. Abschließend kopieren Sie das Verzeichnis plugin in den plugin-Ordner des JLoggers.
  7. Schritt für Schrittanleitung zur Loggererstellung mit Eclipse

    1. Legen Sie ein neues Projekt an.



    2. Vergeben Sie einen Namen für das Projekt und nehmen Sie eventuell individuelle Einstellungen vor.



    3. Binden Sie die zur Verfügung gestellte Bibliothek JLogger.jar in Ihr Projekt ein. Zusätzlich benötigen Sie noch dom4j, jcommon und jfreechart.
      Eventuell benötigen Sie weitere Bibliotheken je nachdem was Sie an eigenem Code noch einfügen wollen.



    4. Legen Sie nun 2 Klassen in Ihrem Projekt an.
      Logger-Klasse anlegen


    5. Vergeben Sie einen Namen für die 2 Klassen.
      Namen für Logger vergeben


    6. Leiten Sie die andere Klasse von JLoggerInterface ab und fügen Sie alle zwingend zu überschreibenden Methoden hinzu. Diese Klasse dient zur Verarbeitung und Datenhaltung der Messdaten.



    7. Leiten Sie eine Klasse von JLoggerHeaderInterface ab und fügen Sie alle zwingend zu überschreibenden Methoden hinzu. Diese Klasse dient vor allem zur Verarbeitung und Datenhaltung für alle Dinge die in den entsprechenden Köpfen der Datentypen stehen. Also vor allem allgemeine Daten des Loggers.



    8. Programmieren Sie nun die Funktionen nach ihren Vorstellungen aus. Sie können auch weitere Funktionen der Elternklasse überschreiben. Sie können auch einen eigenen Logger erstellen den Sie von einem bereits bestehenden statt von den Interfaces ableiten. So können Sie etwa direkt von JLoggerMeissner ableiten und dort nur die Funktionen überschreiben, die sie für eine Änderung als nötig erachten.
      Hier ein Beispiel in dem die Reihenfolge der angeschlossenen Sensoren geändert ist. Achten Sie außerdem darauf der Variablen loggerHeader eine Instanz der Headerklasse zuzuweisen.
      Loggerkonstruktor ausprogrammieren


    9. Nachdem Sie ihren Logger ausprogrammiert haben, exportieren Sie ihn als JarDatei.
      Logger als JAR exportieren


    10. Wählen Sie den zu generierenden Inhalt der JAR-Datei aus.
      Dateien für Export auswählen
Typo3 Appliance - Powered by TurnKey Linux