// 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++; }
// 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); }