machines/firmware/legacy/arduino-libraries/Arduino-CmdMessenger/extras/CSharp/ArduinoController/ControllerForm.cs

73 lines
2.3 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace ArduinoController
{
public partial class ControllerForm : Form
{
private readonly ArduinoController _arduinoController;
private double _ledFrequency;
public ControllerForm()
{
InitializeComponent();
_arduinoController = new ArduinoController();
_arduinoController.Setup(this);
}
// Update arduinoController on value checkbox checked/unchecked
private void EnableLedCheckBoxCheckedChanged(object sender, EventArgs e)
{
_arduinoController.SetLedState(EnableLedCheckBox.Checked);
}
// Update value label and arduinoController on value changed using slider
private void LedFrequencyTrackBarScroll(object sender, EventArgs e)
{
_ledFrequency = 0.4 + ((double)LedFrequencyLabelTrackBar.Value) / 25.0;
LedFrequencyValue.Text = _ledFrequency.ToString(CultureInfo.InvariantCulture);
_arduinoController.SetLedFrequency(_ledFrequency);
}
// Set ledState checkbox
public void SetLedState(bool ledState)
{
EnableLedCheckBox.Checked = ledState;
}
// Set frequency slider
public void SetFrequency(double ledFrequency)
{
LedFrequencyLabelTrackBar.Value = (int) ((ledFrequency - 0.4)*2.5);
}
// Update value label and arduinoController on value changed
private void LedFrequencyLabelTrackBarValueChanged(object sender, EventArgs e)
{
LedFrequencyTrackBarScroll(sender,e);
}
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing )
{
_arduinoController.Exit();
if (components!=null)
components.Dispose();
}
base.Dispose(disposing);
}
}
}