Ejemplo n.º 1
0
 private void NotConnected()
 {
     _pebble = null;
     PebbleName.Text = "Not connected";
     PebbleVersion.Text = string.Empty;
     RetryConnection.Visibility = Visibility.Visible;
 }
Ejemplo n.º 2
0
 private void NotConnected()
 {
     _pebble                    = null;
     PebbleName.Text            = "Not connected";
     PebbleVersion.Text         = string.Empty;
     RetryConnection.Visibility = Visibility.Visible;
 }
Ejemplo n.º 3
0
        private async Task TryConnection()
        {
            P3bble.IsMusicControlEnabled = true;
            P3bble.IsLoggingEnabled      = true;

            List <P3bble> pebbles = await P3bble.DetectPebbles();

            if (pebbles.Count >= 1)
            {
                _pebble = pebbles[0];
                await _pebble.ConnectAsync();

                if (_pebble != null && _pebble.IsConnected)
                {
                    _pebble.MusicControlReceived += new MusicControlReceivedHandler(this.MusicControlReceived);
                    _pebble.InstallProgress      += new InstallProgressHandler(this.InstallProgressReceived);

                    PebbleName.Text            = "Connected to Pebble " + _pebble.DisplayName;
                    PebbleVersion.Text         = "Version " + _pebble.FirmwareVersion.Version + " - " + _pebble.FirmwareVersion.Timestamp.ToString();
                    RetryConnection.Visibility = Visibility.Collapsed;
                }
                else
                {
                    NotConnected();
                }
            }
        }
Ejemplo n.º 4
0
        private async Task TryConnection()
        {
            List<P3bble.P3bble> pebbles = await P3bble.P3bble.DetectPebbles();

            if (pebbles.Count >= 1)
            {
                _pebble = pebbles[0];
                await _pebble.ConnectAsync();

                if (_pebble != null && _pebble.IsConnected)
                {
                    //_pebble.MusicControlReceived += new MusicControlReceivedHandler(this.MusicControlReceived);
                    _pebble.InstallProgress += new InstallProgressHandler(this.InstallProgressReceived);

                    PebbleName.Text = "Connected to Pebble " + _pebble.DisplayName;
                    PebbleVersion.Text = "Version " + _pebble.FirmwareVersion.Version + " - " + _pebble.FirmwareVersion.Timestamp.ToString();
                    RetryConnection.Visibility = Visibility.Collapsed;
                }
                else
                {
                    NotConnected();
                }
            }
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Connect to the pebble time watch
        /// </summary>
        /// <returns></returns>
        public async Task <int> Connect(int Token)
        {
            LastError = "";
            if (Token != -1 && _connections.Contains(Token) && IsConnected)
            {
                return(Token);
            }

            int newToken = CreateConnectionToken();

            try
            {
                if (!IsConnected)
                {
                    //await RegisterBackgroundBluetoothTask();

                    //return false;
                    P3bble.P3bble.IsMusicControlEnabled = true;
#if DEBUG
                    P3bble.P3bble.IsLoggingEnabled = true;
#else
                    P3bble.P3bble.IsLoggingEnabled = false;
#endif
                    PebbleDevice _AssociatedDevice = PebbleDevice.LoadAssociatedDevice();
                    if (_AssociatedDevice != null)
                    {
                        var _device = await BluetoothDevice.FromIdAsync(_AssociatedDevice.ServiceId);

                        _pebble            = new P3bble.P3bble(_device);
                        _pebble.WatchItems = this.WatchItems;
                        bool Result = await _pebble.ConnectAsync();

                        if (Result)
                        {
                            LastConnectedDevice = _AssociatedDevice;

                            await _pebble.WatchItems.Load();

                            return(newToken);
                        }

                        LastError = "Connect to Pebble Time failed; is it already connected?";
                        if (_pebble.LastError.Length > 0)
                        {
                            LastError        += " Error: ";
                            LastError        += _pebble.LastError;
                            _pebble.LastError = "";
                        }
                        // _pebble._protocol.StartRun();
                    }
                    else
                    {
                        //No Pebble associated
                        LastError = "No Pebble device associated.";
                    }
                }
                else
                {
                    return(newToken);
                }
            }
            catch (Exception exp)
            {
                LastError = "Exception: " + exp.Message;
            }

            ReleaseConnectionToken(newToken);

            return(-1);
        }