MainForm.cs 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.IO.Ports;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Threading.Tasks;
  10. using System.Windows.Forms;
  11. namespace Fietsclient
  12. {
  13. public partial class MainForm : Form
  14. {
  15. private readonly AppGlobal _global;
  16. private SerialPort ComPort;
  17. string port;
  18. public MainForm(AppGlobal global)
  19. {
  20. InitializeComponent();
  21. _global = global;
  22. KettlerBikeComm.IncomingDataEvent += HandleBikeData;
  23. foreach (String item in getComports())
  24. {
  25. cmbComport.Items.Add(item);
  26. }
  27. }
  28. private void button1_Click(object sender, EventArgs e)
  29. {
  30. _global.startComPort(port);
  31. }
  32. private void HandleBikeData(string[] data)
  33. {
  34. addTextToLog("pulse: " + data[0] + ", rpm: " + data[1] + ", speed*10: " + data[2] + ", distance: " + data[3] +
  35. ", requested_power: " + data[4] + ", energy: " + data[5] + ", mm:ss: " + data[6] + ", actual_power: " + data[7]);
  36. }
  37. private void addTextToLog(string text)
  38. {
  39. if (this.InvokeRequired)
  40. {
  41. this.Invoke((new Action(() => addTextToLog(text))));
  42. return;
  43. }
  44. textBox1.AppendText(text + "\n");
  45. }
  46. private void button2_Click(object sender, EventArgs e)
  47. {
  48. _global.startAskingData();
  49. }
  50. private void button3_Click(object sender, EventArgs e)
  51. {
  52. _global.closeComPort();
  53. }
  54. private String[] getComports()
  55. {
  56. return SerialPort.GetPortNames();
  57. }
  58. private void cmbComport_SelectionChangeCommitted(object sender, EventArgs e)
  59. {
  60. port = cmbComport.SelectedItem.ToString();
  61. }
  62. }
  63. }