示例#1
0
 private void OnServiceSelected(object sender, SelectionChangedEventArgs e)
 {
     if (e.AddedItems.Count > 0)
     {
         selectedService      = (GattDeviceService)((Entity)e.AddedItems[0]).Item;
         enuminator.ListTitle = MicroBits.UUIDToName(selectedService.Uuid) + " Characteristics";
         ShowCharacteristics(selectedService);
     }
 }
示例#2
0
        private void ListServices_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            GattDeviceService service = (GattDeviceService)listServices.SelectedItem;
            var characteristics       = service.GetAllCharacteristics();

            if (characteristics.Count > 0)
            {
                foreach (var characteristic in characteristics)
                {
                    if (MicroBits.UUIDToName(characteristic.Uuid) != null)
                    {
                        listCharacteristic.Items.Add(characteristic);
                    }
                }
                showChracteristicsList();
            }
            else
            {
                Console.WriteLine("No services found");
            }
        }
示例#3
0
        private async void loadServiceList()
        {
            selectedBluetoothLEDevice = await BluetoothLEDevice.FromIdAsync(selectedDeviceInformation.Id);

            var services = selectedBluetoothLEDevice.GattServices;

            if (services.Count > 0)
            {
                foreach (var service in services)
                {
                    if (MicroBits.UUIDToName(service.Uuid) != null)
                    {
                        listServices.Items.Add(service);
                    }
                }
                showServiceList();
            }
            else
            {
                Console.WriteLine("No services found");
            }
        }
示例#4
0
        public void ShowCharacteristics(GattDeviceService service)
        {
            List <Entity> listCharacteristics = new List <Entity>();
            var           characteristics     = bluetoothLE.GetCharacteristics(service);

            if (characteristics != null)
            {
                foreach (var characteristic in characteristics)
                {
                    if (MicroBits.UUIDToName(characteristic.Uuid) != null)
                    {
                        listCharacteristics.Add(new Entity(MicroBits.UUIDToName(characteristic.Uuid), typeof(GattCharacteristic), characteristic));
                    }
                }
                enuminator.listItems.ItemsSource       = listCharacteristics;
                enuminator.listItems.SelectionChanged -= OnServiceSelected;
                enuminator.listItems.SelectionChanged += OnCharacteristicSelected;
            }
            else
            {
                Console.WriteLine("No Services found");
            }
        }
示例#5
0
        public async void ShowServices(DeviceInformation deviceInformation)
        {
            List <Entity> listServices = new List <Entity>();
            var           services     = await bluetoothLE.GetServices(deviceInformation);

            if (services != null)
            {
                foreach (var service in services)
                {
                    if (MicroBits.UUIDToName(service.Uuid) != null)
                    {
                        listServices.Add(new Entity(MicroBits.UUIDToName(service.Uuid), typeof(GattDeviceService), service));
                    }
                }
                enuminator.listItems.ItemsSource = listServices;
                Address = "/i5/micro:bit/" + Index;
                enuminator.listItems.SelectionChanged -= OnDeviceSelected;
                enuminator.listItems.SelectionChanged += OnServiceSelected;
            }
            else
            {
                Console.WriteLine("No Services found");
            }
        }