QLowEnergyConnectionParameters Class

Die Klasse QLowEnergyConnectionParameters wird verwendet, wenn eine Aktualisierung der Parameter einer Bluetooth LE Verbindung angefordert oder gemeldet wird. Mehr...

Header: #include <QLowEnergyConnectionParameters>
qmake: QT += bluetooth

Öffentliche Funktionen

QLowEnergyConnectionParameters()
QLowEnergyConnectionParameters(const QLowEnergyConnectionParameters &other)
~QLowEnergyConnectionParameters()
int latency() const
double maximumInterval() const
double minimumInterval() const
void setIntervalRange(double minimum, double maximum)
void setLatency(int latency)
void setSupervisionTimeout(int timeout)
int supervisionTimeout() const
void swap(QLowEnergyConnectionParameters &other)
QLowEnergyConnectionParameters &operator=(const QLowEnergyConnectionParameters &other)
bool operator!=(const QLowEnergyConnectionParameters &p1, const QLowEnergyConnectionParameters &p2)
bool operator==(const QLowEnergyConnectionParameters &p1, const QLowEnergyConnectionParameters &p2)

Detaillierte Beschreibung

Die Verbindungsparameter beeinflussen, wie oft sich ein Master- und ein Slave-Gerät miteinander synchronisieren. Im Allgemeinen bedeutet ein geringeres Verbindungsintervall und eine geringere Latenzzeit eine schnellere Kommunikation, aber auch einen höheren Stromverbrauch. Wie diese Kriterien gegeneinander abgewogen werden sollen, hängt stark vom konkreten Anwendungsfall ab.

Android erlaubt die Anpassung dieses Parametersatzes nur indirekt. Die Plattform unterteilt die Verbindungsparameter in drei Kategorien (hohe, niedrige und ausgewogene Priorität). Jede Kategorie impliziert einen vordefinierten Satz von Werten für minimumInterval(), maximumInterval() und latency(). Zusätzlich können die Wertebereiche jeder Kategorie von einem Android-Gerät zum nächsten variieren. Qt verwendet die minimumInterval(), um die Zielkategorie wie folgt zu bestimmen:

minimumInterval()Android Priorität
Intervall < 30VERBINDUNG_PRIORITÄT_HOCH
30 <= Intervall <= 100VERBINDUNGS_PRIORITÄT_AUSGEGLICHEN
Intervall > 100VERBINDUNGS_PRIORITÄT_NIEDRIGE_LEISTUNG

Die Angabe supervisionTimeout() kann unter Android nicht geändert werden und wird daher ignoriert.

Siehe auch QLowEnergyController::requestConnectionUpdate und QLowEnergyController::connectionUpdated.

Dokumentation der Mitgliedsfunktionen

QLowEnergyConnectionParameters::QLowEnergyConnectionParameters()

Konstruiert ein neues Objekt dieser Klasse. Alle Werte werden auf gültige Standardwerte initialisiert.

QLowEnergyConnectionParameters::QLowEnergyConnectionParameters(const QLowEnergyConnectionParameters &other)

Konstruiert ein neues Objekt dieser Klasse, das eine Kopie von other ist.

[noexcept] QLowEnergyConnectionParameters::~QLowEnergyConnectionParameters()

Zerstört dieses Objekt.

int QLowEnergyConnectionParameters::latency() const

Gibt die Slave-Latenzzeit der Verbindung zurück.

Siehe auch setLatency().

double QLowEnergyConnectionParameters::maximumInterval() const

Gibt das maximale Verbindungsintervall in Millisekunden zurück. Der Standardwert ist 4000.

Hinweis: Wenn dieses Objekt über QLowEnergyController::connectionUpdated() gesendet wurde, ist dieser Wert derselbe wie minimumInterval() und bezieht sich auf das tatsächliche Verbindungsintervall.

Siehe auch setIntervalRange().

double QLowEnergyConnectionParameters::minimumInterval() const

Gibt das minimale Verbindungsintervall in Millisekunden zurück. Der Standardwert ist 7,5.

Hinweis: Wenn dieses Objekt über QLowEnergyController::connectionUpdated() ausgegeben wurde, ist dieser Wert derselbe wie maximumInterval() und bezieht sich auf das tatsächliche Verbindungsintervall.

Siehe auch setIntervalRange().

void QLowEnergyConnectionParameters::setIntervalRange(double minimum, double maximum)

Legt den Bereich fest, in dem das Verbindungsintervall liegen soll. Der tatsächliche Wert wird von der Steuerung festgelegt. Sowohl minimum als auch maximum werden in Millisekunden angegeben. Wenn maximum kleiner als minimum ist, wird es auf den Wert von minimum gesetzt. Das kleinste mögliche Verbindungsintervall beträgt 7,5 Millisekunden, das größte 4000 Millisekunden.

Siehe auch minimumInterval() und maximumInterval().

void QLowEnergyConnectionParameters::setLatency(int latency)

Setzt die Slave-Latenzzeit der Verbindung (d. h. die Anzahl der Verbindungsereignisse, die ein Slave-Gerät ignorieren darf) auf latency. Der Mindestwert ist 0, der Höchstwert 499.

Siehe auch latency().

void QLowEnergyConnectionParameters::setSupervisionTimeout(int timeout)

Setzt den Timeout für die Verbindungsüberwachung auf timeout Millisekunden. Für diesen Wert gibt es mehrere Einschränkungen: Er muss im Bereich [100,32000] liegen und er muss größer sein als (1 + latency()) * 2 * maximumInterval().

Unter Android ist diese Zeitüberschreitung nicht einstellbar und wird daher ignoriert.

Siehe auch supervisionTimeout().

int QLowEnergyConnectionParameters::supervisionTimeout() const

Gibt die Zeitüberschreitung der Verbindungsüberwachung der Verbindung in Millisekunden zurück.

Siehe auch setSupervisionTimeout().

[noexcept] void QLowEnergyConnectionParameters::swap(QLowEnergyConnectionParameters &other)

Tauscht dieses Objekt mit other aus.

QLowEnergyConnectionParameters &QLowEnergyConnectionParameters::operator=(const QLowEnergyConnectionParameters &other)

Macht dieses Objekt zu einer Kopie von other und gibt den neuen Wert dieses Objekts zurück.

Verwandte Nicht-Mitglieder

bool operator!=(const QLowEnergyConnectionParameters &p1, const QLowEnergyConnectionParameters &p2)

Gibt true zurück, wenn p1 und p2 in Bezug auf ihren öffentlichen Zustand nicht gleich sind, andernfalls false.

bool operator==(const QLowEnergyConnectionParameters &p1, const QLowEnergyConnectionParameters &p2)

Gibt true zurück, wenn p1 und p2 in Bezug auf ihren öffentlichen Zustand gleich sind, andernfalls false.

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.