Delphi/Lazarus - Master Brick

Dies ist die Beschreibung der Delphi/Lazarus API Bindings für den Master Brick. Allgemeine Informationen über die Funktionen und technischen Spezifikationen des Master Brick sind in dessen Hardware Beschreibung zusammengefasst.

Eine Installationanleitung für die Delphi/Lazarus API Bindings ist Teil deren allgemeine Beschreibung.

Beispiele

Der folgende Beispielcode ist Public Domain (CC0 1.0).

Stack Status

Download (ExampleStackStatus.pas)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
program ExampleStackStatus;

{$ifdef MSWINDOWS}{$apptype CONSOLE}{$endif}
{$ifdef FPC}{$mode OBJFPC}{$H+}{$endif}

uses
  SysUtils, IPConnection, BrickMaster;

type
  TExample = class
  private
    ipcon: TIPConnection;
    master: TBrickMaster;
  public
    procedure Execute;
  end;

const
  HOST = 'localhost';
  PORT = 4223;
  UID = 'XXYYZZ'; { Change XXYYZZ to the UID of your Master Brick }

var
  e: TExample;

procedure TExample.Execute;
var stackVoltage, stackCurrent: word;
begin
  { Create IP connection }
  ipcon := TIPConnection.Create;

  { Create device object }
  master := TBrickMaster.Create(UID, ipcon);

  { Connect to brickd }
  ipcon.Connect(HOST, PORT);
  { Don't use device before ipcon is connected }

  { Get current stack voltage }
  stackVoltage := master.GetStackVoltage;
  WriteLn(Format('Stack Voltage: %f V', [stackVoltage/1000.0]));

  { Get current stack current }
  stackCurrent := master.GetStackCurrent;
  WriteLn(Format('Stack Current: %f A', [stackCurrent/1000.0]));

  WriteLn('Press key to exit');
  ReadLn;
  ipcon.Destroy; { Calls ipcon.Disconnect internally }
end;

begin
  e := TExample.Create;
  e.Execute;
  e.Destroy;
end.

API

Da Delphi nicht mehrere Rückgabewerte direkt unterstützt, wird das out Schlüsselwort genutzt um mehrere Werte von einer Funktion zurückzugeben.

Alle folgend aufgelisteten Funktionen und Prozeduren sind Thread-sicher.

Grundfunktionen

constructor TBrickMaster.Create(const uid: string; ipcon: TIPConnection)
Parameter:
  • uid – Typ: string
  • ipcon – Typ: TIPConnection
Rückgabe:
  • master – Typ: TBrickMaster

Erzeugt ein Objekt mit der eindeutigen Geräte ID uid:

master := TBrickMaster.Create('YOUR_DEVICE_UID', ipcon);

Dieses Objekt kann benutzt werden, nachdem die IP Connection verbunden ist.

function TBrickMaster.GetStackVoltage: word
Rückgabe:
  • voltage – Typ: word, Einheit: 1 mV, Wertebereich: [0 bis 216 - 1]

Gibt die Spannung des Stapels zurück. Diese Spannung wird über den Stapel verteilt und kann zum Beispiel über eine Step-Down oder Step-Up Power Supply eingespeist werden.

Bemerkung

Es ist mit dieser Funktion nicht möglich, Spannungen, die per PoE oder USB eingespeist werden, zu messen.

function TBrickMaster.GetStackCurrent: word
Rückgabe:
  • current – Typ: word, Einheit: 1 mA, Wertebereich: [0 bis 216 - 1]

Gibt den Stromverbrauch des Stapels zurück. Der angegebene Strom bezieht sich auf den Stromverbrauch der am Stapel angeschlossenen Verbraucher. Die Speisung kann z.B. über eine Step-Down oder Step-Up Power Supply erfolgen.

Bemerkung

Es ist mit dieser Funktion nicht möglich, den Stromverbrauch über PoE oder USB zu messen.

Fortgeschrittene Funktionen

procedure TBrickMaster.SetExtensionType(const extension: byte; const exttype: longword)
Parameter:
  • extension – Typ: byte, Wertebereich: [0 bis 1]
  • exttype – Typ: longword, Wertebereich: Siehe Konstanten

Schreibt den Typ der Extension in den EEPROM der angegebenen Extension. Die Extension kann entweder 0 oder 1 sein (0 ist die untere, 1 die obere, wenn nur eine Extension verfügbar ist, ist 0 zu verwenden)

Mögliche Extensiontypen:

Typ Beschreibung
1 Chibi
2 RS485
3 WIFI
4 Ethernet
5 WIFI 2.0

Der Typ der Extension ist schon gesetzt beim Erwerb der Extension und kann über den Brick Viewer gesetzt werden. Daher ist es unwahrscheinlich, dass diese Funktion benötigt wird.

Die folgenden Konstanten sind für diese Funktion verfügbar:

Für exttype:

  • BRICK_MASTER_EXTENSION_TYPE_CHIBI = 1
  • BRICK_MASTER_EXTENSION_TYPE_RS485 = 2
  • BRICK_MASTER_EXTENSION_TYPE_WIFI = 3
  • BRICK_MASTER_EXTENSION_TYPE_ETHERNET = 4
  • BRICK_MASTER_EXTENSION_TYPE_WIFI2 = 5
function TBrickMaster.GetExtensionType(const extension: byte): longword
Parameter:
  • extension – Typ: byte, Wertebereich: [0 bis 1]
Rückgabe:
  • exttype – Typ: longword, Wertebereich: Siehe Konstanten

Gibt den Typ der angegebenen Extension zurück, wie von SetExtensionType gesetzt.

Die folgenden Konstanten sind für diese Funktion verfügbar:

Für exttype:

  • BRICK_MASTER_EXTENSION_TYPE_CHIBI = 1
  • BRICK_MASTER_EXTENSION_TYPE_RS485 = 2
  • BRICK_MASTER_EXTENSION_TYPE_WIFI = 3
  • BRICK_MASTER_EXTENSION_TYPE_ETHERNET = 4
  • BRICK_MASTER_EXTENSION_TYPE_WIFI2 = 5
function TBrickMaster.IsChibiPresent: boolean
Rückgabe:
  • present – Typ: boolean

Gibt true zurück, wenn der Master Brick an Position 0 im Stapel und eine Chibi Extension verfügbar ist.

procedure TBrickMaster.SetChibiAddress(const address: byte)
Parameter:
  • address – Typ: byte, Wertebereich: [1 bis 255]

Setzt die zugehörige Adresse der Chibi Extension.

Es ist möglich die Adresse mit dem Brick Viewer zu setzen und diese wird im EEPROM der Chibi Extension abgespeichert. Ein Setzen bei jedem Start ist daher nicht notwendig.

function TBrickMaster.GetChibiAddress: byte
Rückgabe:
  • address – Typ: byte, Wertebereich: [1 bis 255]

Gibt die Adresse zurück, wie von SetChibiAddress gesetzt.

procedure TBrickMaster.SetChibiMasterAddress(const address: byte)
Parameter:
  • address – Typ: byte, Wertebereich: [1 bis 255]

Setzt die Adresse des Chibi Master. Diese Adresse wird verwendet wenn die Chibi Extension als Slave verwendet wird (z.B. wenn keine USB-Verbindung besteht).

Es ist möglich die Adresse mit dem Brick Viewer zu setzen und diese wird im EEPROM der Chibi Extension abgespeichert. Ein Setzen bei jedem Start ist daher nicht notwendig.

function TBrickMaster.GetChibiMasterAddress: byte
Rückgabe:
  • address – Typ: byte, Wertebereich: [1 bis 255]

Gibt die Adresse zurück, wie von SetChibiMasterAddress gesetzt.

procedure TBrickMaster.SetChibiSlaveAddress(const num: byte; const address: byte)
Parameter:
  • num – Typ: byte, Wertebereich: [0 bis 254]
  • address – Typ: byte, Wertebereich: [0 bis 255]

Setzt bis zu 254 Slave Adressen. 0 hat eine besondere Bedeutung, sie wird zur Terminierung der Liste verwendet und ist nicht als normale Slave Adresse erlaubt. Die Adressnummerierung (mittels num Parameter) muss aufsteigend ab 0 erfolgen. Beispiel: Wenn die Chibi Extension im Master Modus verwendet wird (z.B. wenn der Stapel eine USB-Verbindung hat) und es soll mit drei weiteren Chibi Stapeln kommuniziert werden, mit den Adressen 17, 23 und 42, sollten die Aufrufe (0, 17), (1, 23), (2, 42) und (3, 0) sein. Der letzte Aufruf mit (3, 0) dient der Terminierung der Liste und zeigt an, dass die Chibi Slave Adressliste in diesem Fall 3 Einträge beinhaltet.

Es ist möglich die Adressen mit dem Brick Viewer zu setzen, dieser kümmert sich dann um korrekte Adressnummerierung und Terminierung der Liste.

Die Slave Adresse werden im EEPROM der Chibi Extension abgespeichert. Ein Setzen bei jedem Start ist daher nicht notwendig.

function TBrickMaster.GetChibiSlaveAddress(const num: byte): byte
Parameter:
  • num – Typ: byte, Wertebereich: [0 bis 254]
Rückgabe:
  • address – Typ: byte, Wertebereich: [0 bis 255]

Gibt die Slave Adresse für eine Adressnummerierung (mittels num Parameter) zurück, wie von SetChibiSlaveAddress gesetzt.

function TBrickMaster.GetChibiSignalStrength: byte
Rückgabe:
  • signalStrength – Typ: byte, Einheit: 1 dB, Wertebereich: [0 bis 255]

Gibt die Signalstärke in dBm zurück. Die Aktualisierung der Signalstärke wird bei jedem Empfang eines Paketes durchgeführt.

procedure TBrickMaster.GetChibiErrorLog(out underrun: word; out crcError: word; out noAck: word; out overflow: word)
Ausgabeparameter:
  • underrun – Typ: word, Wertebereich: [0 bis 216 - 1]
  • crcError – Typ: word, Wertebereich: [0 bis 216 - 1]
  • noAck – Typ: word, Wertebereich: [0 bis 216 - 1]
  • overflow – Typ: word, Wertebereich: [0 bis 216 - 1]

Gibt folgende Fehlerzähler der Chibi Kommunikation zurück: Underrun, CRC Fehler, kein ACK und Overflow. Bei Anstieg dieser Fehlerzähler ist es wahrscheinlich, dass entweder die Entfernung zwischen zwei Chibi Stapeln zu groß wird oder Störungen vorliegen.

procedure TBrickMaster.SetChibiFrequency(const frequency: byte)
Parameter:
  • frequency – Typ: byte, Wertebereich: Siehe Konstanten

Setzt den Chibi Frequenzbereich der Chibi Extension. Mögliche Werte sind:

Typ Beschreibung
0 OQPSK 868MHz (Europe)
1 OQPSK 915MHz (US)
2 OQPSK 780MHz (China)
3 BPSK40 915MHz

Es ist möglich den Frequenzbereich mit dem Brick Viewer zu setzen und dieser wird im EEPROM der Chibi Extension abgespeichert. Ein Setzen bei jedem Start ist daher nicht notwendig.

Die folgenden Konstanten sind für diese Funktion verfügbar:

Für frequency:

  • BRICK_MASTER_CHIBI_FREQUENCY_OQPSK_868_MHZ = 0
  • BRICK_MASTER_CHIBI_FREQUENCY_OQPSK_915_MHZ = 1
  • BRICK_MASTER_CHIBI_FREQUENCY_OQPSK_780_MHZ = 2
  • BRICK_MASTER_CHIBI_FREQUENCY_BPSK40_915_MHZ = 3
function TBrickMaster.GetChibiFrequency: byte
Rückgabe:
  • frequency – Typ: byte, Wertebereich: Siehe Konstanten

Gibt den Frequenzbereich zurück, wie von SetChibiFrequency gesetzt.

Die folgenden Konstanten sind für diese Funktion verfügbar:

Für frequency:

  • BRICK_MASTER_CHIBI_FREQUENCY_OQPSK_868_MHZ = 0
  • BRICK_MASTER_CHIBI_FREQUENCY_OQPSK_915_MHZ = 1
  • BRICK_MASTER_CHIBI_FREQUENCY_OQPSK_780_MHZ = 2
  • BRICK_MASTER_CHIBI_FREQUENCY_BPSK40_915_MHZ = 3
procedure TBrickMaster.SetChibiChannel(const channel: byte)
Parameter:
  • channel – Typ: byte, Wertebereich: ?

Setzt den verwendeten Kanal der Chibi Extension. Die möglichen Kanäle sind abhängig vom verwendeten Frequenzbereich:

Frequenzbereich Mögliche Kanäle
OQPSK 868MHz (Europe) 0
OQPSK 915MHz (US) 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
OQPSK 780MHz (China) 0, 1, 2, 3
BPSK40 915MHz 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

Es ist möglich den Kanal mit dem Brick Viewer zu setzen und dieser wird im EEPROM der Chibi Extension abgespeichert. Ein Setzen bei jedem Start ist daher nicht notwendig.

function TBrickMaster.GetChibiChannel: byte
Rückgabe:
  • channel – Typ: byte, Wertebereich: ?

Gibt den Kanal zurück, wie von SetChibiChannel gesetzt.

function TBrickMaster.IsRS485Present: boolean
Rückgabe:
  • present – Typ: boolean

Gibt true zurück, wenn der Master Brick an Position 0 im Stapel und eine RS485 Extension verfügbar ist.

procedure TBrickMaster.SetRS485Address(const address: byte)
Parameter:
  • address – Typ: byte, Wertebereich: [0 bis 255]

Setzt die zugehörige Adresse (0-255) der RS485 Extension.

Um eine RS485 Extension als RS485 Master (z.B. verbunden mit einem PC über USB) zu betreiben muss die Adresse auf 0 gesetzt werden.

Es ist möglich die Adresse mit dem Brick Viewer zu setzen und diese wird im EEPROM der RS485 Extension abgespeichert. Ein Setzen bei jedem Start ist daher nicht notwendig.

function TBrickMaster.GetRS485Address: byte
Rückgabe:
  • address – Typ: byte, Wertebereich: [0 bis 255]

Gibt die Adresse zurück, wie von SetRS485Address gesetzt.

procedure TBrickMaster.SetRS485SlaveAddress(const num: byte; const address: byte)
Parameter:
  • num – Typ: byte, Wertebereich: [0 bis 255]
  • address – Typ: byte, Wertebereich: [0 bis 255]

Setzt bis zu 255 Slave Adressen. Gültige Adressen sind 1-255. 0 hat eine besondere Bedeutung, sie wird zur Terminierung der Liste verwendet und ist nicht als normale Slave Adresse erlaubt. Die Adressnummerierung (mittels num Parameter) muss aufsteigend ab 0 erfolgen. Beispiel: Wenn die RS485 Extension im Master Modus verwendet wird (z.B. wenn der Stapel eine USB-Verbindung hat) und es soll mit drei weiteren RS485 Stapeln kommuniziert werden, mit den Adressen 17, 23 und 42, sollten die Aufrufe (0, 17), (1, 23), (2, 42) und (3, 0) sein. Der letzte Aufruf mit (3, 0) dient der Terminierung der Liste und zeigt an, dass die RS485 Slave Adressliste in diesem Fall 3 Einträge beinhaltet.

Es ist möglich die Adressen mit dem Brick Viewer zu setzen, dieser kümmert sich dann um korrekte Adressnummerierung und Terminierung der Liste.

Die Slave Adresse werden im EEPROM der RS485 Extension abgespeichert. Ein Setzen bei jedem Start ist daher nicht notwendig.

function TBrickMaster.GetRS485SlaveAddress(const num: byte): byte
Parameter:
  • num – Typ: byte, Wertebereich: [0 bis 255]
Rückgabe:
  • address – Typ: byte, Wertebereich: [0 bis 255]

Gibt die Slave Adresse für eine Adressnummerierung (mittels num Parameter) zurück, wie von SetRS485SlaveAddress gesetzt.

function TBrickMaster.GetRS485ErrorLog: word
Rückgabe:
  • crcError – Typ: word, Wertebereich: [0 bis 216 - 1]

Gibt den CRC Fehlerzähler der RS485 Kommunikation zurück. Wenn dieser Zähler ansteigt ist es wahrscheinlich, dass der Abstand zwischen zwei RS485-Teilnehmern zu groß ist oder es Störungen gibt.

procedure TBrickMaster.SetRS485Configuration(const speed: longword; const parity: char; const stopbits: byte)
Parameter:
  • speed – Typ: longword, Einheit: 1 Bd, Wertebereich: [0 bis 232 - 1]
  • parity – Typ: char, Wertebereich: Siehe Konstanten
  • stopbits – Typ: byte, Wertebereich: [1 bis 2]

Setzt die Schnittstellenkonfiguration der RS485 Extension. Der Master Brick versucht die vorgegebene Baudrate so genau wie möglich zu erreichen. Die maximale empfohlene Baudrate ist 2000000 (2MBd). Mögliche Werte für die Parität sind 'n' (keine), 'e' (gerade) und 'o' (ungerade).

Wenn die RS485 Kommunikation instabil ist (verlorene Nachrichten etc.), sollte zuerst die Baudrate verringert werden. Sehr lange Busleitungen (z.B. 1km) sollten möglichst Werte im Bereich von 100000 (100kBd) verwenden.

Die Werte sind im EEPROM gespeichert und werden nur beim Start angewandt. Dass bedeutet, der Master Brick muss nach einer Konfiguration neu gestartet werden.

Die folgenden Konstanten sind für diese Funktion verfügbar:

Für parity:

  • BRICK_MASTER_RS485_PARITY_NONE = 'n'
  • BRICK_MASTER_RS485_PARITY_EVEN = 'e'
  • BRICK_MASTER_RS485_PARITY_ODD = 'o'
procedure TBrickMaster.GetRS485Configuration(out speed: longword; out parity: char; out stopbits: byte)
Ausgabeparameter:
  • speed – Typ: longword, Einheit: 1 Bd, Wertebereich: [0 bis 232 - 1]
  • parity – Typ: char, Wertebereich: Siehe Konstanten
  • stopbits – Typ: byte, Wertebereich: [1 bis 2]

Gibt die Schnittstellenkonfiguration zurück, wie von SetRS485Configuration gesetzt.

Die folgenden Konstanten sind für diese Funktion verfügbar:

Für parity:

  • BRICK_MASTER_RS485_PARITY_NONE = 'n'
  • BRICK_MASTER_RS485_PARITY_EVEN = 'e'
  • BRICK_MASTER_RS485_PARITY_ODD = 'o'
function TBrickMaster.IsWifiPresent: boolean
Rückgabe:
  • present – Typ: boolean

Gibt true zurück, wenn der Master Brick an Position 0 im Stapel und eine WIFI Extension verfügbar ist.

procedure TBrickMaster.SetWifiConfiguration(const ssid: string; const connection: byte; const ip: array [0..3] of byte; const subnetMask: array [0..3] of byte; const gateway: array [0..3] of byte; const port: word)
Parameter:
  • ssid – Typ: string, Länge: bis zu 32
  • connection – Typ: byte, Wertebereich: Siehe Konstanten
  • ip – Typ: array [0..3] of byte, Wertebereich: [0 bis 255]
  • subnetMask – Typ: array [0..3] of byte, Wertebereich: [0 bis 255]
  • gateway – Typ: array [0..3] of byte, Wertebereich: [0 bis 255]
  • port – Typ: word, Wertebereich: [0 bis 216 - 1], Standardwert: 4223

Setzt die Konfiguration der WIFI Extension. Die ssid darf eine maximale Länge von 32 Zeichen haben. Mögliche Werte für connection sind:

Wert Beschreibung
0 DHCP
1 Statische IP
2 Access Point: DHCP
3 Access Point: Statische IP
4 Ad Hoc: DHCP
5 Ad Hoc: Statische IP

Wenn connection auf eine der statische IP Optionen gesetzt wird, dann müssen ip, subnet_mask und gateway als ein Array der Größe 4 angegeben werden. Dabei ist das erste Element im Array das niederwertigste Byte. Falls connection auf eine der DHCP Optionen gesetzt ist, werden ip, subnet_mask und gateway ignoriert.

Der letzte Parameter ist der Port auf den das Anwendungsprogramm sich verbindet.

Die Werte sind im EEPROM gespeichert und werden nur beim Start angewandt. Dass bedeutet, der Master Brick muss nach einer Konfiguration neu gestartet werden.

Wir empfehlen den Brick Viewer zu verwenden, um die WIFI Extension zu konfigurieren.

Die folgenden Konstanten sind für diese Funktion verfügbar:

Für connection:

  • BRICK_MASTER_WIFI_CONNECTION_DHCP = 0
  • BRICK_MASTER_WIFI_CONNECTION_STATIC_IP = 1
  • BRICK_MASTER_WIFI_CONNECTION_ACCESS_POINT_DHCP = 2
  • BRICK_MASTER_WIFI_CONNECTION_ACCESS_POINT_STATIC_IP = 3
  • BRICK_MASTER_WIFI_CONNECTION_AD_HOC_DHCP = 4
  • BRICK_MASTER_WIFI_CONNECTION_AD_HOC_STATIC_IP = 5
procedure TBrickMaster.GetWifiConfiguration(out ssid: string; out connection: byte; out ip: array [0..3] of byte; out subnetMask: array [0..3] of byte; out gateway: array [0..3] of byte; out port: word)
Ausgabeparameter:
  • ssid – Typ: string, Länge: bis zu 32
  • connection – Typ: byte, Wertebereich: Siehe Konstanten
  • ip – Typ: array [0..3] of byte, Wertebereich: [0 bis 255]
  • subnetMask – Typ: array [0..3] of byte, Wertebereich: [0 bis 255]
  • gateway – Typ: array [0..3] of byte, Wertebereich: [0 bis 255]
  • port – Typ: word, Wertebereich: [0 bis 216 - 1], Standardwert: 4223

Gibt die Konfiguration zurück, wie von SetWifiConfiguration gesetzt.

Die folgenden Konstanten sind für diese Funktion verfügbar:

Für connection:

  • BRICK_MASTER_WIFI_CONNECTION_DHCP = 0
  • BRICK_MASTER_WIFI_CONNECTION_STATIC_IP = 1
  • BRICK_MASTER_WIFI_CONNECTION_ACCESS_POINT_DHCP = 2
  • BRICK_MASTER_WIFI_CONNECTION_ACCESS_POINT_STATIC_IP = 3
  • BRICK_MASTER_WIFI_CONNECTION_AD_HOC_DHCP = 4
  • BRICK_MASTER_WIFI_CONNECTION_AD_HOC_STATIC_IP = 5
procedure TBrickMaster.SetWifiEncryption(const encryption: byte; const key: string; const keyIndex: byte; const eapOptions: byte; const caCertificateLength: word; const clientCertificateLength: word; const privateKeyLength: word)
Parameter:
  • encryption – Typ: byte, Wertebereich: Siehe Konstanten
  • key – Typ: string, Länge: bis zu 50
  • keyIndex – Typ: byte, Wertebereich: [1 bis 4]
  • eapOptions – Typ: byte, Wertebereich: Siehe Konstanten
  • caCertificateLength – Typ: word, Einheit: 1 B, Wertebereich: [0 bis 1312]
  • clientCertificateLength – Typ: word, Einheit: 1 B, Wertebereich: [0 bis 1312]
  • privateKeyLength – Typ: word, Einheit: 1 B, Wertebereich: [0 bis 4320]

Setzt die Verschlüsselung der WIFI Extension. Der erste Parameter ist der Typ der Verschlüsselung. Mögliche Werte sind:

Wert Beschreibung
0 WPA/WPA2
1 WPA Enterprise (EAP-FAST, EAP-TLS, EAP-TTLS, PEAP)
2 WEP
3 Keine Verschlüsselung

Der key hat eine maximale Länge von 50 Zeichen und wird benutzt falls encryption auf 0 oder 2 (WPA/WPA2 oder WEP) gesetzt ist. Andernfalls wird dieser Parameter ignoriert.

Für WPA/WPA2 muss der Schlüssel mindestens 8 Zeichen lang sein. Wenn ein Schlüssel mit mehr als 50 Zeichen gesetzt werden soll, kann SetLongWifiKey genutzt werden.

Für WEP muss der Schlüssel entweder 10 oder 26 hexadezimale Zeichen lang sein. Es ist möglich den key_index zu setzen (1-4). Fall der key_index unbekannt ist, ist er wahrscheinlich 1.

Wenn WPA Enterprise als encryption gewählt wird, müssen eap_options und die Länge der Zertifikate gesetzt werden. Die Zertifikate selbst können mit SetWifiCertificate übertragen werden. Die eap_options bestehen aus Outer Authentication (Bits 1-2), Inner Authentication (Bit 3) und Certificate Type (Bits 4-5):

Option Bits Beschreibung
Outer Authentication 1-2 0=EAP-FAST, 1=EAP-TLS, 2=EAP-TTLS, 3=EAP-PEAP
Inner Authentication 3 0=EAP-MSCHAP, 1=EAP-GTC
Certificate Type 4-5 0=CA Certificate, 1=Client Certificate, 2=Private Key

Beispiel für EAP-TTLS + EAP-GTC + Private Key: option = 2 | (1 << 2) | (2 << 3).

Die Werte sind im EEPROM gespeichert und werden nur beim Start angewandt. Das bedeutet der Master Brick muss nach einer Konfiguration neu gestartet werden.

Wir empfehlen den Brick Viewer zu verwenden, um die WLAN Verschlüsselung zu konfigurieren.

Die folgenden Konstanten sind für diese Funktion verfügbar:

Für encryption:

  • BRICK_MASTER_WIFI_ENCRYPTION_WPA_WPA2 = 0
  • BRICK_MASTER_WIFI_ENCRYPTION_WPA_ENTERPRISE = 1
  • BRICK_MASTER_WIFI_ENCRYPTION_WEP = 2
  • BRICK_MASTER_WIFI_ENCRYPTION_NO_ENCRYPTION = 3

Für eapOptions:

  • BRICK_MASTER_WIFI_EAP_OPTION_OUTER_AUTH_EAP_FAST = 0
  • BRICK_MASTER_WIFI_EAP_OPTION_OUTER_AUTH_EAP_TLS = 1
  • BRICK_MASTER_WIFI_EAP_OPTION_OUTER_AUTH_EAP_TTLS = 2
  • BRICK_MASTER_WIFI_EAP_OPTION_OUTER_AUTH_EAP_PEAP = 3
  • BRICK_MASTER_WIFI_EAP_OPTION_INNER_AUTH_EAP_MSCHAP = 0
  • BRICK_MASTER_WIFI_EAP_OPTION_INNER_AUTH_EAP_GTC = 4
  • BRICK_MASTER_WIFI_EAP_OPTION_CERT_TYPE_CA_CERT = 0
  • BRICK_MASTER_WIFI_EAP_OPTION_CERT_TYPE_CLIENT_CERT = 8
  • BRICK_MASTER_WIFI_EAP_OPTION_CERT_TYPE_PRIVATE_KEY = 16
procedure TBrickMaster.GetWifiEncryption(out encryption: byte; out key: string; out keyIndex: byte; out eapOptions: byte; out caCertificateLength: word; out clientCertificateLength: word; out privateKeyLength: word)
Ausgabeparameter:
  • encryption – Typ: byte, Wertebereich: Siehe Konstanten
  • key – Typ: string, Länge: bis zu 50
  • keyIndex – Typ: byte, Wertebereich: [1 bis 4]
  • eapOptions – Typ: byte, Wertebereich: Siehe Konstanten
  • caCertificateLength – Typ: word, Wertebereich: [0 bis 216 - 1]
  • clientCertificateLength – Typ: word, Wertebereich: [0 bis 216 - 1]
  • privateKeyLength – Typ: word, Wertebereich: [0 bis 216 - 1]

Gibt die Verschlüsselungseinstellungen zurück, wie von SetWifiEncryption gesetzt.

Bemerkung

Seit Master Brick Firmware Version 2.4.4 wird der Schlüssel nicht mehr zurückgegeben.

Die folgenden Konstanten sind für diese Funktion verfügbar:

Für encryption:

  • BRICK_MASTER_WIFI_ENCRYPTION_WPA_WPA2 = 0
  • BRICK_MASTER_WIFI_ENCRYPTION_WPA_ENTERPRISE = 1
  • BRICK_MASTER_WIFI_ENCRYPTION_WEP = 2
  • BRICK_MASTER_WIFI_ENCRYPTION_NO_ENCRYPTION = 3

Für eapOptions:

  • BRICK_MASTER_WIFI_EAP_OPTION_OUTER_AUTH_EAP_FAST = 0
  • BRICK_MASTER_WIFI_EAP_OPTION_OUTER_AUTH_EAP_TLS = 1
  • BRICK_MASTER_WIFI_EAP_OPTION_OUTER_AUTH_EAP_TTLS = 2
  • BRICK_MASTER_WIFI_EAP_OPTION_OUTER_AUTH_EAP_PEAP = 3
  • BRICK_MASTER_WIFI_EAP_OPTION_INNER_AUTH_EAP_MSCHAP = 0
  • BRICK_MASTER_WIFI_EAP_OPTION_INNER_AUTH_EAP_GTC = 4
  • BRICK_MASTER_WIFI_EAP_OPTION_CERT_TYPE_CA_CERT = 0
  • BRICK_MASTER_WIFI_EAP_OPTION_CERT_TYPE_CLIENT_CERT = 8
  • BRICK_MASTER_WIFI_EAP_OPTION_CERT_TYPE_PRIVATE_KEY = 16
procedure TBrickMaster.GetWifiStatus(out macAddress: array [0..5] of byte; out bssid: array [0..5] of byte; out channel: byte; out rssi: smallint; out ip: array [0..3] of byte; out subnetMask: array [0..3] of byte; out gateway: array [0..3] of byte; out rxCount: longword; out txCount: longword; out state: byte)
Ausgabeparameter:
  • macAddress – Typ: array [0..5] of byte, Wertebereich: [0 bis 255]
  • bssid – Typ: array [0..5] of byte, Wertebereich: [0 bis 255]
  • channel – Typ: byte, Wertebereich: ?
  • rssi – Typ: smallint, Wertebereich: [-215 bis 215 - 1]
  • ip – Typ: array [0..3] of byte, Wertebereich: [0 bis 255]
  • subnetMask – Typ: array [0..3] of byte, Wertebereich: [0 bis 255]
  • gateway – Typ: array [0..3] of byte, Wertebereich: [0 bis 255]
  • rxCount – Typ: longword, Wertebereich: [0 bis 232 - 1]
  • txCount – Typ: longword, Wertebereich: [0 bis 232 - 1]
  • state – Typ: byte, Wertebereich: Siehe Konstanten

Gibt den Status der WIFI Extension zurück. state wird automatisch aktualisiert, alle anderen Parameter werden nur beim Starten und nach jedem Aufruf von RefreshWifiStatus aktualisiert.

Mögliche Werte für state sind:

State Beschreibung
0 Getrennt
1 Verbunden
2 Verbindung wird aufgebaut
3 Fehler
255 Noch nicht initialisiert

Die folgenden Konstanten sind für diese Funktion verfügbar:

Für state:

  • BRICK_MASTER_WIFI_STATE_DISASSOCIATED = 0
  • BRICK_MASTER_WIFI_STATE_ASSOCIATED = 1
  • BRICK_MASTER_WIFI_STATE_ASSOCIATING = 2
  • BRICK_MASTER_WIFI_STATE_ERROR = 3
  • BRICK_MASTER_WIFI_STATE_NOT_INITIALIZED_YET = 255
procedure TBrickMaster.RefreshWifiStatus

Aktualisiert den WLAN Status (siehe GetWifiStatus). Um den Status vom WLAN Modul zu lesen, muss der Master Brick vom Datenmodus in den Kommandomodus und wieder zurück wechseln. Dieser Wechsel und das eigentliche Auslesen ist leider zeitaufwändig. Dass heißt, es dauert ein paar ms bis der Stapel mit aufgesteckter WIFI Extension wieder reagiert nachdem die Funktion aufgerufen wurde.

procedure TBrickMaster.SetWifiCertificate(const index: word; const data: array [0..31] of byte; const dataLength: byte)
Parameter:
  • index – Typ: word, Wertebereich: [0 bis 1311, 10000 bis 11311, 20000 bis 24319, 65534 bis 216 - 1]
  • data – Typ: array [0..31] of byte, Wertebereich: [0 bis 255]
  • dataLength – Typ: byte, Einheit: 1 B, Wertebereich: [0 bis 32]

Diese Funktion kann benutzt werden um sowohl das Zertifikat als auch Benutzername und Passwort für WPA Enterprise zu setzen. Für den Benutzernamen muss Index 0xFFFF und für das Password Index 0xFFFE genutzt werden. Die maximale Länge für beide ist 32.

Das Zertifikat wird in Chunks der Größe 32 geschrieben und der Index gibt den Index des Chunk an. data_length sollte fast immer auf 32 gesetzt werden. Nur beim letzten Chunk ist eine Länge ungleich 32 möglich.

Der Startindex für CA Certificate ist 0, für Client Certificate 10000 und für Private Key 20000. Die Maximalen Dateigrößen sind jeweils 1312, 1312 und 4320 Byte.

Die Werte sind im EEPROM gespeichert und werden nur beim Start angewandt. Das bedeutet der Master Brick muss nach einer Konfiguration neu gestartet werden.

Wir empfehlen den Brick Viewer zu verwenden, um die Zertifikate, Benutzernamen und Passwort zu konfigurieren.

procedure TBrickMaster.GetWifiCertificate(const index: word; out data: array [0..31] of byte; out dataLength: byte)
Parameter:
  • index – Typ: word, Wertebereich: [0 bis 1311, 10000 bis 11311, 20000 bis 24319, 65534 bis 216 - 1]
Ausgabeparameter:
  • data – Typ: array [0..31] of byte, Wertebereich: [0 bis 255]
  • dataLength – Typ: byte, Wertebereich: [0 bis 32]

Gibt das Zertifikat für einen Index zurück, wie von SetWifiCertificate gesetzt.

procedure TBrickMaster.SetWifiPowerMode(const mode: byte)
Parameter:
  • mode – Typ: byte, Wertebereich: Siehe Konstanten, Standardwert: 0

Setzt den Stromsparmodus für die WIFI Extension. Mögliche Werte sind:

Mode Beschreibung
0 Full Speed (hoher Stromverbrauch, hoher Durchsatz)
1 Low Power (geringer Stromverbrauch, geringer Durchsatz)

Die folgenden Konstanten sind für diese Funktion verfügbar:

Für mode:

  • BRICK_MASTER_WIFI_POWER_MODE_FULL_SPEED = 0
  • BRICK_MASTER_WIFI_POWER_MODE_LOW_POWER = 1
function TBrickMaster.GetWifiPowerMode: byte
Rückgabe:
  • mode – Typ: byte, Wertebereich: Siehe Konstanten, Standardwert: 0

Gibt den Stromsparmodus zurück, wie von SetWifiPowerMode gesetzt.

Die folgenden Konstanten sind für diese Funktion verfügbar:

Für mode:

  • BRICK_MASTER_WIFI_POWER_MODE_FULL_SPEED = 0
  • BRICK_MASTER_WIFI_POWER_MODE_LOW_POWER = 1
procedure TBrickMaster.GetWifiBufferInfo(out overflow: longword; out lowWatermark: word; out used: word)
Ausgabeparameter:
  • overflow – Typ: longword, Wertebereich: [0 bis 232 - 1]
  • lowWatermark – Typ: word, Einheit: 1 B, Wertebereich: [0 bis 1500]
  • used – Typ: word, Einheit: 1 B, Wertebereich: [0 bis 1500]

Gibt Informationen über denn WLAN Empfangsbuffer zurück. Der WLAN Empfangsbuffer hat eine maximale Größe von 1500 Byte und falls zu viele Daten übertragen werden, kann er überlaufen.

Die Rückgabewerte sind die Anzahl der Overflows, die Low-Watermark (d.h. die kleinste Anzahl an Byte die je noch frei waren im Buffer) und die Anzahl der im Moment verwendeten Bytes im Buffer.

Es sollte immer versucht werden den Buffer leer zu halten, andernfalls ist mit einer permanenten Latenz zu rechnen. Eine gute Daumenregel ist, nicht mehr als 1000 Nachrichten pro Sekunde zu verschicken.

Dabei sollten am besten nie mehr als 50 Nachrichten auf einmal ohne Pausen gesendet werden.

procedure TBrickMaster.SetWifiRegulatoryDomain(const domain: byte)
Parameter:
  • domain – Typ: byte, Wertebereich: Siehe Konstanten, Standardwert: 1

Setzt den Geltungsbereich der WIFI Extension. Mögliche Werte sind:

Geltungsbereich Beschreibung
0 FCC: Kanal 1-11 (N/S Amerika, Australien, Neuseeland)
1 ETSI: Kanal 1-13 (Europa, Mittlerer Osten, Afrika)
2 TELEC: Kanal 1-14 (Japan)

Die folgenden Konstanten sind für diese Funktion verfügbar:

Für domain:

  • BRICK_MASTER_WIFI_DOMAIN_CHANNEL_1TO11 = 0
  • BRICK_MASTER_WIFI_DOMAIN_CHANNEL_1TO13 = 1
  • BRICK_MASTER_WIFI_DOMAIN_CHANNEL_1TO14 = 2
function TBrickMaster.GetWifiRegulatoryDomain: byte
Rückgabe:
  • domain – Typ: byte, Wertebereich: Siehe Konstanten, Standardwert: 1

Gibt den Geltungsbereich zurück, wie von SetWifiRegulatoryDomain gesetzt.

Die folgenden Konstanten sind für diese Funktion verfügbar:

Für domain:

  • BRICK_MASTER_WIFI_DOMAIN_CHANNEL_1TO11 = 0
  • BRICK_MASTER_WIFI_DOMAIN_CHANNEL_1TO13 = 1
  • BRICK_MASTER_WIFI_DOMAIN_CHANNEL_1TO14 = 2
function TBrickMaster.GetUSBVoltage: word
Rückgabe:
  • voltage – Typ: word, Einheit: 1 mV, Wertebereich: [0 bis 216 - 1]

Gibt die USB Spannung zurück. Funktioniert nicht mit Hardware Version 2.1 oder neuer.

procedure TBrickMaster.SetLongWifiKey(const key: string)
Parameter:
  • key – Typ: string, Länge: bis zu 64

Setzt einen langen WLAN Schlüssel (bis zu 63 Zeichen, mindestens 8 Zeichen) für WPA Verschlüsselung. Dieser Schlüssel wird genutzt, wenn der Schlüssel in SetWifiEncryption auf "-" gesetzt wird. Im alten Protokoll war ein Payload der Größe 63 nicht möglich, dadurch wurde die maximale Schlüssellänge auf 50 gesetzt.

Mit dem neuen Protokoll ist die volle Schlüssellänge möglich. Da wir keine API brechen wollten, wurde diese Funktion zusätzlich hinzugefügt.

Neu in Version 2.0.2 (Firmware).

function TBrickMaster.GetLongWifiKey: string
Rückgabe:
  • key – Typ: string, Länge: bis zu 64

Gibt den Verschlüsselungsschlüssel zurück, wie von SetLongWifiKey gesetzt.

Bemerkung

Seit Master Brick Firmware Version 2.4.4 wird der Schlüssel nicht mehr zurückgegeben.

Neu in Version 2.0.2 (Firmware).

procedure TBrickMaster.SetWifiHostname(const hostname: string)
Parameter:
  • hostname – Typ: string, Länge: bis zu 16

Setzt den Hostnamen der WIFI Extension. Der Hostname wird von Access Points als Hostname in der DHCP Client Tabelle angezeigt.

Das Setzen eines leeren Strings stellt den voreingestellten Hostnamen wieder her.

Neu in Version 2.0.5 (Firmware).

function TBrickMaster.GetWifiHostname: string
Rückgabe:
  • hostname – Typ: string, Länge: bis zu 16

Gibt den Hostnamen zurück, wie von SetWifiHostname gesetzt.

Ein leerer String bedeutet, dass der voreingestellte Hostname genutzt wird.

Neu in Version 2.0.5 (Firmware).

function TBrickMaster.IsEthernetPresent: boolean
Rückgabe:
  • present – Typ: boolean

Gibt true zurück, wenn der Master Brick an Position 0 im Stapel und eine Ethernet Extension verfügbar ist.

Neu in Version 2.1.0 (Firmware).

procedure TBrickMaster.SetEthernetConfiguration(const connection: byte; const ip: array [0..3] of byte; const subnetMask: array [0..3] of byte; const gateway: array [0..3] of byte; const port: word)
Parameter:
  • connection – Typ: byte, Wertebereich: Siehe Konstanten
  • ip – Typ: array [0..3] of byte, Wertebereich: [0 bis 255]
  • subnetMask – Typ: array [0..3] of byte, Wertebereich: [0 bis 255]
  • gateway – Typ: array [0..3] of byte, Wertebereich: [0 bis 255]
  • port – Typ: word, Wertebereich: [0 bis 216 - 1], Standardwert: 4223

Setzt die Konfiguration der Ethernet Extension. Mögliche Werte für connection sind:

Wert Beschreibung
0 DHCP
1 Statische IP

Wenn connection auf die statische IP Option gesetzt wird, dann müssen ip, subnet_mask und gateway als ein Array der Größe 4 angegeben werden. Dabei ist das erste Element im Array das niederwertigste Byte. Falls connection auf die DHCP Option gesetzt ist, werden ip, subnet_mask und gateway ignoriert.

Der letzte Parameter ist der Port auf den das Anwendungsprogramm sich verbindet.

Die Werte sind im EEPROM gespeichert und werden nur beim Start angewandt. Das bedeutet der Master Brick muss nach einer Konfiguration neu gestartet werden.

Wir empfehlen den Brick Viewer zu verwenden, um die Ethernet Extension zu konfigurieren.

Die folgenden Konstanten sind für diese Funktion verfügbar:

Für connection:

  • BRICK_MASTER_ETHERNET_CONNECTION_DHCP = 0
  • BRICK_MASTER_ETHERNET_CONNECTION_STATIC_IP = 1

Neu in Version 2.1.0 (Firmware).

procedure TBrickMaster.GetEthernetConfiguration(out connection: byte; out ip: array [0..3] of byte; out subnetMask: array [0..3] of byte; out gateway: array [0..3] of byte; out port: word)
Ausgabeparameter:
  • connection – Typ: byte, Wertebereich: Siehe Konstanten
  • ip – Typ: array [0..3] of byte, Wertebereich: [0 bis 255]
  • subnetMask – Typ: array [0..3] of byte, Wertebereich: [0 bis 255]
  • gateway – Typ: array [0..3] of byte, Wertebereich: [0 bis 255]
  • port – Typ: word, Wertebereich: [0 bis 216 - 1], Standardwert: 4223

Gibt die Konfiguration zurück, wie von SetEthernetConfiguration gesetzt.

Die folgenden Konstanten sind für diese Funktion verfügbar:

Für connection:

  • BRICK_MASTER_ETHERNET_CONNECTION_DHCP = 0
  • BRICK_MASTER_ETHERNET_CONNECTION_STATIC_IP = 1

Neu in Version 2.1.0 (Firmware).

procedure TBrickMaster.GetEthernetStatus(out macAddress: array [0..5] of byte; out ip: array [0..3] of byte; out subnetMask: array [0..3] of byte; out gateway: array [0..3] of byte; out rxCount: longword; out txCount: longword; out hostname: string)
Ausgabeparameter:
  • macAddress – Typ: array [0..5] of byte, Wertebereich: [0 bis 255]
  • ip – Typ: array [0..3] of byte, Wertebereich: [0 bis 255]
  • subnetMask – Typ: array [0..3] of byte, Wertebereich: [0 bis 255]
  • gateway – Typ: array [0..3] of byte, Wertebereich: [0 bis 255]
  • rxCount – Typ: longword, Einheit: 1 B, Wertebereich: [0 bis 232 - 1]
  • txCount – Typ: longword, Einheit: 1 B, Wertebereich: [0 bis 232 - 1]
  • hostname – Typ: string, Länge: bis zu 32

Gibt den Status der Ethernet Extension zurück.

mac_address, ip, subnet_mask und gateway werden als Array übergeben. Das erste Element des Arrays ist das niederwertigste Byte.

rx_count und tx_count sind die Anzahl der Bytes die seit dem letzten Neustart empfangen/gesendet wurden.

hostname ist der aktuell genutzte Hostname.

Neu in Version 2.1.0 (Firmware).

procedure TBrickMaster.SetEthernetHostname(const hostname: string)
Parameter:
  • hostname – Typ: string, Länge: bis zu 32

Setzt den Hostnamen der Ethernet Extension. Der Hostname wird von Access Points als Hostname in der DHCP Client Tabelle angezeigt.

Das setzen eines leeren Strings stellt den voreingestellten Hostnamen wieder her.

Der aktuelle Hostname kann mit GetEthernetStatus herausgefunden werden.

Neu in Version 2.1.0 (Firmware).

procedure TBrickMaster.SetEthernetMACAddress(const macAddress: array [0..5] of byte)
Parameter:
  • macAddress – Typ: array [0..5] of byte, Wertebereich: [0 bis 255]

Setzt die MAC Adresse der Ethernet Extension. Die Ethernet Extension sollte mit einer vorkonfigurierten MAC Adresse ausgeliefert werden. Diese MAC Adresse steht auch auf einem Aufkleber auf der Ethernet Extension.

Die MAC Adresse kann mit GetEthernetStatus wieder ausgelesen werden.

Neu in Version 2.1.0 (Firmware).

procedure TBrickMaster.SetEthernetWebsocketConfiguration(const sockets: byte; const port: word)
Parameter:
  • sockets – Typ: byte, Wertebereich: [0 bis 7], Standardwert: 3
  • port – Typ: word, Wertebereich: [0 bis 216 - 1], Standardwert: 4280

Setzt die Ethernet WebSocket-Konfiguration. Der erste Parameter setzt die Anzahl der Socket-Verbindungen die für WebSockets reserviert werden. Der mögliche Wertebereich ist 0-7. Die Verbindungen werden zwischen den normalen Sockets und den WebSockets aufgeteilt. Beispiel: Wenn die Socket-Verbindungen auf 3 gesetzt werden, stehen 3 WebSockets und 4 normale Sockets zur Verfügung.

Der zweite Parameter ist der Port für die WebSocket-Verbindungen. Der Port kann nicht der gleiche sein wie der Port des normalen Sockets.

Die Werte sind im EEPROM gespeichert und werden nur beim Start angewandt. Das bedeutet der Master Brick muss nach einer Konfiguration neu gestartet werden.

Wir empfehlen den Brick Viewer zu verwenden, um die Ethernet Extension zu konfigurieren.

Neu in Version 2.2.0 (Firmware).

procedure TBrickMaster.GetEthernetWebsocketConfiguration(out sockets: byte; out port: word)
Ausgabeparameter:
  • sockets – Typ: byte, Wertebereich: [0 bis 7], Standardwert: 3
  • port – Typ: word, Wertebereich: [0 bis 216 - 1], Standardwert: 4280

Gibt die Konfiguration zurück, wie von SetEthernetConfiguration gesetzt.

Neu in Version 2.2.0 (Firmware).

procedure TBrickMaster.SetEthernetAuthenticationSecret(const secret: string)
Parameter:
  • secret – Typ: string, Länge: bis zu 64, Standardwert: ''

Setzt das Authentifizierungsgeheimnis. Das Geheimnis ist ein String aus bis zu 64 Buchstaben. Ein leerer String deaktiviert die Authentifizierung.

Für mehr Informationen zur Authentifizierung siehe das dazugehörige Tutorial.

Das Authentifizierungsgehemnis wird im EEPROM gespeichert und nur beim Start angewandt. Das bedeutet der Master Brick muss nach einer Konfiguration neu gestartet werden.

Wir empfehlen den Brick Viewer zu verwenden, um die Authentifizierung der Ethernet Extension einzurichten.

Der Standardwert ist ein leerer String (Authentifizierung deaktiviert).

Neu in Version 2.2.0 (Firmware).

function TBrickMaster.GetEthernetAuthenticationSecret: string
Rückgabe:
  • secret – Typ: string, Länge: bis zu 64, Standardwert: ''

Gibt das Authentifizierungsgeheimnis zurück, wie von SetEthernetAuthenticationSecret gesetzt.

Neu in Version 2.2.0 (Firmware).

procedure TBrickMaster.SetWifiAuthenticationSecret(const secret: string)
Parameter:
  • secret – Typ: string, Länge: bis zu 64, Standardwert: ''

Setzt das Authentifizierungsgeheimnis. Das Geheimnis ist ein String aus bis zu 64 Buchstaben. Ein leerer String deaktiviert die Authentifizierung.

Für mehr Informationen zur Authentifizierung siehe das dazugehörige Tutorial.

Das Authentifizierungsgehemnis wird im EEPROM gespeichert und nur beim Start angewandt. Das bedeutet der Master Brick muss nach einer Konfiguration neu gestartet werden.

Wir empfehlen den Brick Viewer zu verwenden, um die Authentifizierung der WIFI Extension einzurichten.

Der Standardwert ist ein leerer String (Authentifizierung deaktiviert).

Neu in Version 2.2.0 (Firmware).

function TBrickMaster.GetWifiAuthenticationSecret: string
Rückgabe:
  • secret – Typ: string, Länge: bis zu 64, Standardwert: ''

Gibt das Authentifizierungsgeheimnis zurück, wie von SetWifiAuthenticationSecret gesetzt.

Neu in Version 2.2.0 (Firmware).

function TBrickMaster.GetConnectionType: byte
Rückgabe:
  • connectionType – Typ: byte, Wertebereich: Siehe Konstanten

Gibt den Typ der Verbingung zurück, über welche diese Funktion aufgerufen wurde.

Die folgenden Konstanten sind für diese Funktion verfügbar:

Für connectionType:

  • BRICK_MASTER_CONNECTION_TYPE_NONE = 0
  • BRICK_MASTER_CONNECTION_TYPE_USB = 1
  • BRICK_MASTER_CONNECTION_TYPE_SPI_STACK = 2
  • BRICK_MASTER_CONNECTION_TYPE_CHIBI = 3
  • BRICK_MASTER_CONNECTION_TYPE_RS485 = 4
  • BRICK_MASTER_CONNECTION_TYPE_WIFI = 5
  • BRICK_MASTER_CONNECTION_TYPE_ETHERNET = 6
  • BRICK_MASTER_CONNECTION_TYPE_WIFI2 = 7

Neu in Version 2.4.0 (Firmware).

function TBrickMaster.IsWifi2Present: boolean
Rückgabe:
  • present – Typ: boolean

Gibt true zurück, wenn der Master Brick an Position 0 im Stapel und eine WIFI Extension 2.0 verfügbar ist.

Neu in Version 2.4.0 (Firmware).

function TBrickMaster.StartWifi2Bootloader: shortint
Rückgabe:
  • result – Typ: shortint, Wertebereich: [-128 bis 127]

Startet den Bootloader der WIFI Extension 2.0. Gibt bei Erfolg 0 zurück. Danach können die WriteWifi2SerialPort und ReadWifi2SerialPort Funktionen zur Kommunikation mit dem Bootloader verwendet werden, um eine neue Firmware zu flashen.

Der Bootloader sollte nur über eine USB Verbindung gestartet werden. Er kann nicht über eine WIFI2 Verbindung gestartet werden, siehe die GetConnectionType Funktion.

Wir empfehlen den Brick Viewer zu verwenden, um die Firmware der WIFI Extension 2.0 zu aktualisieren.

Neu in Version 2.4.0 (Firmware).

function TBrickMaster.WriteWifi2SerialPort(const data: array [0..59] of byte; const length: byte): shortint
Parameter:
  • data – Typ: array [0..59] of byte, Wertebereich: [0 bis 255]
  • length – Typ: byte, Einheit: 1 B, Wertebereich: [0 bis 60]
Rückgabe:
  • result – Typ: shortint, Wertebereich: [-128 bis 127]

Schreibt bis zu 60 Bytes (Anzahl zu schreibender Bytes mit length angeben) auf die serielle Schnittstelle des Bootloaders der WIFI Extension 2.0. Gibt bei Erfolg 0 zurück.

Bevor diese Funktion genutzt werden kann muss der Bootloader mit der StartWifi2Bootloader Funktion gestartet werden.

Wir empfehlen den Brick Viewer zu verwenden, um die Firmware der WIFI Extension 2.0 zu aktualisieren.

Neu in Version 2.4.0 (Firmware).

procedure TBrickMaster.ReadWifi2SerialPort(const length: byte; out data: array [0..59] of byte; out result: byte)
Parameter:
  • length – Typ: byte, Wertebereich: [0 bis 255]
Ausgabeparameter:
  • data – Typ: array [0..59] of byte, Wertebereich: [0 bis 60]
  • result – Typ: byte, Wertebereich: [0 bis 255]

Liest bis zu 60 Bytes (Anzahl zu lesender Bytes mit length angegeben) von der seriellen Schnittstelle des Bootloaders der WIFI Extension 2.0. Gibt die Anzahl der wirklich gelesenen Bytes zurück.

Bevor diese Funktion genutzt werden kann muss der Bootloader mit der StartWifi2Bootloader Funktion gestartet werden.

Wir empfehlen den Brick Viewer zu verwenden, um die Firmware der WIFI Extension 2.0 zu aktualisieren.

Neu in Version 2.4.0 (Firmware).

procedure TBrickMaster.SetWifi2AuthenticationSecret(const secret: string)
Parameter:
  • secret – Typ: string, Länge: bis zu 64

Setzt das WLAN-Authentifizierungsgeheimnis. Das Geheimnis ist ein String aus bis zu 64 Buchstaben. Ein leerer String deaktiviert die Authentifizierung. Der Standardwert ist ein leerer String (Authentifizierung deaktiviert).

Für mehr Informationen zur Authentifizierung siehe das dazugehörige Tutorial.

Um Konfigurationsänderungen für die WIFI Extension 2.0 zu übernehmen muss die SaveWifi2Configuration Funktion aufgerufen und der Master Brick danach neugestartet werden.

Wir empfehlen den Brick Viewer zu verwenden, um die WIFI Extension 2.0 zu konfigurieren.

Neu in Version 2.4.0 (Firmware).

function TBrickMaster.GetWifi2AuthenticationSecret: string
Rückgabe:
  • secret – Typ: string, Länge: bis zu 64

Gibt das WLAN-Authentifizierungsgeheimnis zurück, wie von SetWifi2AuthenticationSecret gesetzt.

Neu in Version 2.4.0 (Firmware).

procedure TBrickMaster.SetWifi2Configuration(const port: word; const websocketPort: word; const websitePort: word; const phyMode: byte; const sleepMode: byte; const website: byte)
Parameter:
  • port – Typ: word, Wertebereich: [0 bis 216 - 1], Standardwert: 4223
  • websocketPort – Typ: word, Wertebereich: [0 bis 216 - 1], Standardwert: 4280
  • websitePort – Typ: word, Wertebereich: [0 bis 216 - 1], Standardwert: 80
  • phyMode – Typ: byte, Wertebereich: Siehe Konstanten
  • sleepMode – Typ: byte, Wertebereich: [0 bis 255]
  • website – Typ: byte, Wertebereich: [0 bis 255]

Setzt die allgemeine Konfiguration der WIFI Extension 2.0.

Der port Parameter setzt die Portnummer auf die sich das Anwendungsprogramm verbindet.

Der websocket_port Parameter setzt die WebSocket-Portnummer auf die sich das JavaScript Anwendungsprogramm verbindet.

Der website_port Parameter setzt die Portnummer für die Webseite der WIFI Extension 2.0.

Der phy_mode Parameter setzt den zu verwendenden WLAN-Modus. Mögliche Werte sinf B, G und N.

Die sleep_mode und website Parameter werden momentan nicht verwendet.

Um Konfigurationsänderungen für die WIFI Extension 2.0 zu übernehmen muss die SaveWifi2Configuration Funktion aufgerufen und der Master Brick danach neugestartet werden.

Wir empfehlen den Brick Viewer zu verwenden, um die WIFI Extension 2.0 zu konfigurieren.

Die folgenden Konstanten sind für diese Funktion verfügbar:

Für phyMode:

  • BRICK_MASTER_WIFI2_PHY_MODE_B = 0
  • BRICK_MASTER_WIFI2_PHY_MODE_G = 1
  • BRICK_MASTER_WIFI2_PHY_MODE_N = 2

Neu in Version 2.4.0 (Firmware).

procedure TBrickMaster.GetWifi2Configuration(out port: word; out websocketPort: word; out websitePort: word; out phyMode: byte; out sleepMode: byte; out website: byte)
Ausgabeparameter:
  • port – Typ: word, Wertebereich: [0 bis 216 - 1], Standardwert: 4223
  • websocketPort – Typ: word, Wertebereich: [0 bis 216 - 1], Standardwert: 4280
  • websitePort – Typ: word, Wertebereich: [0 bis 216 - 1], Standardwert: 80
  • phyMode – Typ: byte, Wertebereich: Siehe Konstanten
  • sleepMode – Typ: byte, Wertebereich: [0 bis 255]
  • website – Typ: byte, Wertebereich: [0 bis 255]

Gibt die allgemeine Konfiguration zurück, wie von SetWifi2Configuration gesetzt.

Die folgenden Konstanten sind für diese Funktion verfügbar:

Für phyMode:

  • BRICK_MASTER_WIFI2_PHY_MODE_B = 0
  • BRICK_MASTER_WIFI2_PHY_MODE_G = 1
  • BRICK_MASTER_WIFI2_PHY_MODE_N = 2

Neu in Version 2.4.0 (Firmware).

procedure TBrickMaster.GetWifi2Status(out clientEnabled: boolean; out clientStatus: byte; out clientIP: array [0..3] of byte; out clientSubnetMask: array [0..3] of byte; out clientGateway: array [0..3] of byte; out clientMACAddress: array [0..5] of byte; out clientRXCount: longword; out clientTXCount: longword; out clientRSSI: shortint; out apEnabled: boolean; out apIP: array [0..3] of byte; out apSubnetMask: array [0..3] of byte; out apGateway: array [0..3] of byte; out apMACAddress: array [0..5] of byte; out apRXCount: longword; out apTXCount: longword; out apConnectedCount: byte)
Ausgabeparameter:
  • clientEnabled – Typ: boolean
  • clientStatus – Typ: byte, Wertebereich: Siehe Konstanten
  • clientIP – Typ: array [0..3] of byte, Wertebereich: [0 bis 255]
  • clientSubnetMask – Typ: array [0..3] of byte, Wertebereich: [0 bis 255]
  • clientGateway – Typ: array [0..3] of byte, Wertebereich: [0 bis 255]
  • clientMACAddress – Typ: array [0..5] of byte, Wertebereich: [0 bis 255]
  • clientRXCount – Typ: longword, Einheit: 1 B, Wertebereich: [0 bis 232 - 1]
  • clientTXCount – Typ: longword, Einheit: 1 B, Wertebereich: [0 bis 232 - 1]
  • clientRSSI – Typ: shortint, Wertebereich: [-128 bis 127]
  • apEnabled – Typ: boolean
  • apIP – Typ: array [0..3] of byte, Wertebereich: [0 bis 255]
  • apSubnetMask – Typ: array [0..3] of byte, Wertebereich: [0 bis 255]
  • apGateway – Typ: array [0..3] of byte, Wertebereich: [0 bis 255]
  • apMACAddress – Typ: array [0..5] of byte, Wertebereich: [0 bis 255]
  • apRXCount – Typ: longword, Einheit: 1 B, Wertebereich: [0 bis 232 - 1]
  • apTXCount – Typ: longword, Einheit: 1 B, Wertebereich: [0 bis 232 - 1]
  • apConnectedCount – Typ: byte, Wertebereich: [0 bis 255]

Gibt den Client und Access Point Status der WIFI Extension 2.0 zurück.

Die folgenden Konstanten sind für diese Funktion verfügbar:

Für clientStatus:

  • BRICK_MASTER_WIFI2_CLIENT_STATUS_IDLE = 0
  • BRICK_MASTER_WIFI2_CLIENT_STATUS_CONNECTING = 1
  • BRICK_MASTER_WIFI2_CLIENT_STATUS_WRONG_PASSWORD = 2
  • BRICK_MASTER_WIFI2_CLIENT_STATUS_NO_AP_FOUND = 3
  • BRICK_MASTER_WIFI2_CLIENT_STATUS_CONNECT_FAILED = 4
  • BRICK_MASTER_WIFI2_CLIENT_STATUS_GOT_IP = 5
  • BRICK_MASTER_WIFI2_CLIENT_STATUS_UNKNOWN = 255

Neu in Version 2.4.0 (Firmware).

procedure TBrickMaster.SetWifi2ClientConfiguration(const enable: boolean; const ssid: string; const ip: array [0..3] of byte; const subnetMask: array [0..3] of byte; const gateway: array [0..3] of byte; const macAddress: array [0..5] of byte; const bssid: array [0..5] of byte)
Parameter:
  • enable – Typ: boolean, Standardwert: true
  • ssid – Typ: string, Länge: bis zu 32
  • ip – Typ: array [0..3] of byte, Wertebereich: [0 bis 255]
  • subnetMask – Typ: array [0..3] of byte, Wertebereich: [0 bis 255]
  • gateway – Typ: array [0..3] of byte, Wertebereich: [0 bis 255]
  • macAddress – Typ: array [0..5] of byte, Wertebereich: [0 bis 255]
  • bssid – Typ: array [0..5] of byte, Wertebereich: [0 bis 255]

Setzt die Client-spezifische Konfiguration der WIFI Extension 2.0.

Der enable Parameter aktiviert oder deaktiviert den Client-Teil der WIFI Extension 2.0. Der Standardwert ist true.

Der ssid Parameter die SSID (bis zu 32 Zeichen) des Access Points zu dem die WLAN Verbindung hergestellt werden soll.

Wenn die ip, subnet_mask und gateway Parameter alle auf Null gesetzt sind, dann wird DHCP verwendet. Andernfalls kann mit diese drei Parametern eine statische IP Adresse eingestellt werden. Die Standardeinstellung ist DHCP.

Wenn der mac_address Parameter auf Null gesetzt ist, dann wird die voreingestellt MAC Adresse verwendet. Andernfalls kann mit diesem Parameter eine eigene MAC Adresse eingestellt werden.

Wenn der bssid Parameter auf Null gesetzt ist, dann verbindet sich die WIFI Extension 2.0 mit einem Access Point wenn die eingestellt SSID übereinstimmt. Andernfalls kann dieses Parameter verwendet werden, damit sich die WIFI Extension 2.0 nur dann mit einem Access Point verbindet, wenn SSID und BSSID übereinstimmen.

Um Konfigurationsänderungen für die WIFI Extension 2.0 zu übernehmen muss die SaveWifi2Configuration Funktion aufgerufen und der Master Brick danach neugestartet werden.

Wir empfehlen den Brick Viewer zu verwenden, um die WIFI Extension 2.0 zu konfigurieren.

Neu in Version 2.4.0 (Firmware).

procedure TBrickMaster.GetWifi2ClientConfiguration(out enable: boolean; out ssid: string; out ip: array [0..3] of byte; out subnetMask: array [0..3] of byte; out gateway: array [0..3] of byte; out macAddress: array [0..5] of byte; out bssid: array [0..5] of byte)
Ausgabeparameter:
  • enable – Typ: boolean, Standardwert: true
  • ssid – Typ: string, Länge: bis zu 32
  • ip – Typ: array [0..3] of byte, Wertebereich: [0 bis 255]
  • subnetMask – Typ: array [0..3] of byte, Wertebereich: [0 bis 255]
  • gateway – Typ: array [0..3] of byte, Wertebereich: [0 bis 255]
  • macAddress – Typ: array [0..5] of byte, Wertebereich: [0 bis 255]
  • bssid – Typ: array [0..5] of byte, Wertebereich: [0 bis 255]

Gibt die Client Konfiguration zurück, wie von SetWifi2ClientConfiguration gesetzt.

Neu in Version 2.4.0 (Firmware).

procedure TBrickMaster.SetWifi2ClientHostname(const hostname: string)
Parameter:
  • hostname – Typ: string, Länge: bis zu 32

Setzt den Client Hostnamen (bis zu 32 Zeichen) der WIFI Extension 2.0. Der Hostname wird von Access Points als Hostname in der DHCP Client Tabelle angezeigt.

Um Konfigurationsänderungen für die WIFI Extension 2.0 zu übernehmen muss die SaveWifi2Configuration Funktion aufgerufen und der Master Brick danach neugestartet werden.

Wir empfehlen den Brick Viewer zu verwenden, um die WIFI Extension 2.0 zu konfigurieren.

Neu in Version 2.4.0 (Firmware).

function TBrickMaster.GetWifi2ClientHostname: string
Rückgabe:
  • hostname – Typ: string, Länge: bis zu 32

Gibt den Client Hostnamen zurück, wie von SetWifi2ClientHostname gesetzt.

Neu in Version 2.4.0 (Firmware).

procedure TBrickMaster.SetWifi2ClientPassword(const password: string)
Parameter:
  • password – Typ: string, Länge: bis zu 64

Setzt das Client-Passwort (bis zu 63 Zeichen) für WPA/WPA2 Verschlüsselung.

Um Konfigurationsänderungen für die WIFI Extension 2.0 zu übernehmen muss die SaveWifi2Configuration Funktion aufgerufen und der Master Brick danach neugestartet werden.

Wir empfehlen den Brick Viewer zu verwenden, um die WIFI Extension 2.0 zu konfigurieren.

Neu in Version 2.4.0 (Firmware).

function TBrickMaster.GetWifi2ClientPassword: string
Rückgabe:
  • password – Typ: string, Länge: bis zu 64

Gibt das Client-Passwort zurück, wie von SetWifi2ClientPassword gesetzt.

Bemerkung

Seit WIFI Extension 2.0 Firmware Version 2.1.3 wird das Passwort nicht mehr zurückgegeben.

Neu in Version 2.4.0 (Firmware).

procedure TBrickMaster.SetWifi2APConfiguration(const enable: boolean; const ssid: string; const ip: array [0..3] of byte; const subnetMask: array [0..3] of byte; const gateway: array [0..3] of byte; const encryption: byte; const hidden: boolean; const channel: byte; const macAddress: array [0..5] of byte)
Parameter:
  • enable – Typ: boolean, Standardwert: true
  • ssid – Typ: string, Länge: bis zu 32
  • ip – Typ: array [0..3] of byte, Wertebereich: [0 bis 255], Standardwert: (0, 0, 0, 0)
  • subnetMask – Typ: array [0..3] of byte, Wertebereich: [0 bis 255]
  • gateway – Typ: array [0..3] of byte, Wertebereich: [0 bis 255]
  • encryption – Typ: byte, Wertebereich: Siehe Konstanten, Standardwert: 4
  • hidden – Typ: boolean, Standardwert: false
  • channel – Typ: byte, Wertebereich: [0 bis 255], Standardwert: 1
  • macAddress – Typ: array [0..5] of byte, Wertebereich: [0 bis 255]

Setzt die Access-Point-spezifische Konfiguration der WIFI Extension 2.0.

Der enable Parameter aktiviert oder deaktiviert den Access-Point-Teil der WIFI Extension 2.0. Der Standardwert ist true.

Der ssid Parameter die SSID (bis zu 32 Zeichen) des Access Points.

Wenn die ip, subnet_mask und gateway Parameter alle auf Null gesetzt sind, dann wird ein DHCP Server aktiviert. Andernfalls kann mit diese drei Parametern eine statische IP Adresse eingestellt werden. Die Standardeinstellung ist DHCP.

Der encryption Parameter legt den Verschlüsselungsmodus fest. Mögliche Werte sind Open (keine Verschlüsselung), WEP oder WPA/WPA2 PSK. Mit der SetWifi2APPassword Kann das Verschlüsselungspasswort gesetzt werden.

Der hidden Parameter legt fest, oder der Access Point seine SSID versteckt oder zeigt.

Der channel Parameter gibt den Kanal (1 to 13) des Access Points and.

Wenn der mac_address Parameter auf Null gesetzt ist, dann wird die voreingestellt MAC Adresse verwendet. Andernfalls kann mit diesem Parameter eine eigene MAC Adresse eingestellt werden.

Um Konfigurationsänderungen für die WIFI Extension 2.0 zu übernehmen muss die SaveWifi2Configuration Funktion aufgerufen und der Master Brick danach neugestartet werden.

Wir empfehlen den Brick Viewer zu verwenden, um die WIFI Extension 2.0 zu konfigurieren.

Die folgenden Konstanten sind für diese Funktion verfügbar:

Für encryption:

  • BRICK_MASTER_WIFI2_AP_ENCRYPTION_OPEN = 0
  • BRICK_MASTER_WIFI2_AP_ENCRYPTION_WEP = 1
  • BRICK_MASTER_WIFI2_AP_ENCRYPTION_WPA_PSK = 2
  • BRICK_MASTER_WIFI2_AP_ENCRYPTION_WPA2_PSK = 3
  • BRICK_MASTER_WIFI2_AP_ENCRYPTION_WPA_WPA2_PSK = 4

Neu in Version 2.4.0 (Firmware).

procedure TBrickMaster.GetWifi2APConfiguration(out enable: boolean; out ssid: string; out ip: array [0..3] of byte; out subnetMask: array [0..3] of byte; out gateway: array [0..3] of byte; out encryption: byte; out hidden: boolean; out channel: byte; out macAddress: array [0..5] of byte)
Ausgabeparameter:
  • enable – Typ: boolean, Standardwert: true
  • ssid – Typ: string, Länge: bis zu 32
  • ip – Typ: array [0..3] of byte, Wertebereich: [0 bis 255], Standardwert: (0, 0, 0, 0)
  • subnetMask – Typ: array [0..3] of byte, Wertebereich: [0 bis 255]
  • gateway – Typ: array [0..3] of byte, Wertebereich: [0 bis 255]
  • encryption – Typ: byte, Wertebereich: Siehe Konstanten, Standardwert: 4
  • hidden – Typ: boolean, Standardwert: false
  • channel – Typ: byte, Wertebereich: [0 bis 255], Standardwert: 1
  • macAddress – Typ: array [0..5] of byte, Wertebereich: [0 bis 255]

Gibt die Access-Point-Konfiguration zurück, wie von SetWifi2APConfiguration gesetzt.

Die folgenden Konstanten sind für diese Funktion verfügbar:

Für encryption:

  • BRICK_MASTER_WIFI2_AP_ENCRYPTION_OPEN = 0
  • BRICK_MASTER_WIFI2_AP_ENCRYPTION_WEP = 1
  • BRICK_MASTER_WIFI2_AP_ENCRYPTION_WPA_PSK = 2
  • BRICK_MASTER_WIFI2_AP_ENCRYPTION_WPA2_PSK = 3
  • BRICK_MASTER_WIFI2_AP_ENCRYPTION_WPA_WPA2_PSK = 4

Neu in Version 2.4.0 (Firmware).

procedure TBrickMaster.SetWifi2APPassword(const password: string)
Parameter:
  • password – Typ: string, Länge: bis zu 64

Setzt das Access-Point-Passwort (mindestens 8 und bis zu 63 Zeichen) für den eingestellten Verschlüsselungsmodus, siehe SetWifi2APConfiguration.

Um Konfigurationsänderungen für die WIFI Extension 2.0 zu übernehmen muss die SaveWifi2Configuration Funktion aufgerufen und der Master Brick danach neugestartet werden.

Wir empfehlen den Brick Viewer zu verwenden, um die WIFI Extension 2.0 zu konfigurieren.

Neu in Version 2.4.0 (Firmware).

function TBrickMaster.GetWifi2APPassword: string
Rückgabe:
  • password – Typ: string, Länge: bis zu 64

Gibt das Access-Point-Passwort zurück, wie von SetWifi2APPassword gesetzt.

Bemerkung

Seit WIFI Extension 2.0 Firmware Version 2.1.3 wird das Passwort nicht mehr zurückgegeben.

Neu in Version 2.4.0 (Firmware).

function TBrickMaster.SaveWifi2Configuration: byte
Rückgabe:
  • result – Typ: byte, Wertebereich: [0 bis 255]

Alle Konfigurationsfunktionen der WIFI Extension 2.0 ändern die Werte nicht dauerhaft. Nach einer Konfiguration muss diese Funktion aufgerufen werden, um die Werte dauerhaft zu speichern.

Die Werte sind im EEPROM gespeichert und werden nur beim Start angewandt. Das bedeutet der Master Brick muss nach einer Konfiguration neu gestartet werden.

Neu in Version 2.4.0 (Firmware).

function TBrickMaster.GetWifi2FirmwareVersion: array [0..2] of byte
Ausgabeparameter:
  • firmwareVersion – Typ: array [0..2] of byte
    • 0: major – Typ: byte, Wertebereich: [0 bis 255]
    • 1: minor – Typ: byte, Wertebereich: [0 bis 255]
    • 2: revision – Typ: byte, Wertebereich: [0 bis 255]

Gibt die aktuelle Version der WIFI Extension 2.0 Firmware zurück.

Neu in Version 2.4.0 (Firmware).

procedure TBrickMaster.EnableWifi2StatusLED

Aktiviert die grüne Status LED der WIFI Extension 2.0.

Neu in Version 2.4.0 (Firmware).

procedure TBrickMaster.DisableWifi2StatusLED

Deaktiviert die grüne Status LED der WIFI Extension 2.0.

Neu in Version 2.4.0 (Firmware).

function TBrickMaster.IsWifi2StatusLEDEnabled: boolean
Rückgabe:
  • enabled – Typ: boolean, Standardwert: true

Gibt true zurück falls die grüne Status LED der WIFI Extension 2.0 aktiviert ist.

Neu in Version 2.4.0 (Firmware).

procedure TBrickMaster.SetWifi2MeshConfiguration(const enable: boolean; const rootIP: array [0..3] of byte; const rootSubnetMask: array [0..3] of byte; const rootGateway: array [0..3] of byte; const routerBSSID: array [0..5] of byte; const groupID: array [0..5] of byte; const groupSSIDPrefix: string; const gatewayIP: array [0..3] of byte; const gatewayPort: word)
Parameter:
  • enable – Typ: boolean, Standardwert: false
  • rootIP – Typ: array [0..3] of byte, Wertebereich: [0 bis 255], Standardwert: (0, 0, 0, 0)
  • rootSubnetMask – Typ: array [0..3] of byte, Wertebereich: [0 bis 255]
  • rootGateway – Typ: array [0..3] of byte, Wertebereich: [0 bis 255]
  • routerBSSID – Typ: array [0..5] of byte, Wertebereich: [0 bis 255]
  • groupID – Typ: array [0..5] of byte, Wertebereich: [0 bis 255]
  • groupSSIDPrefix – Typ: string, Länge: bis zu 16
  • gatewayIP – Typ: array [0..3] of byte, Wertebereich: [0 bis 255]
  • gatewayPort – Typ: word, Wertebereich: [0 bis 216 - 1]

Benötigt WIFI Extension 2.0 Firmware 2.1.0.

Set die Mesh-Konfiguration der WIFI Extension 2.0.

Der enable Parameter aktiviert oder deaktiviert den Mesh-Teil der WIFI Extension 2.0. Der Mesh-Teil kann nicht zusammen mit dem Client- und Access-Point-Teil aktiviert werden.

Wenn die root_ip, root_subnet_mask und root_gateway Parameter alle auf Null gesetzt sind, dann wird DHCP verwendet. Andernfalls kann mit diese drei Parametern eine statische IP Adresse eingestellt werden. Die Standardeinstellung ist DHCP.

Wenn der router_bssid Parameter auf Null gesetzt ist, dann verbindet sich die WIFI Extension 2.0 mit einem Access Point wenn die eingestellt SSID übereinstimmt, siehe SetWifi2MeshRouterSSID. Andernfalls kann dieses Parameter verwendet werden, damit sich die WIFI Extension 2.0 nur dann mit einem Access Point verbindet, wenn SSID und BSSID übereinstimmen. Die BSSID kann auch verwendet werden, um eine Verbindung mit einer verstecken SSID herzustellen.

Die group_id und group_ssid_prefix Parameter identifizieren in bestimmtes Mesh-Netzwerk und alle WIFI Extension 2.0 mit der gleichen Gruppeneinstellung gehören um gleichen Mesh-Netzwerk.

Die gateway_ip und gateway_port Parameter geben an, wie der Mesh-Gateway (brickd) erreicht werden kann.

Um Konfigurationsänderungen für die WIFI Extension 2.0 zu übernehmen muss die SaveWifi2Configuration Funktion aufgerufen und der Master Brick danach neugestartet werden.

Wir empfehlen den Brick Viewer zu verwenden, um die WIFI Extension 2.0 zu konfigurieren.

Neu in Version 2.4.2 (Firmware).

procedure TBrickMaster.GetWifi2MeshConfiguration(out enable: boolean; out rootIP: array [0..3] of byte; out rootSubnetMask: array [0..3] of byte; out rootGateway: array [0..3] of byte; out routerBSSID: array [0..5] of byte; out groupID: array [0..5] of byte; out groupSSIDPrefix: string; out gatewayIP: array [0..3] of byte; out gatewayPort: word)
Ausgabeparameter:
  • enable – Typ: boolean, Standardwert: false
  • rootIP – Typ: array [0..3] of byte, Wertebereich: [0 bis 255], Standardwert: (0, 0, 0, 0)
  • rootSubnetMask – Typ: array [0..3] of byte, Wertebereich: [0 bis 255]
  • rootGateway – Typ: array [0..3] of byte, Wertebereich: [0 bis 255]
  • routerBSSID – Typ: array [0..5] of byte, Wertebereich: [0 bis 255]
  • groupID – Typ: array [0..5] of byte, Wertebereich: [0 bis 255]
  • groupSSIDPrefix – Typ: string, Länge: bis zu 16
  • gatewayIP – Typ: array [0..3] of byte, Wertebereich: [0 bis 255]
  • gatewayPort – Typ: word, Wertebereich: [0 bis 216 - 1]

Benötigt WIFI Extension 2.0 Firmware 2.1.0.

Gibt das Mesh Konfiguration zurück, wie von SetWifi2MeshConfiguration gesetzt.

Neu in Version 2.4.2 (Firmware).

procedure TBrickMaster.SetWifi2MeshRouterSSID(const ssid: string)
Parameter:
  • ssid – Typ: string, Länge: bis zu 32

Benötigt WIFI Extension 2.0 Firmware 2.1.0.

Setzt die Mesh-Router-SSID der WIFI Extension 2.0. Diese wird verwendet um den Mesh Router festzulegen.

Zu beachten ist, dass zwar 32 Zeichen als SSID übergeben werden können, aber im Moment davon nur die ersten 31 Zeichen genutzt werden bedingt durch einen Bug in der verwendeten Mesh-Bibliothek.

Um Konfigurationsänderungen für die WIFI Extension 2.0 zu übernehmen muss die SaveWifi2Configuration Funktion aufgerufen und der Master Brick danach neugestartet werden.

Wir empfehlen den Brick Viewer zu verwenden, um die WIFI Extension 2.0 zu konfigurieren.

Neu in Version 2.4.2 (Firmware).

function TBrickMaster.GetWifi2MeshRouterSSID: string
Rückgabe:
  • ssid – Typ: string, Länge: bis zu 32

Benötigt WIFI Extension 2.0 Firmware 2.1.0.

Gibt das Mesh-Router-SSID zurück, wie von SetWifi2MeshRouterSSID gesetzt.

Neu in Version 2.4.2 (Firmware).

procedure TBrickMaster.SetWifi2MeshRouterPassword(const password: string)
Parameter:
  • password – Typ: string, Länge: bis zu 64

Benötigt WIFI Extension 2.0 Firmware 2.1.0.

Setzt das Mesh-Router-Passwort (bis zu 64 Zeichen) für WPA/WPA2 Verschlüsselung. Das Password wird für die Verbindung zum Mesh Router verwendet.

Um Konfigurationsänderungen für die WIFI Extension 2.0 zu übernehmen muss die SaveWifi2Configuration Funktion aufgerufen und der Master Brick danach neugestartet werden.

Wir empfehlen den Brick Viewer zu verwenden, um die WIFI Extension 2.0 zu konfigurieren.

Neu in Version 2.4.2 (Firmware).

function TBrickMaster.GetWifi2MeshRouterPassword: string
Rückgabe:
  • password – Typ: string, Länge: bis zu 64

Benötigt WIFI Extension 2.0 Firmware 2.1.0.

Gibt das Mesh-Router-Password zurück, wie von SetWifi2MeshRouterPassword gesetzt.

Neu in Version 2.4.2 (Firmware).

procedure TBrickMaster.GetWifi2MeshCommonStatus(out status: byte; out rootNode: boolean; out rootCandidate: boolean; out connectedNodes: word; out rxCount: longword; out txCount: longword)
Ausgabeparameter:
  • status – Typ: byte, Wertebereich: Siehe Konstanten
  • rootNode – Typ: boolean
  • rootCandidate – Typ: boolean
  • connectedNodes – Typ: word, Wertebereich: [0 bis 216 - 1]
  • rxCount – Typ: longword, Einheit: 1 B, Wertebereich: [0 bis 232 - 1]
  • txCount – Typ: longword, Einheit: 1 B, Wertebereich: [0 bis 232 - 1]

Benötigt WIFI Extension 2.0 Firmware 2.1.0.

Gibt den allgemeinen Mesh-Status der WIFI Extension 2.0 zurück.

Die folgenden Konstanten sind für diese Funktion verfügbar:

Für status:

  • BRICK_MASTER_WIFI2_MESH_STATUS_DISABLED = 0
  • BRICK_MASTER_WIFI2_MESH_STATUS_WIFI_CONNECTING = 1
  • BRICK_MASTER_WIFI2_MESH_STATUS_GOT_IP = 2
  • BRICK_MASTER_WIFI2_MESH_STATUS_MESH_LOCAL = 3
  • BRICK_MASTER_WIFI2_MESH_STATUS_MESH_ONLINE = 4
  • BRICK_MASTER_WIFI2_MESH_STATUS_AP_AVAILABLE = 5
  • BRICK_MASTER_WIFI2_MESH_STATUS_AP_SETUP = 6
  • BRICK_MASTER_WIFI2_MESH_STATUS_LEAF_AVAILABLE = 7

Neu in Version 2.4.2 (Firmware).

procedure TBrickMaster.GetWifi2MeshClientStatus(out hostname: string; out ip: array [0..3] of byte; out subnetMask: array [0..3] of byte; out gateway: array [0..3] of byte; out macAddress: array [0..5] of byte)
Ausgabeparameter:
  • hostname – Typ: string, Länge: bis zu 32
  • ip – Typ: array [0..3] of byte, Wertebereich: [0 bis 255]
  • subnetMask – Typ: array [0..3] of byte, Wertebereich: [0 bis 255]
  • gateway – Typ: array [0..3] of byte, Wertebereich: [0 bis 255]
  • macAddress – Typ: array [0..5] of byte, Wertebereich: [0 bis 255]

Benötigt WIFI Extension 2.0 Firmware 2.1.0.

Gibt den Mesh-Client-Status der WIFI Extension 2.0 zurück.

Neu in Version 2.4.2 (Firmware).

procedure TBrickMaster.GetWifi2MeshAPStatus(out ssid: string; out ip: array [0..3] of byte; out subnetMask: array [0..3] of byte; out gateway: array [0..3] of byte; out macAddress: array [0..5] of byte)
Ausgabeparameter:
  • ssid – Typ: string, Länge: bis zu 32
  • ip – Typ: array [0..3] of byte, Wertebereich: [0 bis 255]
  • subnetMask – Typ: array [0..3] of byte, Wertebereich: [0 bis 255]
  • gateway – Typ: array [0..3] of byte, Wertebereich: [0 bis 255]
  • macAddress – Typ: array [0..5] of byte, Wertebereich: [0 bis 255]

Benötigt WIFI Extension 2.0 Firmware 2.1.0.

Gibt den Mesh-AP-Status der WIFI Extension 2.0 zurück.

Neu in Version 2.4.2 (Firmware).

procedure TBrickMaster.SetSPITFPBaudrateConfig(const enableDynamicBaudrate: boolean; const minimumDynamicBaudrate: longword)
Parameter:
  • enableDynamicBaudrate – Typ: boolean, Standardwert: true
  • minimumDynamicBaudrate – Typ: longword, Einheit: 1 Bd, Wertebereich: [400000 bis 2000000], Standardwert: 400000

Das SPITF-Protokoll kann mit einer dynamischen Baudrate genutzt werden. Wenn die dynamische Baudrate aktiviert ist, versucht der Brick die Baudrate anhand des Datenaufkommens zwischen Brick und Bricklet anzupassen.

Die Baudrate wird exponentiell erhöht wenn viele Daten gesendet/empfangen werden und linear verringert wenn wenig Daten gesendet/empfangen werden.

Diese Vorgehensweise verringert die Baudrate in Anwendungen wo nur wenig Daten ausgetauscht werden müssen (z.B. eine Wetterstation) und erhöht die Robustheit. Wenn immer viele Daten ausgetauscht werden (z.B. Thermal Imaging Bricklet), wird die Baudrate automatisch erhöht.

In Fällen wo wenige Daten all paar Sekunden so schnell wie Möglich übertragen werden sollen (z.B. RS485 Bricklet mit hoher Baudrate aber kleinem Payload) kann die dynamische Baudrate zum maximieren der Performance ausgestellt werden.

Die maximale Baudrate kann pro Port mit der Funktion SetSPITFPBaudrate. gesetzt werden. Falls die dynamische Baudrate nicht aktiviert ist, wird die Baudrate wie von SetSPITFPBaudrate gesetzt statisch verwendet.

Neu in Version 2.4.6 (Firmware).

procedure TBrickMaster.GetSPITFPBaudrateConfig(out enableDynamicBaudrate: boolean; out minimumDynamicBaudrate: longword)
Ausgabeparameter:
  • enableDynamicBaudrate – Typ: boolean, Standardwert: true
  • minimumDynamicBaudrate – Typ: longword, Einheit: 1 Bd, Wertebereich: [400000 bis 2000000], Standardwert: 400000

Gibt die Baudratenkonfiguration zurück, siehe SetSPITFPBaudrateConfig.

Neu in Version 2.4.6 (Firmware).

function TBrickMaster.GetSendTimeoutCount(const communicationMethod: byte): longword
Parameter:
  • communicationMethod – Typ: byte, Wertebereich: Siehe Konstanten
Rückgabe:
  • timeoutCount – Typ: longword, Wertebereich: [0 bis 232 - 1]

Gibt den Timeout-Zähler für die verschiedenen Kommunikationsmöglichkeiten zurück

Die Kommunikationsmöglichkeiten 0-2 stehen auf allen Bricks zur verfügung, 3-7 nur auf Master Bricks.

Diese Funktion ist hauptsächlich zum debuggen während der Entwicklung gedacht. Im normalen Betrieb sollten alle Zähler fast immer auf 0 stehen bleiben.

Die folgenden Konstanten sind für diese Funktion verfügbar:

Für communicationMethod:

  • BRICK_MASTER_COMMUNICATION_METHOD_NONE = 0
  • BRICK_MASTER_COMMUNICATION_METHOD_USB = 1
  • BRICK_MASTER_COMMUNICATION_METHOD_SPI_STACK = 2
  • BRICK_MASTER_COMMUNICATION_METHOD_CHIBI = 3
  • BRICK_MASTER_COMMUNICATION_METHOD_RS485 = 4
  • BRICK_MASTER_COMMUNICATION_METHOD_WIFI = 5
  • BRICK_MASTER_COMMUNICATION_METHOD_ETHERNET = 6
  • BRICK_MASTER_COMMUNICATION_METHOD_WIFI_V2 = 7

Neu in Version 2.4.3 (Firmware).

procedure TBrickMaster.SetSPITFPBaudrate(const brickletPort: char; const baudrate: longword)
Parameter:
  • brickletPort – Typ: char, Wertebereich: ['a' bis 'd']
  • baudrate – Typ: longword, Einheit: 1 Bd, Wertebereich: [400000 bis 2000000], Standardwert: 1400000

Setzt die Baudrate eines spezifischen Bricklet Ports .

Für einen höheren Durchsatz der Bricklets kann die Baudrate erhöht werden. Wenn der Fehlerzähler auf Grund von lokaler Störeinstrahlung hoch ist (siehe GetSPITFPErrorCount) kann die Baudrate verringert werden.

Wenn das Feature der dynamische Baudrate aktiviert ist, setzt diese Funktion die maximale Baudrate (siehe SetSPITFPBaudrateConfig).

EMV Tests werden mit der Standardbaudrate durchgeführt. Falls eine CE-Kompatibilität o.ä. in der Anwendung notwendig ist empfehlen wir die Baudrate nicht zu ändern.

Neu in Version 2.4.3 (Firmware).

function TBrickMaster.GetSPITFPBaudrate(const brickletPort: char): longword
Parameter:
  • brickletPort – Typ: char, Wertebereich: ['a' bis 'd']
Rückgabe:
  • baudrate – Typ: longword, Einheit: 1 Bd, Wertebereich: [400000 bis 2000000], Standardwert: 1400000

Gibt die Baudrate für einen Bricklet Port zurück, siehe SetSPITFPBaudrate.

Neu in Version 2.4.3 (Firmware).

procedure TBrickMaster.GetSPITFPErrorCount(const brickletPort: char; out errorCountACKChecksum: longword; out errorCountMessageChecksum: longword; out errorCountFrame: longword; out errorCountOverflow: longword)
Parameter:
  • brickletPort – Typ: char, Wertebereich: ['a' bis 'd']
Ausgabeparameter:
  • errorCountACKChecksum – Typ: longword, Wertebereich: [0 bis 232 - 1]
  • errorCountMessageChecksum – Typ: longword, Wertebereich: [0 bis 232 - 1]
  • errorCountFrame – Typ: longword, Wertebereich: [0 bis 232 - 1]
  • errorCountOverflow – Typ: longword, Wertebereich: [0 bis 232 - 1]

Gibt die Anzahl der Fehler die während der Kommunikation zwischen Brick und Bricklet aufgetreten sind zurück.

Die Fehler sind aufgeteilt in

  • ACK-Checksummen Fehler,
  • Message-Checksummen Fehler,
  • Framing Fehler und
  • Overflow Fehler.

Die Fehlerzähler sind für Fehler die auf der Seite des Bricks auftreten. Jedes Bricklet hat eine ähnliche Funktion welche die Fehler auf Brickletseite ausgibt.

Neu in Version 2.4.3 (Firmware).

procedure TBrickMaster.EnableStatusLED

Aktiviert die Status LED.

Die Status LED ist die blaue LED neben dem USB-Stecker. Wenn diese aktiviert ist, ist sie an und sie flackert wenn Daten transferiert werden. Wenn sie deaktiviert ist, ist sie immer aus.

Der Standardzustand ist aktiviert.

Neu in Version 2.3.2 (Firmware).

procedure TBrickMaster.DisableStatusLED

Deaktiviert die Status LED.

Die Status LED ist die blaue LED neben dem USB-Stecker. Wenn diese aktiviert ist, ist sie an und sie flackert wenn Daten transferiert werden. Wenn sie deaktiviert ist, ist sie immer aus.

Der Standardzustand ist aktiviert.

Neu in Version 2.3.2 (Firmware).

function TBrickMaster.IsStatusLEDEnabled: boolean
Rückgabe:
  • enabled – Typ: boolean, Standardwert: true

Gibt true zurück wenn die Status LED aktiviert ist, false sonst.

Neu in Version 2.3.2 (Firmware).

function TBrickMaster.GetChipTemperature: smallint
Rückgabe:
  • temperature – Typ: smallint, Einheit: 1/10 °C, Wertebereich: [-215 bis 215 - 1]

Gibt die Temperatur, gemessen im Mikrocontroller, aus. Der Rückgabewert ist nicht die Umgebungstemperatur.

Die Temperatur ist lediglich proportional zur echten Temperatur und hat eine Genauigkeit von ±15%. Daher beschränkt sich der praktische Nutzen auf die Indikation von Temperaturveränderungen.

procedure TBrickMaster.Reset

Ein Aufruf dieser Funktion setzt den Brick zurück. Befindet sich der Brick innerhalb eines Stapels wird der gesamte Stapel zurück gesetzt.

Nach dem Zurücksetzen ist es notwendig neue Geräteobjekte zu erzeugen, Funktionsaufrufe auf bestehende führt zu undefiniertem Verhalten.

procedure TBrickMaster.GetIdentity(out uid: string; out connectedUid: string; out position: char; out hardwareVersion: array [0..2] of byte; out firmwareVersion: array [0..2] of byte; out deviceIdentifier: word)
Ausgabeparameter:
  • uid – Typ: string, Länge: bis zu 8
  • connectedUid – Typ: string, Länge: bis zu 8
  • position – Typ: char, Wertebereich: ['0' bis '8']
  • hardwareVersion – Typ: array [0..2] of byte
    • 0: major – Typ: byte, Wertebereich: [0 bis 255]
    • 1: minor – Typ: byte, Wertebereich: [0 bis 255]
    • 2: revision – Typ: byte, Wertebereich: [0 bis 255]
  • firmwareVersion – Typ: array [0..2] of byte
    • 0: major – Typ: byte, Wertebereich: [0 bis 255]
    • 1: minor – Typ: byte, Wertebereich: [0 bis 255]
    • 2: revision – Typ: byte, Wertebereich: [0 bis 255]
  • deviceIdentifier – Typ: word, Wertebereich: [0 bis 216 - 1]

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

Die Position ist die Position im Stack von '0' (unterster Brick) bis '8' (oberster Brick).

Eine Liste der Device Identifier Werte ist hier zu finden. Es gibt auch eine Konstante für den Device Identifier dieses Bricks.

Konfigurationsfunktionen für Callbacks

procedure TBrickMaster.SetStackCurrentCallbackPeriod(const period: longword)
Parameter:
  • period – Typ: longword, Einheit: 1 ms, Wertebereich: [0 bis 232 - 1], Standardwert: 0

Setzt die Periode mit welcher der OnStackCurrent Callback ausgelöst wird. Ein Wert von 0 deaktiviert den Callback.

Der OnStackCurrent Callback wird nur ausgelöst, wenn sich die Stromstärke seit der letzten Auslösung geändert hat.

Neu in Version 2.0.5 (Firmware).

function TBrickMaster.GetStackCurrentCallbackPeriod: longword
Rückgabe:
  • period – Typ: longword, Einheit: 1 ms, Wertebereich: [0 bis 232 - 1], Standardwert: 0

Gibt die Periode zurück, wie von SetStackCurrentCallbackPeriod gesetzt

Neu in Version 2.0.5 (Firmware).

procedure TBrickMaster.SetStackVoltageCallbackPeriod(const period: longword)
Parameter:
  • period – Typ: longword, Einheit: 1 ms, Wertebereich: [0 bis 232 - 1], Standardwert: 0

Setzt die Periode mit welcher der OnStackVoltage Callback ausgelöst wird. Ein Wert von 0 deaktiviert den Callback.

Der OnStackVoltage Callback wird nur ausgelöst, wenn sich die Spannung seit der letzten Auslösung geändert hat.

Neu in Version 2.0.5 (Firmware).

function TBrickMaster.GetStackVoltageCallbackPeriod: longword
Rückgabe:
  • period – Typ: longword, Einheit: 1 ms, Wertebereich: [0 bis 232 - 1], Standardwert: 0

Gibt die Periode zurück, wie von SetStackVoltageCallbackPeriod gesetzt

Neu in Version 2.0.5 (Firmware).

procedure TBrickMaster.SetUSBVoltageCallbackPeriod(const period: longword)
Parameter:
  • period – Typ: longword, Einheit: 1 ms, Wertebereich: [0 bis 232 - 1], Standardwert: 0

Setzt die Periode mit welcher der OnUSBVoltage Callback ausgelöst wird. Ein Wert von 0 deaktiviert den Callback.

Der OnUSBVoltage Callback wird nur ausgelöst, wenn sich die Spannung seit der letzten Auslösung geändert hat.

Neu in Version 2.0.5 (Firmware).

function TBrickMaster.GetUSBVoltageCallbackPeriod: longword
Rückgabe:
  • period – Typ: longword, Einheit: 1 ms, Wertebereich: [0 bis 232 - 1], Standardwert: 0

Gibt die Periode zurück, wie von SetUSBVoltageCallbackPeriod gesetzt

Neu in Version 2.0.5 (Firmware).

procedure TBrickMaster.SetStackCurrentCallbackThreshold(const option: char; const min: word; const max: word)
Parameter:
  • option – Typ: char, Wertebereich: Siehe Konstanten, Standardwert: 'x'
  • min – Typ: word, Einheit: 1 mA, Wertebereich: [0 bis 216 - 1], Standardwert: 0
  • max – Typ: word, Einheit: 1 mA, Wertebereich: [0 bis 216 - 1], Standardwert: 0

Setzt den Schwellwert für den OnStackCurrentReached Callback.

Die folgenden Optionen sind möglich:

Option Beschreibung
'x' Callback ist inaktiv
'o' Callback wird ausgelöst, wenn die Stromstärke außerhalb des min und max Wertes ist
'i' Callback wird ausgelöst, wenn die Stromstärke innerhalb des min und max Wertes ist
'<' Callback wird ausgelöst, wenn die Stromstärke kleiner als der min Wert ist (max wird ignoriert)
'>' Callback wird ausgelöst, wenn die Stromstärke größer als der min Wert ist (max wird ignoriert)

Die folgenden Konstanten sind für diese Funktion verfügbar:

Für option:

  • BRICK_MASTER_THRESHOLD_OPTION_OFF = 'x'
  • BRICK_MASTER_THRESHOLD_OPTION_OUTSIDE = 'o'
  • BRICK_MASTER_THRESHOLD_OPTION_INSIDE = 'i'
  • BRICK_MASTER_THRESHOLD_OPTION_SMALLER = '<'
  • BRICK_MASTER_THRESHOLD_OPTION_GREATER = '>'

Neu in Version 2.0.5 (Firmware).

procedure TBrickMaster.GetStackCurrentCallbackThreshold(out option: char; out min: word; out max: word)
Ausgabeparameter:
  • option – Typ: char, Wertebereich: Siehe Konstanten, Standardwert: 'x'
  • min – Typ: word, Einheit: 1 mA, Wertebereich: [0 bis 216 - 1], Standardwert: 0
  • max – Typ: word, Einheit: 1 mA, Wertebereich: [0 bis 216 - 1], Standardwert: 0

Gibt den Schwellwert zurück, wie von SetStackCurrentCallbackThreshold gesetzt.

Die folgenden Konstanten sind für diese Funktion verfügbar:

Für option:

  • BRICK_MASTER_THRESHOLD_OPTION_OFF = 'x'
  • BRICK_MASTER_THRESHOLD_OPTION_OUTSIDE = 'o'
  • BRICK_MASTER_THRESHOLD_OPTION_INSIDE = 'i'
  • BRICK_MASTER_THRESHOLD_OPTION_SMALLER = '<'
  • BRICK_MASTER_THRESHOLD_OPTION_GREATER = '>'

Neu in Version 2.0.5 (Firmware).

procedure TBrickMaster.SetStackVoltageCallbackThreshold(const option: char; const min: word; const max: word)
Parameter:
  • option – Typ: char, Wertebereich: Siehe Konstanten, Standardwert: 'x'
  • min – Typ: word, Einheit: 1 mV, Wertebereich: [0 bis 216 - 1], Standardwert: 0
  • max – Typ: word, Einheit: 1 mV, Wertebereich: [0 bis 216 - 1], Standardwert: 0

Setzt den Schwellwert für den OnStackVoltageReached Callback.

Die folgenden Optionen sind möglich:

Option Beschreibung
'x' Callback ist inaktiv
'o' Callback wird ausgelöst, wenn die Spannung außerhalb des min und max Wertes ist
'i' Callback wird ausgelöst, wenn die Spannung innerhalb des min und max Wertes ist
'<' Callback wird ausgelöst, wenn die Spannung kleiner als der min Wert ist (max wird ignoriert)
'>' Callback wird ausgelöst, wenn die Spannung größer als der min Wert ist (max wird ignoriert)

Die folgenden Konstanten sind für diese Funktion verfügbar:

Für option:

  • BRICK_MASTER_THRESHOLD_OPTION_OFF = 'x'
  • BRICK_MASTER_THRESHOLD_OPTION_OUTSIDE = 'o'
  • BRICK_MASTER_THRESHOLD_OPTION_INSIDE = 'i'
  • BRICK_MASTER_THRESHOLD_OPTION_SMALLER = '<'
  • BRICK_MASTER_THRESHOLD_OPTION_GREATER = '>'

Neu in Version 2.0.5 (Firmware).

procedure TBrickMaster.GetStackVoltageCallbackThreshold(out option: char; out min: word; out max: word)
Ausgabeparameter:
  • option – Typ: char, Wertebereich: Siehe Konstanten, Standardwert: 'x'
  • min – Typ: word, Einheit: 1 mV, Wertebereich: [0 bis 216 - 1], Standardwert: 0
  • max – Typ: word, Einheit: 1 mV, Wertebereich: [0 bis 216 - 1], Standardwert: 0

Gibt den Schwellwert zurück, wie von SetStackVoltageCallbackThreshold gesetzt.

Die folgenden Konstanten sind für diese Funktion verfügbar:

Für option:

  • BRICK_MASTER_THRESHOLD_OPTION_OFF = 'x'
  • BRICK_MASTER_THRESHOLD_OPTION_OUTSIDE = 'o'
  • BRICK_MASTER_THRESHOLD_OPTION_INSIDE = 'i'
  • BRICK_MASTER_THRESHOLD_OPTION_SMALLER = '<'
  • BRICK_MASTER_THRESHOLD_OPTION_GREATER = '>'

Neu in Version 2.0.5 (Firmware).

procedure TBrickMaster.SetUSBVoltageCallbackThreshold(const option: char; const min: word; const max: word)
Parameter:
  • option – Typ: char, Wertebereich: Siehe Konstanten, Standardwert: 'x'
  • min – Typ: word, Einheit: 1 mV, Wertebereich: [0 bis 216 - 1], Standardwert: 0
  • max – Typ: word, Einheit: 1 mV, Wertebereich: [0 bis 216 - 1], Standardwert: 0

Setzt den Schwellwert für den OnUSBVoltageReached Callback.

Die folgenden Optionen sind möglich:

Option Beschreibung
'x' Callback ist inaktiv
'o' Callback wird ausgelöst, wenn die Spannung außerhalb des min und max Wertes ist
'i' Callback wird ausgelöst, wenn die Spannung innerhalb des min und max Wertes ist
'<' Callback wird ausgelöst, wenn die Spannung kleiner als der min Wert ist (max wird ignoriert)
'>' Callback wird ausgelöst, wenn die Spannung größer als der min Wert ist (max wird ignoriert)

Die folgenden Konstanten sind für diese Funktion verfügbar:

Für option:

  • BRICK_MASTER_THRESHOLD_OPTION_OFF = 'x'
  • BRICK_MASTER_THRESHOLD_OPTION_OUTSIDE = 'o'
  • BRICK_MASTER_THRESHOLD_OPTION_INSIDE = 'i'
  • BRICK_MASTER_THRESHOLD_OPTION_SMALLER = '<'
  • BRICK_MASTER_THRESHOLD_OPTION_GREATER = '>'

Neu in Version 2.0.5 (Firmware).

procedure TBrickMaster.GetUSBVoltageCallbackThreshold(out option: char; out min: word; out max: word)
Ausgabeparameter:
  • option – Typ: char, Wertebereich: Siehe Konstanten, Standardwert: 'x'
  • min – Typ: word, Einheit: 1 mV, Wertebereich: [0 bis 216 - 1], Standardwert: 0
  • max – Typ: word, Einheit: 1 mV, Wertebereich: [0 bis 216 - 1], Standardwert: 0

Gibt den Schwellwert zurück, wie von SetUSBVoltageCallbackThreshold gesetzt.

Die folgenden Konstanten sind für diese Funktion verfügbar:

Für option:

  • BRICK_MASTER_THRESHOLD_OPTION_OFF = 'x'
  • BRICK_MASTER_THRESHOLD_OPTION_OUTSIDE = 'o'
  • BRICK_MASTER_THRESHOLD_OPTION_INSIDE = 'i'
  • BRICK_MASTER_THRESHOLD_OPTION_SMALLER = '<'
  • BRICK_MASTER_THRESHOLD_OPTION_GREATER = '>'

Neu in Version 2.0.5 (Firmware).

procedure TBrickMaster.SetDebouncePeriod(const debounce: longword)
Parameter:
  • debounce – Typ: longword, Einheit: 1 ms, Wertebereich: [0 bis 232 - 1], Standardwert: 100

Setzt die Periode mit welcher die Schwellwert Callbacks

ausgelöst werden, wenn die Schwellwerte

weiterhin erreicht bleiben.

Neu in Version 2.0.5 (Firmware).

function TBrickMaster.GetDebouncePeriod: longword
Rückgabe:
  • debounce – Typ: longword, Einheit: 1 ms, Wertebereich: [0 bis 232 - 1], Standardwert: 100

Gibt die Entprellperiode zurück, wie von SetDebouncePeriod gesetzt.

Neu in Version 2.0.5 (Firmware).

Callbacks

Callbacks können registriert werden um zeitkritische oder wiederkehrende Daten vom Gerät zu erhalten. Die Registrierung erfolgt indem eine Prozedur einem Callback Property des Geräte Objektes zugewiesen wird:

procedure TExample.MyCallback(sender: TBrickMaster; const value: longint);
begin
  WriteLn(Format('Value: %d', [value]));
end;

master.OnExample := {$ifdef FPC}@{$endif}example.MyCallback;

Die verfügbaren Callback Properties und ihre Parametertypen werden weiter unten beschrieben.

Bemerkung

Callbacks für wiederkehrende Ereignisse zu verwenden ist immer zu bevorzugen gegenüber der Verwendung von Abfragen. Es wird weniger USB-Bandbreite benutzt und die Latenz ist erheblich geringer, da es keine Paketumlaufzeit gibt.

property TBrickMaster.OnStackCurrent
procedure(sender: TBrickMaster; const current: word) of object;
Callback-Parameter:
  • sender – Typ: TBrickMaster
  • current – Typ: word, Einheit: 1 mA, Wertebereich: [0 bis 216 - 1]

Dieser Callback wird mit der Periode, wie gesetzt mit SetStackCurrentCallbackPeriod, ausgelöst. Der Parameter ist die Stromstärke des Sensors.

Der OnStackCurrent Callback wird nur ausgelöst, wenn sich die Stromstärke seit der letzten Auslösung geändert hat.

Neu in Version 2.0.5 (Firmware).

property TBrickMaster.OnStackVoltage
procedure(sender: TBrickMaster; const voltage: word) of object;
Callback-Parameter:
  • sender – Typ: TBrickMaster
  • voltage – Typ: word, Einheit: 1 mV, Wertebereich: [0 bis 216 - 1]

Dieser Callback wird mit der Periode, wie gesetzt mit SetStackVoltageCallbackPeriod, ausgelöst. Der Parameter ist die Spannung des Sensors.

Der OnStackVoltage Callback wird nur ausgelöst, wenn sich die Spannung seit der letzten Auslösung geändert hat.

Neu in Version 2.0.5 (Firmware).

property TBrickMaster.OnUSBVoltage
procedure(sender: TBrickMaster; const voltage: word) of object;
Callback-Parameter:
  • sender – Typ: TBrickMaster
  • voltage – Typ: word, Einheit: 1 mV, Wertebereich: [0 bis 216 - 1]

Dieser Callback wird mit der Periode, wie gesetzt mit SetUSBVoltageCallbackPeriod, ausgelöst. Der Parameter ist die USB Spannung.

Der OnUSBVoltage Callback wird nur ausgelöst, wenn sich die USB Spannung seit der letzten Auslösung geändert hat.

Funktioniert nicht mit Hardware Version 2.1 oder neuer.

Neu in Version 2.0.5 (Firmware).

property TBrickMaster.OnStackCurrentReached
procedure(sender: TBrickMaster; const current: word) of object;
Callback-Parameter:
  • sender – Typ: TBrickMaster
  • current – Typ: word, Einheit: 1 mA, Wertebereich: [0 bis 216 - 1]

Dieser Callback wird ausgelöst, wenn der Schwellwert, wie von SetStackCurrentCallbackThreshold gesetzt, erreicht wird. Der Parameter ist der Stromverbrauch des Stapels.

Wenn der Schwellwert erreicht bleibt, wird der Callback mit der Periode, wie mit SetDebouncePeriod gesetzt, ausgelöst.

Neu in Version 2.0.5 (Firmware).

property TBrickMaster.OnStackVoltageReached
procedure(sender: TBrickMaster; const voltage: word) of object;
Callback-Parameter:
  • sender – Typ: TBrickMaster
  • voltage – Typ: word, Einheit: 1 mV, Wertebereich: [0 bis 216 - 1]

Dieser Callback wird ausgelöst, wenn der Schwellwert, wie von SetStackVoltageCallbackThreshold gesetzt, erreicht wird. Der Parameter ist die Spannung des Stapels.

Wenn der Schwellwert erreicht bleibt, wird der Callback mit der Periode, wie mit SetDebouncePeriod gesetzt, ausgelöst.

Neu in Version 2.0.5 (Firmware).

property TBrickMaster.OnUSBVoltageReached
procedure(sender: TBrickMaster; const voltage: word) of object;
Callback-Parameter:
  • sender – Typ: TBrickMaster
  • voltage – Typ: word, Einheit: 1 mV, Wertebereich: [0 bis 216 - 1]

Dieser Callback wird ausgelöst, wenn der Schwellwert, wie von SetUSBVoltageCallbackThreshold gesetzt, erreicht wird. Der Parameter ist die Spannung des Sensors.

Wenn der Schwellwert erreicht bleibt, wird der Callback mit der Periode, wie mit SetDebouncePeriod gesetzt, ausgelöst.

Neu in Version 2.0.5 (Firmware).

Virtuelle Funktionen

Virtuelle Funktionen kommunizieren nicht mit dem Gerät selbst, sie arbeiten nur auf dem API Bindings Objekt. Dadurch können sie auch aufgerufen werden, ohne das das dazugehörige IP Connection Objekt verbunden ist.

function TBrickMaster.GetAPIVersion: array [0..2] of byte
Ausgabeparameter:
  • apiVersion – Typ: array [0..2] of byte
    • 0: major – Typ: byte, Wertebereich: [0 bis 255]
    • 1: minor – Typ: byte, Wertebereich: [0 bis 255]
    • 2: revision – Typ: byte, Wertebereich: [0 bis 255]

Gibt die Version der API Definition zurück, die diese API Bindings implementieren. Dies ist weder die Release-Version dieser API Bindings noch gibt es in irgendeiner Weise Auskunft über den oder das repräsentierte(n) Brick oder Bricklet.

function TBrickMaster.GetResponseExpected(const functionId: byte): boolean
Parameter:
  • functionId – Typ: byte, Wertebereich: Siehe Konstanten
Rückgabe:
  • responseExpected – Typ: boolean

Gibt das Response-Expected-Flag für die Funktion mit der angegebenen Funktions IDs zurück. Es ist true falls für die Funktion beim Aufruf eine Antwort erwartet wird, false andernfalls.

Für Getter-Funktionen ist diese Flag immer gesetzt und kann nicht entfernt werden, da diese Funktionen immer eine Antwort senden. Für Konfigurationsfunktionen für Callbacks ist es standardmäßig gesetzt, kann aber entfernt werden mittels SetResponseExpected. Für Setter-Funktionen ist es standardmäßig nicht gesetzt, kann aber gesetzt werden.

Wenn das Response-Expected-Flag für eine Setter-Funktion gesetzt ist, können Timeouts und andere Fehlerfälle auch für Aufrufe dieser Setter-Funktion detektiert werden. Das Gerät sendet dann eine Antwort extra für diesen Zweck. Wenn das Flag für eine Setter-Funktion nicht gesetzt ist, dann wird keine Antwort vom Gerät gesendet und Fehler werden stillschweigend ignoriert, da sie nicht detektiert werden können.

Die folgenden Konstanten sind für diese Funktion verfügbar:

Für functionId:

  • BRICK_MASTER_FUNCTION_SET_EXTENSION_TYPE = 3
  • BRICK_MASTER_FUNCTION_SET_CHIBI_ADDRESS = 6
  • BRICK_MASTER_FUNCTION_SET_CHIBI_MASTER_ADDRESS = 8
  • BRICK_MASTER_FUNCTION_SET_CHIBI_SLAVE_ADDRESS = 10
  • BRICK_MASTER_FUNCTION_SET_CHIBI_FREQUENCY = 14
  • BRICK_MASTER_FUNCTION_SET_CHIBI_CHANNEL = 16
  • BRICK_MASTER_FUNCTION_SET_RS485_ADDRESS = 19
  • BRICK_MASTER_FUNCTION_SET_RS485_SLAVE_ADDRESS = 21
  • BRICK_MASTER_FUNCTION_SET_RS485_CONFIGURATION = 24
  • BRICK_MASTER_FUNCTION_SET_WIFI_CONFIGURATION = 27
  • BRICK_MASTER_FUNCTION_SET_WIFI_ENCRYPTION = 29
  • BRICK_MASTER_FUNCTION_REFRESH_WIFI_STATUS = 32
  • BRICK_MASTER_FUNCTION_SET_WIFI_CERTIFICATE = 33
  • BRICK_MASTER_FUNCTION_SET_WIFI_POWER_MODE = 35
  • BRICK_MASTER_FUNCTION_SET_WIFI_REGULATORY_DOMAIN = 38
  • BRICK_MASTER_FUNCTION_SET_LONG_WIFI_KEY = 41
  • BRICK_MASTER_FUNCTION_SET_WIFI_HOSTNAME = 43
  • BRICK_MASTER_FUNCTION_SET_STACK_CURRENT_CALLBACK_PERIOD = 45
  • BRICK_MASTER_FUNCTION_SET_STACK_VOLTAGE_CALLBACK_PERIOD = 47
  • BRICK_MASTER_FUNCTION_SET_USB_VOLTAGE_CALLBACK_PERIOD = 49
  • BRICK_MASTER_FUNCTION_SET_STACK_CURRENT_CALLBACK_THRESHOLD = 51
  • BRICK_MASTER_FUNCTION_SET_STACK_VOLTAGE_CALLBACK_THRESHOLD = 53
  • BRICK_MASTER_FUNCTION_SET_USB_VOLTAGE_CALLBACK_THRESHOLD = 55
  • BRICK_MASTER_FUNCTION_SET_DEBOUNCE_PERIOD = 57
  • BRICK_MASTER_FUNCTION_SET_ETHERNET_CONFIGURATION = 66
  • BRICK_MASTER_FUNCTION_SET_ETHERNET_HOSTNAME = 69
  • BRICK_MASTER_FUNCTION_SET_ETHERNET_MAC_ADDRESS = 70
  • BRICK_MASTER_FUNCTION_SET_ETHERNET_WEBSOCKET_CONFIGURATION = 71
  • BRICK_MASTER_FUNCTION_SET_ETHERNET_AUTHENTICATION_SECRET = 73
  • BRICK_MASTER_FUNCTION_SET_WIFI_AUTHENTICATION_SECRET = 75
  • BRICK_MASTER_FUNCTION_SET_WIFI2_AUTHENTICATION_SECRET = 82
  • BRICK_MASTER_FUNCTION_SET_WIFI2_CONFIGURATION = 84
  • BRICK_MASTER_FUNCTION_SET_WIFI2_CLIENT_CONFIGURATION = 87
  • BRICK_MASTER_FUNCTION_SET_WIFI2_CLIENT_HOSTNAME = 89
  • BRICK_MASTER_FUNCTION_SET_WIFI2_CLIENT_PASSWORD = 91
  • BRICK_MASTER_FUNCTION_SET_WIFI2_AP_CONFIGURATION = 93
  • BRICK_MASTER_FUNCTION_SET_WIFI2_AP_PASSWORD = 95
  • BRICK_MASTER_FUNCTION_ENABLE_WIFI2_STATUS_LED = 99
  • BRICK_MASTER_FUNCTION_DISABLE_WIFI2_STATUS_LED = 100
  • BRICK_MASTER_FUNCTION_SET_WIFI2_MESH_CONFIGURATION = 102
  • BRICK_MASTER_FUNCTION_SET_WIFI2_MESH_ROUTER_SSID = 104
  • BRICK_MASTER_FUNCTION_SET_WIFI2_MESH_ROUTER_PASSWORD = 106
  • BRICK_MASTER_FUNCTION_SET_BRICKLETS_ENABLED = 113
  • BRICK_MASTER_FUNCTION_SET_SPITFP_BAUDRATE_CONFIG = 231
  • BRICK_MASTER_FUNCTION_SET_SPITFP_BAUDRATE = 234
  • BRICK_MASTER_FUNCTION_ENABLE_STATUS_LED = 238
  • BRICK_MASTER_FUNCTION_DISABLE_STATUS_LED = 239
  • BRICK_MASTER_FUNCTION_RESET = 243
  • BRICK_MASTER_FUNCTION_WRITE_BRICKLET_PLUGIN = 246
procedure TBrickMaster.SetResponseExpected(const functionId: byte; const responseExpected: boolean)
Parameter:
  • functionId – Typ: byte, Wertebereich: Siehe Konstanten
  • responseExpected – Typ: boolean

Ändert das Response-Expected-Flag für die Funktion mit der angegebenen Funktion IDs. Diese Flag kann nur für Setter-Funktionen (Standardwert: false) und Konfigurationsfunktionen für Callbacks (Standardwert: true) geändert werden. Für Getter-Funktionen ist das Flag immer gesetzt.

Wenn das Response-Expected-Flag für eine Setter-Funktion gesetzt ist, können Timeouts und andere Fehlerfälle auch für Aufrufe dieser Setter-Funktion detektiert werden. Das Gerät sendet dann eine Antwort extra für diesen Zweck. Wenn das Flag für eine Setter-Funktion nicht gesetzt ist, dann wird keine Antwort vom Gerät gesendet und Fehler werden stillschweigend ignoriert, da sie nicht detektiert werden können.

Die folgenden Konstanten sind für diese Funktion verfügbar:

Für functionId:

  • BRICK_MASTER_FUNCTION_SET_EXTENSION_TYPE = 3
  • BRICK_MASTER_FUNCTION_SET_CHIBI_ADDRESS = 6
  • BRICK_MASTER_FUNCTION_SET_CHIBI_MASTER_ADDRESS = 8
  • BRICK_MASTER_FUNCTION_SET_CHIBI_SLAVE_ADDRESS = 10
  • BRICK_MASTER_FUNCTION_SET_CHIBI_FREQUENCY = 14
  • BRICK_MASTER_FUNCTION_SET_CHIBI_CHANNEL = 16
  • BRICK_MASTER_FUNCTION_SET_RS485_ADDRESS = 19
  • BRICK_MASTER_FUNCTION_SET_RS485_SLAVE_ADDRESS = 21
  • BRICK_MASTER_FUNCTION_SET_RS485_CONFIGURATION = 24
  • BRICK_MASTER_FUNCTION_SET_WIFI_CONFIGURATION = 27
  • BRICK_MASTER_FUNCTION_SET_WIFI_ENCRYPTION = 29
  • BRICK_MASTER_FUNCTION_REFRESH_WIFI_STATUS = 32
  • BRICK_MASTER_FUNCTION_SET_WIFI_CERTIFICATE = 33
  • BRICK_MASTER_FUNCTION_SET_WIFI_POWER_MODE = 35
  • BRICK_MASTER_FUNCTION_SET_WIFI_REGULATORY_DOMAIN = 38
  • BRICK_MASTER_FUNCTION_SET_LONG_WIFI_KEY = 41
  • BRICK_MASTER_FUNCTION_SET_WIFI_HOSTNAME = 43
  • BRICK_MASTER_FUNCTION_SET_STACK_CURRENT_CALLBACK_PERIOD = 45
  • BRICK_MASTER_FUNCTION_SET_STACK_VOLTAGE_CALLBACK_PERIOD = 47
  • BRICK_MASTER_FUNCTION_SET_USB_VOLTAGE_CALLBACK_PERIOD = 49
  • BRICK_MASTER_FUNCTION_SET_STACK_CURRENT_CALLBACK_THRESHOLD = 51
  • BRICK_MASTER_FUNCTION_SET_STACK_VOLTAGE_CALLBACK_THRESHOLD = 53
  • BRICK_MASTER_FUNCTION_SET_USB_VOLTAGE_CALLBACK_THRESHOLD = 55
  • BRICK_MASTER_FUNCTION_SET_DEBOUNCE_PERIOD = 57
  • BRICK_MASTER_FUNCTION_SET_ETHERNET_CONFIGURATION = 66
  • BRICK_MASTER_FUNCTION_SET_ETHERNET_HOSTNAME = 69
  • BRICK_MASTER_FUNCTION_SET_ETHERNET_MAC_ADDRESS = 70
  • BRICK_MASTER_FUNCTION_SET_ETHERNET_WEBSOCKET_CONFIGURATION = 71
  • BRICK_MASTER_FUNCTION_SET_ETHERNET_AUTHENTICATION_SECRET = 73
  • BRICK_MASTER_FUNCTION_SET_WIFI_AUTHENTICATION_SECRET = 75
  • BRICK_MASTER_FUNCTION_SET_WIFI2_AUTHENTICATION_SECRET = 82
  • BRICK_MASTER_FUNCTION_SET_WIFI2_CONFIGURATION = 84
  • BRICK_MASTER_FUNCTION_SET_WIFI2_CLIENT_CONFIGURATION = 87
  • BRICK_MASTER_FUNCTION_SET_WIFI2_CLIENT_HOSTNAME = 89
  • BRICK_MASTER_FUNCTION_SET_WIFI2_CLIENT_PASSWORD = 91
  • BRICK_MASTER_FUNCTION_SET_WIFI2_AP_CONFIGURATION = 93
  • BRICK_MASTER_FUNCTION_SET_WIFI2_AP_PASSWORD = 95
  • BRICK_MASTER_FUNCTION_ENABLE_WIFI2_STATUS_LED = 99
  • BRICK_MASTER_FUNCTION_DISABLE_WIFI2_STATUS_LED = 100
  • BRICK_MASTER_FUNCTION_SET_WIFI2_MESH_CONFIGURATION = 102
  • BRICK_MASTER_FUNCTION_SET_WIFI2_MESH_ROUTER_SSID = 104
  • BRICK_MASTER_FUNCTION_SET_WIFI2_MESH_ROUTER_PASSWORD = 106
  • BRICK_MASTER_FUNCTION_SET_BRICKLETS_ENABLED = 113
  • BRICK_MASTER_FUNCTION_SET_SPITFP_BAUDRATE_CONFIG = 231
  • BRICK_MASTER_FUNCTION_SET_SPITFP_BAUDRATE = 234
  • BRICK_MASTER_FUNCTION_ENABLE_STATUS_LED = 238
  • BRICK_MASTER_FUNCTION_DISABLE_STATUS_LED = 239
  • BRICK_MASTER_FUNCTION_RESET = 243
  • BRICK_MASTER_FUNCTION_WRITE_BRICKLET_PLUGIN = 246
procedure TBrickMaster.SetResponseExpectedAll(const responseExpected: boolean)
Parameter:
  • responseExpected – Typ: boolean

Ändert das Response-Expected-Flag für alle Setter-Funktionen und Konfigurationsfunktionen für Callbacks diese Gerätes.

Interne Funktionen

Interne Funktionen werden für Wartungsaufgaben, wie zum Beispiel das Flashen einer neuen Firmware oder das Ändern der UID eines Bricklets, verwendet. Diese Aufgaben sollten mit Brick Viewer durchgeführt werden, anstelle die internen Funktionen direkt zu verwenden.

procedure TBrickMaster.SetBrickletXMCFlashConfig(const config: longword; const parameter1: longword; const parameter2: longword; const data: array [0..51] of byte; out returnValue: longword; out returnData: array [0..59] of byte)
Parameter:
  • config – Typ: longword, Wertebereich: [0 bis 232 - 1]
  • parameter1 – Typ: longword, Wertebereich: [0 bis 232 - 1]
  • parameter2 – Typ: longword, Wertebereich: [0 bis 232 - 1]
  • data – Typ: array [0..51] of byte, Wertebereich: [0 bis 255]
Ausgabeparameter:
  • returnValue – Typ: longword, Wertebereich: [0 bis 232 - 1]
  • returnData – Typ: array [0..59] of byte, Wertebereich: [0 bis 255]

Diese Funktion wird Tinkerforge-Intern genutzt um initial den Bootstrapper und Bootloader auf Bricklets zu flashen.

Falls die Notwendigkeit besteht einen Bootstrapper/Bootloader zu flashen (zum Beispiel weil ein eigenes Bricklet entwickelet wurde) bitte nicht diese Funktion direkt benutzen.

Dafür kann unser Open Source Flash/Test-Tool genutzt werden: https://github.com/Tinkerforge/flash-test

Neu in Version 2.5.0 (Firmware).

function TBrickMaster.SetBrickletXMCFlashData(const data: array [0..63] of byte): longword
Parameter:
  • data – Typ: array [0..63] of byte, Wertebereich: [0 bis 255]
Rückgabe:
  • returnData – Typ: longword, Wertebereich: [0 bis 232 - 1]

Diese Funktion wird Tinkerforge-Intern genutzt um initial den Bootstrapper und Bootloader auf Bricklets zu flashen.

Falls die Notwendigkeit besteht einen Bootstrapper/Bootloader zu flashen (zum Beispiel weil ein eigenes Bricklet entwickelet wurde) bitte nicht diese Funktion direkt benutzen.

Dafür kann unser Open Source Flash/Test-Tool genutzt werden: https://github.com/Tinkerforge/flash-test

Neu in Version 2.5.0 (Firmware).

procedure TBrickMaster.SetBrickletsEnabled(const brickletsEnabled: boolean)
Parameter:
  • brickletsEnabled – Typ: boolean

Diese Funktion ist nur nur Master Brick Hardware Version >= 3.0 verfügbar.

Aktiviert/Deaktiviert alle vier Bricklets wenn auf true/false gesetzt.

Wenn die Bricklets deaktiviert werden, wird die Stromversorgung zu den Bricklets getrennt. Die Bricklets verlieren dabei ihre aktuelle konfiguration.

Neu in Version 2.5.0 (Firmware).

function TBrickMaster.GetBrickletsEnabled: boolean
Rückgabe:
  • brickletsEnabled – Typ: boolean

Gibt true zurück wenn die Bricklets aktiviert sind und false wenn sie deaktiviert sind.

Neu in Version 2.5.0 (Firmware).

procedure TBrickMaster.GetProtocol1BrickletName(const port: char; out protocolVersion: byte; out firmwareVersion: array [0..2] of byte; out name: string)
Parameter:
  • port – Typ: char, Wertebereich: ['a' bis 'd']
Ausgabeparameter:
  • protocolVersion – Typ: byte, Wertebereich: [0 bis 255]
  • firmwareVersion – Typ: array [0..2] of byte
    • 0: major – Typ: byte, Wertebereich: [0 bis 255]
    • 1: minor – Typ: byte, Wertebereich: [0 bis 255]
    • 2: revision – Typ: byte, Wertebereich: [0 bis 255]
  • name – Typ: string, Länge: bis zu 40

Gibt die Firmware und Protokoll Version und den Namen des Bricklets für einen gegebenen Port zurück.

Der einzige Zweck dieser Funktion ist es, automatischen Flashen von Bricklet v1.x.y Plugins zu ermöglichen.

procedure TBrickMaster.WriteBrickletPlugin(const port: char; const offset: byte; const chunk: array [0..31] of byte)
Parameter:
  • port – Typ: char, Wertebereich: ['a' bis 'd']
  • offset – Typ: byte, Wertebereich: [0 bis 255]
  • chunk – Typ: array [0..31] of byte, Wertebereich: [0 bis 255]

Schreibt 32 Bytes Firmware auf das Bricklet, dass am gegebenen Port angeschlossen ist. Die Bytes werden an die Position offset * 32 geschrieben.

Diese Funktion wird vom Brick Viewer während des Flashens benutzt. In einem normalem Nutzerprogramm sollte diese Funktion nicht benötigt werden.

function TBrickMaster.ReadBrickletPlugin(const port: char; const offset: byte): array [0..31] of byte
Parameter:
  • port – Typ: char, Wertebereich: ['a' bis 'd']
  • offset – Typ: byte, Wertebereich: [0 bis 255]
Rückgabe:
  • chunk – Typ: array [0..31] of byte, Wertebereich: [0 bis 255]

Liest 32 Bytes Firmware vom Bricklet, dass am gegebenen Port angeschlossen ist. Die Bytes werden ab der Position offset * 32 gelesen.

Diese Funktion wird vom Brick Viewer während des Flashens benutzt. In einem normalem Nutzerprogramm sollte diese Funktion nicht benötigt werden.

Konstanten

const BRICK_MASTER_DEVICE_IDENTIFIER

Diese Konstante wird verwendet um einen Master Brick zu identifizieren.

Die GetIdentity Funktion und der TIPConnection.OnEnumerate Callback der IP Connection haben ein deviceIdentifier Parameter um den Typ des Bricks oder Bricklets anzugeben.

const BRICK_MASTER_DEVICE_DISPLAY_NAME

Diese Konstante stellt den Anzeigenamen eines Master Brick dar.