Modbus - Dual Button Bricklet

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

API

Eine allgemeine Beschreibung der Modbus Protokollstruktur findet sich hier.

Grundfunktionen

BrickletDualButton.set_led_state
Funktions ID:

1

Anfrage:
  • led_l -- uint8
  • led_r -- uint8
Antwort:

keine Antwort

Setzt den Zustand der LEDs. Möglich Zustände sind:

  • 0 = AutoToggleOn: Aktiviert Auto-Toggle und anfänglich aktiviert LED
  • 1 = AutoToggleOff: Aktiviert Auto-Toggle und anfänglich deaktiviert LED.
  • 2 = On: Aktiviert LED (Auto-Toggle is deaktiviert).
  • 3 = Off: Deaktiviert LED (Auto-Toggle is deaktiviert).

Im Auto-Toggle Modus wechselt die LED automatisch zwischen aus und an bei jedem Tasterdruck.

Wenn nur eine der LEDs gesetzt werden soll und der aktuelle Zustand der anderen LED nicht bekannt ist, dann kann der Zustand mit get_led_state ausgelesen werden oder es kann set_selected_led_state genutzt werden.

Der Standardwert ist (1, 1).

Die folgenden Bedeutungen sind für die Parameter dieser Funktion definiert:

  • 0: auto toggle on, für led_l und led_r
  • 1: auto toggle off, für led_l und led_r
  • 2: on, für led_l und led_r
  • 3: off, für led_l und led_r
BrickletDualButton.get_led_state
Funktions ID:

2

Anfrage:

keine Nutzdaten

Antwort:
  • led_l -- uint8
  • led_r -- uint8

Gibt den aktuellen Zustand der LEDs zurück, wie von set_led_state gesetzt.

Die folgenden Bedeutungen sind für die Parameter dieser Funktion definiert:

  • 0: auto toggle on, für led_l und led_r
  • 1: auto toggle off, für led_l und led_r
  • 2: on, für led_l und led_r
  • 3: off, für led_l und led_r
BrickletDualButton.get_button_state
Funktions ID:

3

Anfrage:

keine Nutzdaten

Antwort:
  • button_l -- uint8
  • button_r -- uint8

Gibt den aktuellen Zustand beider Taster zurück. Mögliche Zustände sind:

  • 0 = pressed (gedrückt)
  • 1 = released (losgelassen)

Die folgenden Bedeutungen sind für die Parameter dieser Funktion definiert:

  • 0: pressed, für button_l und button_r
  • 1: released, für button_l und button_r

Fortgeschrittene Funktionen

BrickletDualButton.set_selected_led_state
Funktions ID:

5

Anfrage:
  • led -- uint8
  • state -- uint8
Antwort:

keine Antwort

Setzt den Zustand der selektierten LED (0 oder 1).

Die andere LED bleibt unangetastet.

Die folgenden Bedeutungen sind für die Parameter dieser Funktion definiert:

  • 0: left, für led
  • 1: right, für led
  • 0: auto toggle on, für state
  • 1: auto toggle off, für state
  • 2: on, für state
  • 3: off, für state
BrickletDualButton.get_identity
Funktions ID:

255

Anfrage:

keine Nutzdaten

Antwort:
  • uid -- char[8]
  • connected_uid -- char[8]
  • position -- char
  • hardware_version -- uint8[3]
  • firmware_version -- uint8[3]
  • device_identifier -- uint16

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 kann 'a', 'b', 'c' oder 'd' sein.

Eine Liste der Device Identifier Werte ist hier zu finden. 

Callbacks

BrickletDualButton.CALLBACK_STATE_CHANGED
Funktions ID:

4

Antwort:
  • button_l -- uint8
  • button_r -- uint8
  • led_l -- uint8
  • led_r -- uint8

Dieser Callback wird aufgerufen wenn einer der Taster gedrückt wird.

Mögliche Zustände der Taster sind:

  • 0 = pressed (gedrückt)
  • 1 = released (losgelassen)

Mögliche Zustände der LEDs sind:

  • 0 = AutoToggleOn: Auto-Toggle aktiv und LED an.
  • 1 = AutoToggleOff: Auto-Toggle aktiv und LED aus.
  • 2 = On: Aktiviert LED (Auto-Toggle ist deaktiviert).
  • 3 = Off: Deaktiviert LED (Auto-Toggle ist deaktiviert).

Die folgenden Bedeutungen sind für die Parameter dieser Funktion definiert:

  • 0: pressed, für button_l und button_r
  • 1: released, für button_l und button_r
  • 0: auto toggle on, für led_l und led_r
  • 1: auto toggle off, für led_l und led_r
  • 2: on, für led_l und led_r
  • 3: off, für led_l und led_r