// Callback function To receive the binary float series from the Arduino
 void OnReceiveBinaryFloatSeries(ReceivedCommand arguments)
 {
     if (_receivedBinaryCount % 100 == 0)
             Console.WriteLine("Received value: {0}", arguments.ReadBinFloatArg());
     if (_receivedBinaryCount == 0)
     {
         // Received first value, start stopwatch
         _beginTime = Millis;
     }
     else if (_receivedBinaryCount == SeriesLength - 1)
     {
         // Received all values, stop stopwatch
         _endTime = Millis;
         Console.WriteLine("{0} milliseconds per {1} items = is {2} ms/item", _endTime - _beginTime, SeriesLength, (_endTime - _beginTime) / (float)SeriesLength);
         _receiveBinaryFloatSeriesFinished = true;
     }
     _receivedBinaryCount++;
 }
Ejemplo n.º 2
0
        // Callback function that plots a data point for the current temperature, the goal temperature,
        // the heater steer value and the Pulse Width Modulated (PWM) value.
        private void OnPlotDataPoint(ReceivedCommand arguments)
        {
            var time = arguments.ReadBinFloatArg();
            var currTemp = arguments.ReadBinFloatArg();
            var goalTemp = arguments.ReadBinFloatArg();
            var heaterValue = arguments.ReadBinFloatArg();
            var heaterPwm = arguments.ReadBinBoolArg();

            _chartForm.UpdateGraph(time, currTemp, goalTemp, heaterValue, heaterPwm);
        }
        // Callback function To receive the binary float series from the Arduino
        void OnReceiveBinaryFloatSeries(ReceivedCommand arguments)
        {
            _receivedBytesCount += CountBytesInCommand(arguments, false);

            if (_receivedItemsCount % (SeriesLength / 10) == 0)
                    Console.WriteLine("Received value: {0}", arguments.ReadBinFloatArg());
            if (_receivedItemsCount == 0)
            {
                // Received first value, start stopwatch
                _beginTime = Millis;
            }
            else if (_receivedItemsCount == SeriesLength - 1)
            {
                // Received all values, stop stopwatch
                _endTime = Millis;
                var deltaTime = (_endTime - _beginTime);
                Console.WriteLine("{0} milliseconds per {1} items = is {2} ms/item, {3} Hz",
                    deltaTime,
                    SeriesLength,
                    (float)deltaTime / (float)SeriesLength,
                    (float)1000 * SeriesLength / (float)deltaTime
                    );
                Console.WriteLine("{0} milliseconds per {1} bytes = is {2} ms/byte,  {3} bytes/sec, {4} bps",
                    deltaTime,
                    _receivedBytesCount,
                    (float)deltaTime / (float)_receivedBytesCount,
                    (float)1000 * _receivedBytesCount / (float)deltaTime,
                    (float)8 * 1000 * _receivedBytesCount / (float)deltaTime
                    );
                _receiveBinaryFloatSeriesFinished = true;
            }
            _receivedItemsCount++;
        }
        // Callback function that plots a data point for the current temperature, the goal temperature,
        // the heater steer value and the Pulse Width Modulated (PWM) value.
        private void OnPlotDataPoint(ReceivedCommand arguments)
        {   
            // Plot data if we are accepting data
            if (!AcceptData) return;

            // Get all arguments from plot data point command
            var time        = arguments.ReadBinFloatArg();
            time        = (TimeUtils.Millis-_startTime)/1000.0f;
            var currTemp    = arguments.ReadBinFloatArg();
            var goalTemp    = arguments.ReadBinFloatArg();
            var heaterValue = arguments.ReadBinFloatArg();
            var heaterPwm   = arguments.ReadBinBoolArg();

            // Update chart with new data point;
            _chartForm.UpdateGraph(time, currTemp, goalTemp, heaterValue, heaterPwm);
        }