SegmentLapMesg.cs 70 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150
  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 SegmentLap profile message.
  27. /// </summary>
  28. public class SegmentLapMesg : Mesg
  29. {
  30. #region Fields
  31. static class TotalCyclesSubfield
  32. {
  33. public static ushort TotalStrokes = 0;
  34. public static ushort Subfields = 1;
  35. public static ushort Active = Fit.SubfieldIndexActiveSubfield;
  36. public static ushort MainField = Fit.SubfieldIndexMainField;
  37. }
  38. #endregion
  39. #region Constructors
  40. public SegmentLapMesg() : base(Profile.GetMesg(MesgNum.SegmentLap))
  41. {
  42. }
  43. public SegmentLapMesg(Mesg mesg) : base(mesg)
  44. {
  45. }
  46. #endregion // Constructors
  47. #region Methods
  48. ///<summary>
  49. /// Retrieves the MessageIndex field</summary>
  50. /// <returns>Returns nullable ushort representing the MessageIndex field</returns>
  51. public ushort? GetMessageIndex()
  52. {
  53. return (ushort?)GetFieldValue(254, 0, Fit.SubfieldIndexMainField);
  54. }
  55. /// <summary>
  56. /// Set MessageIndex field</summary>
  57. /// <param name="messageIndex_">Nullable field value to be set</param>
  58. public void SetMessageIndex(ushort? messageIndex_)
  59. {
  60. SetFieldValue(254, 0, messageIndex_, Fit.SubfieldIndexMainField);
  61. }
  62. ///<summary>
  63. /// Retrieves the Timestamp field
  64. /// Units: s
  65. /// Comment: Lap end time.</summary>
  66. /// <returns>Returns DateTime representing the Timestamp field</returns>
  67. public DateTime GetTimestamp()
  68. {
  69. return TimestampToDateTime((uint?)GetFieldValue(253, 0, Fit.SubfieldIndexMainField));
  70. }
  71. /// <summary>
  72. /// Set Timestamp field
  73. /// Units: s
  74. /// Comment: Lap end time.</summary>
  75. /// <param name="timestamp_">Nullable field value to be set</param>
  76. public void SetTimestamp(DateTime timestamp_)
  77. {
  78. SetFieldValue(253, 0, timestamp_.GetTimeStamp(), Fit.SubfieldIndexMainField);
  79. }
  80. ///<summary>
  81. /// Retrieves the Event field</summary>
  82. /// <returns>Returns nullable Event enum representing the Event field</returns>
  83. public Event? GetEvent()
  84. {
  85. object obj = GetFieldValue(0, 0, Fit.SubfieldIndexMainField);
  86. Event? value = obj == null ? (Event?)null : (Event)obj;
  87. return value;
  88. }
  89. /// <summary>
  90. /// Set Event field</summary>
  91. /// <param name="event_">Nullable field value to be set</param>
  92. public void SetEvent(Event? event_)
  93. {
  94. SetFieldValue(0, 0, event_, Fit.SubfieldIndexMainField);
  95. }
  96. ///<summary>
  97. /// Retrieves the EventType field</summary>
  98. /// <returns>Returns nullable EventType enum representing the EventType field</returns>
  99. public EventType? GetEventType()
  100. {
  101. object obj = GetFieldValue(1, 0, Fit.SubfieldIndexMainField);
  102. EventType? value = obj == null ? (EventType?)null : (EventType)obj;
  103. return value;
  104. }
  105. /// <summary>
  106. /// Set EventType field</summary>
  107. /// <param name="eventType_">Nullable field value to be set</param>
  108. public void SetEventType(EventType? eventType_)
  109. {
  110. SetFieldValue(1, 0, eventType_, Fit.SubfieldIndexMainField);
  111. }
  112. ///<summary>
  113. /// Retrieves the StartTime field</summary>
  114. /// <returns>Returns DateTime representing the StartTime field</returns>
  115. public DateTime GetStartTime()
  116. {
  117. return TimestampToDateTime((uint?)GetFieldValue(2, 0, Fit.SubfieldIndexMainField));
  118. }
  119. /// <summary>
  120. /// Set StartTime field</summary>
  121. /// <param name="startTime_">Nullable field value to be set</param>
  122. public void SetStartTime(DateTime startTime_)
  123. {
  124. SetFieldValue(2, 0, startTime_.GetTimeStamp(), Fit.SubfieldIndexMainField);
  125. }
  126. ///<summary>
  127. /// Retrieves the StartPositionLat field
  128. /// Units: semicircles</summary>
  129. /// <returns>Returns nullable int representing the StartPositionLat field</returns>
  130. public int? GetStartPositionLat()
  131. {
  132. return (int?)GetFieldValue(3, 0, Fit.SubfieldIndexMainField);
  133. }
  134. /// <summary>
  135. /// Set StartPositionLat field
  136. /// Units: semicircles</summary>
  137. /// <param name="startPositionLat_">Nullable field value to be set</param>
  138. public void SetStartPositionLat(int? startPositionLat_)
  139. {
  140. SetFieldValue(3, 0, startPositionLat_, Fit.SubfieldIndexMainField);
  141. }
  142. ///<summary>
  143. /// Retrieves the StartPositionLong field
  144. /// Units: semicircles</summary>
  145. /// <returns>Returns nullable int representing the StartPositionLong field</returns>
  146. public int? GetStartPositionLong()
  147. {
  148. return (int?)GetFieldValue(4, 0, Fit.SubfieldIndexMainField);
  149. }
  150. /// <summary>
  151. /// Set StartPositionLong field
  152. /// Units: semicircles</summary>
  153. /// <param name="startPositionLong_">Nullable field value to be set</param>
  154. public void SetStartPositionLong(int? startPositionLong_)
  155. {
  156. SetFieldValue(4, 0, startPositionLong_, Fit.SubfieldIndexMainField);
  157. }
  158. ///<summary>
  159. /// Retrieves the EndPositionLat field
  160. /// Units: semicircles</summary>
  161. /// <returns>Returns nullable int representing the EndPositionLat field</returns>
  162. public int? GetEndPositionLat()
  163. {
  164. return (int?)GetFieldValue(5, 0, Fit.SubfieldIndexMainField);
  165. }
  166. /// <summary>
  167. /// Set EndPositionLat field
  168. /// Units: semicircles</summary>
  169. /// <param name="endPositionLat_">Nullable field value to be set</param>
  170. public void SetEndPositionLat(int? endPositionLat_)
  171. {
  172. SetFieldValue(5, 0, endPositionLat_, Fit.SubfieldIndexMainField);
  173. }
  174. ///<summary>
  175. /// Retrieves the EndPositionLong field
  176. /// Units: semicircles</summary>
  177. /// <returns>Returns nullable int representing the EndPositionLong field</returns>
  178. public int? GetEndPositionLong()
  179. {
  180. return (int?)GetFieldValue(6, 0, Fit.SubfieldIndexMainField);
  181. }
  182. /// <summary>
  183. /// Set EndPositionLong field
  184. /// Units: semicircles</summary>
  185. /// <param name="endPositionLong_">Nullable field value to be set</param>
  186. public void SetEndPositionLong(int? endPositionLong_)
  187. {
  188. SetFieldValue(6, 0, endPositionLong_, Fit.SubfieldIndexMainField);
  189. }
  190. ///<summary>
  191. /// Retrieves the TotalElapsedTime field
  192. /// Units: s
  193. /// Comment: Time (includes pauses)</summary>
  194. /// <returns>Returns nullable float representing the TotalElapsedTime field</returns>
  195. public float? GetTotalElapsedTime()
  196. {
  197. return (float?)GetFieldValue(7, 0, Fit.SubfieldIndexMainField);
  198. }
  199. /// <summary>
  200. /// Set TotalElapsedTime field
  201. /// Units: s
  202. /// Comment: Time (includes pauses)</summary>
  203. /// <param name="totalElapsedTime_">Nullable field value to be set</param>
  204. public void SetTotalElapsedTime(float? totalElapsedTime_)
  205. {
  206. SetFieldValue(7, 0, totalElapsedTime_, Fit.SubfieldIndexMainField);
  207. }
  208. ///<summary>
  209. /// Retrieves the TotalTimerTime field
  210. /// Units: s
  211. /// Comment: Timer Time (excludes pauses)</summary>
  212. /// <returns>Returns nullable float representing the TotalTimerTime field</returns>
  213. public float? GetTotalTimerTime()
  214. {
  215. return (float?)GetFieldValue(8, 0, Fit.SubfieldIndexMainField);
  216. }
  217. /// <summary>
  218. /// Set TotalTimerTime field
  219. /// Units: s
  220. /// Comment: Timer Time (excludes pauses)</summary>
  221. /// <param name="totalTimerTime_">Nullable field value to be set</param>
  222. public void SetTotalTimerTime(float? totalTimerTime_)
  223. {
  224. SetFieldValue(8, 0, totalTimerTime_, Fit.SubfieldIndexMainField);
  225. }
  226. ///<summary>
  227. /// Retrieves the TotalDistance field
  228. /// Units: m</summary>
  229. /// <returns>Returns nullable float representing the TotalDistance field</returns>
  230. public float? GetTotalDistance()
  231. {
  232. return (float?)GetFieldValue(9, 0, Fit.SubfieldIndexMainField);
  233. }
  234. /// <summary>
  235. /// Set TotalDistance field
  236. /// Units: m</summary>
  237. /// <param name="totalDistance_">Nullable field value to be set</param>
  238. public void SetTotalDistance(float? totalDistance_)
  239. {
  240. SetFieldValue(9, 0, totalDistance_, Fit.SubfieldIndexMainField);
  241. }
  242. ///<summary>
  243. /// Retrieves the TotalCycles field
  244. /// Units: cycles</summary>
  245. /// <returns>Returns nullable uint representing the TotalCycles field</returns>
  246. public uint? GetTotalCycles()
  247. {
  248. return (uint?)GetFieldValue(10, 0, Fit.SubfieldIndexMainField);
  249. }
  250. /// <summary>
  251. /// Set TotalCycles field
  252. /// Units: cycles</summary>
  253. /// <param name="totalCycles_">Nullable field value to be set</param>
  254. public void SetTotalCycles(uint? totalCycles_)
  255. {
  256. SetFieldValue(10, 0, totalCycles_, Fit.SubfieldIndexMainField);
  257. }
  258. /// <summary>
  259. /// Retrieves the TotalStrokes subfield
  260. /// Units: strokes</summary>
  261. /// <returns>Nullable uint representing the TotalStrokes subfield</returns>
  262. public uint? GetTotalStrokes()
  263. {
  264. return (uint?)GetFieldValue(10, 0, TotalCyclesSubfield.TotalStrokes);
  265. }
  266. /// <summary>
  267. ///
  268. /// Set TotalStrokes subfield
  269. /// Units: strokes</summary>
  270. /// <param name="totalStrokes">Subfield value to be set</param>
  271. public void SetTotalStrokes(uint? totalStrokes)
  272. {
  273. SetFieldValue(10, 0, totalStrokes, TotalCyclesSubfield.TotalStrokes);
  274. }
  275. ///<summary>
  276. /// Retrieves the TotalCalories field
  277. /// Units: kcal</summary>
  278. /// <returns>Returns nullable ushort representing the TotalCalories field</returns>
  279. public ushort? GetTotalCalories()
  280. {
  281. return (ushort?)GetFieldValue(11, 0, Fit.SubfieldIndexMainField);
  282. }
  283. /// <summary>
  284. /// Set TotalCalories field
  285. /// Units: kcal</summary>
  286. /// <param name="totalCalories_">Nullable field value to be set</param>
  287. public void SetTotalCalories(ushort? totalCalories_)
  288. {
  289. SetFieldValue(11, 0, totalCalories_, Fit.SubfieldIndexMainField);
  290. }
  291. ///<summary>
  292. /// Retrieves the TotalFatCalories field
  293. /// Units: kcal
  294. /// Comment: If New Leaf</summary>
  295. /// <returns>Returns nullable ushort representing the TotalFatCalories field</returns>
  296. public ushort? GetTotalFatCalories()
  297. {
  298. return (ushort?)GetFieldValue(12, 0, Fit.SubfieldIndexMainField);
  299. }
  300. /// <summary>
  301. /// Set TotalFatCalories field
  302. /// Units: kcal
  303. /// Comment: If New Leaf</summary>
  304. /// <param name="totalFatCalories_">Nullable field value to be set</param>
  305. public void SetTotalFatCalories(ushort? totalFatCalories_)
  306. {
  307. SetFieldValue(12, 0, totalFatCalories_, Fit.SubfieldIndexMainField);
  308. }
  309. ///<summary>
  310. /// Retrieves the AvgSpeed field
  311. /// Units: m/s</summary>
  312. /// <returns>Returns nullable float representing the AvgSpeed field</returns>
  313. public float? GetAvgSpeed()
  314. {
  315. return (float?)GetFieldValue(13, 0, Fit.SubfieldIndexMainField);
  316. }
  317. /// <summary>
  318. /// Set AvgSpeed field
  319. /// Units: m/s</summary>
  320. /// <param name="avgSpeed_">Nullable field value to be set</param>
  321. public void SetAvgSpeed(float? avgSpeed_)
  322. {
  323. SetFieldValue(13, 0, avgSpeed_, Fit.SubfieldIndexMainField);
  324. }
  325. ///<summary>
  326. /// Retrieves the MaxSpeed field
  327. /// Units: m/s</summary>
  328. /// <returns>Returns nullable float representing the MaxSpeed field</returns>
  329. public float? GetMaxSpeed()
  330. {
  331. return (float?)GetFieldValue(14, 0, Fit.SubfieldIndexMainField);
  332. }
  333. /// <summary>
  334. /// Set MaxSpeed field
  335. /// Units: m/s</summary>
  336. /// <param name="maxSpeed_">Nullable field value to be set</param>
  337. public void SetMaxSpeed(float? maxSpeed_)
  338. {
  339. SetFieldValue(14, 0, maxSpeed_, Fit.SubfieldIndexMainField);
  340. }
  341. ///<summary>
  342. /// Retrieves the AvgHeartRate field
  343. /// Units: bpm</summary>
  344. /// <returns>Returns nullable byte representing the AvgHeartRate field</returns>
  345. public byte? GetAvgHeartRate()
  346. {
  347. return (byte?)GetFieldValue(15, 0, Fit.SubfieldIndexMainField);
  348. }
  349. /// <summary>
  350. /// Set AvgHeartRate field
  351. /// Units: bpm</summary>
  352. /// <param name="avgHeartRate_">Nullable field value to be set</param>
  353. public void SetAvgHeartRate(byte? avgHeartRate_)
  354. {
  355. SetFieldValue(15, 0, avgHeartRate_, Fit.SubfieldIndexMainField);
  356. }
  357. ///<summary>
  358. /// Retrieves the MaxHeartRate field
  359. /// Units: bpm</summary>
  360. /// <returns>Returns nullable byte representing the MaxHeartRate field</returns>
  361. public byte? GetMaxHeartRate()
  362. {
  363. return (byte?)GetFieldValue(16, 0, Fit.SubfieldIndexMainField);
  364. }
  365. /// <summary>
  366. /// Set MaxHeartRate field
  367. /// Units: bpm</summary>
  368. /// <param name="maxHeartRate_">Nullable field value to be set</param>
  369. public void SetMaxHeartRate(byte? maxHeartRate_)
  370. {
  371. SetFieldValue(16, 0, maxHeartRate_, Fit.SubfieldIndexMainField);
  372. }
  373. ///<summary>
  374. /// Retrieves the AvgCadence field
  375. /// Units: rpm
  376. /// Comment: total_cycles / total_timer_time if non_zero_avg_cadence otherwise total_cycles / total_elapsed_time</summary>
  377. /// <returns>Returns nullable byte representing the AvgCadence field</returns>
  378. public byte? GetAvgCadence()
  379. {
  380. return (byte?)GetFieldValue(17, 0, Fit.SubfieldIndexMainField);
  381. }
  382. /// <summary>
  383. /// Set AvgCadence field
  384. /// Units: rpm
  385. /// Comment: total_cycles / total_timer_time if non_zero_avg_cadence otherwise total_cycles / total_elapsed_time</summary>
  386. /// <param name="avgCadence_">Nullable field value to be set</param>
  387. public void SetAvgCadence(byte? avgCadence_)
  388. {
  389. SetFieldValue(17, 0, avgCadence_, Fit.SubfieldIndexMainField);
  390. }
  391. ///<summary>
  392. /// Retrieves the MaxCadence field
  393. /// Units: rpm</summary>
  394. /// <returns>Returns nullable byte representing the MaxCadence field</returns>
  395. public byte? GetMaxCadence()
  396. {
  397. return (byte?)GetFieldValue(18, 0, Fit.SubfieldIndexMainField);
  398. }
  399. /// <summary>
  400. /// Set MaxCadence field
  401. /// Units: rpm</summary>
  402. /// <param name="maxCadence_">Nullable field value to be set</param>
  403. public void SetMaxCadence(byte? maxCadence_)
  404. {
  405. SetFieldValue(18, 0, maxCadence_, Fit.SubfieldIndexMainField);
  406. }
  407. ///<summary>
  408. /// Retrieves the AvgPower field
  409. /// Units: watts
  410. /// Comment: total_power / total_timer_time if non_zero_avg_power otherwise total_power / total_elapsed_time</summary>
  411. /// <returns>Returns nullable ushort representing the AvgPower field</returns>
  412. public ushort? GetAvgPower()
  413. {
  414. return (ushort?)GetFieldValue(19, 0, Fit.SubfieldIndexMainField);
  415. }
  416. /// <summary>
  417. /// Set AvgPower field
  418. /// Units: watts
  419. /// Comment: total_power / total_timer_time if non_zero_avg_power otherwise total_power / total_elapsed_time</summary>
  420. /// <param name="avgPower_">Nullable field value to be set</param>
  421. public void SetAvgPower(ushort? avgPower_)
  422. {
  423. SetFieldValue(19, 0, avgPower_, Fit.SubfieldIndexMainField);
  424. }
  425. ///<summary>
  426. /// Retrieves the MaxPower field
  427. /// Units: watts</summary>
  428. /// <returns>Returns nullable ushort representing the MaxPower field</returns>
  429. public ushort? GetMaxPower()
  430. {
  431. return (ushort?)GetFieldValue(20, 0, Fit.SubfieldIndexMainField);
  432. }
  433. /// <summary>
  434. /// Set MaxPower field
  435. /// Units: watts</summary>
  436. /// <param name="maxPower_">Nullable field value to be set</param>
  437. public void SetMaxPower(ushort? maxPower_)
  438. {
  439. SetFieldValue(20, 0, maxPower_, Fit.SubfieldIndexMainField);
  440. }
  441. ///<summary>
  442. /// Retrieves the TotalAscent field
  443. /// Units: m</summary>
  444. /// <returns>Returns nullable ushort representing the TotalAscent field</returns>
  445. public ushort? GetTotalAscent()
  446. {
  447. return (ushort?)GetFieldValue(21, 0, Fit.SubfieldIndexMainField);
  448. }
  449. /// <summary>
  450. /// Set TotalAscent field
  451. /// Units: m</summary>
  452. /// <param name="totalAscent_">Nullable field value to be set</param>
  453. public void SetTotalAscent(ushort? totalAscent_)
  454. {
  455. SetFieldValue(21, 0, totalAscent_, Fit.SubfieldIndexMainField);
  456. }
  457. ///<summary>
  458. /// Retrieves the TotalDescent field
  459. /// Units: m</summary>
  460. /// <returns>Returns nullable ushort representing the TotalDescent field</returns>
  461. public ushort? GetTotalDescent()
  462. {
  463. return (ushort?)GetFieldValue(22, 0, Fit.SubfieldIndexMainField);
  464. }
  465. /// <summary>
  466. /// Set TotalDescent field
  467. /// Units: m</summary>
  468. /// <param name="totalDescent_">Nullable field value to be set</param>
  469. public void SetTotalDescent(ushort? totalDescent_)
  470. {
  471. SetFieldValue(22, 0, totalDescent_, Fit.SubfieldIndexMainField);
  472. }
  473. ///<summary>
  474. /// Retrieves the Sport field</summary>
  475. /// <returns>Returns nullable Sport enum representing the Sport field</returns>
  476. public Sport? GetSport()
  477. {
  478. object obj = GetFieldValue(23, 0, Fit.SubfieldIndexMainField);
  479. Sport? value = obj == null ? (Sport?)null : (Sport)obj;
  480. return value;
  481. }
  482. /// <summary>
  483. /// Set Sport field</summary>
  484. /// <param name="sport_">Nullable field value to be set</param>
  485. public void SetSport(Sport? sport_)
  486. {
  487. SetFieldValue(23, 0, sport_, Fit.SubfieldIndexMainField);
  488. }
  489. ///<summary>
  490. /// Retrieves the EventGroup field</summary>
  491. /// <returns>Returns nullable byte representing the EventGroup field</returns>
  492. public byte? GetEventGroup()
  493. {
  494. return (byte?)GetFieldValue(24, 0, Fit.SubfieldIndexMainField);
  495. }
  496. /// <summary>
  497. /// Set EventGroup field</summary>
  498. /// <param name="eventGroup_">Nullable field value to be set</param>
  499. public void SetEventGroup(byte? eventGroup_)
  500. {
  501. SetFieldValue(24, 0, eventGroup_, Fit.SubfieldIndexMainField);
  502. }
  503. ///<summary>
  504. /// Retrieves the NecLat field
  505. /// Units: semicircles
  506. /// Comment: North east corner latitude.</summary>
  507. /// <returns>Returns nullable int representing the NecLat field</returns>
  508. public int? GetNecLat()
  509. {
  510. return (int?)GetFieldValue(25, 0, Fit.SubfieldIndexMainField);
  511. }
  512. /// <summary>
  513. /// Set NecLat field
  514. /// Units: semicircles
  515. /// Comment: North east corner latitude.</summary>
  516. /// <param name="necLat_">Nullable field value to be set</param>
  517. public void SetNecLat(int? necLat_)
  518. {
  519. SetFieldValue(25, 0, necLat_, Fit.SubfieldIndexMainField);
  520. }
  521. ///<summary>
  522. /// Retrieves the NecLong field
  523. /// Units: semicircles
  524. /// Comment: North east corner longitude.</summary>
  525. /// <returns>Returns nullable int representing the NecLong field</returns>
  526. public int? GetNecLong()
  527. {
  528. return (int?)GetFieldValue(26, 0, Fit.SubfieldIndexMainField);
  529. }
  530. /// <summary>
  531. /// Set NecLong field
  532. /// Units: semicircles
  533. /// Comment: North east corner longitude.</summary>
  534. /// <param name="necLong_">Nullable field value to be set</param>
  535. public void SetNecLong(int? necLong_)
  536. {
  537. SetFieldValue(26, 0, necLong_, Fit.SubfieldIndexMainField);
  538. }
  539. ///<summary>
  540. /// Retrieves the SwcLat field
  541. /// Units: semicircles
  542. /// Comment: South west corner latitude.</summary>
  543. /// <returns>Returns nullable int representing the SwcLat field</returns>
  544. public int? GetSwcLat()
  545. {
  546. return (int?)GetFieldValue(27, 0, Fit.SubfieldIndexMainField);
  547. }
  548. /// <summary>
  549. /// Set SwcLat field
  550. /// Units: semicircles
  551. /// Comment: South west corner latitude.</summary>
  552. /// <param name="swcLat_">Nullable field value to be set</param>
  553. public void SetSwcLat(int? swcLat_)
  554. {
  555. SetFieldValue(27, 0, swcLat_, Fit.SubfieldIndexMainField);
  556. }
  557. ///<summary>
  558. /// Retrieves the SwcLong field
  559. /// Units: semicircles
  560. /// Comment: South west corner latitude.</summary>
  561. /// <returns>Returns nullable int representing the SwcLong field</returns>
  562. public int? GetSwcLong()
  563. {
  564. return (int?)GetFieldValue(28, 0, Fit.SubfieldIndexMainField);
  565. }
  566. /// <summary>
  567. /// Set SwcLong field
  568. /// Units: semicircles
  569. /// Comment: South west corner latitude.</summary>
  570. /// <param name="swcLong_">Nullable field value to be set</param>
  571. public void SetSwcLong(int? swcLong_)
  572. {
  573. SetFieldValue(28, 0, swcLong_, Fit.SubfieldIndexMainField);
  574. }
  575. ///<summary>
  576. /// Retrieves the Name field</summary>
  577. /// <returns>Returns byte[] representing the Name field</returns>
  578. public byte[] GetName()
  579. {
  580. return (byte[])GetFieldValue(29, 0, Fit.SubfieldIndexMainField);
  581. }
  582. ///<summary>
  583. /// Retrieves the Name field</summary>
  584. /// <returns>Returns String representing the Name field</returns>
  585. public String GetNameAsString()
  586. {
  587. return Encoding.UTF8.GetString((byte[])GetFieldValue(29, 0, Fit.SubfieldIndexMainField));
  588. }
  589. ///<summary>
  590. /// Set Name field</summary>
  591. /// <param name="name_"> field value to be set</param>
  592. public void SetName(String name_)
  593. {
  594. SetFieldValue(29, 0, System.Text.Encoding.UTF8.GetBytes(name_), Fit.SubfieldIndexMainField);
  595. }
  596. /// <summary>
  597. /// Set Name field</summary>
  598. /// <param name="name_">field value to be set</param>
  599. public void SetName(byte[] name_)
  600. {
  601. SetFieldValue(29, 0, name_, Fit.SubfieldIndexMainField);
  602. }
  603. ///<summary>
  604. /// Retrieves the NormalizedPower field
  605. /// Units: watts</summary>
  606. /// <returns>Returns nullable ushort representing the NormalizedPower field</returns>
  607. public ushort? GetNormalizedPower()
  608. {
  609. return (ushort?)GetFieldValue(30, 0, Fit.SubfieldIndexMainField);
  610. }
  611. /// <summary>
  612. /// Set NormalizedPower field
  613. /// Units: watts</summary>
  614. /// <param name="normalizedPower_">Nullable field value to be set</param>
  615. public void SetNormalizedPower(ushort? normalizedPower_)
  616. {
  617. SetFieldValue(30, 0, normalizedPower_, Fit.SubfieldIndexMainField);
  618. }
  619. ///<summary>
  620. /// Retrieves the LeftRightBalance field</summary>
  621. /// <returns>Returns nullable ushort representing the LeftRightBalance field</returns>
  622. public ushort? GetLeftRightBalance()
  623. {
  624. return (ushort?)GetFieldValue(31, 0, Fit.SubfieldIndexMainField);
  625. }
  626. /// <summary>
  627. /// Set LeftRightBalance field</summary>
  628. /// <param name="leftRightBalance_">Nullable field value to be set</param>
  629. public void SetLeftRightBalance(ushort? leftRightBalance_)
  630. {
  631. SetFieldValue(31, 0, leftRightBalance_, Fit.SubfieldIndexMainField);
  632. }
  633. ///<summary>
  634. /// Retrieves the SubSport field</summary>
  635. /// <returns>Returns nullable SubSport enum representing the SubSport field</returns>
  636. public SubSport? GetSubSport()
  637. {
  638. object obj = GetFieldValue(32, 0, Fit.SubfieldIndexMainField);
  639. SubSport? value = obj == null ? (SubSport?)null : (SubSport)obj;
  640. return value;
  641. }
  642. /// <summary>
  643. /// Set SubSport field</summary>
  644. /// <param name="subSport_">Nullable field value to be set</param>
  645. public void SetSubSport(SubSport? subSport_)
  646. {
  647. SetFieldValue(32, 0, subSport_, Fit.SubfieldIndexMainField);
  648. }
  649. ///<summary>
  650. /// Retrieves the TotalWork field
  651. /// Units: J</summary>
  652. /// <returns>Returns nullable uint representing the TotalWork field</returns>
  653. public uint? GetTotalWork()
  654. {
  655. return (uint?)GetFieldValue(33, 0, Fit.SubfieldIndexMainField);
  656. }
  657. /// <summary>
  658. /// Set TotalWork field
  659. /// Units: J</summary>
  660. /// <param name="totalWork_">Nullable field value to be set</param>
  661. public void SetTotalWork(uint? totalWork_)
  662. {
  663. SetFieldValue(33, 0, totalWork_, Fit.SubfieldIndexMainField);
  664. }
  665. ///<summary>
  666. /// Retrieves the AvgAltitude field
  667. /// Units: m</summary>
  668. /// <returns>Returns nullable float representing the AvgAltitude field</returns>
  669. public float? GetAvgAltitude()
  670. {
  671. return (float?)GetFieldValue(34, 0, Fit.SubfieldIndexMainField);
  672. }
  673. /// <summary>
  674. /// Set AvgAltitude field
  675. /// Units: m</summary>
  676. /// <param name="avgAltitude_">Nullable field value to be set</param>
  677. public void SetAvgAltitude(float? avgAltitude_)
  678. {
  679. SetFieldValue(34, 0, avgAltitude_, Fit.SubfieldIndexMainField);
  680. }
  681. ///<summary>
  682. /// Retrieves the MaxAltitude field
  683. /// Units: m</summary>
  684. /// <returns>Returns nullable float representing the MaxAltitude field</returns>
  685. public float? GetMaxAltitude()
  686. {
  687. return (float?)GetFieldValue(35, 0, Fit.SubfieldIndexMainField);
  688. }
  689. /// <summary>
  690. /// Set MaxAltitude field
  691. /// Units: m</summary>
  692. /// <param name="maxAltitude_">Nullable field value to be set</param>
  693. public void SetMaxAltitude(float? maxAltitude_)
  694. {
  695. SetFieldValue(35, 0, maxAltitude_, Fit.SubfieldIndexMainField);
  696. }
  697. ///<summary>
  698. /// Retrieves the GpsAccuracy field
  699. /// Units: m</summary>
  700. /// <returns>Returns nullable byte representing the GpsAccuracy field</returns>
  701. public byte? GetGpsAccuracy()
  702. {
  703. return (byte?)GetFieldValue(36, 0, Fit.SubfieldIndexMainField);
  704. }
  705. /// <summary>
  706. /// Set GpsAccuracy field
  707. /// Units: m</summary>
  708. /// <param name="gpsAccuracy_">Nullable field value to be set</param>
  709. public void SetGpsAccuracy(byte? gpsAccuracy_)
  710. {
  711. SetFieldValue(36, 0, gpsAccuracy_, Fit.SubfieldIndexMainField);
  712. }
  713. ///<summary>
  714. /// Retrieves the AvgGrade field
  715. /// Units: %</summary>
  716. /// <returns>Returns nullable float representing the AvgGrade field</returns>
  717. public float? GetAvgGrade()
  718. {
  719. return (float?)GetFieldValue(37, 0, Fit.SubfieldIndexMainField);
  720. }
  721. /// <summary>
  722. /// Set AvgGrade field
  723. /// Units: %</summary>
  724. /// <param name="avgGrade_">Nullable field value to be set</param>
  725. public void SetAvgGrade(float? avgGrade_)
  726. {
  727. SetFieldValue(37, 0, avgGrade_, Fit.SubfieldIndexMainField);
  728. }
  729. ///<summary>
  730. /// Retrieves the AvgPosGrade field
  731. /// Units: %</summary>
  732. /// <returns>Returns nullable float representing the AvgPosGrade field</returns>
  733. public float? GetAvgPosGrade()
  734. {
  735. return (float?)GetFieldValue(38, 0, Fit.SubfieldIndexMainField);
  736. }
  737. /// <summary>
  738. /// Set AvgPosGrade field
  739. /// Units: %</summary>
  740. /// <param name="avgPosGrade_">Nullable field value to be set</param>
  741. public void SetAvgPosGrade(float? avgPosGrade_)
  742. {
  743. SetFieldValue(38, 0, avgPosGrade_, Fit.SubfieldIndexMainField);
  744. }
  745. ///<summary>
  746. /// Retrieves the AvgNegGrade field
  747. /// Units: %</summary>
  748. /// <returns>Returns nullable float representing the AvgNegGrade field</returns>
  749. public float? GetAvgNegGrade()
  750. {
  751. return (float?)GetFieldValue(39, 0, Fit.SubfieldIndexMainField);
  752. }
  753. /// <summary>
  754. /// Set AvgNegGrade field
  755. /// Units: %</summary>
  756. /// <param name="avgNegGrade_">Nullable field value to be set</param>
  757. public void SetAvgNegGrade(float? avgNegGrade_)
  758. {
  759. SetFieldValue(39, 0, avgNegGrade_, Fit.SubfieldIndexMainField);
  760. }
  761. ///<summary>
  762. /// Retrieves the MaxPosGrade field
  763. /// Units: %</summary>
  764. /// <returns>Returns nullable float representing the MaxPosGrade field</returns>
  765. public float? GetMaxPosGrade()
  766. {
  767. return (float?)GetFieldValue(40, 0, Fit.SubfieldIndexMainField);
  768. }
  769. /// <summary>
  770. /// Set MaxPosGrade field
  771. /// Units: %</summary>
  772. /// <param name="maxPosGrade_">Nullable field value to be set</param>
  773. public void SetMaxPosGrade(float? maxPosGrade_)
  774. {
  775. SetFieldValue(40, 0, maxPosGrade_, Fit.SubfieldIndexMainField);
  776. }
  777. ///<summary>
  778. /// Retrieves the MaxNegGrade field
  779. /// Units: %</summary>
  780. /// <returns>Returns nullable float representing the MaxNegGrade field</returns>
  781. public float? GetMaxNegGrade()
  782. {
  783. return (float?)GetFieldValue(41, 0, Fit.SubfieldIndexMainField);
  784. }
  785. /// <summary>
  786. /// Set MaxNegGrade field
  787. /// Units: %</summary>
  788. /// <param name="maxNegGrade_">Nullable field value to be set</param>
  789. public void SetMaxNegGrade(float? maxNegGrade_)
  790. {
  791. SetFieldValue(41, 0, maxNegGrade_, Fit.SubfieldIndexMainField);
  792. }
  793. ///<summary>
  794. /// Retrieves the AvgTemperature field
  795. /// Units: C</summary>
  796. /// <returns>Returns nullable sbyte representing the AvgTemperature field</returns>
  797. public sbyte? GetAvgTemperature()
  798. {
  799. return (sbyte?)GetFieldValue(42, 0, Fit.SubfieldIndexMainField);
  800. }
  801. /// <summary>
  802. /// Set AvgTemperature field
  803. /// Units: C</summary>
  804. /// <param name="avgTemperature_">Nullable field value to be set</param>
  805. public void SetAvgTemperature(sbyte? avgTemperature_)
  806. {
  807. SetFieldValue(42, 0, avgTemperature_, Fit.SubfieldIndexMainField);
  808. }
  809. ///<summary>
  810. /// Retrieves the MaxTemperature field
  811. /// Units: C</summary>
  812. /// <returns>Returns nullable sbyte representing the MaxTemperature field</returns>
  813. public sbyte? GetMaxTemperature()
  814. {
  815. return (sbyte?)GetFieldValue(43, 0, Fit.SubfieldIndexMainField);
  816. }
  817. /// <summary>
  818. /// Set MaxTemperature field
  819. /// Units: C</summary>
  820. /// <param name="maxTemperature_">Nullable field value to be set</param>
  821. public void SetMaxTemperature(sbyte? maxTemperature_)
  822. {
  823. SetFieldValue(43, 0, maxTemperature_, Fit.SubfieldIndexMainField);
  824. }
  825. ///<summary>
  826. /// Retrieves the TotalMovingTime field
  827. /// Units: s</summary>
  828. /// <returns>Returns nullable float representing the TotalMovingTime field</returns>
  829. public float? GetTotalMovingTime()
  830. {
  831. return (float?)GetFieldValue(44, 0, Fit.SubfieldIndexMainField);
  832. }
  833. /// <summary>
  834. /// Set TotalMovingTime field
  835. /// Units: s</summary>
  836. /// <param name="totalMovingTime_">Nullable field value to be set</param>
  837. public void SetTotalMovingTime(float? totalMovingTime_)
  838. {
  839. SetFieldValue(44, 0, totalMovingTime_, Fit.SubfieldIndexMainField);
  840. }
  841. ///<summary>
  842. /// Retrieves the AvgPosVerticalSpeed field
  843. /// Units: m/s</summary>
  844. /// <returns>Returns nullable float representing the AvgPosVerticalSpeed field</returns>
  845. public float? GetAvgPosVerticalSpeed()
  846. {
  847. return (float?)GetFieldValue(45, 0, Fit.SubfieldIndexMainField);
  848. }
  849. /// <summary>
  850. /// Set AvgPosVerticalSpeed field
  851. /// Units: m/s</summary>
  852. /// <param name="avgPosVerticalSpeed_">Nullable field value to be set</param>
  853. public void SetAvgPosVerticalSpeed(float? avgPosVerticalSpeed_)
  854. {
  855. SetFieldValue(45, 0, avgPosVerticalSpeed_, Fit.SubfieldIndexMainField);
  856. }
  857. ///<summary>
  858. /// Retrieves the AvgNegVerticalSpeed field
  859. /// Units: m/s</summary>
  860. /// <returns>Returns nullable float representing the AvgNegVerticalSpeed field</returns>
  861. public float? GetAvgNegVerticalSpeed()
  862. {
  863. return (float?)GetFieldValue(46, 0, Fit.SubfieldIndexMainField);
  864. }
  865. /// <summary>
  866. /// Set AvgNegVerticalSpeed field
  867. /// Units: m/s</summary>
  868. /// <param name="avgNegVerticalSpeed_">Nullable field value to be set</param>
  869. public void SetAvgNegVerticalSpeed(float? avgNegVerticalSpeed_)
  870. {
  871. SetFieldValue(46, 0, avgNegVerticalSpeed_, Fit.SubfieldIndexMainField);
  872. }
  873. ///<summary>
  874. /// Retrieves the MaxPosVerticalSpeed field
  875. /// Units: m/s</summary>
  876. /// <returns>Returns nullable float representing the MaxPosVerticalSpeed field</returns>
  877. public float? GetMaxPosVerticalSpeed()
  878. {
  879. return (float?)GetFieldValue(47, 0, Fit.SubfieldIndexMainField);
  880. }
  881. /// <summary>
  882. /// Set MaxPosVerticalSpeed field
  883. /// Units: m/s</summary>
  884. /// <param name="maxPosVerticalSpeed_">Nullable field value to be set</param>
  885. public void SetMaxPosVerticalSpeed(float? maxPosVerticalSpeed_)
  886. {
  887. SetFieldValue(47, 0, maxPosVerticalSpeed_, Fit.SubfieldIndexMainField);
  888. }
  889. ///<summary>
  890. /// Retrieves the MaxNegVerticalSpeed field
  891. /// Units: m/s</summary>
  892. /// <returns>Returns nullable float representing the MaxNegVerticalSpeed field</returns>
  893. public float? GetMaxNegVerticalSpeed()
  894. {
  895. return (float?)GetFieldValue(48, 0, Fit.SubfieldIndexMainField);
  896. }
  897. /// <summary>
  898. /// Set MaxNegVerticalSpeed field
  899. /// Units: m/s</summary>
  900. /// <param name="maxNegVerticalSpeed_">Nullable field value to be set</param>
  901. public void SetMaxNegVerticalSpeed(float? maxNegVerticalSpeed_)
  902. {
  903. SetFieldValue(48, 0, maxNegVerticalSpeed_, Fit.SubfieldIndexMainField);
  904. }
  905. /// <summary>
  906. ///
  907. /// </summary>
  908. /// <returns>returns number of elements in field TimeInHrZone</returns>
  909. public int GetNumTimeInHrZone()
  910. {
  911. return GetNumFieldValues(49, Fit.SubfieldIndexMainField);
  912. }
  913. ///<summary>
  914. /// Retrieves the TimeInHrZone field
  915. /// Units: s</summary>
  916. /// <param name="index">0 based index of TimeInHrZone element to retrieve</param>
  917. /// <returns>Returns nullable float representing the TimeInHrZone field</returns>
  918. public float? GetTimeInHrZone(int index)
  919. {
  920. return (float?)GetFieldValue(49, index, Fit.SubfieldIndexMainField);
  921. }
  922. /// <summary>
  923. /// Set TimeInHrZone field
  924. /// Units: s</summary>
  925. /// <param name="index">0 based index of time_in_hr_zone</param>
  926. /// <param name="timeInHrZone_">Nullable field value to be set</param>
  927. public void SetTimeInHrZone(int index, float? timeInHrZone_)
  928. {
  929. SetFieldValue(49, index, timeInHrZone_, Fit.SubfieldIndexMainField);
  930. }
  931. /// <summary>
  932. ///
  933. /// </summary>
  934. /// <returns>returns number of elements in field TimeInSpeedZone</returns>
  935. public int GetNumTimeInSpeedZone()
  936. {
  937. return GetNumFieldValues(50, Fit.SubfieldIndexMainField);
  938. }
  939. ///<summary>
  940. /// Retrieves the TimeInSpeedZone field
  941. /// Units: s</summary>
  942. /// <param name="index">0 based index of TimeInSpeedZone element to retrieve</param>
  943. /// <returns>Returns nullable float representing the TimeInSpeedZone field</returns>
  944. public float? GetTimeInSpeedZone(int index)
  945. {
  946. return (float?)GetFieldValue(50, index, Fit.SubfieldIndexMainField);
  947. }
  948. /// <summary>
  949. /// Set TimeInSpeedZone field
  950. /// Units: s</summary>
  951. /// <param name="index">0 based index of time_in_speed_zone</param>
  952. /// <param name="timeInSpeedZone_">Nullable field value to be set</param>
  953. public void SetTimeInSpeedZone(int index, float? timeInSpeedZone_)
  954. {
  955. SetFieldValue(50, index, timeInSpeedZone_, Fit.SubfieldIndexMainField);
  956. }
  957. /// <summary>
  958. ///
  959. /// </summary>
  960. /// <returns>returns number of elements in field TimeInCadenceZone</returns>
  961. public int GetNumTimeInCadenceZone()
  962. {
  963. return GetNumFieldValues(51, Fit.SubfieldIndexMainField);
  964. }
  965. ///<summary>
  966. /// Retrieves the TimeInCadenceZone field
  967. /// Units: s</summary>
  968. /// <param name="index">0 based index of TimeInCadenceZone element to retrieve</param>
  969. /// <returns>Returns nullable float representing the TimeInCadenceZone field</returns>
  970. public float? GetTimeInCadenceZone(int index)
  971. {
  972. return (float?)GetFieldValue(51, index, Fit.SubfieldIndexMainField);
  973. }
  974. /// <summary>
  975. /// Set TimeInCadenceZone field
  976. /// Units: s</summary>
  977. /// <param name="index">0 based index of time_in_cadence_zone</param>
  978. /// <param name="timeInCadenceZone_">Nullable field value to be set</param>
  979. public void SetTimeInCadenceZone(int index, float? timeInCadenceZone_)
  980. {
  981. SetFieldValue(51, index, timeInCadenceZone_, Fit.SubfieldIndexMainField);
  982. }
  983. /// <summary>
  984. ///
  985. /// </summary>
  986. /// <returns>returns number of elements in field TimeInPowerZone</returns>
  987. public int GetNumTimeInPowerZone()
  988. {
  989. return GetNumFieldValues(52, Fit.SubfieldIndexMainField);
  990. }
  991. ///<summary>
  992. /// Retrieves the TimeInPowerZone field
  993. /// Units: s</summary>
  994. /// <param name="index">0 based index of TimeInPowerZone element to retrieve</param>
  995. /// <returns>Returns nullable float representing the TimeInPowerZone field</returns>
  996. public float? GetTimeInPowerZone(int index)
  997. {
  998. return (float?)GetFieldValue(52, index, Fit.SubfieldIndexMainField);
  999. }
  1000. /// <summary>
  1001. /// Set TimeInPowerZone field
  1002. /// Units: s</summary>
  1003. /// <param name="index">0 based index of time_in_power_zone</param>
  1004. /// <param name="timeInPowerZone_">Nullable field value to be set</param>
  1005. public void SetTimeInPowerZone(int index, float? timeInPowerZone_)
  1006. {
  1007. SetFieldValue(52, index, timeInPowerZone_, Fit.SubfieldIndexMainField);
  1008. }
  1009. ///<summary>
  1010. /// Retrieves the RepetitionNum field</summary>
  1011. /// <returns>Returns nullable ushort representing the RepetitionNum field</returns>
  1012. public ushort? GetRepetitionNum()
  1013. {
  1014. return (ushort?)GetFieldValue(53, 0, Fit.SubfieldIndexMainField);
  1015. }
  1016. /// <summary>
  1017. /// Set RepetitionNum field</summary>
  1018. /// <param name="repetitionNum_">Nullable field value to be set</param>
  1019. public void SetRepetitionNum(ushort? repetitionNum_)
  1020. {
  1021. SetFieldValue(53, 0, repetitionNum_, Fit.SubfieldIndexMainField);
  1022. }
  1023. ///<summary>
  1024. /// Retrieves the MinAltitude field
  1025. /// Units: m</summary>
  1026. /// <returns>Returns nullable float representing the MinAltitude field</returns>
  1027. public float? GetMinAltitude()
  1028. {
  1029. return (float?)GetFieldValue(54, 0, Fit.SubfieldIndexMainField);
  1030. }
  1031. /// <summary>
  1032. /// Set MinAltitude field
  1033. /// Units: m</summary>
  1034. /// <param name="minAltitude_">Nullable field value to be set</param>
  1035. public void SetMinAltitude(float? minAltitude_)
  1036. {
  1037. SetFieldValue(54, 0, minAltitude_, Fit.SubfieldIndexMainField);
  1038. }
  1039. ///<summary>
  1040. /// Retrieves the MinHeartRate field
  1041. /// Units: bpm</summary>
  1042. /// <returns>Returns nullable byte representing the MinHeartRate field</returns>
  1043. public byte? GetMinHeartRate()
  1044. {
  1045. return (byte?)GetFieldValue(55, 0, Fit.SubfieldIndexMainField);
  1046. }
  1047. /// <summary>
  1048. /// Set MinHeartRate field
  1049. /// Units: bpm</summary>
  1050. /// <param name="minHeartRate_">Nullable field value to be set</param>
  1051. public void SetMinHeartRate(byte? minHeartRate_)
  1052. {
  1053. SetFieldValue(55, 0, minHeartRate_, Fit.SubfieldIndexMainField);
  1054. }
  1055. ///<summary>
  1056. /// Retrieves the ActiveTime field
  1057. /// Units: s</summary>
  1058. /// <returns>Returns nullable float representing the ActiveTime field</returns>
  1059. public float? GetActiveTime()
  1060. {
  1061. return (float?)GetFieldValue(56, 0, Fit.SubfieldIndexMainField);
  1062. }
  1063. /// <summary>
  1064. /// Set ActiveTime field
  1065. /// Units: s</summary>
  1066. /// <param name="activeTime_">Nullable field value to be set</param>
  1067. public void SetActiveTime(float? activeTime_)
  1068. {
  1069. SetFieldValue(56, 0, activeTime_, Fit.SubfieldIndexMainField);
  1070. }
  1071. ///<summary>
  1072. /// Retrieves the WktStepIndex field</summary>
  1073. /// <returns>Returns nullable ushort representing the WktStepIndex field</returns>
  1074. public ushort? GetWktStepIndex()
  1075. {
  1076. return (ushort?)GetFieldValue(57, 0, Fit.SubfieldIndexMainField);
  1077. }
  1078. /// <summary>
  1079. /// Set WktStepIndex field</summary>
  1080. /// <param name="wktStepIndex_">Nullable field value to be set</param>
  1081. public void SetWktStepIndex(ushort? wktStepIndex_)
  1082. {
  1083. SetFieldValue(57, 0, wktStepIndex_, Fit.SubfieldIndexMainField);
  1084. }
  1085. ///<summary>
  1086. /// Retrieves the SportEvent field</summary>
  1087. /// <returns>Returns nullable SportEvent enum representing the SportEvent field</returns>
  1088. public SportEvent? GetSportEvent()
  1089. {
  1090. object obj = GetFieldValue(58, 0, Fit.SubfieldIndexMainField);
  1091. SportEvent? value = obj == null ? (SportEvent?)null : (SportEvent)obj;
  1092. return value;
  1093. }
  1094. /// <summary>
  1095. /// Set SportEvent field</summary>
  1096. /// <param name="sportEvent_">Nullable field value to be set</param>
  1097. public void SetSportEvent(SportEvent? sportEvent_)
  1098. {
  1099. SetFieldValue(58, 0, sportEvent_, Fit.SubfieldIndexMainField);
  1100. }
  1101. ///<summary>
  1102. /// Retrieves the AvgLeftTorqueEffectiveness field
  1103. /// Units: percent</summary>
  1104. /// <returns>Returns nullable float representing the AvgLeftTorqueEffectiveness field</returns>
  1105. public float? GetAvgLeftTorqueEffectiveness()
  1106. {
  1107. return (float?)GetFieldValue(59, 0, Fit.SubfieldIndexMainField);
  1108. }
  1109. /// <summary>
  1110. /// Set AvgLeftTorqueEffectiveness field
  1111. /// Units: percent</summary>
  1112. /// <param name="avgLeftTorqueEffectiveness_">Nullable field value to be set</param>
  1113. public void SetAvgLeftTorqueEffectiveness(float? avgLeftTorqueEffectiveness_)
  1114. {
  1115. SetFieldValue(59, 0, avgLeftTorqueEffectiveness_, Fit.SubfieldIndexMainField);
  1116. }
  1117. ///<summary>
  1118. /// Retrieves the AvgRightTorqueEffectiveness field
  1119. /// Units: percent</summary>
  1120. /// <returns>Returns nullable float representing the AvgRightTorqueEffectiveness field</returns>
  1121. public float? GetAvgRightTorqueEffectiveness()
  1122. {
  1123. return (float?)GetFieldValue(60, 0, Fit.SubfieldIndexMainField);
  1124. }
  1125. /// <summary>
  1126. /// Set AvgRightTorqueEffectiveness field
  1127. /// Units: percent</summary>
  1128. /// <param name="avgRightTorqueEffectiveness_">Nullable field value to be set</param>
  1129. public void SetAvgRightTorqueEffectiveness(float? avgRightTorqueEffectiveness_)
  1130. {
  1131. SetFieldValue(60, 0, avgRightTorqueEffectiveness_, Fit.SubfieldIndexMainField);
  1132. }
  1133. ///<summary>
  1134. /// Retrieves the AvgLeftPedalSmoothness field
  1135. /// Units: percent</summary>
  1136. /// <returns>Returns nullable float representing the AvgLeftPedalSmoothness field</returns>
  1137. public float? GetAvgLeftPedalSmoothness()
  1138. {
  1139. return (float?)GetFieldValue(61, 0, Fit.SubfieldIndexMainField);
  1140. }
  1141. /// <summary>
  1142. /// Set AvgLeftPedalSmoothness field
  1143. /// Units: percent</summary>
  1144. /// <param name="avgLeftPedalSmoothness_">Nullable field value to be set</param>
  1145. public void SetAvgLeftPedalSmoothness(float? avgLeftPedalSmoothness_)
  1146. {
  1147. SetFieldValue(61, 0, avgLeftPedalSmoothness_, Fit.SubfieldIndexMainField);
  1148. }
  1149. ///<summary>
  1150. /// Retrieves the AvgRightPedalSmoothness field
  1151. /// Units: percent</summary>
  1152. /// <returns>Returns nullable float representing the AvgRightPedalSmoothness field</returns>
  1153. public float? GetAvgRightPedalSmoothness()
  1154. {
  1155. return (float?)GetFieldValue(62, 0, Fit.SubfieldIndexMainField);
  1156. }
  1157. /// <summary>
  1158. /// Set AvgRightPedalSmoothness field
  1159. /// Units: percent</summary>
  1160. /// <param name="avgRightPedalSmoothness_">Nullable field value to be set</param>
  1161. public void SetAvgRightPedalSmoothness(float? avgRightPedalSmoothness_)
  1162. {
  1163. SetFieldValue(62, 0, avgRightPedalSmoothness_, Fit.SubfieldIndexMainField);
  1164. }
  1165. ///<summary>
  1166. /// Retrieves the AvgCombinedPedalSmoothness field
  1167. /// Units: percent</summary>
  1168. /// <returns>Returns nullable float representing the AvgCombinedPedalSmoothness field</returns>
  1169. public float? GetAvgCombinedPedalSmoothness()
  1170. {
  1171. return (float?)GetFieldValue(63, 0, Fit.SubfieldIndexMainField);
  1172. }
  1173. /// <summary>
  1174. /// Set AvgCombinedPedalSmoothness field
  1175. /// Units: percent</summary>
  1176. /// <param name="avgCombinedPedalSmoothness_">Nullable field value to be set</param>
  1177. public void SetAvgCombinedPedalSmoothness(float? avgCombinedPedalSmoothness_)
  1178. {
  1179. SetFieldValue(63, 0, avgCombinedPedalSmoothness_, Fit.SubfieldIndexMainField);
  1180. }
  1181. ///<summary>
  1182. /// Retrieves the Status field</summary>
  1183. /// <returns>Returns nullable SegmentLapStatus enum representing the Status field</returns>
  1184. public SegmentLapStatus? GetStatus()
  1185. {
  1186. object obj = GetFieldValue(64, 0, Fit.SubfieldIndexMainField);
  1187. SegmentLapStatus? value = obj == null ? (SegmentLapStatus?)null : (SegmentLapStatus)obj;
  1188. return value;
  1189. }
  1190. /// <summary>
  1191. /// Set Status field</summary>
  1192. /// <param name="status_">Nullable field value to be set</param>
  1193. public void SetStatus(SegmentLapStatus? status_)
  1194. {
  1195. SetFieldValue(64, 0, status_, Fit.SubfieldIndexMainField);
  1196. }
  1197. ///<summary>
  1198. /// Retrieves the Uuid field</summary>
  1199. /// <returns>Returns byte[] representing the Uuid field</returns>
  1200. public byte[] GetUuid()
  1201. {
  1202. return (byte[])GetFieldValue(65, 0, Fit.SubfieldIndexMainField);
  1203. }
  1204. ///<summary>
  1205. /// Retrieves the Uuid field</summary>
  1206. /// <returns>Returns String representing the Uuid field</returns>
  1207. public String GetUuidAsString()
  1208. {
  1209. return Encoding.UTF8.GetString((byte[])GetFieldValue(65, 0, Fit.SubfieldIndexMainField));
  1210. }
  1211. ///<summary>
  1212. /// Set Uuid field</summary>
  1213. /// <param name="uuid_"> field value to be set</param>
  1214. public void SetUuid(String uuid_)
  1215. {
  1216. SetFieldValue(65, 0, System.Text.Encoding.UTF8.GetBytes(uuid_), Fit.SubfieldIndexMainField);
  1217. }
  1218. /// <summary>
  1219. /// Set Uuid field</summary>
  1220. /// <param name="uuid_">field value to be set</param>
  1221. public void SetUuid(byte[] uuid_)
  1222. {
  1223. SetFieldValue(65, 0, uuid_, Fit.SubfieldIndexMainField);
  1224. }
  1225. ///<summary>
  1226. /// Retrieves the AvgFractionalCadence field
  1227. /// Units: rpm
  1228. /// Comment: fractional part of the avg_cadence</summary>
  1229. /// <returns>Returns nullable float representing the AvgFractionalCadence field</returns>
  1230. public float? GetAvgFractionalCadence()
  1231. {
  1232. return (float?)GetFieldValue(66, 0, Fit.SubfieldIndexMainField);
  1233. }
  1234. /// <summary>
  1235. /// Set AvgFractionalCadence field
  1236. /// Units: rpm
  1237. /// Comment: fractional part of the avg_cadence</summary>
  1238. /// <param name="avgFractionalCadence_">Nullable field value to be set</param>
  1239. public void SetAvgFractionalCadence(float? avgFractionalCadence_)
  1240. {
  1241. SetFieldValue(66, 0, avgFractionalCadence_, Fit.SubfieldIndexMainField);
  1242. }
  1243. ///<summary>
  1244. /// Retrieves the MaxFractionalCadence field
  1245. /// Units: rpm
  1246. /// Comment: fractional part of the max_cadence</summary>
  1247. /// <returns>Returns nullable float representing the MaxFractionalCadence field</returns>
  1248. public float? GetMaxFractionalCadence()
  1249. {
  1250. return (float?)GetFieldValue(67, 0, Fit.SubfieldIndexMainField);
  1251. }
  1252. /// <summary>
  1253. /// Set MaxFractionalCadence field
  1254. /// Units: rpm
  1255. /// Comment: fractional part of the max_cadence</summary>
  1256. /// <param name="maxFractionalCadence_">Nullable field value to be set</param>
  1257. public void SetMaxFractionalCadence(float? maxFractionalCadence_)
  1258. {
  1259. SetFieldValue(67, 0, maxFractionalCadence_, Fit.SubfieldIndexMainField);
  1260. }
  1261. ///<summary>
  1262. /// Retrieves the TotalFractionalCycles field
  1263. /// Units: cycles
  1264. /// Comment: fractional part of the total_cycles</summary>
  1265. /// <returns>Returns nullable float representing the TotalFractionalCycles field</returns>
  1266. public float? GetTotalFractionalCycles()
  1267. {
  1268. return (float?)GetFieldValue(68, 0, Fit.SubfieldIndexMainField);
  1269. }
  1270. /// <summary>
  1271. /// Set TotalFractionalCycles field
  1272. /// Units: cycles
  1273. /// Comment: fractional part of the total_cycles</summary>
  1274. /// <param name="totalFractionalCycles_">Nullable field value to be set</param>
  1275. public void SetTotalFractionalCycles(float? totalFractionalCycles_)
  1276. {
  1277. SetFieldValue(68, 0, totalFractionalCycles_, Fit.SubfieldIndexMainField);
  1278. }
  1279. ///<summary>
  1280. /// Retrieves the FrontGearShiftCount field</summary>
  1281. /// <returns>Returns nullable ushort representing the FrontGearShiftCount field</returns>
  1282. public ushort? GetFrontGearShiftCount()
  1283. {
  1284. return (ushort?)GetFieldValue(69, 0, Fit.SubfieldIndexMainField);
  1285. }
  1286. /// <summary>
  1287. /// Set FrontGearShiftCount field</summary>
  1288. /// <param name="frontGearShiftCount_">Nullable field value to be set</param>
  1289. public void SetFrontGearShiftCount(ushort? frontGearShiftCount_)
  1290. {
  1291. SetFieldValue(69, 0, frontGearShiftCount_, Fit.SubfieldIndexMainField);
  1292. }
  1293. ///<summary>
  1294. /// Retrieves the RearGearShiftCount field</summary>
  1295. /// <returns>Returns nullable ushort representing the RearGearShiftCount field</returns>
  1296. public ushort? GetRearGearShiftCount()
  1297. {
  1298. return (ushort?)GetFieldValue(70, 0, Fit.SubfieldIndexMainField);
  1299. }
  1300. /// <summary>
  1301. /// Set RearGearShiftCount field</summary>
  1302. /// <param name="rearGearShiftCount_">Nullable field value to be set</param>
  1303. public void SetRearGearShiftCount(ushort? rearGearShiftCount_)
  1304. {
  1305. SetFieldValue(70, 0, rearGearShiftCount_, Fit.SubfieldIndexMainField);
  1306. }
  1307. ///<summary>
  1308. /// Retrieves the TimeStanding field
  1309. /// Units: s
  1310. /// Comment: Total time spent in the standing position</summary>
  1311. /// <returns>Returns nullable float representing the TimeStanding field</returns>
  1312. public float? GetTimeStanding()
  1313. {
  1314. return (float?)GetFieldValue(71, 0, Fit.SubfieldIndexMainField);
  1315. }
  1316. /// <summary>
  1317. /// Set TimeStanding field
  1318. /// Units: s
  1319. /// Comment: Total time spent in the standing position</summary>
  1320. /// <param name="timeStanding_">Nullable field value to be set</param>
  1321. public void SetTimeStanding(float? timeStanding_)
  1322. {
  1323. SetFieldValue(71, 0, timeStanding_, Fit.SubfieldIndexMainField);
  1324. }
  1325. ///<summary>
  1326. /// Retrieves the StandCount field
  1327. /// Comment: Number of transitions to the standing state</summary>
  1328. /// <returns>Returns nullable ushort representing the StandCount field</returns>
  1329. public ushort? GetStandCount()
  1330. {
  1331. return (ushort?)GetFieldValue(72, 0, Fit.SubfieldIndexMainField);
  1332. }
  1333. /// <summary>
  1334. /// Set StandCount field
  1335. /// Comment: Number of transitions to the standing state</summary>
  1336. /// <param name="standCount_">Nullable field value to be set</param>
  1337. public void SetStandCount(ushort? standCount_)
  1338. {
  1339. SetFieldValue(72, 0, standCount_, Fit.SubfieldIndexMainField);
  1340. }
  1341. ///<summary>
  1342. /// Retrieves the AvgLeftPco field
  1343. /// Units: mm
  1344. /// Comment: Average left platform center offset</summary>
  1345. /// <returns>Returns nullable sbyte representing the AvgLeftPco field</returns>
  1346. public sbyte? GetAvgLeftPco()
  1347. {
  1348. return (sbyte?)GetFieldValue(73, 0, Fit.SubfieldIndexMainField);
  1349. }
  1350. /// <summary>
  1351. /// Set AvgLeftPco field
  1352. /// Units: mm
  1353. /// Comment: Average left platform center offset</summary>
  1354. /// <param name="avgLeftPco_">Nullable field value to be set</param>
  1355. public void SetAvgLeftPco(sbyte? avgLeftPco_)
  1356. {
  1357. SetFieldValue(73, 0, avgLeftPco_, Fit.SubfieldIndexMainField);
  1358. }
  1359. ///<summary>
  1360. /// Retrieves the AvgRightPco field
  1361. /// Units: mm
  1362. /// Comment: Average right platform center offset</summary>
  1363. /// <returns>Returns nullable sbyte representing the AvgRightPco field</returns>
  1364. public sbyte? GetAvgRightPco()
  1365. {
  1366. return (sbyte?)GetFieldValue(74, 0, Fit.SubfieldIndexMainField);
  1367. }
  1368. /// <summary>
  1369. /// Set AvgRightPco field
  1370. /// Units: mm
  1371. /// Comment: Average right platform center offset</summary>
  1372. /// <param name="avgRightPco_">Nullable field value to be set</param>
  1373. public void SetAvgRightPco(sbyte? avgRightPco_)
  1374. {
  1375. SetFieldValue(74, 0, avgRightPco_, Fit.SubfieldIndexMainField);
  1376. }
  1377. /// <summary>
  1378. ///
  1379. /// </summary>
  1380. /// <returns>returns number of elements in field AvgLeftPowerPhase</returns>
  1381. public int GetNumAvgLeftPowerPhase()
  1382. {
  1383. return GetNumFieldValues(75, Fit.SubfieldIndexMainField);
  1384. }
  1385. ///<summary>
  1386. /// Retrieves the AvgLeftPowerPhase field
  1387. /// Units: degrees
  1388. /// Comment: Average left power phase angles. Data value indexes defined by power_phase_type.</summary>
  1389. /// <param name="index">0 based index of AvgLeftPowerPhase element to retrieve</param>
  1390. /// <returns>Returns nullable byte representing the AvgLeftPowerPhase field</returns>
  1391. public byte? GetAvgLeftPowerPhase(int index)
  1392. {
  1393. return (byte?)GetFieldValue(75, index, Fit.SubfieldIndexMainField);
  1394. }
  1395. /// <summary>
  1396. /// Set AvgLeftPowerPhase field
  1397. /// Units: degrees
  1398. /// Comment: Average left power phase angles. Data value indexes defined by power_phase_type.</summary>
  1399. /// <param name="index">0 based index of avg_left_power_phase</param>
  1400. /// <param name="avgLeftPowerPhase_">Nullable field value to be set</param>
  1401. public void SetAvgLeftPowerPhase(int index, byte? avgLeftPowerPhase_)
  1402. {
  1403. SetFieldValue(75, index, avgLeftPowerPhase_, Fit.SubfieldIndexMainField);
  1404. }
  1405. /// <summary>
  1406. ///
  1407. /// </summary>
  1408. /// <returns>returns number of elements in field AvgLeftPowerPhasePeak</returns>
  1409. public int GetNumAvgLeftPowerPhasePeak()
  1410. {
  1411. return GetNumFieldValues(76, Fit.SubfieldIndexMainField);
  1412. }
  1413. ///<summary>
  1414. /// Retrieves the AvgLeftPowerPhasePeak field
  1415. /// Units: degrees
  1416. /// Comment: Average left power phase peak angles. Data value indexes defined by power_phase_type.</summary>
  1417. /// <param name="index">0 based index of AvgLeftPowerPhasePeak element to retrieve</param>
  1418. /// <returns>Returns nullable byte representing the AvgLeftPowerPhasePeak field</returns>
  1419. public byte? GetAvgLeftPowerPhasePeak(int index)
  1420. {
  1421. return (byte?)GetFieldValue(76, index, Fit.SubfieldIndexMainField);
  1422. }
  1423. /// <summary>
  1424. /// Set AvgLeftPowerPhasePeak field
  1425. /// Units: degrees
  1426. /// Comment: Average left power phase peak angles. Data value indexes defined by power_phase_type.</summary>
  1427. /// <param name="index">0 based index of avg_left_power_phase_peak</param>
  1428. /// <param name="avgLeftPowerPhasePeak_">Nullable field value to be set</param>
  1429. public void SetAvgLeftPowerPhasePeak(int index, byte? avgLeftPowerPhasePeak_)
  1430. {
  1431. SetFieldValue(76, index, avgLeftPowerPhasePeak_, Fit.SubfieldIndexMainField);
  1432. }
  1433. /// <summary>
  1434. ///
  1435. /// </summary>
  1436. /// <returns>returns number of elements in field AvgRightPowerPhase</returns>
  1437. public int GetNumAvgRightPowerPhase()
  1438. {
  1439. return GetNumFieldValues(77, Fit.SubfieldIndexMainField);
  1440. }
  1441. ///<summary>
  1442. /// Retrieves the AvgRightPowerPhase field
  1443. /// Units: degrees
  1444. /// Comment: Average right power phase angles. Data value indexes defined by power_phase_type.</summary>
  1445. /// <param name="index">0 based index of AvgRightPowerPhase element to retrieve</param>
  1446. /// <returns>Returns nullable byte representing the AvgRightPowerPhase field</returns>
  1447. public byte? GetAvgRightPowerPhase(int index)
  1448. {
  1449. return (byte?)GetFieldValue(77, index, Fit.SubfieldIndexMainField);
  1450. }
  1451. /// <summary>
  1452. /// Set AvgRightPowerPhase field
  1453. /// Units: degrees
  1454. /// Comment: Average right power phase angles. Data value indexes defined by power_phase_type.</summary>
  1455. /// <param name="index">0 based index of avg_right_power_phase</param>
  1456. /// <param name="avgRightPowerPhase_">Nullable field value to be set</param>
  1457. public void SetAvgRightPowerPhase(int index, byte? avgRightPowerPhase_)
  1458. {
  1459. SetFieldValue(77, index, avgRightPowerPhase_, Fit.SubfieldIndexMainField);
  1460. }
  1461. /// <summary>
  1462. ///
  1463. /// </summary>
  1464. /// <returns>returns number of elements in field AvgRightPowerPhasePeak</returns>
  1465. public int GetNumAvgRightPowerPhasePeak()
  1466. {
  1467. return GetNumFieldValues(78, Fit.SubfieldIndexMainField);
  1468. }
  1469. ///<summary>
  1470. /// Retrieves the AvgRightPowerPhasePeak field
  1471. /// Units: degrees
  1472. /// Comment: Average right power phase peak angles. Data value indexes defined by power_phase_type.</summary>
  1473. /// <param name="index">0 based index of AvgRightPowerPhasePeak element to retrieve</param>
  1474. /// <returns>Returns nullable byte representing the AvgRightPowerPhasePeak field</returns>
  1475. public byte? GetAvgRightPowerPhasePeak(int index)
  1476. {
  1477. return (byte?)GetFieldValue(78, index, Fit.SubfieldIndexMainField);
  1478. }
  1479. /// <summary>
  1480. /// Set AvgRightPowerPhasePeak field
  1481. /// Units: degrees
  1482. /// Comment: Average right power phase peak angles. Data value indexes defined by power_phase_type.</summary>
  1483. /// <param name="index">0 based index of avg_right_power_phase_peak</param>
  1484. /// <param name="avgRightPowerPhasePeak_">Nullable field value to be set</param>
  1485. public void SetAvgRightPowerPhasePeak(int index, byte? avgRightPowerPhasePeak_)
  1486. {
  1487. SetFieldValue(78, index, avgRightPowerPhasePeak_, Fit.SubfieldIndexMainField);
  1488. }
  1489. /// <summary>
  1490. ///
  1491. /// </summary>
  1492. /// <returns>returns number of elements in field AvgPowerPosition</returns>
  1493. public int GetNumAvgPowerPosition()
  1494. {
  1495. return GetNumFieldValues(79, Fit.SubfieldIndexMainField);
  1496. }
  1497. ///<summary>
  1498. /// Retrieves the AvgPowerPosition field
  1499. /// Units: watts
  1500. /// Comment: Average power by position. Data value indexes defined by rider_position_type.</summary>
  1501. /// <param name="index">0 based index of AvgPowerPosition element to retrieve</param>
  1502. /// <returns>Returns nullable ushort representing the AvgPowerPosition field</returns>
  1503. public ushort? GetAvgPowerPosition(int index)
  1504. {
  1505. return (ushort?)GetFieldValue(79, index, Fit.SubfieldIndexMainField);
  1506. }
  1507. /// <summary>
  1508. /// Set AvgPowerPosition field
  1509. /// Units: watts
  1510. /// Comment: Average power by position. Data value indexes defined by rider_position_type.</summary>
  1511. /// <param name="index">0 based index of avg_power_position</param>
  1512. /// <param name="avgPowerPosition_">Nullable field value to be set</param>
  1513. public void SetAvgPowerPosition(int index, ushort? avgPowerPosition_)
  1514. {
  1515. SetFieldValue(79, index, avgPowerPosition_, Fit.SubfieldIndexMainField);
  1516. }
  1517. /// <summary>
  1518. ///
  1519. /// </summary>
  1520. /// <returns>returns number of elements in field MaxPowerPosition</returns>
  1521. public int GetNumMaxPowerPosition()
  1522. {
  1523. return GetNumFieldValues(80, Fit.SubfieldIndexMainField);
  1524. }
  1525. ///<summary>
  1526. /// Retrieves the MaxPowerPosition field
  1527. /// Units: watts
  1528. /// Comment: Maximum power by position. Data value indexes defined by rider_position_type.</summary>
  1529. /// <param name="index">0 based index of MaxPowerPosition element to retrieve</param>
  1530. /// <returns>Returns nullable ushort representing the MaxPowerPosition field</returns>
  1531. public ushort? GetMaxPowerPosition(int index)
  1532. {
  1533. return (ushort?)GetFieldValue(80, index, Fit.SubfieldIndexMainField);
  1534. }
  1535. /// <summary>
  1536. /// Set MaxPowerPosition field
  1537. /// Units: watts
  1538. /// Comment: Maximum power by position. Data value indexes defined by rider_position_type.</summary>
  1539. /// <param name="index">0 based index of max_power_position</param>
  1540. /// <param name="maxPowerPosition_">Nullable field value to be set</param>
  1541. public void SetMaxPowerPosition(int index, ushort? maxPowerPosition_)
  1542. {
  1543. SetFieldValue(80, index, maxPowerPosition_, Fit.SubfieldIndexMainField);
  1544. }
  1545. /// <summary>
  1546. ///
  1547. /// </summary>
  1548. /// <returns>returns number of elements in field AvgCadencePosition</returns>
  1549. public int GetNumAvgCadencePosition()
  1550. {
  1551. return GetNumFieldValues(81, Fit.SubfieldIndexMainField);
  1552. }
  1553. ///<summary>
  1554. /// Retrieves the AvgCadencePosition field
  1555. /// Units: rpm
  1556. /// Comment: Average cadence by position. Data value indexes defined by rider_position_type.</summary>
  1557. /// <param name="index">0 based index of AvgCadencePosition element to retrieve</param>
  1558. /// <returns>Returns nullable byte representing the AvgCadencePosition field</returns>
  1559. public byte? GetAvgCadencePosition(int index)
  1560. {
  1561. return (byte?)GetFieldValue(81, index, Fit.SubfieldIndexMainField);
  1562. }
  1563. /// <summary>
  1564. /// Set AvgCadencePosition field
  1565. /// Units: rpm
  1566. /// Comment: Average cadence by position. Data value indexes defined by rider_position_type.</summary>
  1567. /// <param name="index">0 based index of avg_cadence_position</param>
  1568. /// <param name="avgCadencePosition_">Nullable field value to be set</param>
  1569. public void SetAvgCadencePosition(int index, byte? avgCadencePosition_)
  1570. {
  1571. SetFieldValue(81, index, avgCadencePosition_, Fit.SubfieldIndexMainField);
  1572. }
  1573. /// <summary>
  1574. ///
  1575. /// </summary>
  1576. /// <returns>returns number of elements in field MaxCadencePosition</returns>
  1577. public int GetNumMaxCadencePosition()
  1578. {
  1579. return GetNumFieldValues(82, Fit.SubfieldIndexMainField);
  1580. }
  1581. ///<summary>
  1582. /// Retrieves the MaxCadencePosition field
  1583. /// Units: rpm
  1584. /// Comment: Maximum cadence by position. Data value indexes defined by rider_position_type.</summary>
  1585. /// <param name="index">0 based index of MaxCadencePosition element to retrieve</param>
  1586. /// <returns>Returns nullable byte representing the MaxCadencePosition field</returns>
  1587. public byte? GetMaxCadencePosition(int index)
  1588. {
  1589. return (byte?)GetFieldValue(82, index, Fit.SubfieldIndexMainField);
  1590. }
  1591. /// <summary>
  1592. /// Set MaxCadencePosition field
  1593. /// Units: rpm
  1594. /// Comment: Maximum cadence by position. Data value indexes defined by rider_position_type.</summary>
  1595. /// <param name="index">0 based index of max_cadence_position</param>
  1596. /// <param name="maxCadencePosition_">Nullable field value to be set</param>
  1597. public void SetMaxCadencePosition(int index, byte? maxCadencePosition_)
  1598. {
  1599. SetFieldValue(82, index, maxCadencePosition_, Fit.SubfieldIndexMainField);
  1600. }
  1601. #endregion // Methods
  1602. } // Class
  1603. } // namespace