Modbus - Segment Display 4x7 Bricklet

Dies ist die Beschreibung des Modbus Protokolls für das Segment Display 4x7 Bricklet. Allgemeine Informationen über die Funktionen und technischen Spezifikationen des Segment Display 4x7 Bricklet sind in dessen Hardware Beschreibung zusammengefasst.

API

Eine allgemeine Beschreibung der Modbus Protokollstruktur findet sich hier.

Grundfunktionen

BrickletSegmentDisplay4x7.set_segments
Funktions-ID:
  • 1
Anfrage:
  • segments – Typ: uint8[4], Wertebereich: [0 bis 127]
  • brightness – Typ: uint8, Wertebereich: [0 bis 7]
  • colon – Typ: bool
Antwort:
  • keine Antwort

Die 7-Segment-Anzeige kann mit Bitmaps gesetzt werden. Jedes Bit kontrolliert ein Segment:

Bitreihenfolge eines Segments

Beispiel: Um eine "5" auf der Anzeige darzustellen müssen die Segment 0, 2, 3, 5 und 6 aktiviert werden. Dies kann mit der Zahl 0b01101101 = 0x6d = 109 repräsentiert werden.

Die Helligkeit kann zwischen 0 (dunkel) und 7 (hell) gesetzt werden. Der dritte Parameter aktiviert/deaktiviert den Doppelpunkt auf der Anzeige.

BrickletSegmentDisplay4x7.get_segments
Funktions-ID:
  • 2
Anfrage:
  • keine Nutzdaten
Antwort:
  • segments – Typ: uint8[4], Wertebereich: [0 bis 127]
  • brightness – Typ: uint8, Wertebereich: [0 bis 7]
  • colon – Typ: bool

Gibt die Segment-, Helligkeit- und Doppelpunktdaten zurück, wie von set_segments gesetzt.

Fortgeschrittene Funktionen

BrickletSegmentDisplay4x7.start_counter
Funktions-ID:
  • 3
Anfrage:
  • value_from – Typ: int16, Wertebereich: [-999 bis 9999]
  • value_to – Typ: int16, Wertebereich: [-999 bis 9999]
  • increment – Typ: int16, Wertebereich: [-999 bis 9999]
  • length – Typ: uint32, Einheit: 1 ms, Wertebereich: [0 bis 232 - 1]
Antwort:
  • keine Antwort

Starter einen Zähler mit dem from Wert der bis zum to Wert Zählt mit einer Schrittweite von increment. Das Argument length ist die Länge der Pause zwischen zwei Inkrements.

Beispiel: Wenn from auf 0, to auf 100, increment auf 1 und length auf 1000 gesetzt wird, wird ein Zähler gestartet der von 0 bis 100 zählt mit Rate von einer Sekunde zwischen jeder Erhöhung.

Wenn das increment negativ ist läuft der Zähler rückwärts.

Der Zähler kann jederzeit durch einen Aufruf von set_segments gestoppt werden.

BrickletSegmentDisplay4x7.get_counter_value
Funktions-ID:
  • 4
Anfrage:
  • keine Nutzdaten
Antwort:
  • value – Typ: uint16, Wertebereich: [-999 bis 9999]

Gibt den aktuellen Zählerstand zurück der auf der Anzeige angezeigt wird.

Wenn kein Zähler am laufen ist wird eine 0 zurückgegeben.

BrickletSegmentDisplay4x7.get_identity
Funktions-ID:
  • 255
Anfrage:
  • keine Nutzdaten
Antwort:
  • uid – Typ: char[8]
  • connected_uid – Typ: char[8]
  • position – Typ: char, Wertebereich: ['a' bis 'h', 'z']
  • hardware_version – Typ: uint8[3]
    • 0: major – Typ: uint8, Wertebereich: [0 bis 255]
    • 1: minor – Typ: uint8, Wertebereich: [0 bis 255]
    • 2: revision – Typ: uint8, Wertebereich: [0 bis 255]
  • firmware_version – Typ: uint8[3]
    • 0: major – Typ: uint8, Wertebereich: [0 bis 255]
    • 1: minor – Typ: uint8, Wertebereich: [0 bis 255]
    • 2: revision – Typ: uint8, Wertebereich: [0 bis 255]
  • device_identifier – Typ: uint16, Wertebereich: [0 bis 216 - 1]

Gibt die UID, die UID zu der das Bricklet verbunden ist, die Position, die Hard- und Firmware Version sowie den Device Identifier zurück.

Die Position ist 'a', 'b', 'c', 'd', 'e', 'f', 'g' oder 'h' (Bricklet Anschluss). Ein Bricklet hinter einem Isolator Bricklet ist immer an Position 'z'.

Eine Liste der Device Identifier Werte ist hier zu finden. 

Callbacks

BrickletSegmentDisplay4x7.CALLBACK_COUNTER_FINISHED
Funktions-ID:
  • 5
Antwort:
  • keine Nutzdaten

Diese Callback wird ausgelöst, wenn der Zähler (siehe start_counter) fertig ist.