Accessory Textausgabe

Accessories zur Ausgabe von Texten auf Displays.

Voraussetzungen

  • Bit 2 im Feature FEATURE_STRING_NAMESPACES_AVAILABLE muß gesetzt sein. Damit gibt der Knoten bekannt, das Namensraum 2 für MSG_STRING_SET/_GET zur Verfügung steht.
  • Der Knoten stellt Accessories mit Konfigurationsparameter BIDIB_ACCESSORY_PARA_USES_STRINGS zur Verfügung.

Texte

Anzahl und Länge der Texte abfragen

Wieviele Texte auf dem Knoten abgelegt werden können und wie lang diese max. sein dürfen, kann über das Auslesen des Textes mit der STRING ID = 255 abgefragt werden.
Der zurückgelieferte Text enthält, durch Komma getrennt, die mögliche Anzahl und dann die max. Länge der Texte.

    06-04-00-1F-19-02-FF, dabei bedeutet:
      0x06 MSG_LENGTH
      0x04 lokale Adresse
      0x00 lokale Adresse
      0x1F MSG_NUM
      0x19 MSG_TYPE (= MSG_STRING_GET)
      0x02 NAMESPACE = 2
      0xFF STRING ID = 255
  

Der Knoten antwortet mit MSG_STRING. Der Text sagt in diesem Beispiel, das auf dem Knoten 12 Texte zu je 24 Zeichen zur Verfügung stehen.

    0C-04-00-33-95-02-FF-05-31-32-2C-32-34, dabei bedeutet:
      0x0C MSG_LENGTH
      0x04 lokale Adresse
      0x00 lokale Adresse
      0x33 MSG_NUM
      0x95 MSG_TYPE (= MSG_STRING)
      0x02 NAMESPACE = 2
      0xFF STRING ID = 255
      0x05 Anzahl der Zeichen im String
      0x31 '1'
      0x32 '2'
      0x2C ','
      0x32 '2'
      0x34 '4'
    

Texte übertragen

Die Texte werden mit der Message MSG_STRING_SET an den Knoten übertragen.
Im Namensraum 2 werden die Strings hinterlegt, die den Aspekten eines Accessories zugeordnet sind.
STRING ID 0 enthält eine Default-Text, der beim Einschalten des Knoten auf dem Display angezeigt wird.

Beispiel

String "1.919" wird in Namensraum 2 nach STRING_ID 2 geschrieben:

    0C-02-00-13-1A-02-02-05-31-2E-39-31-39, dabei bedeutet:
        0x0C MSG_LENGTH
        0x02 lokale Adresse
        0x00 lokale Adresse
        0x13 MSG_NUM
        0x1A MSG_TYPE (= MSG_STRING_SET)
        0x02 NAMESPACE = 2
        0x02 STRING_ID = 2
        0x05 SIZE = 5
        0x31 '1'
        0x2E ','
        0x39 '9'
        0x31 '1'
        0x39 '9'
    

Accessories

Accessoy-Parameter abfragen

Accessries die eine Textausgabe unterstützen, werden dem Host mit dem Patameter BIDIB_ACCESSORY_PARA_USES_STRINGS gemeldet.

Beispiel:

Der host fragt an, ob das Accessory 16 den Parameter BIDIB_ACCESSORY_PARA_USES_STRINGS gesetzt hat:

 
  06-04-00-2F-3B-10-F9, dabei bedeutet:
    0x06 MSG_LENGTH
    0x04 lokale Adresse
    0x00 lokale Adresse
    0x2F MSG_NUM
    0x3B MSG_TYPE (= MSG_ACCESSORY_PARA_GET)
    0x10 ACCESSORY = 16
    0xF9 BIDIB_ACCESSORY_PARA_USES_STRINGS = 249

Der Knoten antwortet mit MSG_ACCESSORY_PARA:

 
  07-04-00-4A-B9-10-F9-01, dabei bedeutet:
    0x07 MSG_LENGTH
    0x04 lokale Adresse
    0x00 lokale Adresse
    0x4A MSG_NUM
    0xB9 MSG_TYPE (= MSG_ACCESSORY_PARA)
    0x10 ACCESSORY = 16
    0xF9 BIDIB_ACCESSORY_PARA_USES_STRINGS = 249
    0x01 1 = Parameter vorhanden

Zuordnung Accessory zu Text

Die Accessories eines Knoten mit Textausgabe können über die jeweiligen Aspekte die Anzeige des zugeordneten Strings auslösen.
Dabei ist den Aspekten ein String aus dem Namensraum 2 fest zugeordnet.

  • Aspekt 0 ist STRING_ID 0 zugeordnet.
  • Aspekt 1 ist STRING_ID 1 zugeordnet.
  • Aspekt 2 ist STRING_ID 2 zugeordnet.
  • usw.

Der Knoten legt fest, wo auf dem Display/der Anzeige der String des jeweilgen Accessory verwendet wird.
Diese Zuordnung sollte der Knotenhersteller in seiner Dokumentation hinterlegen.


Beispiel: Tankstelle

Ein Knoten stellt die Preise der Kraftstoffarten über die Accessories 1 - 3 dar.
Zum Beispiel wird hier der Text für den Preis von Diesel aus der STRING_ID genommen, die über einen Aspekt von Accessory 1 ausgewählt wurde.
Steht der Preis für Diesel in STRING_ID 2 aus NAME_SPACE 2, muß Aspekt 2 des Accessory 1 per MSG_ACCESSORY_SET gestellt werden:

linear

Mit MSG_ACCESSORY_SET wird Aspekt 2 des Accessory 1 gesetzt.
Damit wird der Text aus STRING_ID 2 auf dem Display ausgegeben.
Wenn der Text in STRING_ID 2 geändert wird und Aspekt 2 noch aktiv ist, soll der Knoten diese Änderung auch auf dem Display aktualisieren.

  06-02-00-0F-38-01-02, dabei bedeutet:
    0x0C MSG_LENGTH
    0x02 lokale Adresse
    0x00 lokale Adresse
    0x0F MSG_NUM
    0x38 MSG_TYPE (= MSG_ACCESSORY_SET)
    0x01 ACCESSORY = 1
    0x02 ASPECT = 2

Beispiel: Bahnsteiganzeige

In diesem Beispiel stellt der Knoten eine Bahnsteiganzeige dar.
Dabei werden die Accessories 1 - 5 verwendet um die einzlenen Informationen auf dem Display darzustellen.

  • Accessory 1 = Zielbahnhof
  • Accessory 2 = Zugnummer
  • Accessory 3 = Abfahrzeit
  • Accessory 4 = Zuglauf
  • Accessory 5 = Infotext
In Namespace 2 können in den Strings unterschiedliche Zielbahnhöfe, Zugnummern, usw. abgelegt und über die Aspekte der jeweiligen Accessories zur Anzeige gebracht werden.

linear