public void SpeedCalculation()
        {
            var sensor = new BikeSpeedCadenceSensor(2096);
            byte [] rxData;

            Assert.AreEqual(2096, sensor.WheelSize);
            Assert.IsNull(sensor.Speed);

            rxData = new byte[] {
                0,
                0, 0, 0, 0, // Cadence data
                0x00, 0x08, // Event time
                0x03, 0x00, // Rev count
            };
            sensor.InterpretReceivedData(rxData);
            Assert.IsNull(sensor.Speed);

            rxData = new byte[] {
                0,
                0, 0, 0, 0, // Cadence data
                0xDB, 0x0B, // Event time
                0x06, 0x00, // Rev count
            };
            sensor.InterpretReceivedData(rxData);
            Assert.AreEqual(23.49, Math.Round((double) sensor.Speed, 2));
        }
        public void CadenceOverflow()
        {
            var sensor = new BikeSpeedCadenceSensor(2096);
            byte [] rxData;

            Assert.IsNull(sensor.Cadence);

            rxData = new byte[] {
                0,
                0xFA, 0xFF, // Event time
                0xFE, 0xFF, // Rev count
                0, 0, 0, 0, // Speed data
            };
            sensor.InterpretReceivedData(rxData);
            Assert.IsNull(sensor.Cadence);

            rxData = new byte[] {
                0,
                0x0F, 0x0B, // Event time
                0x02, 0x00, // Rev count
                0, 0, 0, 0, // Speed data
            };

            sensor.InterpretReceivedData(rxData);
            Assert.AreEqual(86.63, Math.Round((double) sensor.Cadence, 2));
        }
        public void CadenceCalculation()
        {
            var sensor = new BikeSpeedCadenceSensor(2096);
            byte [] rxData;

            Assert.IsNull(sensor.Cadence);

            rxData = new byte[] {
                0,
                0x00, 0x08, // Event time
                0x03, 0x00, // Rev count
                0, 0, 0, 0, // Speed data
            };
            sensor.InterpretReceivedData(rxData);
            Assert.IsNull(sensor.Cadence);

            rxData = new byte[] {
                0,
                0x34, 0x10, // Event time
                0x06, 0x00, // Rev count
                0, 0, 0, 0, // Speed data
            };
            sensor.InterpretReceivedData(rxData);
            Assert.AreEqual(87.77, Math.Round((double) sensor.Cadence, 2));
        }
예제 #4
0
    void Start()
    {
        Device = new BikeSpeedCadenceSensor(2096);
        ANTScript.AddDevice(Device);

        Initialized = true;
    }
예제 #5
0
파일: Main.cs 프로젝트: prograhamer/Truant
        public static void Main(string[] args)
        {
            var connection = AntPlusConnection.GetConnection(0 /* USB device */, 0 /* network no */);

            connection.Connect();

            var hrMonitor = new HeartRateMonitor();
            var speedCadence = new BikeSpeedCadenceSensor(2096);

            connection.AddDevice(hrMonitor);
            connection.AddDevice(speedCadence);

            for(int i = 0; i < 45; i++)
            {
                Thread.Sleep(1000);
                Console.WriteLine("Heart rate: " + hrMonitor.ComputedHeartRate);
                Console.WriteLine("HR device config: " + hrMonitor.Config);
                Console.WriteLine("Instantaneous speed: " + speedCadence.Speed);
                Console.WriteLine ("Instantaneous cadence: " + speedCadence.Cadence);
            }

            connection.Disconnect();
        }
        public void SpeedOverflow()
        {
            var sensor = new BikeSpeedCadenceSensor(2096);
            byte [] rxData;

            Assert.IsNull(sensor.Speed);

            rxData = new byte[] {
                0,
                0, 0, 0, 0, // Cadence data
                0xB9, 0xFF, // Event time
                0xFF, 0xFF, // Rev count
            };
            sensor.InterpretReceivedData(rxData);
            Assert.IsNull(sensor.Speed);

            rxData = new byte[] {
                0,
                0, 0, 0, 0, // Cadence data
                0x8F, 0x04, // Event time
                0x03, 0x00, // Rev count
            };

            sensor.InterpretReceivedData(rxData);
            Assert.AreEqual(24.97, Math.Round((double) sensor.Speed, 2));
        }