蓝牙调用调整
This commit is contained in:
1 parent
5671b35dce
commit
17eaccb72e
7 files changed
+111
-43
No files matched your search
@@ -600,7 +600,9 @@ public class CyclingController : DeviceServiceMonoBase
|
||||
var list = mapData.List.Select(c => (float)c.Elevation).ToArray();
|
||||
return list;
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
#endregion
|
||||
private void OnApplicationQuit()
|
||||
{
|
||||
App.MainDeviceAdapter.Dispose();
|
||||
}
|
||||
}
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -108,6 +108,28 @@ namespace Assets.Scenes.Ride.Scripts
|
||||
S = s.ToString();
|
||||
return $"{H}:{M}:{S}";
|
||||
}
|
||||
public static string FormateMacAddress(string v)
|
||||
{
|
||||
try
|
||||
{
|
||||
var s = Convert.ToInt64(v).ToString("x8").ToUpperInvariant();
|
||||
var array = s.ToCharArray();
|
||||
StringBuilder newLsit = new StringBuilder();
|
||||
for (int i = array.Length - 1; i >= 0; i--)
|
||||
{
|
||||
newLsit.Append(array[i]);
|
||||
if (i % 2 == 0 && i > 0)
|
||||
{
|
||||
newLsit.Append(":");
|
||||
}
|
||||
}
|
||||
return newLsit.ToString();
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
return v;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 计算速度
|
||||
/// 参考 http://bikecalculator.com/index.html
|
||||
|
||||
@@ -62,7 +62,7 @@ namespace Assets.Scenes.Ride.Scripts.Model
|
||||
/// <summary>
|
||||
/// 厂商Id
|
||||
/// </summary>
|
||||
public int ManufacturerId { get; set; }
|
||||
public int? ManufacturerId { get; set; }
|
||||
|
||||
public int? AntModelId { get; set; }
|
||||
/// <summary>
|
||||
|
||||
@@ -56,12 +56,13 @@ namespace Assets.Scenes.Ride.Scripts
|
||||
bicycleWeight = App.CurrentUser.BicycleWeight;
|
||||
//#if UNITY_EDITOR
|
||||
System.Random rd = new System.Random();
|
||||
power = 1000; //rd.Next(150, 300);//测试功率
|
||||
//power = 1000; //rd.Next(150, 300);//测试功率
|
||||
//#endif
|
||||
mainController.TrackResistance(currentSlope * App.rideSetting.sensitivity / 100);
|
||||
}
|
||||
catch (Exception)
|
||||
catch (Exception ex)
|
||||
{
|
||||
Debug.Log(ex.Message);
|
||||
heartRate = 0;
|
||||
power = 0;
|
||||
cadance = 0;
|
||||
|
||||
Reference in new issue
Block a user