The QLowEnergyConnectionParameters class is used when requesting or reporting an update of the parameters of a Bluetooth LE connection. More...
Header: | #include <QLowEnergyConnectionParameters> |
qmake: | QT += bluetooth |
Since: | Qt 5.7 |
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) |
The QLowEnergyConnectionParameters class is used when requesting or reporting an update of the parameters of a Bluetooth LE connection.
The connection parameters influence how often a master and a slave device synchronize with each other. In general, a lower connection interval and latency means faster communication, but also higher power consumption. How these criteria should be weighed against each other is highly dependent on the concrete use case.
Android only indirectly permits the adjustment of this parameter set. The platform separates the connection parameters into three categories (hight, low & balanced priority). Each category implies a predefined set of values for minimumInterval(), maximumInterval() and latency(). Additionally, the value ranges of each category can vary from one Android device to the next. Qt uses the minimumInterval() to determine the target category as follows:
minimumInterval() | Android priority |
---|---|
interval < 30 | CONNECTION_PRIORITY_HIGH |
30 <= interval <= 100 | CONNECTION_PRIORITY_BALANCED |
interval > 100 | CONNECTION_PRIORITY_LOW_POWER |
The supervisionTimeout() cannot be changed on Android and is therefore ignored.
See also QLowEnergyController::requestConnectionUpdate and QLowEnergyController::connectionUpdated.
Constructs a new object of this class. All values are initialized to valid defaults.
Constructs a new object of this class that is a copy of other.
Destroys this object.
Returns the slave latency of the connection.
See also setLatency().
Returns the maximum connection interval in milliseconds. The default is 4000.
Note: If this object was emitted via QLowEnergyController::connectionUpdated(), then this value is the same as minimumInterval() and refers to the actual connection interval.
See also setIntervalRange().
Returns the minimum connection interval in milliseconds. The default is 7.5.
Note: If this object was emitted via QLowEnergyController::connectionUpdated(), then this value is the same as maximumInterval() and refers to the actual connection interval.
See also setIntervalRange().
Sets the range in which the connection interval should be. The actual value will be decided by the controller. Both minimum and maximum are given in milliseconds. If maximum is smaller than minimum, it will be set to the value of minimum. The smallest possible connection interval is 7.5 milliseconds, the largest one is 4000 milliseconds.
See also minimumInterval() and maximumInterval().
Sets the slave latency of the connection (that is, the number of connection events that a slave device is allowed to ignore) to latency. The minimum value is 0, the maximum is 499.
See also latency().
Sets the link supervision timeout to timeout milliseconds. There are several constraints on this value: It must be in the range [100,32000] and it must be larger than (1 + latency()) * 2 * maximumInterval().
On Android, this timeout is not adjustable and therefore ignored.
See also supervisionTimeout().
Returns the link supervision timeout of the connection in milliseconds.
See also setSupervisionTimeout().
Swaps this object with other.
Makes this object a copy of other and returns the new value of this object.