public async Task OpenComms() { var infoService = await _device.GetService(AxLEUuid.DeviceInformationServiceUuid); var hardwareCharac = await infoService.GetCharacteristic(AxLEUuid.HardwareCharacUuid); var firmwareCharac = await infoService.GetCharacteristic(AxLEUuid.FirmwareCharacUuid); var hardware = Encoding.UTF8.GetString(await hardwareCharac.Read()); var firmware = Encoding.UTF8.GetString(await firmwareCharac.Read()); HardwareVersion = double.Parse(hardware); FirmwareVersion = double.Parse(firmware); var uartService = await _device.GetService(AxLEUuid.UartServiceUuid); RxCharac = await uartService.GetCharacteristic(AxLEUuid.UartRxCharacUuid); TxCharac = await uartService.GetCharacteristic(AxLEUuid.UartTxCharacUuid); RxCharac.ValueUpdated += RxUartData; await RxCharac.RegisterForNotifications(); Ready = true; }
public void Dispose() { RxCharac.ValueUpdated -= RxUartData; RxCharac.UnregisterForUpdates(); _rxTimer.Stop(); _rxTimer.Dispose(); }