Класс QLowEnergyConnectionParameters
Класс QLowEnergyConnectionParameters используется при запросе или сообщении об обновлении параметров соединения Bluetooth LE. Подробнее...
| Заголовок: | #include <QLowEnergyConnectionParameters> |
| qmake: | QT += bluetooth |
| С момента: | Qt 5.7 |
Открытые функции
| QLowEnergyConnectionParameters(const QLowEnergyConnectionParameters &other) | |
| QLowEnergyConnectionParameters() | |
| QLowEnergyConnectionParameters & | operator=(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) |
Связанные внешние члены
| bool | operator!=(const QLowEnergyConnectionParameters &p1, const QLowEnergyConnectionParameters &p2) |
| bool | operator==(const QLowEnergyConnectionParameters &p1, const QLowEnergyConnectionParameters &p2) |
Подробное описание
Параметры соединения влияют на частоту синхронизации устройства-мастера и устройства-ведомого. В общем случае, меньший интервал соединения и задержка означают более быструю связь, но также и более высокое потребление энергии. Как следует взвешивать эти критерии друг относительно друга, сильно зависит от конкретного случая использования.
Android позволяет изменять этот набор параметров только косвенно. Платформа разделяет параметры соединения на три категории (высокий, низкий и сбалансированный приоритет). Каждая категория подразумевает предопределённый набор значений для minimumInterval(), maximumInterval() и latency(). Кроме того, диапазоны значений каждой категории могут различаться на разных устройствах Android. Qt использует minimumInterval() для определения целевой категории следующим образом:
| minimumInterval() | Приоритет Android |
|---|---|
| интервал < 30 | CONNECTION_PRIORITY_HIGH |
| 30 <= интервал <= 100 | CONNECTION_PRIORITY_BALANCED |
| интервал > 100 | CONNECTION_PRIORITY_LOW_POWER |
Значение supervisionTimeout() на Android изменить нельзя, и поэтому оно игнорируется.
См. также QLowEnergyController::requestConnectionUpdate и QLowEnergyController::connectionUpdated.
Документация по функциям-членам
QLowEnergyConnectionParameters::QLowEnergyConnectionParameters(const QLowEnergyConnectionParameters &other)
Создаёт новый объект этого класса, являющийся копией other.
QLowEnergyConnectionParameters::QLowEnergyConnectionParameters()
Создаёт новый объект этого класса. Все значения инициализированы допустимыми значениями по умолчанию.
QLowEnergyConnectionParameters &QLowEnergyConnectionParameters::operator=(const QLowEnergyConnectionParameters &other)
Преобразует этот объект в копию other и возвращает новое значение этого объекта.
QLowEnergyConnectionParameters::~QLowEnergyConnectionParameters()
Удаляет этот объект.
int QLowEnergyConnectionParameters::latency() const
Возвращает задержку ведомого устройства соединения.
См. также setLatency().
double QLowEnergyConnectionParameters::maximumInterval() const
Возвращает максимальный интервал соединения в миллисекундах. По умолчанию 4000.
Примечание: Если этот объект был послан через QLowEnergyController::connectionUpdated(), то это значение совпадает с minimumInterval() и относится к фактическому интервалу соединения.
См. также setIntervalRange().
double QLowEnergyConnectionParameters::minimumInterval() const
Возвращает минимальный интервал соединения в миллисекундах. По умолчанию 7.5.
Примечание: Если этот объект был послан через QLowEnergyController::connectionUpdated(), то это значение совпадает с maximumInterval() и относится к фактическому интервалу соединения.
См. также setIntervalRange().
void QLowEnergyConnectionParameters::setIntervalRange(double minimum, double maximum)
Устанавливает диапазон, в котором должен находиться интервал соединения. Фактическое значение будет определено контроллером. Оба значения minimum и maximum задаются в миллисекундах. Если maximum меньше minimum, оно будет установлено в значение minimum. Наименьший возможный интервал соединения составляет 7,5 миллисекунд, наибольший — 4000 миллисекунд.
См. также minimumInterval() и maximumInterval().
void QLowEnergyConnectionParameters::setLatency(int latency)
Устанавливает задержку ведомого устройства соединения (то есть, количество событий соединения, которые ведомое устройство может пропустить) на latency. Минимальное значение 0, максимальное 499.
См. также latency().
void QLowEnergyConnectionParameters::setSupervisionTimeout(int timeout)
Устанавливает тайм-аут контроля соединения на timeout миллисекунд. Существует несколько ограничений на это значение: оно должно находиться в диапазоне [100,32000] и должно быть больше (1 + latency()) * 2 * maximumInterval().
В Android этот тайм-аут не настраивается и поэтому игнорируется.
См. также supervisionTimeout().
int QLowEnergyConnectionParameters::supervisionTimeout() const
Возвращает тайм-аут контроля соединения в миллисекундах.
См. также setSupervisionTimeout().
void QLowEnergyConnectionParameters::swap(QLowEnergyConnectionParameters &other)
Меняет местами этот объект с other.
Связанные не члены
bool operator!=(const QLowEnergyConnectionParameters &p1, const QLowEnergyConnectionParameters &p2)
Возвращает true если p1 и p2 не равны по своему общедоступному состоянию, в противном случае возвращает false.
bool operator==(const QLowEnergyConnectionParameters &p1, const QLowEnergyConnectionParameters &p2)
Возвращает true если p1 и p2 равны по своему общедоступному состоянию, в противном случае возвращает false.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qlowenergyconnectionparameters.html