Dies ist die Beschreibung der C/C++ 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 C/C++ API Bindings ist Teil deren allgemeine Beschreibung.
Der folgende Beispielcode ist Public Domain (CC0 1.0).
Download (example_stack_status.c)
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 | #include <stdio.h>
#include "ip_connection.h"
#include "brick_master.h"
#define HOST "localhost"
#define PORT 4223
#define UID "XXYYZZ" // Change XXYYZZ to the UID of your Master Brick
int main(void) {
// Create IP connection
IPConnection ipcon;
ipcon_create(&ipcon);
// Create device object
Master master;
master_create(&master, UID, &ipcon);
// Connect to brickd
if(ipcon_connect(&ipcon, HOST, PORT) < 0) {
fprintf(stderr, "Could not connect\n");
return 1;
}
// Don't use device before ipcon is connected
// Get current stack voltage
uint16_t stack_voltage;
if(master_get_stack_voltage(&master, &stack_voltage) < 0) {
fprintf(stderr, "Could not get stack voltage, probably timeout\n");
return 1;
}
printf("Stack Voltage: %f V\n", stack_voltage/1000.0);
// Get current stack current
uint16_t stack_current;
if(master_get_stack_current(&master, &stack_current) < 0) {
fprintf(stderr, "Could not get stack current, probably timeout\n");
return 1;
}
printf("Stack Current: %f A\n", stack_current/1000.0);
printf("Press key to exit\n");
getchar();
master_destroy(&master);
ipcon_destroy(&ipcon); // Calls ipcon_disconnect internally
return 0;
}
|
Die meistens Funktionen der C/C++ Bindings geben einen Fehlercode (e_code
)
zurück. Vom Gerät zurückgegebene Daten werden, wenn eine
Abfrage aufgerufen wurde, über Ausgabeparameter gehandhabt. Diese Parameter
sind mit dem ret_
Präfix gekennzeichnet.
Mögliche Fehlercodes sind:
wie in ip_connection.h
definiert.
Alle folgend aufgelisteten Funktionen sind Thread-sicher.
master_create
(Master *master, const char *uid, IPConnection *ipcon)¶Parameter: |
|
---|
Erzeugt ein Geräteobjekt master
mit der eindeutigen Geräte ID uid
und
fügt es der IP Connection ipcon
hinzu:
Master master;
master_create(&master, "YOUR_DEVICE_UID", &ipcon);
Dieses Geräteobjekt kann benutzt werden, nachdem die IP Connection verbunden.
master_destroy
(Master *master)¶Parameter: |
|
---|
Entfernt das Geräteobjekt master
von dessen IP Connection und zerstört es.
Das Geräteobjekt kann hiernach nicht mehr verwendet werden.
master_get_stack_voltage
(Master *master, uint16_t *ret_voltage)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
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.
master_get_stack_current
(Master *master, uint16_t *ret_current)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
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.
master_set_extension_type
(Master *master, uint8_t extension, uint32_t exttype)¶Parameter: |
|
---|---|
Rückgabe: |
|
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:
master_get_extension_type
(Master *master, uint8_t extension, uint32_t *ret_exttype)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
Gibt den Typ der angegebenen Extension zurück, wie von master_set_extension_type()
gesetzt.
Die folgenden Konstanten sind für diese Funktion verfügbar:
Für ret_exttype:
master_is_chibi_present
(Master *master, bool *ret_present)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
Gibt true zurück, wenn der Master Brick an Position 0 im Stapel und eine Chibi Extension verfügbar ist.
master_set_chibi_address
(Master *master, uint8_t address)¶Parameter: |
|
---|---|
Rückgabe: |
|
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.
master_get_chibi_address
(Master *master, uint8_t *ret_address)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
Gibt die Adresse zurück, wie von master_set_chibi_address()
gesetzt.
master_set_chibi_master_address
(Master *master, uint8_t address)¶Parameter: |
|
---|---|
Rückgabe: |
|
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.
master_get_chibi_master_address
(Master *master, uint8_t *ret_address)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
Gibt die Adresse zurück, wie von master_set_chibi_master_address()
gesetzt.
master_set_chibi_slave_address
(Master *master, uint8_t num, uint8_t address)¶Parameter: |
|
---|---|
Rückgabe: |
|
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.
master_get_chibi_slave_address
(Master *master, uint8_t num, uint8_t *ret_address)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
Gibt die Slave Adresse für eine Adressnummerierung (mittels num
Parameter)
zurück, wie von master_set_chibi_slave_address()
gesetzt.
master_get_chibi_signal_strength
(Master *master, uint8_t *ret_signal_strength)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
Gibt die Signalstärke in dBm zurück. Die Aktualisierung der Signalstärke wird bei jedem Empfang eines Paketes durchgeführt.
master_get_chibi_error_log
(Master *master, uint16_t *ret_underrun, uint16_t *ret_crc_error, uint16_t *ret_no_ack, uint16_t *ret_overflow)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
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.
master_set_chibi_frequency
(Master *master, uint8_t frequency)¶Parameter: |
|
---|---|
Rückgabe: |
|
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:
master_get_chibi_frequency
(Master *master, uint8_t *ret_frequency)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
Gibt den Frequenzbereich zurück, wie von master_set_chibi_frequency()
gesetzt.
Die folgenden Konstanten sind für diese Funktion verfügbar:
Für ret_frequency:
master_set_chibi_channel
(Master *master, uint8_t channel)¶Parameter: |
|
---|---|
Rückgabe: |
|
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.
master_get_chibi_channel
(Master *master, uint8_t *ret_channel)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
Gibt den Kanal zurück, wie von master_set_chibi_channel()
gesetzt.
master_is_rs485_present
(Master *master, bool *ret_present)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
Gibt true zurück, wenn der Master Brick an Position 0 im Stapel und eine RS485 Extension verfügbar ist.
master_set_rs485_address
(Master *master, uint8_t address)¶Parameter: |
|
---|---|
Rückgabe: |
|
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.
master_get_rs485_address
(Master *master, uint8_t *ret_address)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
Gibt die Adresse zurück, wie von master_set_rs485_address()
gesetzt.
master_set_rs485_slave_address
(Master *master, uint8_t num, uint8_t address)¶Parameter: |
|
---|---|
Rückgabe: |
|
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.
master_get_rs485_slave_address
(Master *master, uint8_t num, uint8_t *ret_address)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
Gibt die Slave Adresse für eine Adressnummerierung (mittels num
Parameter)
zurück, wie von master_set_rs485_slave_address()
gesetzt.
master_get_rs485_error_log
(Master *master, uint16_t *ret_crc_error)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
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.
master_set_rs485_configuration
(Master *master, uint32_t speed, char parity, uint8_t stopbits)¶Parameter: |
|
---|---|
Rückgabe: |
|
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:
master_get_rs485_configuration
(Master *master, uint32_t *ret_speed, char *ret_parity, uint8_t *ret_stopbits)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
Gibt die Schnittstellenkonfiguration zurück, wie von master_set_rs485_configuration()
gesetzt.
Die folgenden Konstanten sind für diese Funktion verfügbar:
Für ret_parity:
master_is_wifi_present
(Master *master, bool *ret_present)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
Gibt true zurück, wenn der Master Brick an Position 0 im Stapel und eine WIFI Extension verfügbar ist.
master_set_wifi_configuration
(Master *master, const char *ssid, uint8_t connection, uint8_t ip[4], uint8_t subnet_mask[4], uint8_t gateway[4], uint16_t port)¶Parameter: |
|
---|---|
Rückgabe: |
|
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:
master_get_wifi_configuration
(Master *master, char ret_ssid[32], uint8_t *ret_connection, uint8_t ret_ip[4], uint8_t ret_subnet_mask[4], uint8_t ret_gateway[4], uint16_t *ret_port)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
Gibt die Konfiguration zurück, wie von master_set_wifi_configuration()
gesetzt.
Die folgenden Konstanten sind für diese Funktion verfügbar:
Für ret_connection:
master_set_wifi_encryption
(Master *master, uint8_t encryption, const char *key, uint8_t key_index, uint8_t eap_options, uint16_t ca_certificate_length, uint16_t client_certificate_length, uint16_t private_key_length)¶Parameter: |
|
---|---|
Rückgabe: |
|
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
master_set_long_wifi_key()
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
master_set_wifi_certificate()
ü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:
Für eap_options:
master_get_wifi_encryption
(Master *master, uint8_t *ret_encryption, char ret_key[50], uint8_t *ret_key_index, uint8_t *ret_eap_options, uint16_t *ret_ca_certificate_length, uint16_t *ret_client_certificate_length, uint16_t *ret_private_key_length)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
Gibt die Verschlüsselungseinstellungen zurück, wie von
master_set_wifi_encryption()
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 ret_encryption:
Für ret_eap_options:
master_get_wifi_status
(Master *master, uint8_t ret_mac_address[6], uint8_t ret_bssid[6], uint8_t *ret_channel, int16_t *ret_rssi, uint8_t ret_ip[4], uint8_t ret_subnet_mask[4], uint8_t ret_gateway[4], uint32_t *ret_rx_count, uint32_t *ret_tx_count, uint8_t *ret_state)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
Gibt den Status der WIFI Extension zurück. state
wird automatisch
aktualisiert, alle anderen Parameter werden nur beim Starten und nach jedem
Aufruf von master_refresh_wifi_status()
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 ret_state:
master_refresh_wifi_status
(Master *master)¶Parameter: |
|
---|---|
Rückgabe: |
|
Aktualisiert den WLAN Status (siehe master_get_wifi_status()
). 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.
master_set_wifi_certificate
(Master *master, uint16_t index, uint8_t data[32], uint8_t data_length)¶Parameter: |
|
---|---|
Rückgabe: |
|
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.
master_get_wifi_certificate
(Master *master, uint16_t index, uint8_t ret_data[32], uint8_t *ret_data_length)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
Gibt das Zertifikat für einen Index zurück, wie von
master_set_wifi_certificate()
gesetzt.
master_set_wifi_power_mode
(Master *master, uint8_t mode)¶Parameter: |
|
---|---|
Rückgabe: |
|
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:
master_get_wifi_power_mode
(Master *master, uint8_t *ret_mode)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
Gibt den Stromsparmodus zurück, wie von master_set_wifi_power_mode()
gesetzt.
Die folgenden Konstanten sind für diese Funktion verfügbar:
Für ret_mode:
master_get_wifi_buffer_info
(Master *master, uint32_t *ret_overflow, uint16_t *ret_low_watermark, uint16_t *ret_used)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
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.
master_set_wifi_regulatory_domain
(Master *master, uint8_t domain)¶Parameter: |
|
---|---|
Rückgabe: |
|
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:
master_get_wifi_regulatory_domain
(Master *master, uint8_t *ret_domain)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
Gibt den Geltungsbereich zurück, wie von master_set_wifi_regulatory_domain()
gesetzt.
Die folgenden Konstanten sind für diese Funktion verfügbar:
Für ret_domain:
master_get_usb_voltage
(Master *master, uint16_t *ret_voltage)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
Gibt die USB Spannung zurück. Funktioniert nicht mit Hardware Version 2.1 oder neuer.
master_set_long_wifi_key
(Master *master, const char *key)¶Parameter: |
|
---|---|
Rückgabe: |
|
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
master_set_wifi_encryption()
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).
master_get_long_wifi_key
(Master *master, char ret_key[64])¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
Gibt den Verschlüsselungsschlüssel zurück, wie von
master_set_long_wifi_key()
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).
master_set_wifi_hostname
(Master *master, const char *hostname)¶Parameter: |
|
---|---|
Rückgabe: |
|
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).
master_get_wifi_hostname
(Master *master, char ret_hostname[16])¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
Gibt den Hostnamen zurück, wie von master_set_wifi_hostname()
gesetzt.
Ein leerer String bedeutet, dass der voreingestellte Hostname genutzt wird.
Neu in Version 2.0.5 (Firmware).
master_is_ethernet_present
(Master *master, bool *ret_present)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
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).
master_set_ethernet_configuration
(Master *master, uint8_t connection, uint8_t ip[4], uint8_t subnet_mask[4], uint8_t gateway[4], uint16_t port)¶Parameter: |
|
---|---|
Rückgabe: |
|
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:
Neu in Version 2.1.0 (Firmware).
master_get_ethernet_configuration
(Master *master, uint8_t *ret_connection, uint8_t ret_ip[4], uint8_t ret_subnet_mask[4], uint8_t ret_gateway[4], uint16_t *ret_port)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
Gibt die Konfiguration zurück, wie von master_set_ethernet_configuration()
gesetzt.
Die folgenden Konstanten sind für diese Funktion verfügbar:
Für ret_connection:
Neu in Version 2.1.0 (Firmware).
master_get_ethernet_status
(Master *master, uint8_t ret_mac_address[6], uint8_t ret_ip[4], uint8_t ret_subnet_mask[4], uint8_t ret_gateway[4], uint32_t *ret_rx_count, uint32_t *ret_tx_count, char ret_hostname[32])¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
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).
master_set_ethernet_hostname
(Master *master, const char *hostname)¶Parameter: |
|
---|---|
Rückgabe: |
|
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 master_get_ethernet_status()
herausgefunden werden.
Neu in Version 2.1.0 (Firmware).
master_set_ethernet_mac_address
(Master *master, uint8_t mac_address[6])¶Parameter: |
|
---|---|
Rückgabe: |
|
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 master_get_ethernet_status()
wieder ausgelesen werden.
Neu in Version 2.1.0 (Firmware).
master_set_ethernet_websocket_configuration
(Master *master, uint8_t sockets, uint16_t port)¶Parameter: |
|
---|---|
Rückgabe: |
|
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).
master_get_ethernet_websocket_configuration
(Master *master, uint8_t *ret_sockets, uint16_t *ret_port)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
Gibt die Konfiguration zurück, wie von master_set_ethernet_configuration()
gesetzt.
Neu in Version 2.2.0 (Firmware).
master_set_ethernet_authentication_secret
(Master *master, const char *secret)¶Parameter: |
|
---|---|
Rückgabe: |
|
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).
master_get_ethernet_authentication_secret
(Master *master, char ret_secret[64])¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
Gibt das Authentifizierungsgeheimnis zurück, wie von
master_set_ethernet_authentication_secret()
gesetzt.
Neu in Version 2.2.0 (Firmware).
master_set_wifi_authentication_secret
(Master *master, const char *secret)¶Parameter: |
|
---|---|
Rückgabe: |
|
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).
master_get_wifi_authentication_secret
(Master *master, char ret_secret[64])¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
Gibt das Authentifizierungsgeheimnis zurück, wie von
master_set_wifi_authentication_secret()
gesetzt.
Neu in Version 2.2.0 (Firmware).
master_get_connection_type
(Master *master, uint8_t *ret_connection_type)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
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 ret_connection_type:
Neu in Version 2.4.0 (Firmware).
master_is_wifi2_present
(Master *master, bool *ret_present)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
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).
master_start_wifi2_bootloader
(Master *master, int8_t *ret_result)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
Startet den Bootloader der WIFI Extension 2.0. Gibt bei Erfolg 0 zurück.
Danach können die master_write_wifi2_serial_port()
und master_read_wifi2_serial_port()
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
master_get_connection_type()
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).
master_write_wifi2_serial_port
(Master *master, uint8_t data[60], uint8_t length, int8_t *ret_result)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
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
master_start_wifi2_bootloader()
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).
master_read_wifi2_serial_port
(Master *master, uint8_t length, uint8_t ret_data[60], uint8_t *ret_result)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
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
master_start_wifi2_bootloader()
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).
master_set_wifi2_authentication_secret
(Master *master, const char *secret)¶Parameter: |
|
---|---|
Rückgabe: |
|
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
master_save_wifi2_configuration()
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).
master_get_wifi2_authentication_secret
(Master *master, char ret_secret[64])¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
Gibt das WLAN-Authentifizierungsgeheimnis zurück, wie von
master_set_wifi2_authentication_secret()
gesetzt.
Neu in Version 2.4.0 (Firmware).
master_set_wifi2_configuration
(Master *master, uint16_t port, uint16_t websocket_port, uint16_t website_port, uint8_t phy_mode, uint8_t sleep_mode, uint8_t website)¶Parameter: |
|
---|---|
Rückgabe: |
|
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
master_save_wifi2_configuration()
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 phy_mode:
Neu in Version 2.4.0 (Firmware).
master_get_wifi2_configuration
(Master *master, uint16_t *ret_port, uint16_t *ret_websocket_port, uint16_t *ret_website_port, uint8_t *ret_phy_mode, uint8_t *ret_sleep_mode, uint8_t *ret_website)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
Gibt die allgemeine Konfiguration zurück, wie von master_set_wifi2_configuration()
gesetzt.
Die folgenden Konstanten sind für diese Funktion verfügbar:
Für ret_phy_mode:
Neu in Version 2.4.0 (Firmware).
master_get_wifi2_status
(Master *master, bool *ret_client_enabled, uint8_t *ret_client_status, uint8_t ret_client_ip[4], uint8_t ret_client_subnet_mask[4], uint8_t ret_client_gateway[4], uint8_t ret_client_mac_address[6], uint32_t *ret_client_rx_count, uint32_t *ret_client_tx_count, int8_t *ret_client_rssi, bool *ret_ap_enabled, uint8_t ret_ap_ip[4], uint8_t ret_ap_subnet_mask[4], uint8_t ret_ap_gateway[4], uint8_t ret_ap_mac_address[6], uint32_t *ret_ap_rx_count, uint32_t *ret_ap_tx_count, uint8_t *ret_ap_connected_count)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
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 ret_client_status:
Neu in Version 2.4.0 (Firmware).
master_set_wifi2_client_configuration
(Master *master, bool enable, const char *ssid, uint8_t ip[4], uint8_t subnet_mask[4], uint8_t gateway[4], uint8_t mac_address[6], uint8_t bssid[6])¶Parameter: |
|
---|---|
Rückgabe: |
|
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
master_save_wifi2_configuration()
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).
master_get_wifi2_client_configuration
(Master *master, bool *ret_enable, char ret_ssid[32], uint8_t ret_ip[4], uint8_t ret_subnet_mask[4], uint8_t ret_gateway[4], uint8_t ret_mac_address[6], uint8_t ret_bssid[6])¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
Gibt die Client Konfiguration zurück, wie von
master_set_wifi2_client_configuration()
gesetzt.
Neu in Version 2.4.0 (Firmware).
master_set_wifi2_client_hostname
(Master *master, const char *hostname)¶Parameter: |
|
---|---|
Rückgabe: |
|
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
master_save_wifi2_configuration()
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).
master_get_wifi2_client_hostname
(Master *master, char ret_hostname[32])¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
Gibt den Client Hostnamen zurück, wie von master_set_wifi2_client_hostname()
gesetzt.
Neu in Version 2.4.0 (Firmware).
master_set_wifi2_client_password
(Master *master, const char *password)¶Parameter: |
|
---|---|
Rückgabe: |
|
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
master_save_wifi2_configuration()
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).
master_get_wifi2_client_password
(Master *master, char ret_password[64])¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
Gibt das Client-Passwort zurück, wie von master_set_wifi2_client_password()
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).
master_set_wifi2_ap_configuration
(Master *master, bool enable, const char *ssid, uint8_t ip[4], uint8_t subnet_mask[4], uint8_t gateway[4], uint8_t encryption, bool hidden, uint8_t channel, uint8_t mac_address[6])¶Parameter: |
|
---|---|
Rückgabe: |
|
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 master_set_wifi2_ap_password()
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
master_save_wifi2_configuration()
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:
Neu in Version 2.4.0 (Firmware).
master_get_wifi2_ap_configuration
(Master *master, bool *ret_enable, char ret_ssid[32], uint8_t ret_ip[4], uint8_t ret_subnet_mask[4], uint8_t ret_gateway[4], uint8_t *ret_encryption, bool *ret_hidden, uint8_t *ret_channel, uint8_t ret_mac_address[6])¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
Gibt die Access-Point-Konfiguration zurück, wie von
master_set_wifi2_ap_configuration()
gesetzt.
Die folgenden Konstanten sind für diese Funktion verfügbar:
Für ret_encryption:
Neu in Version 2.4.0 (Firmware).
master_set_wifi2_ap_password
(Master *master, const char *password)¶Parameter: |
|
---|---|
Rückgabe: |
|
Setzt das Access-Point-Passwort (mindestens 8 und bis zu 63 Zeichen) für den eingestellten
Verschlüsselungsmodus, siehe master_set_wifi2_ap_configuration()
.
Um Konfigurationsänderungen für die WIFI Extension 2.0 zu übernehmen muss die
master_save_wifi2_configuration()
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).
master_get_wifi2_ap_password
(Master *master, char ret_password[64])¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
Gibt das Access-Point-Passwort zurück, wie von master_set_wifi2_ap_password()
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).
master_save_wifi2_configuration
(Master *master, uint8_t *ret_result)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
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).
master_get_wifi2_firmware_version
(Master *master, uint8_t ret_firmware_version[3])¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
Gibt die aktuelle Version der WIFI Extension 2.0 Firmware zurück.
Neu in Version 2.4.0 (Firmware).
master_enable_wifi2_status_led
(Master *master)¶Parameter: |
|
---|---|
Rückgabe: |
|
Aktiviert die grüne Status LED der WIFI Extension 2.0.
Neu in Version 2.4.0 (Firmware).
master_disable_wifi2_status_led
(Master *master)¶Parameter: |
|
---|---|
Rückgabe: |
|
Deaktiviert die grüne Status LED der WIFI Extension 2.0.
Neu in Version 2.4.0 (Firmware).
master_is_wifi2_status_led_enabled
(Master *master, bool *ret_enabled)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
Gibt true zurück falls die grüne Status LED der WIFI Extension 2.0 aktiviert ist.
Neu in Version 2.4.0 (Firmware).
master_set_wifi2_mesh_configuration
(Master *master, bool enable, uint8_t root_ip[4], uint8_t root_subnet_mask[4], uint8_t root_gateway[4], uint8_t router_bssid[6], uint8_t group_id[6], const char *group_ssid_prefix, uint8_t gateway_ip[4], uint16_t gateway_port)¶Parameter: |
|
---|---|
Rückgabe: |
|
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 master_set_wifi2_mesh_router_ssid()
. 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
master_save_wifi2_configuration()
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).
master_get_wifi2_mesh_configuration
(Master *master, bool *ret_enable, uint8_t ret_root_ip[4], uint8_t ret_root_subnet_mask[4], uint8_t ret_root_gateway[4], uint8_t ret_router_bssid[6], uint8_t ret_group_id[6], char ret_group_ssid_prefix[16], uint8_t ret_gateway_ip[4], uint16_t *ret_gateway_port)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
Benötigt WIFI Extension 2.0 Firmware 2.1.0.
Gibt das Mesh Konfiguration zurück, wie von master_set_wifi2_mesh_configuration()
gesetzt.
Neu in Version 2.4.2 (Firmware).
master_set_wifi2_mesh_router_ssid
(Master *master, const char *ssid)¶Parameter: |
|
---|---|
Rückgabe: |
|
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
master_save_wifi2_configuration()
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).
master_get_wifi2_mesh_router_ssid
(Master *master, char ret_ssid[32])¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
Benötigt WIFI Extension 2.0 Firmware 2.1.0.
Gibt das Mesh-Router-SSID zurück, wie von master_set_wifi2_mesh_router_ssid()
gesetzt.
Neu in Version 2.4.2 (Firmware).
master_set_wifi2_mesh_router_password
(Master *master, const char *password)¶Parameter: |
|
---|---|
Rückgabe: |
|
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
master_save_wifi2_configuration()
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).
master_get_wifi2_mesh_router_password
(Master *master, char ret_password[64])¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
Benötigt WIFI Extension 2.0 Firmware 2.1.0.
Gibt das Mesh-Router-Password zurück, wie von master_set_wifi2_mesh_router_password()
gesetzt.
Neu in Version 2.4.2 (Firmware).
master_get_wifi2_mesh_common_status
(Master *master, uint8_t *ret_status, bool *ret_root_node, bool *ret_root_candidate, uint16_t *ret_connected_nodes, uint32_t *ret_rx_count, uint32_t *ret_tx_count)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
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 ret_status:
Neu in Version 2.4.2 (Firmware).
master_get_wifi2_mesh_client_status
(Master *master, char ret_hostname[32], uint8_t ret_ip[4], uint8_t ret_subnet_mask[4], uint8_t ret_gateway[4], uint8_t ret_mac_address[6])¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
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).
master_get_wifi2_mesh_ap_status
(Master *master, char ret_ssid[32], uint8_t ret_ip[4], uint8_t ret_subnet_mask[4], uint8_t ret_gateway[4], uint8_t ret_mac_address[6])¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
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).
master_set_spitfp_baudrate_config
(Master *master, bool enable_dynamic_baudrate, uint32_t minimum_dynamic_baudrate)¶Parameter: |
|
---|---|
Rückgabe: |
|
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 master_set_spitfp_baudrate()
.
gesetzt werden. Falls die dynamische Baudrate nicht aktiviert ist, wird die Baudrate
wie von master_set_spitfp_baudrate()
gesetzt statisch verwendet.
Neu in Version 2.4.6 (Firmware).
master_get_spitfp_baudrate_config
(Master *master, bool *ret_enable_dynamic_baudrate, uint32_t *ret_minimum_dynamic_baudrate)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
Gibt die Baudratenkonfiguration zurück, siehe master_set_spitfp_baudrate_config()
.
Neu in Version 2.4.6 (Firmware).
master_get_send_timeout_count
(Master *master, uint8_t communication_method, uint32_t *ret_timeout_count)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
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 communication_method:
Neu in Version 2.4.3 (Firmware).
master_set_spitfp_baudrate
(Master *master, char bricklet_port, uint32_t baudrate)¶Parameter: |
|
---|---|
Rückgabe: |
|
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 master_get_spitfp_error_count()
) kann die Baudrate verringert werden.
Wenn das Feature der dynamische Baudrate aktiviert ist, setzt diese Funktion
die maximale Baudrate (siehe master_set_spitfp_baudrate_config()
).
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).
master_get_spitfp_baudrate
(Master *master, char bricklet_port, uint32_t *ret_baudrate)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
Gibt die Baudrate für einen Bricklet Port zurück, siehe
master_set_spitfp_baudrate()
.
Neu in Version 2.4.3 (Firmware).
master_get_spitfp_error_count
(Master *master, char bricklet_port, uint32_t *ret_error_count_ack_checksum, uint32_t *ret_error_count_message_checksum, uint32_t *ret_error_count_frame, uint32_t *ret_error_count_overflow)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
Gibt die Anzahl der Fehler die während der Kommunikation zwischen Brick und Bricklet aufgetreten sind zurück.
Die Fehler sind aufgeteilt in
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).
master_enable_status_led
(Master *master)¶Parameter: |
|
---|---|
Rückgabe: |
|
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).
master_disable_status_led
(Master *master)¶Parameter: |
|
---|---|
Rückgabe: |
|
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).
master_is_status_led_enabled
(Master *master, bool *ret_enabled)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
Gibt true zurück wenn die Status LED aktiviert ist, false sonst.
Neu in Version 2.3.2 (Firmware).
master_get_chip_temperature
(Master *master, int16_t *ret_temperature)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
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.
master_reset
(Master *master)¶Parameter: |
|
---|---|
Rückgabe: |
|
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.
master_get_identity
(Master *master, char ret_uid[8], char ret_connected_uid[8], char *ret_position, uint8_t ret_hardware_version[3], uint8_t ret_firmware_version[3], uint16_t *ret_device_identifier)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
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.
master_register_callback
(Master *master, int16_t callback_id, void (*function)(void), void *user_data)¶Parameter: |
|
---|
Registriert die function
für die gegebene callback_id
. Die user_data
werden der Funktion als letztes Parameter mit übergeben.
Die verfügbaren Callback IDs mit den zugehörigen Funktionssignaturen sind unten zu finden.
master_set_stack_current_callback_period
(Master *master, uint32_t period)¶Parameter: |
|
---|---|
Rückgabe: |
|
Setzt die Periode mit welcher der MASTER_CALLBACK_STACK_CURRENT
Callback ausgelöst
wird. Ein Wert von 0 deaktiviert den Callback.
Der MASTER_CALLBACK_STACK_CURRENT
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).
master_get_stack_current_callback_period
(Master *master, uint32_t *ret_period)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
Gibt die Periode zurück, wie von master_set_stack_current_callback_period()
gesetzt
Neu in Version 2.0.5 (Firmware).
master_set_stack_voltage_callback_period
(Master *master, uint32_t period)¶Parameter: |
|
---|---|
Rückgabe: |
|
Setzt die Periode mit welcher der MASTER_CALLBACK_STACK_VOLTAGE
Callback ausgelöst
wird. Ein Wert von 0 deaktiviert den Callback.
Der MASTER_CALLBACK_STACK_VOLTAGE
Callback wird nur ausgelöst, wenn sich die Spannung seit
der letzten Auslösung geändert hat.
Neu in Version 2.0.5 (Firmware).
master_get_stack_voltage_callback_period
(Master *master, uint32_t *ret_period)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
Gibt die Periode zurück, wie von master_set_stack_voltage_callback_period()
gesetzt
Neu in Version 2.0.5 (Firmware).
master_set_usb_voltage_callback_period
(Master *master, uint32_t period)¶Parameter: |
|
---|---|
Rückgabe: |
|
Setzt die Periode mit welcher der MASTER_CALLBACK_USB_VOLTAGE
Callback ausgelöst
wird. Ein Wert von 0 deaktiviert den Callback.
Der MASTER_CALLBACK_USB_VOLTAGE
Callback wird nur ausgelöst, wenn sich die Spannung seit
der letzten Auslösung geändert hat.
Neu in Version 2.0.5 (Firmware).
master_get_usb_voltage_callback_period
(Master *master, uint32_t *ret_period)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
Gibt die Periode zurück, wie von master_set_usb_voltage_callback_period()
gesetzt
Neu in Version 2.0.5 (Firmware).
master_set_stack_current_callback_threshold
(Master *master, char option, uint16_t min, uint16_t max)¶Parameter: |
|
---|---|
Rückgabe: |
|
Setzt den Schwellwert für den MASTER_CALLBACK_STACK_CURRENT_REACHED
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:
Neu in Version 2.0.5 (Firmware).
master_get_stack_current_callback_threshold
(Master *master, char *ret_option, uint16_t *ret_min, uint16_t *ret_max)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
Gibt den Schwellwert zurück, wie von master_set_stack_current_callback_threshold()
gesetzt.
Die folgenden Konstanten sind für diese Funktion verfügbar:
Für ret_option:
Neu in Version 2.0.5 (Firmware).
master_set_stack_voltage_callback_threshold
(Master *master, char option, uint16_t min, uint16_t max)¶Parameter: |
|
---|---|
Rückgabe: |
|
Setzt den Schwellwert für den MASTER_CALLBACK_STACK_VOLTAGE_REACHED
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:
Neu in Version 2.0.5 (Firmware).
master_get_stack_voltage_callback_threshold
(Master *master, char *ret_option, uint16_t *ret_min, uint16_t *ret_max)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
Gibt den Schwellwert zurück, wie von master_set_stack_voltage_callback_threshold()
gesetzt.
Die folgenden Konstanten sind für diese Funktion verfügbar:
Für ret_option:
Neu in Version 2.0.5 (Firmware).
master_set_usb_voltage_callback_threshold
(Master *master, char option, uint16_t min, uint16_t max)¶Parameter: |
|
---|---|
Rückgabe: |
|
Setzt den Schwellwert für den MASTER_CALLBACK_USB_VOLTAGE_REACHED
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:
Neu in Version 2.0.5 (Firmware).
master_get_usb_voltage_callback_threshold
(Master *master, char *ret_option, uint16_t *ret_min, uint16_t *ret_max)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
Gibt den Schwellwert zurück, wie von master_set_usb_voltage_callback_threshold()
gesetzt.
Die folgenden Konstanten sind für diese Funktion verfügbar:
Für ret_option:
Neu in Version 2.0.5 (Firmware).
master_set_debounce_period
(Master *master, uint32_t debounce)¶Parameter: |
|
---|---|
Rückgabe: |
|
Setzt die Periode mit welcher die Schwellwert Callbacks
MASTER_CALLBACK_STACK_CURRENT_REACHED
,MASTER_CALLBACK_STACK_VOLTAGE_REACHED
,MASTER_CALLBACK_USB_VOLTAGE_REACHED
ausgelöst werden, wenn die Schwellwerte
master_set_stack_current_callback_threshold()
,master_set_stack_voltage_callback_threshold()
,master_set_usb_voltage_callback_threshold()
weiterhin erreicht bleiben.
Neu in Version 2.0.5 (Firmware).
master_get_debounce_period
(Master *master, uint32_t *ret_debounce)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
Gibt die Entprellperiode zurück, wie von master_set_debounce_period()
gesetzt.
Neu in Version 2.0.5 (Firmware).
Callbacks können registriert werden um zeitkritische oder wiederkehrende Daten
vom Gerät zu erhalten. Die Registrierung kann mit der master_register_callback()
Funktion durchgeführt werden:
void my_callback(int value, void *user_data) { printf("Value: %d\n", value); } master_register_callback(&master, MASTER_CALLBACK_EXAMPLE, (void (*)(void))my_callback, NULL);
Die verfügbaren Konstanten mit den zugehörigen Funktionssignaturen 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.
MASTER_CALLBACK_STACK_CURRENT
¶void callback(uint16_t current, void *user_data)
Callback-Parameter: |
|
---|
Dieser Callback wird mit der Periode, wie gesetzt mit
master_set_stack_current_callback_period()
, ausgelöst. Der Parameter ist
die Stromstärke des Sensors.
Der MASTER_CALLBACK_STACK_CURRENT
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).
MASTER_CALLBACK_STACK_VOLTAGE
¶void callback(uint16_t voltage, void *user_data)
Callback-Parameter: |
|
---|
Dieser Callback wird mit der Periode, wie gesetzt mit
master_set_stack_voltage_callback_period()
, ausgelöst. Der Parameter
ist die Spannung des Sensors.
Der MASTER_CALLBACK_STACK_VOLTAGE
Callback wird nur ausgelöst, wenn sich die Spannung seit
der letzten Auslösung geändert hat.
Neu in Version 2.0.5 (Firmware).
MASTER_CALLBACK_USB_VOLTAGE
¶void callback(uint16_t voltage, void *user_data)
Callback-Parameter: |
|
---|
Dieser Callback wird mit der Periode, wie gesetzt mit
master_set_usb_voltage_callback_period()
, ausgelöst. Der Parameter ist
die USB Spannung.
Der MASTER_CALLBACK_USB_VOLTAGE
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).
MASTER_CALLBACK_STACK_CURRENT_REACHED
¶void callback(uint16_t current, void *user_data)
Callback-Parameter: |
|
---|
Dieser Callback wird ausgelöst, wenn der Schwellwert, wie von
master_set_stack_current_callback_threshold()
gesetzt, erreicht wird.
Der Parameter ist der Stromverbrauch des Stapels.
Wenn der Schwellwert erreicht bleibt, wird der Callback mit der Periode, wie
mit master_set_debounce_period()
gesetzt, ausgelöst.
Neu in Version 2.0.5 (Firmware).
MASTER_CALLBACK_STACK_VOLTAGE_REACHED
¶void callback(uint16_t voltage, void *user_data)
Callback-Parameter: |
|
---|
Dieser Callback wird ausgelöst, wenn der Schwellwert, wie von
master_set_stack_voltage_callback_threshold()
gesetzt, erreicht wird.
Der Parameter ist die Spannung des Stapels.
Wenn der Schwellwert erreicht bleibt, wird der Callback mit der Periode, wie
mit master_set_debounce_period()
gesetzt, ausgelöst.
Neu in Version 2.0.5 (Firmware).
MASTER_CALLBACK_USB_VOLTAGE_REACHED
¶void callback(uint16_t voltage, void *user_data)
Callback-Parameter: |
|
---|
Dieser Callback wird ausgelöst, wenn der Schwellwert, wie von
master_set_usb_voltage_callback_threshold()
gesetzt, erreicht wird.
Der Parameter ist die Spannung des Sensors.
Wenn der Schwellwert erreicht bleibt, wird der Callback mit der Periode, wie
mit master_set_debounce_period()
gesetzt, ausgelöst.
Neu in Version 2.0.5 (Firmware).
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.
master_get_api_version
(Master *master, uint8_t ret_api_version[3])¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
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.
master_get_response_expected
(Master *master, uint8_t function_id, bool *ret_response_expected)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
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 master_set_response_expected()
. 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 function_id:
master_set_response_expected
(Master *master, uint8_t function_id, bool response_expected)¶Parameter: |
|
---|---|
Rückgabe: |
|
Ä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 function_id:
master_set_response_expected_all
(Master *master, bool response_expected)¶Parameter: |
|
---|---|
Rückgabe: |
|
Ändert das Response-Expected-Flag für alle Setter-Funktionen und Konfigurationsfunktionen für Callbacks diese Gerätes.
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.
master_set_bricklet_xmc_flash_config
(Master *master, uint32_t config, uint32_t parameter1, uint32_t parameter2, uint8_t data[52], uint32_t *ret_return_value, uint8_t ret_return_data[60])¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
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).
master_set_bricklet_xmc_flash_data
(Master *master, uint8_t data[64], uint32_t *ret_return_data)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
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).
master_set_bricklets_enabled
(Master *master, bool bricklets_enabled)¶Parameter: |
|
---|---|
Rückgabe: |
|
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).
master_get_bricklets_enabled
(Master *master, bool *ret_bricklets_enabled)¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
Gibt true zurück wenn die Bricklets aktiviert sind und false wenn sie deaktiviert sind.
Neu in Version 2.5.0 (Firmware).
master_get_protocol1_bricklet_name
(Master *master, char port, uint8_t *ret_protocol_version, uint8_t ret_firmware_version[3], char ret_name[40])¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
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.
master_write_bricklet_plugin
(Master *master, char port, uint8_t offset, uint8_t chunk[32])¶Parameter: |
|
---|---|
Rückgabe: |
|
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.
master_read_bricklet_plugin
(Master *master, char port, uint8_t offset, uint8_t ret_chunk[32])¶Parameter: |
|
---|---|
Ausgabeparameter: |
|
Rückgabe: |
|
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.
MASTER_DEVICE_IDENTIFIER
¶Diese Konstante wird verwendet um einen Master Brick zu identifizieren.
Die master_get_identity()
Funktion und der IPCON_CALLBACK_ENUMERATE
Callback der IP Connection haben ein device_identifier
Parameter um den Typ
des Bricks oder Bricklets anzugeben.
MASTER_DEVICE_DISPLAY_NAME
¶Diese Konstante stellt den Anzeigenamen eines Master Brick dar.