/// <summary> /// Continuously reads RSSI from a connected peripheral /// WARNING: you really don't want to run this with an Android GATT connection /// </summary> /// <param name="peripheral"></param> /// <param name="readInterval"></param> /// <returns></returns> public static IObservable <int> ReadRssiContinuously(this IPeripheral peripheral, TimeSpan?readInterval = null) => Observable .Interval(readInterval ?? TimeSpan.FromSeconds(1)) .Select(_ => peripheral.ReadRssi()) .Switch();