BikeCadenceDisplay.h 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485
  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 "bc.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 BikeCadenceDisplay : public System::Windows::Forms::Form, public ISimBase{
  21. public:
  22. BikeCadenceDisplay(){
  23. InitializeComponent();
  24. InitializeSim();
  25. }
  26. ~BikeCadenceDisplay(){
  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 BC_DEVICE_TYPE;}
  42. virtual UCHAR getTransmissionType(){return 0;}
  43. virtual USHORT getTransmitPeriod(){return BC_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 to detect coasting
  55. // Simulator variables
  56. UCHAR ucStatePage; // Track if advanced data is supported
  57. USHORT usEventCount; // Bike cadence event count
  58. USHORT usPreviousEventCount; // Previous bike cadence event count
  59. USHORT usTime1024; // Time of last bike cadence event (1/1024 seconds)
  60. USHORT usPreviousTime1024; // Time of previous bike cadence event (1/1024 seconds)
  61. ULONG ulElapsedTime2; // Cumulative operating time (elapsed time since battery insertion) in 2 second resolution
  62. BOOL bCoast; // Coasting flag
  63. // Calculated data
  64. ULONG ulAcumEventCount; // Cumulative bike cadence event count (pedal revolutions)
  65. ULONG ulAcumTime1024; // Cumulative time (1/1024 seconds), conversion to s is performed for data display
  66. UCHAR ucCadence; // Calculated cadence (rpm)
  67. // Common Pages
  68. UCHAR ucMfgID; // Manufacturing ID
  69. UCHAR ucHwVersion; // Hardware version
  70. UCHAR ucSwVersion; // Software version
  71. UCHAR ucModelNum; // Model number
  72. USHORT usSerialNum; // Serial number
  73. private: System::Windows::Forms::Panel^ panel_Settings;
  74. private: System::Windows::Forms::Panel^ panel_Display;
  75. private: System::Windows::Forms::Label^ label_Calc_TotEventCount;
  76. private: System::Windows::Forms::Label^ label_Calc_Cadence;
  77. private: System::Windows::Forms::Label^ label_Calc_CadenceDisplay;
  78. private: System::Windows::Forms::Label^ label_Calc_TotEventCountDisplay;
  79. private: System::Windows::Forms::Label^ label_Glb_HardwareVer;
  80. private: System::Windows::Forms::Label^ label_Glb_SerialNum;
  81. private: System::Windows::Forms::Label^ label_Glb_ManfID;
  82. private: System::Windows::Forms::Label^ label_Calc_ElpTime;
  83. private: System::Windows::Forms::Label^ label_Glb_SoftwareVer;
  84. private: System::Windows::Forms::Label^ label_Glb_ModelNum;
  85. private: System::Windows::Forms::Label^ label_Calc_ElapsedSecsDisplay;
  86. private: System::Windows::Forms::Label^ label_Glb_ManfIDDisplay;
  87. private: System::Windows::Forms::Label^ label_Glb_SerialNumDisplay;
  88. private: System::Windows::Forms::Label^ label_Glb_ModelNumDisplay;
  89. private: System::Windows::Forms::Label^ label_Glb_SoftwareVerDisplay;
  90. private: System::Windows::Forms::Label^ label_Glb_HardwareVerDisplay;
  91. private: System::Windows::Forms::Label^ label_Trn_TranslatedDisplayLabel;
  92. private: System::Windows::Forms::Label^ label_Trn_TimeDisplay;
  93. private: System::Windows::Forms::Label^ label_Trn_Time;
  94. private: System::Windows::Forms::Label^ label_Trn_EventCountDisplay;
  95. private: System::Windows::Forms::Label^ label_Trn_EventCount;
  96. private: System::Windows::Forms::GroupBox^ groupBox2;
  97. private: System::Windows::Forms::GroupBox^ groupBox_CalculatedData;
  98. private: System::Windows::Forms::Label^ label_Glb_BattTimeDisplay;
  99. private: System::Windows::Forms::Label^ label_Glb_BattTime;
  100. private: System::Windows::Forms::Label^ label_Calc_waitToggle;
  101. private: System::Windows::Forms::Label^ label_Coasting;
  102. private:
  103. /// <summary>
  104. /// Required designer variable.
  105. /// </summary>
  106. System::ComponentModel::Container ^components;
  107. #pragma region Windows Form Designer generated code
  108. /// <summary>
  109. /// Required method for Designer support - do not modify
  110. /// the contents of this method with the code editor.
  111. /// </summary>
  112. void InitializeComponent(void)
  113. {
  114. this->panel_Settings = (gcnew System::Windows::Forms::Panel());
  115. this->groupBox2 = (gcnew System::Windows::Forms::GroupBox());
  116. this->label_Glb_BattTimeDisplay = (gcnew System::Windows::Forms::Label());
  117. this->label_Glb_BattTime = (gcnew System::Windows::Forms::Label());
  118. this->label_Glb_ModelNum = (gcnew System::Windows::Forms::Label());
  119. this->label_Glb_SoftwareVer = (gcnew System::Windows::Forms::Label());
  120. this->label_Glb_ModelNumDisplay = (gcnew System::Windows::Forms::Label());
  121. this->label_Glb_ManfIDDisplay = (gcnew System::Windows::Forms::Label());
  122. this->label_Glb_SerialNumDisplay = (gcnew System::Windows::Forms::Label());
  123. this->label_Glb_HardwareVerDisplay = (gcnew System::Windows::Forms::Label());
  124. this->label_Glb_HardwareVer = (gcnew System::Windows::Forms::Label());
  125. this->label_Glb_SerialNum = (gcnew System::Windows::Forms::Label());
  126. this->label_Glb_SoftwareVerDisplay = (gcnew System::Windows::Forms::Label());
  127. this->label_Glb_ManfID = (gcnew System::Windows::Forms::Label());
  128. this->groupBox_CalculatedData = (gcnew System::Windows::Forms::GroupBox());
  129. this->label_Calc_waitToggle = (gcnew System::Windows::Forms::Label());
  130. this->label_Calc_Cadence = (gcnew System::Windows::Forms::Label());
  131. this->label_Calc_CadenceDisplay = (gcnew System::Windows::Forms::Label());
  132. this->label_Calc_TotEventCountDisplay = (gcnew System::Windows::Forms::Label());
  133. this->label_Calc_TotEventCount = (gcnew System::Windows::Forms::Label());
  134. this->label_Calc_ElapsedSecsDisplay = (gcnew System::Windows::Forms::Label());
  135. this->label_Calc_ElpTime = (gcnew System::Windows::Forms::Label());
  136. this->panel_Display = (gcnew System::Windows::Forms::Panel());
  137. this->label_Trn_EventCountDisplay = (gcnew System::Windows::Forms::Label());
  138. this->label_Trn_EventCount = (gcnew System::Windows::Forms::Label());
  139. this->label_Trn_TimeDisplay = (gcnew System::Windows::Forms::Label());
  140. this->label_Trn_Time = (gcnew System::Windows::Forms::Label());
  141. this->label_Trn_TranslatedDisplayLabel = (gcnew System::Windows::Forms::Label());
  142. this->label_Coasting = (gcnew System::Windows::Forms::Label());
  143. this->panel_Settings->SuspendLayout();
  144. this->groupBox2->SuspendLayout();
  145. this->groupBox_CalculatedData->SuspendLayout();
  146. this->panel_Display->SuspendLayout();
  147. this->SuspendLayout();
  148. //
  149. // panel_Settings
  150. //
  151. this->panel_Settings->Controls->Add(this->groupBox2);
  152. this->panel_Settings->Controls->Add(this->groupBox_CalculatedData);
  153. this->panel_Settings->Location = System::Drawing::Point(322, 50);
  154. this->panel_Settings->Name = L"panel_Settings";
  155. this->panel_Settings->Size = System::Drawing::Size(400, 140);
  156. this->panel_Settings->TabIndex = 0;
  157. //
  158. // groupBox2
  159. //
  160. this->groupBox2->Controls->Add(this->label_Glb_BattTimeDisplay);
  161. this->groupBox2->Controls->Add(this->label_Glb_BattTime);
  162. this->groupBox2->Controls->Add(this->label_Glb_ModelNum);
  163. this->groupBox2->Controls->Add(this->label_Glb_SoftwareVer);
  164. this->groupBox2->Controls->Add(this->label_Glb_ModelNumDisplay);
  165. this->groupBox2->Controls->Add(this->label_Glb_ManfIDDisplay);
  166. this->groupBox2->Controls->Add(this->label_Glb_SerialNumDisplay);
  167. this->groupBox2->Controls->Add(this->label_Glb_HardwareVerDisplay);
  168. this->groupBox2->Controls->Add(this->label_Glb_HardwareVer);
  169. this->groupBox2->Controls->Add(this->label_Glb_SerialNum);
  170. this->groupBox2->Controls->Add(this->label_Glb_SoftwareVerDisplay);
  171. this->groupBox2->Controls->Add(this->label_Glb_ManfID);
  172. this->groupBox2->Location = System::Drawing::Point(241, 3);
  173. this->groupBox2->Name = L"groupBox2";
  174. this->groupBox2->Size = System::Drawing::Size(156, 130);
  175. this->groupBox2->TabIndex = 18;
  176. this->groupBox2->TabStop = false;
  177. this->groupBox2->Text = L"Global Data";
  178. //
  179. // label_Glb_BattTimeDisplay
  180. //
  181. this->label_Glb_BattTimeDisplay->AutoSize = true;
  182. this->label_Glb_BattTimeDisplay->Location = System::Drawing::Point(78, 109);
  183. this->label_Glb_BattTimeDisplay->Name = L"label_Glb_BattTimeDisplay";
  184. this->label_Glb_BattTimeDisplay->Size = System::Drawing::Size(16, 13);
  185. this->label_Glb_BattTimeDisplay->TabIndex = 18;
  186. this->label_Glb_BattTimeDisplay->Text = L"---";
  187. //
  188. // label_Glb_BattTime
  189. //
  190. this->label_Glb_BattTime->AutoSize = true;
  191. this->label_Glb_BattTime->Location = System::Drawing::Point(11, 109);
  192. this->label_Glb_BattTime->Name = L"label_Glb_BattTime";
  193. this->label_Glb_BattTime->Size = System::Drawing::Size(69, 13);
  194. this->label_Glb_BattTime->TabIndex = 17;
  195. this->label_Glb_BattTime->Text = L"Battery Time:";
  196. //
  197. // label_Glb_ModelNum
  198. //
  199. this->label_Glb_ModelNum->AutoSize = true;
  200. this->label_Glb_ModelNum->Location = System::Drawing::Point(31, 55);
  201. this->label_Glb_ModelNum->Name = L"label_Glb_ModelNum";
  202. this->label_Glb_ModelNum->Size = System::Drawing::Size(49, 13);
  203. this->label_Glb_ModelNum->TabIndex = 5;
  204. this->label_Glb_ModelNum->Text = L"Model #:";
  205. //
  206. // label_Glb_SoftwareVer
  207. //
  208. this->label_Glb_SoftwareVer->AutoSize = true;
  209. this->label_Glb_SoftwareVer->Location = System::Drawing::Point(9, 91);
  210. this->label_Glb_SoftwareVer->Name = L"label_Glb_SoftwareVer";
  211. this->label_Glb_SoftwareVer->Size = System::Drawing::Size(71, 13);
  212. this->label_Glb_SoftwareVer->TabIndex = 4;
  213. this->label_Glb_SoftwareVer->Text = L"Software Ver:";
  214. //
  215. // label_Glb_ModelNumDisplay
  216. //
  217. this->label_Glb_ModelNumDisplay->AutoSize = true;
  218. this->label_Glb_ModelNumDisplay->Location = System::Drawing::Point(78, 55);
  219. this->label_Glb_ModelNumDisplay->Name = L"label_Glb_ModelNumDisplay";
  220. this->label_Glb_ModelNumDisplay->Size = System::Drawing::Size(16, 13);
  221. this->label_Glb_ModelNumDisplay->TabIndex = 9;
  222. this->label_Glb_ModelNumDisplay->Text = L"---";
  223. //
  224. // label_Glb_ManfIDDisplay
  225. //
  226. this->label_Glb_ManfIDDisplay->AutoSize = true;
  227. this->label_Glb_ManfIDDisplay->Location = System::Drawing::Point(78, 38);
  228. this->label_Glb_ManfIDDisplay->Name = L"label_Glb_ManfIDDisplay";
  229. this->label_Glb_ManfIDDisplay->Size = System::Drawing::Size(16, 13);
  230. this->label_Glb_ManfIDDisplay->TabIndex = 8;
  231. this->label_Glb_ManfIDDisplay->Text = L"---";
  232. //
  233. // label_Glb_SerialNumDisplay
  234. //
  235. this->label_Glb_SerialNumDisplay->AutoSize = true;
  236. this->label_Glb_SerialNumDisplay->Location = System::Drawing::Point(78, 19);
  237. this->label_Glb_SerialNumDisplay->Name = L"label_Glb_SerialNumDisplay";
  238. this->label_Glb_SerialNumDisplay->Size = System::Drawing::Size(16, 13);
  239. this->label_Glb_SerialNumDisplay->TabIndex = 11;
  240. this->label_Glb_SerialNumDisplay->Text = L"---";
  241. //
  242. // label_Glb_HardwareVerDisplay
  243. //
  244. this->label_Glb_HardwareVerDisplay->AutoSize = true;
  245. this->label_Glb_HardwareVerDisplay->Location = System::Drawing::Point(78, 73);
  246. this->label_Glb_HardwareVerDisplay->Name = L"label_Glb_HardwareVerDisplay";
  247. this->label_Glb_HardwareVerDisplay->Size = System::Drawing::Size(16, 13);
  248. this->label_Glb_HardwareVerDisplay->TabIndex = 14;
  249. this->label_Glb_HardwareVerDisplay->Text = L"---";
  250. //
  251. // label_Glb_HardwareVer
  252. //
  253. this->label_Glb_HardwareVer->AutoSize = true;
  254. this->label_Glb_HardwareVer->Location = System::Drawing::Point(5, 73);
  255. this->label_Glb_HardwareVer->Name = L"label_Glb_HardwareVer";
  256. this->label_Glb_HardwareVer->Size = System::Drawing::Size(75, 13);
  257. this->label_Glb_HardwareVer->TabIndex = 3;
  258. this->label_Glb_HardwareVer->Text = L"Hardware Ver:";
  259. //
  260. // label_Glb_SerialNum
  261. //
  262. this->label_Glb_SerialNum->AutoSize = true;
  263. this->label_Glb_SerialNum->Location = System::Drawing::Point(34, 19);
  264. this->label_Glb_SerialNum->Name = L"label_Glb_SerialNum";
  265. this->label_Glb_SerialNum->Size = System::Drawing::Size(46, 13);
  266. this->label_Glb_SerialNum->TabIndex = 2;
  267. this->label_Glb_SerialNum->Text = L"Serial #:";
  268. //
  269. // label_Glb_SoftwareVerDisplay
  270. //
  271. this->label_Glb_SoftwareVerDisplay->AutoSize = true;
  272. this->label_Glb_SoftwareVerDisplay->Location = System::Drawing::Point(78, 91);
  273. this->label_Glb_SoftwareVerDisplay->Name = L"label_Glb_SoftwareVerDisplay";
  274. this->label_Glb_SoftwareVerDisplay->Size = System::Drawing::Size(16, 13);
  275. this->label_Glb_SoftwareVerDisplay->TabIndex = 16;
  276. this->label_Glb_SoftwareVerDisplay->Text = L"---";
  277. //
  278. // label_Glb_ManfID
  279. //
  280. this->label_Glb_ManfID->AutoSize = true;
  281. this->label_Glb_ManfID->Location = System::Drawing::Point(29, 37);
  282. this->label_Glb_ManfID->Name = L"label_Glb_ManfID";
  283. this->label_Glb_ManfID->Size = System::Drawing::Size(51, 13);
  284. this->label_Glb_ManfID->TabIndex = 1;
  285. this->label_Glb_ManfID->Text = L"Manf. ID:";
  286. //
  287. // groupBox_CalculatedData
  288. //
  289. this->groupBox_CalculatedData->Controls->Add(this->label_Coasting);
  290. this->groupBox_CalculatedData->Controls->Add(this->label_Calc_waitToggle);
  291. this->groupBox_CalculatedData->Controls->Add(this->label_Calc_Cadence);
  292. this->groupBox_CalculatedData->Controls->Add(this->label_Calc_CadenceDisplay);
  293. this->groupBox_CalculatedData->Controls->Add(this->label_Calc_TotEventCountDisplay);
  294. this->groupBox_CalculatedData->Controls->Add(this->label_Calc_TotEventCount);
  295. this->groupBox_CalculatedData->Controls->Add(this->label_Calc_ElapsedSecsDisplay);
  296. this->groupBox_CalculatedData->Controls->Add(this->label_Calc_ElpTime);
  297. this->groupBox_CalculatedData->Location = System::Drawing::Point(3, 3);
  298. this->groupBox_CalculatedData->Name = L"groupBox_CalculatedData";
  299. this->groupBox_CalculatedData->Size = System::Drawing::Size(232, 130);
  300. this->groupBox_CalculatedData->TabIndex = 17;
  301. this->groupBox_CalculatedData->TabStop = false;
  302. this->groupBox_CalculatedData->Text = L"Calculated Data";
  303. //
  304. // label_Calc_waitToggle
  305. //
  306. this->label_Calc_waitToggle->AutoSize = true;
  307. this->label_Calc_waitToggle->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 8.25F, System::Drawing::FontStyle::Italic,
  308. System::Drawing::GraphicsUnit::Point, static_cast<System::Byte>(0)));
  309. this->label_Calc_waitToggle->Location = System::Drawing::Point(37, 16);
  310. this->label_Calc_waitToggle->Name = L"label_Calc_waitToggle";
  311. this->label_Calc_waitToggle->Size = System::Drawing::Size(177, 13);
  312. this->label_Calc_waitToggle->TabIndex = 8;
  313. this->label_Calc_waitToggle->Text = L"Waiting for page toggle to change...";
  314. //
  315. // label_Calc_Cadence
  316. //
  317. this->label_Calc_Cadence->AutoSize = true;
  318. this->label_Calc_Cadence->Location = System::Drawing::Point(37, 36);
  319. this->label_Calc_Cadence->Name = L"label_Calc_Cadence";
  320. this->label_Calc_Cadence->Size = System::Drawing::Size(86, 13);
  321. this->label_Calc_Cadence->TabIndex = 1;
  322. this->label_Calc_Cadence->Text = L"Cadence (RPM):";
  323. //
  324. // label_Calc_CadenceDisplay
  325. //
  326. this->label_Calc_CadenceDisplay->AutoSize = true;
  327. this->label_Calc_CadenceDisplay->Location = System::Drawing::Point(129, 36);
  328. this->label_Calc_CadenceDisplay->Name = L"label_Calc_CadenceDisplay";
  329. this->label_Calc_CadenceDisplay->Size = System::Drawing::Size(16, 13);
  330. this->label_Calc_CadenceDisplay->TabIndex = 3;
  331. this->label_Calc_CadenceDisplay->Text = L"---";
  332. //
  333. // label_Calc_TotEventCountDisplay
  334. //
  335. this->label_Calc_TotEventCountDisplay->AutoSize = true;
  336. this->label_Calc_TotEventCountDisplay->Location = System::Drawing::Point(129, 61);
  337. this->label_Calc_TotEventCountDisplay->Name = L"label_Calc_TotEventCountDisplay";
  338. this->label_Calc_TotEventCountDisplay->Size = System::Drawing::Size(16, 13);
  339. this->label_Calc_TotEventCountDisplay->TabIndex = 2;
  340. this->label_Calc_TotEventCountDisplay->Text = L"---";
  341. //
  342. // label_Calc_TotEventCount
  343. //
  344. this->label_Calc_TotEventCount->AutoSize = true;
  345. this->label_Calc_TotEventCount->Location = System::Drawing::Point(27, 61);
  346. this->label_Calc_TotEventCount->Name = L"label_Calc_TotEventCount";
  347. this->label_Calc_TotEventCount->Size = System::Drawing::Size(96, 13);
  348. this->label_Calc_TotEventCount->TabIndex = 0;
  349. this->label_Calc_TotEventCount->Text = L"Total Event Count:";
  350. //
  351. // label_Calc_ElapsedSecsDisplay
  352. //
  353. this->label_Calc_ElapsedSecsDisplay->AutoSize = true;
  354. this->label_Calc_ElapsedSecsDisplay->Location = System::Drawing::Point(129, 87);
  355. this->label_Calc_ElapsedSecsDisplay->Name = L"label_Calc_ElapsedSecsDisplay";
  356. this->label_Calc_ElapsedSecsDisplay->Size = System::Drawing::Size(16, 13);
  357. this->label_Calc_ElapsedSecsDisplay->TabIndex = 7;
  358. this->label_Calc_ElapsedSecsDisplay->Text = L"---";
  359. //
  360. // label_Calc_ElpTime
  361. //
  362. this->label_Calc_ElpTime->AutoSize = true;
  363. this->label_Calc_ElpTime->Location = System::Drawing::Point(8, 87);
  364. this->label_Calc_ElpTime->Name = L"label_Calc_ElpTime";
  365. this->label_Calc_ElpTime->Size = System::Drawing::Size(115, 13);
  366. this->label_Calc_ElpTime->TabIndex = 0;
  367. this->label_Calc_ElpTime->Text = L"Total Elapsed Time (s):";
  368. //
  369. // panel_Display
  370. //
  371. this->panel_Display->BorderStyle = System::Windows::Forms::BorderStyle::Fixed3D;
  372. this->panel_Display->Controls->Add(this->label_Trn_EventCountDisplay);
  373. this->panel_Display->Controls->Add(this->label_Trn_EventCount);
  374. this->panel_Display->Controls->Add(this->label_Trn_TimeDisplay);
  375. this->panel_Display->Controls->Add(this->label_Trn_Time);
  376. this->panel_Display->Controls->Add(this->label_Trn_TranslatedDisplayLabel);
  377. this->panel_Display->Location = System::Drawing::Point(58, 188);
  378. this->panel_Display->Name = L"panel_Display";
  379. this->panel_Display->Size = System::Drawing::Size(200, 90);
  380. this->panel_Display->TabIndex = 1;
  381. //
  382. // label_Trn_EventCountDisplay
  383. //
  384. this->label_Trn_EventCountDisplay->AutoSize = true;
  385. this->label_Trn_EventCountDisplay->Location = System::Drawing::Point(141, 35);
  386. this->label_Trn_EventCountDisplay->Name = L"label_Trn_EventCountDisplay";
  387. this->label_Trn_EventCountDisplay->Size = System::Drawing::Size(16, 13);
  388. this->label_Trn_EventCountDisplay->TabIndex = 8;
  389. this->label_Trn_EventCountDisplay->Text = L"---";
  390. this->label_Trn_EventCountDisplay->TextAlign = System::Drawing::ContentAlignment::MiddleLeft;
  391. //
  392. // label_Trn_EventCount
  393. //
  394. this->label_Trn_EventCount->AutoSize = true;
  395. this->label_Trn_EventCount->Location = System::Drawing::Point(66, 35);
  396. this->label_Trn_EventCount->Name = L"label_Trn_EventCount";
  397. this->label_Trn_EventCount->Size = System::Drawing::Size(69, 13);
  398. this->label_Trn_EventCount->TabIndex = 7;
  399. this->label_Trn_EventCount->Text = L"Event Count:";
  400. this->label_Trn_EventCount->TextAlign = System::Drawing::ContentAlignment::MiddleRight;
  401. //
  402. // label_Trn_TimeDisplay
  403. //
  404. this->label_Trn_TimeDisplay->AutoSize = true;
  405. this->label_Trn_TimeDisplay->Location = System::Drawing::Point(141, 57);
  406. this->label_Trn_TimeDisplay->Name = L"label_Trn_TimeDisplay";
  407. this->label_Trn_TimeDisplay->Size = System::Drawing::Size(16, 13);
  408. this->label_Trn_TimeDisplay->TabIndex = 6;
  409. this->label_Trn_TimeDisplay->Text = L"---";
  410. this->label_Trn_TimeDisplay->TextAlign = System::Drawing::ContentAlignment::MiddleLeft;
  411. //
  412. // label_Trn_Time
  413. //
  414. this->label_Trn_Time->AutoSize = true;
  415. this->label_Trn_Time->Location = System::Drawing::Point(22, 57);
  416. this->label_Trn_Time->Name = L"label_Trn_Time";
  417. this->label_Trn_Time->Size = System::Drawing::Size(113, 13);
  418. this->label_Trn_Time->TabIndex = 5;
  419. this->label_Trn_Time->Text = L"Event Time (1/1024s):";
  420. this->label_Trn_Time->TextAlign = System::Drawing::ContentAlignment::MiddleRight;
  421. //
  422. // label_Trn_TranslatedDisplayLabel
  423. //
  424. this->label_Trn_TranslatedDisplayLabel->AutoSize = true;
  425. this->label_Trn_TranslatedDisplayLabel->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 8.25F, System::Drawing::FontStyle::Underline,
  426. System::Drawing::GraphicsUnit::Point, static_cast<System::Byte>(0)));
  427. this->label_Trn_TranslatedDisplayLabel->Location = System::Drawing::Point(2, 2);
  428. this->label_Trn_TranslatedDisplayLabel->Name = L"label_Trn_TranslatedDisplayLabel";
  429. this->label_Trn_TranslatedDisplayLabel->Size = System::Drawing::Size(181, 13);
  430. this->label_Trn_TranslatedDisplayLabel->TabIndex = 4;
  431. this->label_Trn_TranslatedDisplayLabel->Text = L"Current Bike Cadence Transmission :";
  432. //
  433. // label_Coasting
  434. //
  435. this->label_Coasting->AutoSize = true;
  436. this->label_Coasting->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 8.25F, System::Drawing::FontStyle::Bold, System::Drawing::GraphicsUnit::Point,
  437. static_cast<System::Byte>(0)));
  438. this->label_Coasting->ForeColor = System::Drawing::Color::Red;
  439. this->label_Coasting->Location = System::Drawing::Point(158, 36);
  440. this->label_Coasting->Name = L"label_Coasting";
  441. this->label_Coasting->Size = System::Drawing::Size(56, 13);
  442. this->label_Coasting->TabIndex = 23;
  443. this->label_Coasting->Text = L"Coasting";
  444. //
  445. // BikeCadenceDisplay
  446. //
  447. this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
  448. this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
  449. this->ClientSize = System::Drawing::Size(794, 351);
  450. this->Controls->Add(this->panel_Display);
  451. this->Controls->Add(this->panel_Settings);
  452. this->Name = L"BikeCadenceDisplay";
  453. this->Text = L"BikeCadenceDisplay";
  454. this->panel_Settings->ResumeLayout(false);
  455. this->groupBox2->ResumeLayout(false);
  456. this->groupBox2->PerformLayout();
  457. this->groupBox_CalculatedData->ResumeLayout(false);
  458. this->groupBox_CalculatedData->PerformLayout();
  459. this->panel_Display->ResumeLayout(false);
  460. this->panel_Display->PerformLayout();
  461. this->ResumeLayout(false);
  462. }
  463. #pragma endregion
  464. };