SHARE
TWEET

Untitled

a guest Sep 22nd, 2019 77 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.                   let options = {
  2.                     filters: [
  3.                       { namePrefix: discoveryNamePrefix }
  4.                     ],
  5.                     acceptAllDevices: false,
  6.                     optionalServices: discoveryOptionalServices
  7.                   }
  8.  
  9.                   navigator.bluetooth.requestDevice(options)
  10.                     .then(device => {
  11.                       bluetoothDevice = device;
  12.                       bluetoothDevice.addEventListener('gattserverdisconnected', onDeviceDisconnected);
  13.                       return bluetoothDevice.gatt.connect()
  14.                     })
  15.                     .then(server => {
  16.                       return server.getPrimaryServices();
  17.                     })
  18.                     .then(services => {
  19.                       let promises = services.map(function(service) {
  20.                         return service.getCharacteristics()
  21.                         .then(characteristics => {
  22.                           characteristics.forEach(characteristic => {
  23.                             if(service.uuid==getCanonicalUUID(serviceDeviceInfoId))
  24.                               serviceDeviceInfoChars.push({ key: characteristic.uuid, value: characteristic });
  25.                             else if(service.uuid==getCanonicalUUID(serviceMonitorId))
  26.                               serviceMonitorChars.push({ key: characteristic.uuid, value: characteristic });
  27.                           });
  28.                         })
  29.                         .then(_ => { return service });
  30.                       });
  31.  
  32.                       return Promise.all(promises);
  33.                     })
  34.                     .then(services => {
  35.                       let charRelease = serviceDeviceInfoChars.find(o => o.key === getCanonicalUUID(0x4));
  36.                       charRelease.value.readValue()
  37.                         .then(value => {
  38.                           console.log(decodeDataViewToString(value))
  39.                         });
  40.                      
  41.                       onDeviceConnected(bluetoothDevice);
  42.                     })
  43.                     .catch(error => {
  44.                       onDeviceFailedToConnect(error);
  45.                     });
  46.                 }
  47.               });
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top