蓝牙调用调整

This commit is contained in:
lishuo committed 2021-06-04 19:23:32 +08:00
1 parent 5671b35dce
commit 17eaccb72e
7 files changed
+111 -43

No files matched your search

@@ -1,5 +1,8 @@
using Assets.Scripts.Devices.Ant;
using Assets.Scripts.Ble;
using Assets.Scripts.Devices;
using Assets.Scripts.Devices.Ant;
using Assets.Scripts.Devices.Ant.Interfaces;
using Assets.Scripts.Devices.Ble;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -11,7 +14,7 @@ namespace Assets.Scenes.Ride.Scripts
{
public void TrackResistance(double grade)
{
var device = (CurrentTrainer as FitDevice);
var device = (CurrentTrainer as ITrainerDevice);
if (device != null)
{
device.SetTrackResistance(grade);
@@ -19,10 +22,10 @@ namespace Assets.Scenes.Ride.Scripts
}
#region 获取设备数据
public AbstractAntDevice CurrentTrainer
public AbstractDevice CurrentTrainer
{
get {
var devices = AntConnector.Instance().discoveredDevices.Where(d => d.State == DeviceState.Connected && (d.Sensor == SensorType.Trainer));
var devices = App.MainDeviceAdapter.GetDevices().Where(d => d.State == DeviceState.Connected && (d.Sensor == SensorType.Trainer));
_device = null;//重置设备状态
if (devices.Count() > 0)
{
@@ -32,9 +35,18 @@ namespace Assets.Scenes.Ride.Scripts
{
(_device as IRequiresRiderWeight).RiderWeight = App.CurrentUser.Weight;
}
ManufacturerId = _device.ManufacturerId;
DeviceNumber = $"{ _device.DeviceNumber },{ _device.DeviceType }";
AntModelId = _device.AntModelId;
if (_device.Network == NetworkType.ANT)
{
var antDevice = _device as AbstractAntDevice;
ManufacturerId = antDevice.ManufacturerId;
AntModelId = antDevice.AntModelId;
DeviceNumber = $"{ antDevice.DeviceNumber },{ antDevice.DeviceType}";
}
else
{
var bleDevice = _device as BleDevice;
DeviceNumber = $"{ Helper.FormateMacAddress(bleDevice.Address) },{ ServiceUuids.GetBySensor(bleDevice.Sensor) }";
}
}
return _device;
@@ -69,7 +81,8 @@ namespace Assets.Scenes.Ride.Scripts
/// </summary>
public double UpdatePower()
{
return PowerDevice == null ? 0 : PowerDevice.Power;
var t = PowerDevice == null ? 0 : PowerDevice.Power;
return t;
}
/// <summary>
/// 更新踏频
@@ -94,10 +107,10 @@ namespace Assets.Scenes.Ride.Scripts
#region field
protected AbstractAntDevice _device;
protected AbstractDevice _device;
protected AntConnector _antConnector;
public int ManufacturerId { get; private set; }
public int? ManufacturerId { get; private set; }
public string DeviceNumber { get; private set; }
public int? AntModelId { get; private set; }
@@ -111,8 +124,8 @@ namespace Assets.Scenes.Ride.Scripts
#endregion
public bool CheckAnt()
{
_antConnector = AntConnector.Instance();
var devices = _antConnector.discoveredDevices.Where(d => d.State == DeviceState.Connected && (d.Sensor == SensorType.Trainer || d.Sensor == SensorType.Power));
//_antConnector = AntConnector.Instance();
var devices = App.MainDeviceAdapter.GetDevices().Where(d => d.State == DeviceState.Connected && (d.Sensor == SensorType.Trainer || d.Sensor == SensorType.Power));
if (devices.Count() > 0)
{
_device = devices.OrderByDescending(d => d.Sensor == SensorType.Trainer).First();
@@ -120,9 +133,19 @@ namespace Assets.Scenes.Ride.Scripts
{
(_device as IRequiresRiderWeight).RiderWeight = App.CurrentUser.Weight;
}
ManufacturerId = _device.ManufacturerId;
DeviceNumber = $"{ _device.DeviceNumber },{ _device.DeviceType }";
AntModelId = _device.AntModelId;
if (_device.Network == NetworkType.ANT)
{
var antDevice = _device as AbstractAntDevice;
ManufacturerId = antDevice.ManufacturerId;
AntModelId = antDevice.AntModelId;
DeviceNumber = $"{ antDevice.DeviceNumber },{ antDevice.DeviceType}";
}
else
{
var bleDevice =_device as BleDevice;
DeviceNumber = $"{ bleDevice.Address },{ bleDevice.Sensor }";
}
}
else
{
@@ -146,11 +169,11 @@ namespace Assets.Scenes.Ride.Scripts
get
{
//速度和踏频一体的传感器,里面的速度是不可以读的,只允许读 踏频,切记
if (_antConnector == null)
{
return null;
}
var device = _antConnector.discoveredDevices.Where(d => d.State == DeviceState.Connected && d is ISpeedDevice).FirstOrDefault();
//if (_antConnector == null)
//{
// return null;
//}
var device = App.MainDeviceAdapter.GetDevices().Where(d => d.State == DeviceState.Connected && d is ISpeedDevice).FirstOrDefault();
if (device != null)
{
return (ISpeedDevice)device;
@@ -165,11 +188,11 @@ namespace Assets.Scenes.Ride.Scripts
{
get
{
if (_antConnector == null)
{
return null;
}
var device = _antConnector.discoveredDevices.Where(d => d.State == DeviceState.Connected && d is IHeartRateDevice).FirstOrDefault();
//if (_antConnector == null)
//{
// return null;
//}
var device = App.MainDeviceAdapter.GetDevices().Where(d => d.State == DeviceState.Connected && d is IHeartRateDevice).FirstOrDefault();
if (device != null)
{
return (IHeartRateDevice)device;
@@ -184,11 +207,11 @@ namespace Assets.Scenes.Ride.Scripts
{
get
{
if (_antConnector == null)
{
return null;
}
var powerDevices = _antConnector.discoveredDevices.Where(d => d.State == DeviceState.Connected && d is IPowerDevice).ToList();
//if (_antConnector == null)
//{
// return null;
//}
var powerDevices = App.MainDeviceAdapter.GetDevices().Where(d => d.State == DeviceState.Connected && d is IPowerDevice).ToList();
var power = powerDevices.FirstOrDefault(d => d.Sensor == SensorType.Power);
if (power != null)
{
@@ -210,11 +233,11 @@ namespace Assets.Scenes.Ride.Scripts
{
get
{
if (_antConnector == null)
{
return null;
}
var cadences = _antConnector.discoveredDevices.Where(d => d.State == DeviceState.Connected && d is ICadenceDevice).ToList();
//if (_antConnector == null)
//{
// return null;
//}
var cadences = App.MainDeviceAdapter.GetDevices().Where(d => d.State == DeviceState.Connected && d is ICadenceDevice).ToList();
var cadence = cadences.FirstOrDefault(d => d.Sensor == SensorType.Cadence);
if (cadence != null)
{