HRMDisplay.h 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561
  1. /*
  2. This software is subject to the license described in the License.txt file
  3. included with this software distribution. You may not use this file except in compliance
  4. with this license.
  5. Copyright (c) Dynastream Innovations Inc. 2012
  6. All rights reserved.
  7. */
  8. #pragma once
  9. #include "StdAfx.h"
  10. #include "ISimBase.h"
  11. #include "hrm.h"
  12. #include "types.h"
  13. #include "antdefines.h"
  14. using namespace System;
  15. using namespace System::ComponentModel;
  16. using namespace System::Collections;
  17. using namespace System::Windows::Forms;
  18. using namespace System::Data;
  19. using namespace System::Drawing;
  20. public ref class HRMDisplay : public System::Windows::Forms::Form, public ISimBase{
  21. public:
  22. HRMDisplay(){
  23. InitializeComponent();
  24. InitializeSim();
  25. }
  26. ~HRMDisplay(){
  27. this->panel_Display->Controls->Clear();
  28. this->panel_Settings->Controls->Clear();
  29. delete this->panel_Display;
  30. delete this->panel_Settings;
  31. //clean up floating resources with the garbage collector
  32. GC::Collect(2);
  33. //Deletion of designer component
  34. if (components)
  35. {
  36. delete components;
  37. }
  38. }
  39. public:
  40. virtual void ANT_eventNotification(UCHAR ucEventCode_, UCHAR* pucEventBuffer_);
  41. virtual UCHAR getDeviceType(){return HRM_DEVICE_TYPE;}
  42. virtual UCHAR getTransmissionType(){return 0;} // Transmission type on receiver must be set to 0 for pairing search and future compatibility
  43. virtual USHORT getTransmitPeriod(){return HRM_MSG_PERIOD;}
  44. virtual DOUBLE getTimerInterval(){return 3600000;} // Set interval to one hour, so timer events are not frequent (timer should be disabled tho)
  45. virtual void onTimerTock(USHORT eventTime){} // Do nothing
  46. virtual System::Windows::Forms::Panel^ getSimSettingsPanel(){return this->panel_Settings;}
  47. virtual System::Windows::Forms::Panel^ getSimTranslatedDisplay(){return this->panel_Display;}
  48. private:
  49. void InitializeSim();
  50. void HandleReceive(UCHAR* pucRxBuffer_);
  51. void UpdateDisplay(UCHAR ucPageNum_);
  52. private:
  53. // Implementation specific constants
  54. static const UCHAR MAX_NO_EVENTS = 12; // Maximum number of messages with no new events (3s)
  55. // Simulator Variables
  56. UCHAR ucBPM; // Heart rate (bpm)
  57. UCHAR ucEventCount; // Heart beat event count
  58. UCHAR ucPreviousEventCount; // Previous heart beat event count
  59. USHORT usTime1024; // Time of last heart beat event (1/1024 seconds)
  60. USHORT usPreviousTime1024; // Time of previous heart beat event (1/1024 seconds)
  61. ULONG ulElapsedTime2; // Cumulative operating time (elapsed time since battery insertion) in 2 second resolution
  62. UCHAR ucStatePage; // Track if advanced data is supported
  63. // Calculated data
  64. ULONG ulAcumEventCount; // Cumulative heart beat event count
  65. ULONG ulAcumTime1024; // Cumulative time (1/1024 seconds), conversion to s is performed for data display
  66. USHORT usR_RInterval1024; // R-R interval (1/1024 seconds), conversion to ms is performed for data display
  67. UCHAR ucCalcBPM; // Calculated heart rate (bpm), from event time
  68. // Background Data
  69. UCHAR ucMfgID; // Manufacturing ID
  70. UCHAR ucHwVersion; // Hardware version
  71. UCHAR ucSwVersion; // Software version
  72. UCHAR ucModelNum; // Model number
  73. USHORT usSerialNum; // Serial number
  74. private: System::Windows::Forms::Panel^ panel_Display;
  75. private: System::Windows::Forms::Label^ label_Trn_EventCountDisplay;
  76. private: System::Windows::Forms::Label^ label_Trn_EventCount;
  77. private: System::Windows::Forms::Label^ label_Trn_TimeDisplay;
  78. private: System::Windows::Forms::Label^ label_Trn_Time;
  79. private: System::Windows::Forms::Label^ label_Trn_TranslatedDisplayLabel;
  80. private: System::Windows::Forms::Panel^ panel_Settings;
  81. private: System::Windows::Forms::GroupBox^ groupBox2;
  82. private: System::Windows::Forms::Label^ label_Glb_BattTimeDisplay;
  83. private: System::Windows::Forms::Label^ label_Glb_BattTime;
  84. private: System::Windows::Forms::Label^ label_Glb_ModelNum;
  85. private: System::Windows::Forms::Label^ label_Glb_SoftwareVer;
  86. private: System::Windows::Forms::Label^ label_Glb_ModelNumDisplay;
  87. private: System::Windows::Forms::Label^ label_Glb_ManfIDDisplay;
  88. private: System::Windows::Forms::Label^ label_Glb_SerialNumDisplay;
  89. private: System::Windows::Forms::Label^ label_Glb_HardwareVerDisplay;
  90. private: System::Windows::Forms::Label^ label_Glb_HardwareVer;
  91. private: System::Windows::Forms::Label^ label_Glb_SerialNum;
  92. private: System::Windows::Forms::Label^ label_Glb_SoftwareVerDisplay;
  93. private: System::Windows::Forms::Label^ label_Glb_ManfID;
  94. private: System::Windows::Forms::GroupBox^ groupBox_CalculatedData;
  95. private: System::Windows::Forms::Label^ label_Calc_waitToggle;
  96. private: System::Windows::Forms::Label^ label_Calc_Pulse;
  97. private: System::Windows::Forms::Label^ label_Calc_PulseDisplay;
  98. private: System::Windows::Forms::Label^ label_Calc_TotEventCountDisplay;
  99. private: System::Windows::Forms::Label^ label_Calc_TotEventCount;
  100. private: System::Windows::Forms::Label^ label_Calc_ElapsedSecsDisplay;
  101. private: System::Windows::Forms::Label^ label_Calc_ElpTime;
  102. private: System::Windows::Forms::Label^ label_Trn_RawPulse;
  103. private: System::Windows::Forms::Label^ label_Trn_RawPulseDisplay;
  104. private: System::Windows::Forms::Label^ label_Trn_LastEventTimeDisplay;
  105. private: System::Windows::Forms::Label^ label_Trn_LastEventTime;
  106. private: System::Windows::Forms::Label^ label_Calc_RRInterval;
  107. private: System::Windows::Forms::Label^ label_Calc_RRIntervalDisplay;
  108. private: System::Windows::Forms::Label^ label_Calc_InstPulseDisplay;
  109. private: System::Windows::Forms::Label^ label_Calc_InstPulse;
  110. private:
  111. /// <summary>
  112. /// Required designer variable.
  113. /// </summary>
  114. System::ComponentModel::Container ^components;
  115. #pragma region Windows Form Designer generated code
  116. /// <summary>
  117. /// Required method for Designer support - do not modify
  118. /// the contents of this method with the code editor.
  119. /// </summary>
  120. void InitializeComponent(void)
  121. {
  122. this->panel_Display = (gcnew System::Windows::Forms::Panel());
  123. this->label_Trn_LastEventTimeDisplay = (gcnew System::Windows::Forms::Label());
  124. this->label_Trn_LastEventTime = (gcnew System::Windows::Forms::Label());
  125. this->label_Trn_RawPulseDisplay = (gcnew System::Windows::Forms::Label());
  126. this->label_Trn_RawPulse = (gcnew System::Windows::Forms::Label());
  127. this->label_Trn_EventCountDisplay = (gcnew System::Windows::Forms::Label());
  128. this->label_Trn_EventCount = (gcnew System::Windows::Forms::Label());
  129. this->label_Trn_TimeDisplay = (gcnew System::Windows::Forms::Label());
  130. this->label_Trn_Time = (gcnew System::Windows::Forms::Label());
  131. this->label_Trn_TranslatedDisplayLabel = (gcnew System::Windows::Forms::Label());
  132. this->panel_Settings = (gcnew System::Windows::Forms::Panel());
  133. this->groupBox2 = (gcnew System::Windows::Forms::GroupBox());
  134. this->label_Glb_BattTimeDisplay = (gcnew System::Windows::Forms::Label());
  135. this->label_Glb_BattTime = (gcnew System::Windows::Forms::Label());
  136. this->label_Glb_ModelNum = (gcnew System::Windows::Forms::Label());
  137. this->label_Glb_SoftwareVer = (gcnew System::Windows::Forms::Label());
  138. this->label_Glb_ModelNumDisplay = (gcnew System::Windows::Forms::Label());
  139. this->label_Glb_ManfIDDisplay = (gcnew System::Windows::Forms::Label());
  140. this->label_Glb_SerialNumDisplay = (gcnew System::Windows::Forms::Label());
  141. this->label_Glb_HardwareVerDisplay = (gcnew System::Windows::Forms::Label());
  142. this->label_Glb_HardwareVer = (gcnew System::Windows::Forms::Label());
  143. this->label_Glb_SerialNum = (gcnew System::Windows::Forms::Label());
  144. this->label_Glb_SoftwareVerDisplay = (gcnew System::Windows::Forms::Label());
  145. this->label_Glb_ManfID = (gcnew System::Windows::Forms::Label());
  146. this->groupBox_CalculatedData = (gcnew System::Windows::Forms::GroupBox());
  147. this->label_Calc_InstPulseDisplay = (gcnew System::Windows::Forms::Label());
  148. this->label_Calc_InstPulse = (gcnew System::Windows::Forms::Label());
  149. this->label_Calc_RRInterval = (gcnew System::Windows::Forms::Label());
  150. this->label_Calc_RRIntervalDisplay = (gcnew System::Windows::Forms::Label());
  151. this->label_Calc_waitToggle = (gcnew System::Windows::Forms::Label());
  152. this->label_Calc_Pulse = (gcnew System::Windows::Forms::Label());
  153. this->label_Calc_PulseDisplay = (gcnew System::Windows::Forms::Label());
  154. this->label_Calc_TotEventCountDisplay = (gcnew System::Windows::Forms::Label());
  155. this->label_Calc_TotEventCount = (gcnew System::Windows::Forms::Label());
  156. this->label_Calc_ElapsedSecsDisplay = (gcnew System::Windows::Forms::Label());
  157. this->label_Calc_ElpTime = (gcnew System::Windows::Forms::Label());
  158. this->panel_Display->SuspendLayout();
  159. this->panel_Settings->SuspendLayout();
  160. this->groupBox2->SuspendLayout();
  161. this->groupBox_CalculatedData->SuspendLayout();
  162. this->SuspendLayout();
  163. //
  164. // panel_Display
  165. //
  166. this->panel_Display->BorderStyle = System::Windows::Forms::BorderStyle::Fixed3D;
  167. this->panel_Display->Controls->Add(this->label_Trn_LastEventTimeDisplay);
  168. this->panel_Display->Controls->Add(this->label_Trn_LastEventTime);
  169. this->panel_Display->Controls->Add(this->label_Trn_RawPulseDisplay);
  170. this->panel_Display->Controls->Add(this->label_Trn_RawPulse);
  171. this->panel_Display->Controls->Add(this->label_Trn_EventCountDisplay);
  172. this->panel_Display->Controls->Add(this->label_Trn_EventCount);
  173. this->panel_Display->Controls->Add(this->label_Trn_TimeDisplay);
  174. this->panel_Display->Controls->Add(this->label_Trn_Time);
  175. this->panel_Display->Controls->Add(this->label_Trn_TranslatedDisplayLabel);
  176. this->panel_Display->Location = System::Drawing::Point(65, 199);
  177. this->panel_Display->Name = L"panel_Display";
  178. this->panel_Display->Size = System::Drawing::Size(200, 90);
  179. this->panel_Display->TabIndex = 3;
  180. //
  181. // label_Trn_LastEventTimeDisplay
  182. //
  183. this->label_Trn_LastEventTimeDisplay->AutoSize = true;
  184. this->label_Trn_LastEventTimeDisplay->Location = System::Drawing::Point(144, 70);
  185. this->label_Trn_LastEventTimeDisplay->Name = L"label_Trn_LastEventTimeDisplay";
  186. this->label_Trn_LastEventTimeDisplay->Size = System::Drawing::Size(16, 13);
  187. this->label_Trn_LastEventTimeDisplay->TabIndex = 12;
  188. this->label_Trn_LastEventTimeDisplay->Text = L"---";
  189. //
  190. // label_Trn_LastEventTime
  191. //
  192. this->label_Trn_LastEventTime->AutoSize = true;
  193. this->label_Trn_LastEventTime->Location = System::Drawing::Point(2, 70);
  194. this->label_Trn_LastEventTime->Name = L"label_Trn_LastEventTime";
  195. this->label_Trn_LastEventTime->Size = System::Drawing::Size(136, 13);
  196. this->label_Trn_LastEventTime->TabIndex = 11;
  197. this->label_Trn_LastEventTime->Text = L"Last Event Time (1/1024s):";
  198. //
  199. // label_Trn_RawPulseDisplay
  200. //
  201. this->label_Trn_RawPulseDisplay->AutoSize = true;
  202. this->label_Trn_RawPulseDisplay->Location = System::Drawing::Point(144, 38);
  203. this->label_Trn_RawPulseDisplay->Name = L"label_Trn_RawPulseDisplay";
  204. this->label_Trn_RawPulseDisplay->Size = System::Drawing::Size(16, 13);
  205. this->label_Trn_RawPulseDisplay->TabIndex = 10;
  206. this->label_Trn_RawPulseDisplay->Text = L"---";
  207. //
  208. // label_Trn_RawPulse
  209. //
  210. this->label_Trn_RawPulse->AutoSize = true;
  211. this->label_Trn_RawPulse->Location = System::Drawing::Point(32, 38);
  212. this->label_Trn_RawPulse->Name = L"label_Trn_RawPulse";
  213. this->label_Trn_RawPulse->Size = System::Drawing::Size(106, 13);
  214. this->label_Trn_RawPulse->TabIndex = 9;
  215. this->label_Trn_RawPulse->Text = L"Instantaneous Pulse:";
  216. //
  217. // label_Trn_EventCountDisplay
  218. //
  219. this->label_Trn_EventCountDisplay->AutoSize = true;
  220. this->label_Trn_EventCountDisplay->Location = System::Drawing::Point(144, 22);
  221. this->label_Trn_EventCountDisplay->Name = L"label_Trn_EventCountDisplay";
  222. this->label_Trn_EventCountDisplay->Size = System::Drawing::Size(16, 13);
  223. this->label_Trn_EventCountDisplay->TabIndex = 8;
  224. this->label_Trn_EventCountDisplay->Text = L"---";
  225. //
  226. // label_Trn_EventCount
  227. //
  228. this->label_Trn_EventCount->AutoSize = true;
  229. this->label_Trn_EventCount->Location = System::Drawing::Point(69, 22);
  230. this->label_Trn_EventCount->Name = L"label_Trn_EventCount";
  231. this->label_Trn_EventCount->Size = System::Drawing::Size(69, 13);
  232. this->label_Trn_EventCount->TabIndex = 7;
  233. this->label_Trn_EventCount->Text = L"Event Count:";
  234. //
  235. // label_Trn_TimeDisplay
  236. //
  237. this->label_Trn_TimeDisplay->AutoSize = true;
  238. this->label_Trn_TimeDisplay->Location = System::Drawing::Point(144, 54);
  239. this->label_Trn_TimeDisplay->Name = L"label_Trn_TimeDisplay";
  240. this->label_Trn_TimeDisplay->Size = System::Drawing::Size(16, 13);
  241. this->label_Trn_TimeDisplay->TabIndex = 6;
  242. this->label_Trn_TimeDisplay->Text = L"---";
  243. //
  244. // label_Trn_Time
  245. //
  246. this->label_Trn_Time->AutoSize = true;
  247. this->label_Trn_Time->Location = System::Drawing::Point(25, 54);
  248. this->label_Trn_Time->Name = L"label_Trn_Time";
  249. this->label_Trn_Time->Size = System::Drawing::Size(113, 13);
  250. this->label_Trn_Time->TabIndex = 5;
  251. this->label_Trn_Time->Text = L"Event Time (1/1024s):";
  252. //
  253. // label_Trn_TranslatedDisplayLabel
  254. //
  255. this->label_Trn_TranslatedDisplayLabel->AutoSize = true;
  256. this->label_Trn_TranslatedDisplayLabel->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 8.25F, System::Drawing::FontStyle::Underline,
  257. System::Drawing::GraphicsUnit::Point, static_cast<System::Byte>(0)));
  258. this->label_Trn_TranslatedDisplayLabel->Location = System::Drawing::Point(2, 2);
  259. this->label_Trn_TranslatedDisplayLabel->Name = L"label_Trn_TranslatedDisplayLabel";
  260. this->label_Trn_TranslatedDisplayLabel->Size = System::Drawing::Size(166, 13);
  261. this->label_Trn_TranslatedDisplayLabel->TabIndex = 4;
  262. this->label_Trn_TranslatedDisplayLabel->Text = L"Current Heart Rate Transmission :";
  263. //
  264. // panel_Settings
  265. //
  266. this->panel_Settings->Controls->Add(this->groupBox2);
  267. this->panel_Settings->Controls->Add(this->groupBox_CalculatedData);
  268. this->panel_Settings->Location = System::Drawing::Point(329, 61);
  269. this->panel_Settings->Name = L"panel_Settings";
  270. this->panel_Settings->Size = System::Drawing::Size(400, 140);
  271. this->panel_Settings->TabIndex = 2;
  272. //
  273. // groupBox2
  274. //
  275. this->groupBox2->Controls->Add(this->label_Glb_BattTimeDisplay);
  276. this->groupBox2->Controls->Add(this->label_Glb_BattTime);
  277. this->groupBox2->Controls->Add(this->label_Glb_ModelNum);
  278. this->groupBox2->Controls->Add(this->label_Glb_SoftwareVer);
  279. this->groupBox2->Controls->Add(this->label_Glb_ModelNumDisplay);
  280. this->groupBox2->Controls->Add(this->label_Glb_ManfIDDisplay);
  281. this->groupBox2->Controls->Add(this->label_Glb_SerialNumDisplay);
  282. this->groupBox2->Controls->Add(this->label_Glb_HardwareVerDisplay);
  283. this->groupBox2->Controls->Add(this->label_Glb_HardwareVer);
  284. this->groupBox2->Controls->Add(this->label_Glb_SerialNum);
  285. this->groupBox2->Controls->Add(this->label_Glb_SoftwareVerDisplay);
  286. this->groupBox2->Controls->Add(this->label_Glb_ManfID);
  287. this->groupBox2->Location = System::Drawing::Point(241, 3);
  288. this->groupBox2->Name = L"groupBox2";
  289. this->groupBox2->Size = System::Drawing::Size(156, 130);
  290. this->groupBox2->TabIndex = 18;
  291. this->groupBox2->TabStop = false;
  292. this->groupBox2->Text = L"Global Data";
  293. //
  294. // label_Glb_BattTimeDisplay
  295. //
  296. this->label_Glb_BattTimeDisplay->AutoSize = true;
  297. this->label_Glb_BattTimeDisplay->Location = System::Drawing::Point(78, 109);
  298. this->label_Glb_BattTimeDisplay->Name = L"label_Glb_BattTimeDisplay";
  299. this->label_Glb_BattTimeDisplay->Size = System::Drawing::Size(16, 13);
  300. this->label_Glb_BattTimeDisplay->TabIndex = 18;
  301. this->label_Glb_BattTimeDisplay->Text = L"---";
  302. //
  303. // label_Glb_BattTime
  304. //
  305. this->label_Glb_BattTime->AutoSize = true;
  306. this->label_Glb_BattTime->Location = System::Drawing::Point(11, 109);
  307. this->label_Glb_BattTime->Name = L"label_Glb_BattTime";
  308. this->label_Glb_BattTime->Size = System::Drawing::Size(69, 13);
  309. this->label_Glb_BattTime->TabIndex = 17;
  310. this->label_Glb_BattTime->Text = L"Battery Time:";
  311. //
  312. // label_Glb_ModelNum
  313. //
  314. this->label_Glb_ModelNum->AutoSize = true;
  315. this->label_Glb_ModelNum->Location = System::Drawing::Point(31, 55);
  316. this->label_Glb_ModelNum->Name = L"label_Glb_ModelNum";
  317. this->label_Glb_ModelNum->Size = System::Drawing::Size(49, 13);
  318. this->label_Glb_ModelNum->TabIndex = 5;
  319. this->label_Glb_ModelNum->Text = L"Model #:";
  320. //
  321. // label_Glb_SoftwareVer
  322. //
  323. this->label_Glb_SoftwareVer->AutoSize = true;
  324. this->label_Glb_SoftwareVer->Location = System::Drawing::Point(9, 91);
  325. this->label_Glb_SoftwareVer->Name = L"label_Glb_SoftwareVer";
  326. this->label_Glb_SoftwareVer->Size = System::Drawing::Size(71, 13);
  327. this->label_Glb_SoftwareVer->TabIndex = 4;
  328. this->label_Glb_SoftwareVer->Text = L"Software Ver:";
  329. //
  330. // label_Glb_ModelNumDisplay
  331. //
  332. this->label_Glb_ModelNumDisplay->AutoSize = true;
  333. this->label_Glb_ModelNumDisplay->Location = System::Drawing::Point(78, 55);
  334. this->label_Glb_ModelNumDisplay->Name = L"label_Glb_ModelNumDisplay";
  335. this->label_Glb_ModelNumDisplay->Size = System::Drawing::Size(16, 13);
  336. this->label_Glb_ModelNumDisplay->TabIndex = 9;
  337. this->label_Glb_ModelNumDisplay->Text = L"---";
  338. //
  339. // label_Glb_ManfIDDisplay
  340. //
  341. this->label_Glb_ManfIDDisplay->AutoSize = true;
  342. this->label_Glb_ManfIDDisplay->Location = System::Drawing::Point(78, 38);
  343. this->label_Glb_ManfIDDisplay->Name = L"label_Glb_ManfIDDisplay";
  344. this->label_Glb_ManfIDDisplay->Size = System::Drawing::Size(16, 13);
  345. this->label_Glb_ManfIDDisplay->TabIndex = 8;
  346. this->label_Glb_ManfIDDisplay->Text = L"---";
  347. //
  348. // label_Glb_SerialNumDisplay
  349. //
  350. this->label_Glb_SerialNumDisplay->AutoSize = true;
  351. this->label_Glb_SerialNumDisplay->Location = System::Drawing::Point(78, 19);
  352. this->label_Glb_SerialNumDisplay->Name = L"label_Glb_SerialNumDisplay";
  353. this->label_Glb_SerialNumDisplay->Size = System::Drawing::Size(16, 13);
  354. this->label_Glb_SerialNumDisplay->TabIndex = 11;
  355. this->label_Glb_SerialNumDisplay->Text = L"---";
  356. //
  357. // label_Glb_HardwareVerDisplay
  358. //
  359. this->label_Glb_HardwareVerDisplay->AutoSize = true;
  360. this->label_Glb_HardwareVerDisplay->Location = System::Drawing::Point(78, 73);
  361. this->label_Glb_HardwareVerDisplay->Name = L"label_Glb_HardwareVerDisplay";
  362. this->label_Glb_HardwareVerDisplay->Size = System::Drawing::Size(16, 13);
  363. this->label_Glb_HardwareVerDisplay->TabIndex = 14;
  364. this->label_Glb_HardwareVerDisplay->Text = L"---";
  365. //
  366. // label_Glb_HardwareVer
  367. //
  368. this->label_Glb_HardwareVer->AutoSize = true;
  369. this->label_Glb_HardwareVer->Location = System::Drawing::Point(5, 73);
  370. this->label_Glb_HardwareVer->Name = L"label_Glb_HardwareVer";
  371. this->label_Glb_HardwareVer->Size = System::Drawing::Size(75, 13);
  372. this->label_Glb_HardwareVer->TabIndex = 3;
  373. this->label_Glb_HardwareVer->Text = L"Hardware Ver:";
  374. //
  375. // label_Glb_SerialNum
  376. //
  377. this->label_Glb_SerialNum->AutoSize = true;
  378. this->label_Glb_SerialNum->Location = System::Drawing::Point(34, 19);
  379. this->label_Glb_SerialNum->Name = L"label_Glb_SerialNum";
  380. this->label_Glb_SerialNum->Size = System::Drawing::Size(46, 13);
  381. this->label_Glb_SerialNum->TabIndex = 2;
  382. this->label_Glb_SerialNum->Text = L"Serial #:";
  383. //
  384. // label_Glb_SoftwareVerDisplay
  385. //
  386. this->label_Glb_SoftwareVerDisplay->AutoSize = true;
  387. this->label_Glb_SoftwareVerDisplay->Location = System::Drawing::Point(78, 91);
  388. this->label_Glb_SoftwareVerDisplay->Name = L"label_Glb_SoftwareVerDisplay";
  389. this->label_Glb_SoftwareVerDisplay->Size = System::Drawing::Size(16, 13);
  390. this->label_Glb_SoftwareVerDisplay->TabIndex = 16;
  391. this->label_Glb_SoftwareVerDisplay->Text = L"---";
  392. //
  393. // label_Glb_ManfID
  394. //
  395. this->label_Glb_ManfID->AutoSize = true;
  396. this->label_Glb_ManfID->Location = System::Drawing::Point(29, 37);
  397. this->label_Glb_ManfID->Name = L"label_Glb_ManfID";
  398. this->label_Glb_ManfID->Size = System::Drawing::Size(51, 13);
  399. this->label_Glb_ManfID->TabIndex = 1;
  400. this->label_Glb_ManfID->Text = L"Manf. ID:";
  401. //
  402. // groupBox_CalculatedData
  403. //
  404. this->groupBox_CalculatedData->Controls->Add(this->label_Calc_InstPulseDisplay);
  405. this->groupBox_CalculatedData->Controls->Add(this->label_Calc_InstPulse);
  406. this->groupBox_CalculatedData->Controls->Add(this->label_Calc_RRInterval);
  407. this->groupBox_CalculatedData->Controls->Add(this->label_Calc_RRIntervalDisplay);
  408. this->groupBox_CalculatedData->Controls->Add(this->label_Calc_waitToggle);
  409. this->groupBox_CalculatedData->Controls->Add(this->label_Calc_Pulse);
  410. this->groupBox_CalculatedData->Controls->Add(this->label_Calc_PulseDisplay);
  411. this->groupBox_CalculatedData->Controls->Add(this->label_Calc_TotEventCountDisplay);
  412. this->groupBox_CalculatedData->Controls->Add(this->label_Calc_TotEventCount);
  413. this->groupBox_CalculatedData->Controls->Add(this->label_Calc_ElapsedSecsDisplay);
  414. this->groupBox_CalculatedData->Controls->Add(this->label_Calc_ElpTime);
  415. this->groupBox_CalculatedData->Location = System::Drawing::Point(3, 3);
  416. this->groupBox_CalculatedData->Name = L"groupBox_CalculatedData";
  417. this->groupBox_CalculatedData->Size = System::Drawing::Size(232, 130);
  418. this->groupBox_CalculatedData->TabIndex = 17;
  419. this->groupBox_CalculatedData->TabStop = false;
  420. this->groupBox_CalculatedData->Text = L"Calculated Data";
  421. //
  422. // label_Calc_InstPulseDisplay
  423. //
  424. this->label_Calc_InstPulseDisplay->AutoSize = true;
  425. this->label_Calc_InstPulseDisplay->Location = System::Drawing::Point(141, 41);
  426. this->label_Calc_InstPulseDisplay->Name = L"label_Calc_InstPulseDisplay";
  427. this->label_Calc_InstPulseDisplay->Size = System::Drawing::Size(16, 13);
  428. this->label_Calc_InstPulseDisplay->TabIndex = 13;
  429. this->label_Calc_InstPulseDisplay->Text = L"---";
  430. //
  431. // label_Calc_InstPulse
  432. //
  433. this->label_Calc_InstPulse->AutoSize = true;
  434. this->label_Calc_InstPulse->Location = System::Drawing::Point(62, 41);
  435. this->label_Calc_InstPulse->Name = L"label_Calc_InstPulse";
  436. this->label_Calc_InstPulse->Size = System::Drawing::Size(73, 13);
  437. this->label_Calc_InstPulse->TabIndex = 12;
  438. this->label_Calc_InstPulse->Text = L"Current Pulse:";
  439. //
  440. // label_Calc_RRInterval
  441. //
  442. this->label_Calc_RRInterval->AutoSize = true;
  443. this->label_Calc_RRInterval->Location = System::Drawing::Point(47, 57);
  444. this->label_Calc_RRInterval->Name = L"label_Calc_RRInterval";
  445. this->label_Calc_RRInterval->Size = System::Drawing::Size(89, 13);
  446. this->label_Calc_RRInterval->TabIndex = 10;
  447. this->label_Calc_RRInterval->Text = L"R-R Interval (ms):";
  448. //
  449. // label_Calc_RRIntervalDisplay
  450. //
  451. this->label_Calc_RRIntervalDisplay->AutoSize = true;
  452. this->label_Calc_RRIntervalDisplay->Location = System::Drawing::Point(141, 57);
  453. this->label_Calc_RRIntervalDisplay->Name = L"label_Calc_RRIntervalDisplay";
  454. this->label_Calc_RRIntervalDisplay->Size = System::Drawing::Size(16, 13);
  455. this->label_Calc_RRIntervalDisplay->TabIndex = 11;
  456. this->label_Calc_RRIntervalDisplay->Text = L"---";
  457. //
  458. // label_Calc_waitToggle
  459. //
  460. this->label_Calc_waitToggle->AutoSize = true;
  461. this->label_Calc_waitToggle->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 8.25F, System::Drawing::FontStyle::Italic,
  462. System::Drawing::GraphicsUnit::Point, static_cast<System::Byte>(0)));
  463. this->label_Calc_waitToggle->Location = System::Drawing::Point(37, 16);
  464. this->label_Calc_waitToggle->Name = L"label_Calc_waitToggle";
  465. this->label_Calc_waitToggle->Size = System::Drawing::Size(177, 13);
  466. this->label_Calc_waitToggle->TabIndex = 8;
  467. this->label_Calc_waitToggle->Text = L"Waiting for page toggle to change...";
  468. //
  469. // label_Calc_Pulse
  470. //
  471. this->label_Calc_Pulse->AutoSize = true;
  472. this->label_Calc_Pulse->Location = System::Drawing::Point(48, 105);
  473. this->label_Calc_Pulse->Name = L"label_Calc_Pulse";
  474. this->label_Calc_Pulse->Size = System::Drawing::Size(87, 13);
  475. this->label_Calc_Pulse->TabIndex = 1;
  476. this->label_Calc_Pulse->Text = L"Pulse (from time):";
  477. //
  478. // label_Calc_PulseDisplay
  479. //
  480. this->label_Calc_PulseDisplay->AutoSize = true;
  481. this->label_Calc_PulseDisplay->Location = System::Drawing::Point(141, 105);
  482. this->label_Calc_PulseDisplay->Name = L"label_Calc_PulseDisplay";
  483. this->label_Calc_PulseDisplay->Size = System::Drawing::Size(16, 13);
  484. this->label_Calc_PulseDisplay->TabIndex = 3;
  485. this->label_Calc_PulseDisplay->Text = L"---";
  486. //
  487. // label_Calc_TotEventCountDisplay
  488. //
  489. this->label_Calc_TotEventCountDisplay->AutoSize = true;
  490. this->label_Calc_TotEventCountDisplay->Location = System::Drawing::Point(141, 73);
  491. this->label_Calc_TotEventCountDisplay->Name = L"label_Calc_TotEventCountDisplay";
  492. this->label_Calc_TotEventCountDisplay->Size = System::Drawing::Size(16, 13);
  493. this->label_Calc_TotEventCountDisplay->TabIndex = 2;
  494. this->label_Calc_TotEventCountDisplay->Text = L"---";
  495. //
  496. // label_Calc_TotEventCount
  497. //
  498. this->label_Calc_TotEventCount->AutoSize = true;
  499. this->label_Calc_TotEventCount->Location = System::Drawing::Point(39, 73);
  500. this->label_Calc_TotEventCount->Name = L"label_Calc_TotEventCount";
  501. this->label_Calc_TotEventCount->Size = System::Drawing::Size(96, 13);
  502. this->label_Calc_TotEventCount->TabIndex = 0;
  503. this->label_Calc_TotEventCount->Text = L"Total Event Count:";
  504. //
  505. // label_Calc_ElapsedSecsDisplay
  506. //
  507. this->label_Calc_ElapsedSecsDisplay->AutoSize = true;
  508. this->label_Calc_ElapsedSecsDisplay->Location = System::Drawing::Point(141, 89);
  509. this->label_Calc_ElapsedSecsDisplay->Name = L"label_Calc_ElapsedSecsDisplay";
  510. this->label_Calc_ElapsedSecsDisplay->Size = System::Drawing::Size(16, 13);
  511. this->label_Calc_ElapsedSecsDisplay->TabIndex = 7;
  512. this->label_Calc_ElapsedSecsDisplay->Text = L"---";
  513. //
  514. // label_Calc_ElpTime
  515. //
  516. this->label_Calc_ElpTime->AutoSize = true;
  517. this->label_Calc_ElpTime->Location = System::Drawing::Point(20, 89);
  518. this->label_Calc_ElpTime->Name = L"label_Calc_ElpTime";
  519. this->label_Calc_ElpTime->Size = System::Drawing::Size(115, 13);
  520. this->label_Calc_ElpTime->TabIndex = 0;
  521. this->label_Calc_ElpTime->Text = L"Total Elapsed Time (s):";
  522. //
  523. // HRMDisplay
  524. //
  525. this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
  526. this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
  527. this->ClientSize = System::Drawing::Size(794, 351);
  528. this->Controls->Add(this->panel_Display);
  529. this->Controls->Add(this->panel_Settings);
  530. this->Name = L"HRMDisplay";
  531. this->Text = L"HRMDisplay";
  532. this->panel_Display->ResumeLayout(false);
  533. this->panel_Display->PerformLayout();
  534. this->panel_Settings->ResumeLayout(false);
  535. this->groupBox2->ResumeLayout(false);
  536. this->groupBox2->PerformLayout();
  537. this->groupBox_CalculatedData->ResumeLayout(false);
  538. this->groupBox_CalculatedData->PerformLayout();
  539. this->ResumeLayout(false);
  540. }
  541. #pragma endregion
  542. };