BikeSpeedDisplay.h 26 KB

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