using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Assets.Scripts.Devices.Ant.Pages { public class CrankPowerPageHandler : IPageHandler { private readonly TorquePowerDataCalculator _torquePowerDataCalculator = new TorquePowerDataCalculator(); public bool CanHandle(byte pageNumber) { return (int)pageNumber == 18; } public void Handle(byte[] dataPayload, AbstractAntDevice device) { var powerDevice = device as PowerDevice; if (powerDevice == null) return; byte eventCount = dataPayload[1]; int num = (int)dataPayload[3]; ushort period = (ushort)((uint)dataPayload[4] | (uint)dataPayload[5] << 8); ushort accumulatedTorque = (ushort)(dataPayload[6] | (uint)dataPayload[7] << 8); this._torquePowerDataCalculator.Update(eventCount, period, accumulatedTorque); //powerDevice.UpdateCadence(new int?(this._torquePowerDataCalculator.Rpm)); //powerDevice.UpdatePower(new int?(this._torquePowerDataCalculator.Power)); powerDevice.Cadence = this._torquePowerDataCalculator.Rpm; powerDevice.Power = this._torquePowerDataCalculator.Power; } } }