MonitoringMesg.cs 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760
  1. #region Copyright
  2. ////////////////////////////////////////////////////////////////////////////////
  3. // The following FIT Protocol software provided may be used with FIT protocol
  4. // devices only and remains the copyrighted property of Dynastream Innovations Inc.
  5. // The software is being provided on an "as-is" basis and as an accommodation,
  6. // and therefore all warranties, representations, or guarantees of any kind
  7. // (whether express, implied or statutory) including, without limitation,
  8. // warranties of merchantability, non-infringement, or fitness for a particular
  9. // purpose, are specifically disclaimed.
  10. //
  11. // Copyright 2016 Dynastream Innovations Inc.
  12. ////////////////////////////////////////////////////////////////////////////////
  13. // ****WARNING**** This file is auto-generated! Do NOT edit this file.
  14. // Profile Version = 16.60Release
  15. // Tag = production-akw-16.60.00-0-g5d3d436
  16. ////////////////////////////////////////////////////////////////////////////////
  17. #endregion
  18. using System;
  19. using System.Collections.Generic;
  20. using System.Diagnostics;
  21. using System.Text;
  22. using System.IO;
  23. namespace Dynastream.Fit
  24. {
  25. /// <summary>
  26. /// Implements the Monitoring profile message.
  27. /// </summary>
  28. public class MonitoringMesg : Mesg
  29. {
  30. #region Fields
  31. static class CyclesSubfield
  32. {
  33. public static ushort Steps = 0;
  34. public static ushort Strokes = 1;
  35. public static ushort Subfields = 2;
  36. public static ushort Active = Fit.SubfieldIndexActiveSubfield;
  37. public static ushort MainField = Fit.SubfieldIndexMainField;
  38. }
  39. #endregion
  40. #region Constructors
  41. public MonitoringMesg() : base(Profile.GetMesg(MesgNum.Monitoring))
  42. {
  43. }
  44. public MonitoringMesg(Mesg mesg) : base(mesg)
  45. {
  46. }
  47. #endregion // Constructors
  48. #region Methods
  49. ///<summary>
  50. /// Retrieves the Timestamp field
  51. /// Units: s
  52. /// Comment: Must align to logging interval, for example, time must be 00:00:00 for daily log.</summary>
  53. /// <returns>Returns DateTime representing the Timestamp field</returns>
  54. public DateTime GetTimestamp()
  55. {
  56. return TimestampToDateTime((uint?)GetFieldValue(253, 0, Fit.SubfieldIndexMainField));
  57. }
  58. /// <summary>
  59. /// Set Timestamp field
  60. /// Units: s
  61. /// Comment: Must align to logging interval, for example, time must be 00:00:00 for daily log.</summary>
  62. /// <param name="timestamp_">Nullable field value to be set</param>
  63. public void SetTimestamp(DateTime timestamp_)
  64. {
  65. SetFieldValue(253, 0, timestamp_.GetTimeStamp(), Fit.SubfieldIndexMainField);
  66. }
  67. ///<summary>
  68. /// Retrieves the DeviceIndex field
  69. /// Comment: Associates this data to device_info message. Not required for file with single device (sensor).</summary>
  70. /// <returns>Returns nullable byte representing the DeviceIndex field</returns>
  71. public byte? GetDeviceIndex()
  72. {
  73. return (byte?)GetFieldValue(0, 0, Fit.SubfieldIndexMainField);
  74. }
  75. /// <summary>
  76. /// Set DeviceIndex field
  77. /// Comment: Associates this data to device_info message. Not required for file with single device (sensor).</summary>
  78. /// <param name="deviceIndex_">Nullable field value to be set</param>
  79. public void SetDeviceIndex(byte? deviceIndex_)
  80. {
  81. SetFieldValue(0, 0, deviceIndex_, Fit.SubfieldIndexMainField);
  82. }
  83. ///<summary>
  84. /// Retrieves the Calories field
  85. /// Units: kcal
  86. /// Comment: Accumulated total calories. Maintained by MonitoringReader for each activity_type. See SDK documentation</summary>
  87. /// <returns>Returns nullable ushort representing the Calories field</returns>
  88. public ushort? GetCalories()
  89. {
  90. return (ushort?)GetFieldValue(1, 0, Fit.SubfieldIndexMainField);
  91. }
  92. /// <summary>
  93. /// Set Calories field
  94. /// Units: kcal
  95. /// Comment: Accumulated total calories. Maintained by MonitoringReader for each activity_type. See SDK documentation</summary>
  96. /// <param name="calories_">Nullable field value to be set</param>
  97. public void SetCalories(ushort? calories_)
  98. {
  99. SetFieldValue(1, 0, calories_, Fit.SubfieldIndexMainField);
  100. }
  101. ///<summary>
  102. /// Retrieves the Distance field
  103. /// Units: m
  104. /// Comment: Accumulated distance. Maintained by MonitoringReader for each activity_type. See SDK documentation.</summary>
  105. /// <returns>Returns nullable float representing the Distance field</returns>
  106. public float? GetDistance()
  107. {
  108. return (float?)GetFieldValue(2, 0, Fit.SubfieldIndexMainField);
  109. }
  110. /// <summary>
  111. /// Set Distance field
  112. /// Units: m
  113. /// Comment: Accumulated distance. Maintained by MonitoringReader for each activity_type. See SDK documentation.</summary>
  114. /// <param name="distance_">Nullable field value to be set</param>
  115. public void SetDistance(float? distance_)
  116. {
  117. SetFieldValue(2, 0, distance_, Fit.SubfieldIndexMainField);
  118. }
  119. ///<summary>
  120. /// Retrieves the Cycles field
  121. /// Units: cycles
  122. /// Comment: Accumulated cycles. Maintained by MonitoringReader for each activity_type. See SDK documentation.</summary>
  123. /// <returns>Returns nullable float representing the Cycles field</returns>
  124. public float? GetCycles()
  125. {
  126. return (float?)GetFieldValue(3, 0, Fit.SubfieldIndexMainField);
  127. }
  128. /// <summary>
  129. /// Set Cycles field
  130. /// Units: cycles
  131. /// Comment: Accumulated cycles. Maintained by MonitoringReader for each activity_type. See SDK documentation.</summary>
  132. /// <param name="cycles_">Nullable field value to be set</param>
  133. public void SetCycles(float? cycles_)
  134. {
  135. SetFieldValue(3, 0, cycles_, Fit.SubfieldIndexMainField);
  136. }
  137. /// <summary>
  138. /// Retrieves the Steps subfield
  139. /// Units: steps</summary>
  140. /// <returns>Nullable uint representing the Steps subfield</returns>
  141. public uint? GetSteps()
  142. {
  143. return (uint?)GetFieldValue(3, 0, CyclesSubfield.Steps);
  144. }
  145. /// <summary>
  146. ///
  147. /// Set Steps subfield
  148. /// Units: steps</summary>
  149. /// <param name="steps">Subfield value to be set</param>
  150. public void SetSteps(uint? steps)
  151. {
  152. SetFieldValue(3, 0, steps, CyclesSubfield.Steps);
  153. }
  154. /// <summary>
  155. /// Retrieves the Strokes subfield
  156. /// Units: strokes</summary>
  157. /// <returns>Nullable float representing the Strokes subfield</returns>
  158. public float? GetStrokes()
  159. {
  160. return (float?)GetFieldValue(3, 0, CyclesSubfield.Strokes);
  161. }
  162. /// <summary>
  163. ///
  164. /// Set Strokes subfield
  165. /// Units: strokes</summary>
  166. /// <param name="strokes">Subfield value to be set</param>
  167. public void SetStrokes(float? strokes)
  168. {
  169. SetFieldValue(3, 0, strokes, CyclesSubfield.Strokes);
  170. }
  171. ///<summary>
  172. /// Retrieves the ActiveTime field
  173. /// Units: s</summary>
  174. /// <returns>Returns nullable float representing the ActiveTime field</returns>
  175. public float? GetActiveTime()
  176. {
  177. return (float?)GetFieldValue(4, 0, Fit.SubfieldIndexMainField);
  178. }
  179. /// <summary>
  180. /// Set ActiveTime field
  181. /// Units: s</summary>
  182. /// <param name="activeTime_">Nullable field value to be set</param>
  183. public void SetActiveTime(float? activeTime_)
  184. {
  185. SetFieldValue(4, 0, activeTime_, Fit.SubfieldIndexMainField);
  186. }
  187. ///<summary>
  188. /// Retrieves the ActivityType field</summary>
  189. /// <returns>Returns nullable ActivityType enum representing the ActivityType field</returns>
  190. public ActivityType? GetActivityType()
  191. {
  192. object obj = GetFieldValue(5, 0, Fit.SubfieldIndexMainField);
  193. ActivityType? value = obj == null ? (ActivityType?)null : (ActivityType)obj;
  194. return value;
  195. }
  196. /// <summary>
  197. /// Set ActivityType field</summary>
  198. /// <param name="activityType_">Nullable field value to be set</param>
  199. public void SetActivityType(ActivityType? activityType_)
  200. {
  201. SetFieldValue(5, 0, activityType_, Fit.SubfieldIndexMainField);
  202. }
  203. ///<summary>
  204. /// Retrieves the ActivitySubtype field</summary>
  205. /// <returns>Returns nullable ActivitySubtype enum representing the ActivitySubtype field</returns>
  206. public ActivitySubtype? GetActivitySubtype()
  207. {
  208. object obj = GetFieldValue(6, 0, Fit.SubfieldIndexMainField);
  209. ActivitySubtype? value = obj == null ? (ActivitySubtype?)null : (ActivitySubtype)obj;
  210. return value;
  211. }
  212. /// <summary>
  213. /// Set ActivitySubtype field</summary>
  214. /// <param name="activitySubtype_">Nullable field value to be set</param>
  215. public void SetActivitySubtype(ActivitySubtype? activitySubtype_)
  216. {
  217. SetFieldValue(6, 0, activitySubtype_, Fit.SubfieldIndexMainField);
  218. }
  219. ///<summary>
  220. /// Retrieves the ActivityLevel field</summary>
  221. /// <returns>Returns nullable ActivityLevel enum representing the ActivityLevel field</returns>
  222. public ActivityLevel? GetActivityLevel()
  223. {
  224. object obj = GetFieldValue(7, 0, Fit.SubfieldIndexMainField);
  225. ActivityLevel? value = obj == null ? (ActivityLevel?)null : (ActivityLevel)obj;
  226. return value;
  227. }
  228. /// <summary>
  229. /// Set ActivityLevel field</summary>
  230. /// <param name="activityLevel_">Nullable field value to be set</param>
  231. public void SetActivityLevel(ActivityLevel? activityLevel_)
  232. {
  233. SetFieldValue(7, 0, activityLevel_, Fit.SubfieldIndexMainField);
  234. }
  235. ///<summary>
  236. /// Retrieves the Distance16 field
  237. /// Units: 100 * m</summary>
  238. /// <returns>Returns nullable ushort representing the Distance16 field</returns>
  239. public ushort? GetDistance16()
  240. {
  241. return (ushort?)GetFieldValue(8, 0, Fit.SubfieldIndexMainField);
  242. }
  243. /// <summary>
  244. /// Set Distance16 field
  245. /// Units: 100 * m</summary>
  246. /// <param name="distance16_">Nullable field value to be set</param>
  247. public void SetDistance16(ushort? distance16_)
  248. {
  249. SetFieldValue(8, 0, distance16_, Fit.SubfieldIndexMainField);
  250. }
  251. ///<summary>
  252. /// Retrieves the Cycles16 field
  253. /// Units: 2 * cycles (steps)</summary>
  254. /// <returns>Returns nullable ushort representing the Cycles16 field</returns>
  255. public ushort? GetCycles16()
  256. {
  257. return (ushort?)GetFieldValue(9, 0, Fit.SubfieldIndexMainField);
  258. }
  259. /// <summary>
  260. /// Set Cycles16 field
  261. /// Units: 2 * cycles (steps)</summary>
  262. /// <param name="cycles16_">Nullable field value to be set</param>
  263. public void SetCycles16(ushort? cycles16_)
  264. {
  265. SetFieldValue(9, 0, cycles16_, Fit.SubfieldIndexMainField);
  266. }
  267. ///<summary>
  268. /// Retrieves the ActiveTime16 field
  269. /// Units: s</summary>
  270. /// <returns>Returns nullable ushort representing the ActiveTime16 field</returns>
  271. public ushort? GetActiveTime16()
  272. {
  273. return (ushort?)GetFieldValue(10, 0, Fit.SubfieldIndexMainField);
  274. }
  275. /// <summary>
  276. /// Set ActiveTime16 field
  277. /// Units: s</summary>
  278. /// <param name="activeTime16_">Nullable field value to be set</param>
  279. public void SetActiveTime16(ushort? activeTime16_)
  280. {
  281. SetFieldValue(10, 0, activeTime16_, Fit.SubfieldIndexMainField);
  282. }
  283. ///<summary>
  284. /// Retrieves the LocalTimestamp field
  285. /// Comment: Must align to logging interval, for example, time must be 00:00:00 for daily log.</summary>
  286. /// <returns>Returns nullable uint representing the LocalTimestamp field</returns>
  287. public uint? GetLocalTimestamp()
  288. {
  289. return (uint?)GetFieldValue(11, 0, Fit.SubfieldIndexMainField);
  290. }
  291. /// <summary>
  292. /// Set LocalTimestamp field
  293. /// Comment: Must align to logging interval, for example, time must be 00:00:00 for daily log.</summary>
  294. /// <param name="localTimestamp_">Nullable field value to be set</param>
  295. public void SetLocalTimestamp(uint? localTimestamp_)
  296. {
  297. SetFieldValue(11, 0, localTimestamp_, Fit.SubfieldIndexMainField);
  298. }
  299. ///<summary>
  300. /// Retrieves the Temperature field
  301. /// Units: C
  302. /// Comment: Avg temperature during the logging interval ended at timestamp</summary>
  303. /// <returns>Returns nullable float representing the Temperature field</returns>
  304. public float? GetTemperature()
  305. {
  306. return (float?)GetFieldValue(12, 0, Fit.SubfieldIndexMainField);
  307. }
  308. /// <summary>
  309. /// Set Temperature field
  310. /// Units: C
  311. /// Comment: Avg temperature during the logging interval ended at timestamp</summary>
  312. /// <param name="temperature_">Nullable field value to be set</param>
  313. public void SetTemperature(float? temperature_)
  314. {
  315. SetFieldValue(12, 0, temperature_, Fit.SubfieldIndexMainField);
  316. }
  317. ///<summary>
  318. /// Retrieves the TemperatureMin field
  319. /// Units: C
  320. /// Comment: Min temperature during the logging interval ended at timestamp</summary>
  321. /// <returns>Returns nullable float representing the TemperatureMin field</returns>
  322. public float? GetTemperatureMin()
  323. {
  324. return (float?)GetFieldValue(14, 0, Fit.SubfieldIndexMainField);
  325. }
  326. /// <summary>
  327. /// Set TemperatureMin field
  328. /// Units: C
  329. /// Comment: Min temperature during the logging interval ended at timestamp</summary>
  330. /// <param name="temperatureMin_">Nullable field value to be set</param>
  331. public void SetTemperatureMin(float? temperatureMin_)
  332. {
  333. SetFieldValue(14, 0, temperatureMin_, Fit.SubfieldIndexMainField);
  334. }
  335. ///<summary>
  336. /// Retrieves the TemperatureMax field
  337. /// Units: C
  338. /// Comment: Max temperature during the logging interval ended at timestamp</summary>
  339. /// <returns>Returns nullable float representing the TemperatureMax field</returns>
  340. public float? GetTemperatureMax()
  341. {
  342. return (float?)GetFieldValue(15, 0, Fit.SubfieldIndexMainField);
  343. }
  344. /// <summary>
  345. /// Set TemperatureMax field
  346. /// Units: C
  347. /// Comment: Max temperature during the logging interval ended at timestamp</summary>
  348. /// <param name="temperatureMax_">Nullable field value to be set</param>
  349. public void SetTemperatureMax(float? temperatureMax_)
  350. {
  351. SetFieldValue(15, 0, temperatureMax_, Fit.SubfieldIndexMainField);
  352. }
  353. /// <summary>
  354. ///
  355. /// </summary>
  356. /// <returns>returns number of elements in field ActivityTime</returns>
  357. public int GetNumActivityTime()
  358. {
  359. return GetNumFieldValues(16, Fit.SubfieldIndexMainField);
  360. }
  361. ///<summary>
  362. /// Retrieves the ActivityTime field
  363. /// Units: minutes
  364. /// Comment: Indexed using minute_activity_level enum</summary>
  365. /// <param name="index">0 based index of ActivityTime element to retrieve</param>
  366. /// <returns>Returns nullable ushort representing the ActivityTime field</returns>
  367. public ushort? GetActivityTime(int index)
  368. {
  369. return (ushort?)GetFieldValue(16, index, Fit.SubfieldIndexMainField);
  370. }
  371. /// <summary>
  372. /// Set ActivityTime field
  373. /// Units: minutes
  374. /// Comment: Indexed using minute_activity_level enum</summary>
  375. /// <param name="index">0 based index of activity_time</param>
  376. /// <param name="activityTime_">Nullable field value to be set</param>
  377. public void SetActivityTime(int index, ushort? activityTime_)
  378. {
  379. SetFieldValue(16, index, activityTime_, Fit.SubfieldIndexMainField);
  380. }
  381. ///<summary>
  382. /// Retrieves the ActiveCalories field
  383. /// Units: kcal</summary>
  384. /// <returns>Returns nullable ushort representing the ActiveCalories field</returns>
  385. public ushort? GetActiveCalories()
  386. {
  387. return (ushort?)GetFieldValue(19, 0, Fit.SubfieldIndexMainField);
  388. }
  389. /// <summary>
  390. /// Set ActiveCalories field
  391. /// Units: kcal</summary>
  392. /// <param name="activeCalories_">Nullable field value to be set</param>
  393. public void SetActiveCalories(ushort? activeCalories_)
  394. {
  395. SetFieldValue(19, 0, activeCalories_, Fit.SubfieldIndexMainField);
  396. }
  397. ///<summary>
  398. /// Retrieves the CurrentActivityTypeIntensity field
  399. /// Comment: Indicates single type / intensity for duration since last monitoring message.</summary>
  400. /// <returns>Returns nullable byte representing the CurrentActivityTypeIntensity field</returns>
  401. public byte? GetCurrentActivityTypeIntensity()
  402. {
  403. return (byte?)GetFieldValue(24, 0, Fit.SubfieldIndexMainField);
  404. }
  405. /// <summary>
  406. /// Set CurrentActivityTypeIntensity field
  407. /// Comment: Indicates single type / intensity for duration since last monitoring message.</summary>
  408. /// <param name="currentActivityTypeIntensity_">Nullable field value to be set</param>
  409. public void SetCurrentActivityTypeIntensity(byte? currentActivityTypeIntensity_)
  410. {
  411. SetFieldValue(24, 0, currentActivityTypeIntensity_, Fit.SubfieldIndexMainField);
  412. }
  413. ///<summary>
  414. /// Retrieves the TimestampMin8 field
  415. /// Units: min</summary>
  416. /// <returns>Returns nullable byte representing the TimestampMin8 field</returns>
  417. public byte? GetTimestampMin8()
  418. {
  419. return (byte?)GetFieldValue(25, 0, Fit.SubfieldIndexMainField);
  420. }
  421. /// <summary>
  422. /// Set TimestampMin8 field
  423. /// Units: min</summary>
  424. /// <param name="timestampMin8_">Nullable field value to be set</param>
  425. public void SetTimestampMin8(byte? timestampMin8_)
  426. {
  427. SetFieldValue(25, 0, timestampMin8_, Fit.SubfieldIndexMainField);
  428. }
  429. ///<summary>
  430. /// Retrieves the Timestamp16 field
  431. /// Units: s</summary>
  432. /// <returns>Returns nullable ushort representing the Timestamp16 field</returns>
  433. public ushort? GetTimestamp16()
  434. {
  435. return (ushort?)GetFieldValue(26, 0, Fit.SubfieldIndexMainField);
  436. }
  437. /// <summary>
  438. /// Set Timestamp16 field
  439. /// Units: s</summary>
  440. /// <param name="timestamp16_">Nullable field value to be set</param>
  441. public void SetTimestamp16(ushort? timestamp16_)
  442. {
  443. SetFieldValue(26, 0, timestamp16_, Fit.SubfieldIndexMainField);
  444. }
  445. ///<summary>
  446. /// Retrieves the HeartRate field
  447. /// Units: bpm</summary>
  448. /// <returns>Returns nullable byte representing the HeartRate field</returns>
  449. public byte? GetHeartRate()
  450. {
  451. return (byte?)GetFieldValue(27, 0, Fit.SubfieldIndexMainField);
  452. }
  453. /// <summary>
  454. /// Set HeartRate field
  455. /// Units: bpm</summary>
  456. /// <param name="heartRate_">Nullable field value to be set</param>
  457. public void SetHeartRate(byte? heartRate_)
  458. {
  459. SetFieldValue(27, 0, heartRate_, Fit.SubfieldIndexMainField);
  460. }
  461. ///<summary>
  462. /// Retrieves the Intensity field</summary>
  463. /// <returns>Returns nullable float representing the Intensity field</returns>
  464. public float? GetIntensity()
  465. {
  466. return (float?)GetFieldValue(28, 0, Fit.SubfieldIndexMainField);
  467. }
  468. /// <summary>
  469. /// Set Intensity field</summary>
  470. /// <param name="intensity_">Nullable field value to be set</param>
  471. public void SetIntensity(float? intensity_)
  472. {
  473. SetFieldValue(28, 0, intensity_, Fit.SubfieldIndexMainField);
  474. }
  475. ///<summary>
  476. /// Retrieves the DurationMin field
  477. /// Units: min</summary>
  478. /// <returns>Returns nullable ushort representing the DurationMin field</returns>
  479. public ushort? GetDurationMin()
  480. {
  481. return (ushort?)GetFieldValue(29, 0, Fit.SubfieldIndexMainField);
  482. }
  483. /// <summary>
  484. /// Set DurationMin field
  485. /// Units: min</summary>
  486. /// <param name="durationMin_">Nullable field value to be set</param>
  487. public void SetDurationMin(ushort? durationMin_)
  488. {
  489. SetFieldValue(29, 0, durationMin_, Fit.SubfieldIndexMainField);
  490. }
  491. ///<summary>
  492. /// Retrieves the Duration field
  493. /// Units: s</summary>
  494. /// <returns>Returns nullable uint representing the Duration field</returns>
  495. public uint? GetDuration()
  496. {
  497. return (uint?)GetFieldValue(30, 0, Fit.SubfieldIndexMainField);
  498. }
  499. /// <summary>
  500. /// Set Duration field
  501. /// Units: s</summary>
  502. /// <param name="duration_">Nullable field value to be set</param>
  503. public void SetDuration(uint? duration_)
  504. {
  505. SetFieldValue(30, 0, duration_, Fit.SubfieldIndexMainField);
  506. }
  507. ///<summary>
  508. /// Retrieves the Ascent field
  509. /// Units: m</summary>
  510. /// <returns>Returns nullable float representing the Ascent field</returns>
  511. public float? GetAscent()
  512. {
  513. return (float?)GetFieldValue(31, 0, Fit.SubfieldIndexMainField);
  514. }
  515. /// <summary>
  516. /// Set Ascent field
  517. /// Units: m</summary>
  518. /// <param name="ascent_">Nullable field value to be set</param>
  519. public void SetAscent(float? ascent_)
  520. {
  521. SetFieldValue(31, 0, ascent_, Fit.SubfieldIndexMainField);
  522. }
  523. ///<summary>
  524. /// Retrieves the Descent field
  525. /// Units: m</summary>
  526. /// <returns>Returns nullable float representing the Descent field</returns>
  527. public float? GetDescent()
  528. {
  529. return (float?)GetFieldValue(32, 0, Fit.SubfieldIndexMainField);
  530. }
  531. /// <summary>
  532. /// Set Descent field
  533. /// Units: m</summary>
  534. /// <param name="descent_">Nullable field value to be set</param>
  535. public void SetDescent(float? descent_)
  536. {
  537. SetFieldValue(32, 0, descent_, Fit.SubfieldIndexMainField);
  538. }
  539. ///<summary>
  540. /// Retrieves the ModerateActivityMinutes field
  541. /// Units: minutes</summary>
  542. /// <returns>Returns nullable ushort representing the ModerateActivityMinutes field</returns>
  543. public ushort? GetModerateActivityMinutes()
  544. {
  545. return (ushort?)GetFieldValue(33, 0, Fit.SubfieldIndexMainField);
  546. }
  547. /// <summary>
  548. /// Set ModerateActivityMinutes field
  549. /// Units: minutes</summary>
  550. /// <param name="moderateActivityMinutes_">Nullable field value to be set</param>
  551. public void SetModerateActivityMinutes(ushort? moderateActivityMinutes_)
  552. {
  553. SetFieldValue(33, 0, moderateActivityMinutes_, Fit.SubfieldIndexMainField);
  554. }
  555. ///<summary>
  556. /// Retrieves the VigorousActivityMinutes field
  557. /// Units: minutes</summary>
  558. /// <returns>Returns nullable ushort representing the VigorousActivityMinutes field</returns>
  559. public ushort? GetVigorousActivityMinutes()
  560. {
  561. return (ushort?)GetFieldValue(34, 0, Fit.SubfieldIndexMainField);
  562. }
  563. /// <summary>
  564. /// Set VigorousActivityMinutes field
  565. /// Units: minutes</summary>
  566. /// <param name="vigorousActivityMinutes_">Nullable field value to be set</param>
  567. public void SetVigorousActivityMinutes(ushort? vigorousActivityMinutes_)
  568. {
  569. SetFieldValue(34, 0, vigorousActivityMinutes_, Fit.SubfieldIndexMainField);
  570. }
  571. #endregion // Methods
  572. } // Class
  573. } // namespace