PatientModel.cs 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading;
  6. using System.Threading.Tasks;
  7. namespace FietsClientV2
  8. {
  9. class PatientModel
  10. {
  11. public static PatientModel patientModel { get; private set; } = new PatientModel();
  12. private DataHandler dataHandler;
  13. private Thread workerThread;
  14. private PatientModel()
  15. {
  16. dataHandler = new DataHandler();
  17. DataHandler.IncomingDataEvent += HandleBikeData; //initialize event
  18. }
  19. public void startComPort(string portname)
  20. {
  21. dataHandler.initComm(portname);
  22. }
  23. public void startAskingData()
  24. {
  25. workerThread = new Thread(() => workerThreadLoop());
  26. workerThread.Start();
  27. }
  28. private void workerThreadLoop()
  29. {
  30. while (true)
  31. {
  32. Thread.Sleep(1000);
  33. dataHandler.sendData(DataHandler.STATUS);
  34. }
  35. }
  36. //event handler
  37. private void HandleBikeData(string[] data)
  38. {
  39. //doe iets ermee...
  40. }
  41. public void closeComPort()
  42. {
  43. if (workerThread != null)
  44. workerThread.Interrupt();
  45. dataHandler.closeComm();
  46. }
  47. }
  48. }