Dokit
Native Qt library for Pokit devices
|
The StatusService class accesses the Pokit Status
service of Pokit devices.
More...
Classes | |
struct | CharacteristicUuids |
Characteristics available via the Pokit Status service. More... | |
struct | DeviceCharacteristics |
Attributes included in the Device Characteristics characterstic. More... | |
struct | ServiceUuids |
UUIDs of the "Pokit Status" service. More... | |
struct | Status |
Attributes included in the Status characterstic. More... | |
Public Types | |
enum class | DeviceStatus : quint8 { Idle = 0 , MultimeterDcVoltage = 1 , MultimeterAcVoltage = 2 , MultimeterDcCurrent = 3 , MultimeterAcCurrent = 4 , MultimeterResistance = 5 , MultimeterDiode = 6 , MultimeterContinuity = 7 , MultimeterTemperature = 8 , DsoModeSampling = 9 , LoggerModeSampling = 10 } |
Values supported by the Status attribute of the Status characteristic. More... | |
enum class | BatteryStatus : quint8 { Low = 0 , Good = 1 } |
Values supported by the Battery Status attribute of the Status characteristic. More... | |
Signals | |
void | deviceCharacteristicsRead (const StatusService::DeviceCharacteristics &characteristics) |
This signal is emitted when the Device Characteristics characteristic has been read successfully. | |
void | deviceNameRead (const QString &deviceName) |
This signal is emitted when the Device Name characteristic has been read successfully. | |
void | deviceNameWritten () |
This signal is emitted when the Device Name characteristic has been written successfully. | |
void | deviceStatusRead (const StatusService::Status &status) |
This signal is emitted when the Status characteristic has been read successfully. | |
void | deviceLedFlashed () |
This signal is emitted when device's LED has flashed in response to a write of the Flash LED characteristic. | |
Signals inherited from AbstractPokitService | |
void | serviceDetailsDiscovered () |
This signal is emitted when the Pokit service details have been discovered. | |
void | serviceErrorOccurred (QLowEnergyService::ServiceError newError) |
This signal is emitted whenever an error occurs on the underlying QLowEnergyService. | |
Public Member Functions | |
StatusService (QLowEnergyController *const pokitDevice, QObject *parent=nullptr) | |
Constructs a new Pokit service with parent. | |
~StatusService () override | |
Destroys this StatusService object. | |
bool | readCharacteristics () override |
Read all characteristics. | |
bool | readDeviceCharacteristics () |
Read the Status service's Device Characteristics characteristic. | |
bool | readStatusCharacteristic () |
Read the Status service's Status characteristic. | |
bool | readNameCharacteristic () |
Read the Status service's Name characteristic. | |
DeviceCharacteristics | deviceCharacteristics () const |
Returns the most recent value of the Status service's Device Characteristics characteristic. | |
Status | status () const |
Returns the most recent value of the Status service's Status characteristic. | |
QString | deviceName () const |
Returns the most recent value of the Status services's Device Name characteristic. | |
bool | setDeviceName (const QString &name) |
Set's the Pokit device's name to name. | |
bool | flashLed () |
Flash the Pokit device's LED. | |
Public Member Functions inherited from AbstractPokitService | |
virtual | ~AbstractPokitService () |
Destroys this AbstractPokitService object. | |
virtual bool | readCharacteristics ()=0 |
Read all characteristics. | |
bool | autoDiscover () const |
Returns true if autodiscovery of services and service details is enabled, false otherwise. | |
void | setAutoDiscover (const bool discover=true) |
If discover is true , autodiscovery will be attempted. | |
QLowEnergyService * | service () |
Returns a non-const pointer to the internal service object, if any. | |
const QLowEnergyService * | service () const |
Returns a const pointer to the internal service object, if any. | |
Public Member Functions inherited from QObject | |
virtual const QMetaObject * | metaObject () const const |
QObject (QObject *parent) | |
virtual bool | event (QEvent *e) |
virtual bool | eventFilter (QObject *watched, QEvent *event) |
QString | objectName () const const |
void | setObjectName (const QString &name) |
bool | isWidgetType () const const |
bool | isWindowType () const const |
bool | signalsBlocked () const const |
bool | blockSignals (bool block) |
QThread * | thread () const const |
void | moveToThread (QThread *targetThread) |
int | startTimer (int interval, Qt::TimerType timerType) |
int | startTimer (std::chrono::milliseconds time, Qt::TimerType timerType) |
void | killTimer (int id) |
T | findChild (const QString &name, Qt::FindChildOptions options) const const |
QList< T > | findChildren (const QString &name, Qt::FindChildOptions options) const const |
QList< T > | findChildren (const QRegExp ®Exp, Qt::FindChildOptions options) const const |
QList< T > | findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const |
const QObjectList & | children () const const |
void | setParent (QObject *parent) |
void | installEventFilter (QObject *filterObj) |
void | removeEventFilter (QObject *obj) |
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const |
bool | disconnect (const char *signal, const QObject *receiver, const char *method) const const |
bool | disconnect (const QObject *receiver, const char *method) const const |
void | dumpObjectTree () |
void | dumpObjectInfo () |
void | dumpObjectTree () const const |
void | dumpObjectInfo () const const |
bool | setProperty (const char *name, const QVariant &value) |
QVariant | property (const char *name) const const |
QList< QByteArray > | dynamicPropertyNames () const const |
void | destroyed (QObject *obj) |
void | objectNameChanged (const QString &objectName) |
QObject * | parent () const const |
bool | inherits (const char *className) const const |
void | deleteLater () |
Q_DISABLE_COPY (Class) | |
Q_DISABLE_MOVE (Class) | |
Q_DISABLE_COPY_MOVE (Class) | |
T | qobject_cast (QObject *object) |
T | qobject_cast (const QObject *object) |
T | qFindChild (const QObject *obj, const QString &name) |
QList< T > | qFindChildren (const QObject *obj, const QString &name) |
QList< T > | qFindChildren (const QObject *obj, const QRegExp ®Exp) |
Q_CLASSINFO (Name, Value) | |
Q_INTERFACES (...) | |
Q_PROPERTY (...) | |
Q_ENUMS (...) | |
Q_FLAGS (...) | |
Q_ENUM (...) | |
Q_FLAG (...) | |
Q_ENUM_NS (...) | |
Q_FLAG_NS (...) | |
Q_OBJECT Q_OBJECT | |
Q_GADGET Q_GADGET | |
Q_NAMESPACE Q_NAMESPACE | |
Q_NAMESPACE_EXPORT (EXPORT_MACRO) | |
Q_SIGNALS Q_SIGNALS | |
Q_SIGNAL Q_SIGNAL | |
Q_SLOTS Q_SLOTS | |
Q_SLOT Q_SLOT | |
Q_EMIT Q_EMIT | |
Q_INVOKABLE Q_INVOKABLE | |
Q_REVISION Q_REVISION | |
Q_SET_OBJECT_NAME (Object) | |
QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT | |
Static Public Member Functions | |
static QString | toString (const StatusService::DeviceStatus &status) |
Returns a string version of the status enum label. | |
static QString | toString (const StatusService::BatteryStatus &label) |
Returns a string version of the status enum label. | |
Static Public Member Functions inherited from QObject | |
QString | tr (const char *sourceText, const char *disambiguation, int n) |
QString | trUtf8 (const char *sourceText, const char *disambiguation, int n) |
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type) |
QMetaObject::Connection | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type) |
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type) |
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, Functor functor) |
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type) |
bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method) |
bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method) |
bool | disconnect (const QMetaObject::Connection &connection) |
bool | disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method) |
Friends | |
class | TestStatusService |
Additional Inherited Members | |
Public Attributes inherited from QObject | |
typedef | QObjectList |
Protected Member Functions inherited from QObject | |
QObject * | sender () const const |
int | senderSignalIndex () const const |
int | receivers (const char *signal) const const |
bool | isSignalConnected (const QMetaMethod &signal) const const |
virtual void | timerEvent (QTimerEvent *event) |
virtual void | childEvent (QChildEvent *event) |
virtual void | customEvent (QEvent *event) |
virtual void | connectNotify (const QMetaMethod &signal) |
virtual void | disconnectNotify (const QMetaMethod &signal) |
Properties inherited from QObject | |
objectName | |
The StatusService class accesses the Pokit Status
service of Pokit devices.
|
strong |
|
strong |
Values supported by the Status
attribute of the Status
characteristic.
StatusService::DeviceCharacteristics StatusService::deviceCharacteristics | ( | ) | const |
Returns the most recent value of the Status
service's Device Characteristics
characteristic.
The returned value, if any, is from the underlying Bluetooth stack's cache. If no such value is currently available (ie the serviceDetailsDiscovered signal has not been emitted yet), then a null result is returned, which can be checked via the returned DeviceCharacteristics::firmwareVersion, like:
|
signal |
This signal is emitted when the Device Characteristics
characteristic has been read successfully.
QString StatusService::deviceName | ( | ) | const |
Returns the most recent value of the Status
services's Device Name
characteristic.
The returned value, if any, is from the underlying Bluetooth stack's cache. If no such value is currently available (ie the serviceDetailsDiscovered signal has not been emitted yet), then a null QString is returned.
|
signal |
This signal is emitted when the Device Name
characteristic has been read successfully.
|
signal |
This signal is emitted when the Device Name
characteristic has been written successfully.
|
signal |
This signal is emitted when the Status
characteristic has been read successfully.
bool StatusService::flashLed | ( | ) |
Flash the Pokit device's LED.
Returns true
if the flash request was successfully queued, false
otherwise.
Emits deviceLedFlashed() if/when the LED has flashed successfully.
0x80
.
|
overridevirtual |
Read all characteristics.
This convenience function will queue refresh requests of all characteristics supported by this service.
Relevant *Service::*Read
signals will be emitted by derived class objects as each characteristic is successfully read.
Implements AbstractPokitService.
bool StatusService::readDeviceCharacteristics | ( | ) |
Read the Status
service's Device Characteristics
characteristic.
Returns true
is the read request is succesfully queued, false
otherwise (ie if the underlying controller it not yet connected to the Pokit device, or the device's services have not yet been discovered).
Emits deviceCharacteristicsRead() if/when the characteristic has been read successfully.
bool StatusService::readNameCharacteristic | ( | ) |
Read the Status
service's Name
characteristic.
Returns true
is the read request is succesfully queued, false
otherwise (ie if the underlying controller it not yet connected to the Pokit device, or the device's services have not yet been discovered).
Emits deviceNameRead() if/when the characteristic has been read successfully.
bool StatusService::readStatusCharacteristic | ( | ) |
Read the Status
service's Status
characteristic.
Returns true
is the read request is succesfully queued, false
otherwise (ie if the underlying controller it not yet connected to the Pokit device, or the device's services have not yet been discovered).
Emits deviceStatusRead() if/when the characteristic has been read successfully.
bool StatusService::setDeviceName | ( | const QString & | name | ) |
Set's the Pokit device's name to name.
Returns true
if the write request was successfully queued, false
otherwise.
Emits deviceNameWritten() if/when the name has been set.
StatusService::Status StatusService::status | ( | ) | const |
Returns the most recent value of the Status
service's Status
characteristic.
The returned value, if any, is from the underlying Bluetooth stack's cache. If no such value is currently available (ie the serviceDetailsDiscovered signal has not been emitted yet), then the returned StatusService::Status::batteryLevel member will be a quiet NaN, which can be checked like: