1D801Desktop/bluetooth1d801.h

77 lines
3.4 KiB
C
Raw Normal View History

2024-02-01 14:27:06 +03:00
#ifndef BLUETOOTH1D801_H
#define BLUETOOTH1D801_H
#include <QObject>
#include <QListWidget>
#include <QDebug>
#include <QBluetoothDeviceDiscoveryAgent>
#include <QBluetoothServiceDiscoveryAgent>
#include <QBluetoothDeviceInfo>
#include <QBluetoothSocket>
#include <QBluetoothLocalDevice>
2024-02-05 10:21:28 +03:00
#include <QtCore/qmetaobject.h>
#include <QLatin1StringView>
2024-02-01 14:27:06 +03:00
2024-02-05 10:21:28 +03:00
///прописать статус
/// перечисление статусов
/// сигнал статусИзменен
2024-02-01 14:27:06 +03:00
class Bluetooth1d801 : public QObject
{
Q_OBJECT
public:
explicit Bluetooth1d801(QObject *parent = nullptr); // туду сюда вкорячить из конструктора мэйна
~Bluetooth1d801(); // туду сделать деструктор. Мы же не быдлокодеры!!!
public slots:
void startDiscovery(); //запускаем bluetooth поиск
void stopDiscovery(); //прерываем его
2024-02-05 10:21:28 +03:00
void connectTo(QListWidgetItem *item); // подключится к сервису
2024-02-01 14:27:06 +03:00
//команды для модуля в первородном виде
void GetParam(); //получить параметры измерения
void SetParam(); // запись параметров измерения
void GetMeas(); //Чтение измеренных значений
void GetWave(); //Чтение временного сигнала виброускорения /виброскорости /виброперемещения
void GetSpectrum();//Чтение спектра виброускорения /виброскорости /виброперемещения
void GetStatus();//Cтатус прибора
void SetTime();//Синхронизация часов
void GetSpectrumEnv(); //Чтение спектра огибающей виброускорения
void GetWaveEnv();//Чтение сигнала огибающей виброускорения
private slots:
void serviceDiscovered(const QBluetoothServiceInfo &serviceInfo); //отрабатываю сигнал обнаруженного сервиса
void readSocket(); //отработка сигнала прибывших данных
void connected(); // отработка подключения
void onSocketErrorOccurred(QBluetoothSocket::SocketError error);//отработка ошибки
2024-02-05 10:21:28 +03:00
void discoveryFinished();
2024-02-01 14:27:06 +03:00
signals:
2024-02-05 10:21:28 +03:00
void discoveryResult(QListWidgetItem *res_p); //возвращаем обнаруженные сервисы
//void MainWindow::addDiscoveryResult(QListWidgetItem *res_p)
//ui->listWidgetDevice->addItem(res_p);
2024-02-01 14:27:06 +03:00
void rawDataRecived(QByteArray); // прилетели какие то данные!
2024-02-05 10:21:28 +03:00
void disconnected(); // отключилось устройство
void socketErrorOccurred(const QString &errorString);
void connected(const QString &name); // отработка подключения
2024-02-01 14:27:06 +03:00
private:
QBluetoothSocket *socket = nullptr; // объект сокета для порта
QBluetoothLocalDevice localDevice; // обьект локального устройства
QString localDeviceName; // имя свистка
QMap<QListWidgetItem *, QBluetoothServiceInfo> discoveredServices; // обнаруженные сервисы
QBluetoothServiceDiscoveryAgent *discoveryAgent;
};
#endif // BLUETOOTH1D801_H