「Qtの基礎 - Bluetooth Low Energy」の版間の差分

ナビゲーションに移動 検索に移動
627行目: 627行目:
       // タイムアウトタイマの初期化
       // タイムアウトタイマの初期化
       discoveryTimeout = std::make_unique<QTimer>(this);
       discoveryTimeout = std::make_unique<QTimer>(this);
       discoveryTimeout->setInterval(10000);  // 10秒のタイムアウト
       discoveryTimeout.setInterval(10000);  // 10秒のタイムアウト
       discoveryTimeout->setSingleShot(true);
       discoveryTimeout.setSingleShot(true);
   
   
       connect(discoveryTimeout.get(), &QTimer::timeout, this, &BLEServiceDiscovery::onDiscoveryTimeout);
       connect(discoveryTimeout.get(), &QTimer::timeout, this, &BLEServiceDiscovery::onDiscoveryTimeout);
645行目: 645行目:
   
   
           // 接続開始
           // 接続開始
           controller->connectToDevice();
           controller.connectToDevice();
           discoveryTimeout->start();
           discoveryTimeout.start();
       }
       }
       catch (const std::exception &e) {
       catch (const std::exception &e) {
660行目: 660行目:
       try {
       try {
           if (controller) {
           if (controller) {
             controller->disconnectFromDevice();
             controller.disconnectFromDevice();
             discoveryTimeout->stop();
             discoveryTimeout.stop();
           }
           }
       }
       }
682行目: 682行目:
     {
     {
       qDebug() << "デバイスに接続";
       qDebug() << "デバイスに接続";
       discoveryTimeout->stop();
       discoveryTimeout.stop();
   
   
       // サービス探索の開始
       // サービス探索の開始
       controller->discoverServices();
       controller.discoverServices();
     }
     }
   
   
692行目: 692行目:
     {
     {
       qDebug() << "デバイスから切断";
       qDebug() << "デバイスから切断";
       discoveryTimeout->stop();
       discoveryTimeout.stop();
     }
     }
   
   
701行目: 701行目:
   
   
       // サービスオブジェクトの作成
       // サービスオブジェクトの作成
       QLowEnergyService* service = controller->createServiceObject(uuid, this);
       QLowEnergyService* service = controller.createServiceObject(uuid, this);
       if (service) {
       if (service) {
           connectServiceSignals(service);
           connectServiceSignals(service);
712行目: 712行目:
     {
     {
       qDebug() << "サービス探索が完了";
       qDebug() << "サービス探索が完了";
       discoveryTimeout->stop();
       discoveryTimeout.stop();
       emit discoveryComplete();
       emit discoveryComplete();
     }
     }

案内メニュー