public static async Task RegisterGattApplication(ServerContext serverContext) { var gattServiceDescription = new GattServiceDescription { UUID = "12345678-1234-5678-1234-56789abcdef0", Primary = true }; var gattCharacteristicDescription = new GattCharacteristicDescription { CharacteristicSource = new ExampleCharacteristicSource(), UUID = "12345678-1234-5678-1234-56789abcdef1", Flags = CharacteristicFlags.Read | CharacteristicFlags.Write | CharacteristicFlags.WritableAuxiliaries }; var gattDescriptorDescription = new GattDescriptorDescription { Value = new[] { (byte)'t' }, UUID = "12345678-1234-5678-1234-56789abcdef2", Flags = new[] { "read", "write" } }; var gab = new GattApplicationBuilder(); gab .AddService(gattServiceDescription) .WithCharacteristic(gattCharacteristicDescription, new[] { gattDescriptorDescription }); await new GattApplicationManager(serverContext).RegisterGattApplication(gab.BuildServiceDescriptions()); }
public static GattCharacteristic1Properties CreateGattCharacteristic(GattCharacteristicDescription characteristic) { var characteristicProperties = new GattCharacteristic1Properties { UUID = characteristic.UUID, Flags = CharacteristicFlagConverter.ConvertFlags(characteristic.Flags) }; return(characteristicProperties); }
public void WithCharacteristic(GattCharacteristicDescription gattCharacteristicDescription, GattDescriptorDescription[] gattDescriptorDescriptions) { foreach (var description in gattDescriptorDescriptions) { gattCharacteristicDescription.AddDescriptor(description); } ServiceDescription.AddCharacteristic(gattCharacteristicDescription); }
private async Task <GattCharacteristic> AddNewCharacteristic(GattService gattService, GattCharacteristicDescription characteristic) { var gattCharacteristic1Properties = GattPropertiesFactory.CreateGattCharacteristic(characteristic); var gattCharacteristic = gattService.AddCharacteristic(gattCharacteristic1Properties, characteristic.CharacteristicSource); await _ServerContext.Connection.RegisterObjectAsync(gattCharacteristic); return(gattCharacteristic); }