public async Task <IBandClient> ConnectToFirstBand()
        {
            // Get a list of the available bands in the form of IBandInfo[] then take the first one from the list.
            // We could also present the list to the user to choose a band.
            IBandInfo[] bands = await bandClientManager.GetBandsAsync();

            if (bands == null || bands.Length == 0)
            {
                return(null);
            }

            IBandInfo band = bands[0];

            return(await bandClientManager.ConnectAsync(band));
        }
示例#2
0
        private async Task SetupBandAsync()
        {
            // Use the fake band client manager
            IBandClientManager clientManager = GetBandClientManager();

            // --------------------------------------------------
            // set up Band SDK code to start reading HR values..
            var bands = await clientManager.GetBandsAsync();

            _bandInfo = bands.First();

            _bandClient = await clientManager.ConnectAsync(_bandInfo);

            await SetupSensorReadingAsync(_bandClient.SensorManager.HeartRate, async (obj, ev) =>
            {
                _hrArgs.Args = ev.SensorReading;
                var payload  = JsonConvert.SerializeObject(_hrArgs);
                using (var releaser = await _lockObj.LockAsync())
                {
                    await _socketWriter.WriteAsync(payload);
                }
            });

            await SetupSensorReadingAsync(_bandClient.SensorManager.Gyroscope, async (obj, ev) =>
            {
                _gyroArgs.Args = ev.SensorReading;
                var payload    = JsonConvert.SerializeObject(_gyroArgs);
                using (var releaser = await _lockObj.LockAsync())
                {
                    await _socketWriter.WriteAsync(payload);
                }
            });

            await SetupSensorReadingAsync(_bandClient.SensorManager.Accelerometer, async (obj, ev) =>
            {
                _accArgs.Args = ev.SensorReading;
                var payload   = JsonConvert.SerializeObject(_accArgs);
                using (var releaser = await _lockObj.LockAsync())
                {
                    await _socketWriter.WriteAsync(payload);
                }
            });
        }