@rickosborne/bluetools 2025.3.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (410) hide show
  1. package/README.md +2624 -0
  2. package/assigned.cjs +577 -0
  3. package/assigned.cjs.map +6 -0
  4. package/assigned.d.ts +552 -0
  5. package/assigned.d.ts.map +1 -0
  6. package/assigned.mjs +557 -0
  7. package/assigned.mjs.map +6 -0
  8. package/battery-level.cjs +50 -0
  9. package/battery-level.cjs.map +6 -0
  10. package/battery-level.d.ts +25 -0
  11. package/battery-level.d.ts.map +1 -0
  12. package/battery-level.mjs +31 -0
  13. package/battery-level.mjs.map +6 -0
  14. package/cross-trainer-data.cjs +188 -0
  15. package/cross-trainer-data.cjs.map +6 -0
  16. package/cross-trainer-data.d.ts +192 -0
  17. package/cross-trainer-data.d.ts.map +1 -0
  18. package/cross-trainer-data.mjs +169 -0
  19. package/cross-trainer-data.mjs.map +6 -0
  20. package/csc-feature.cjs +59 -0
  21. package/csc-feature.cjs.map +6 -0
  22. package/csc-feature.d.ts +55 -0
  23. package/csc-feature.d.ts.map +1 -0
  24. package/csc-feature.mjs +40 -0
  25. package/csc-feature.mjs.map +6 -0
  26. package/csc-measurement.cjs +76 -0
  27. package/csc-measurement.cjs.map +6 -0
  28. package/csc-measurement.d.ts +57 -0
  29. package/csc-measurement.d.ts.map +1 -0
  30. package/csc-measurement.mjs +57 -0
  31. package/csc-measurement.mjs.map +6 -0
  32. package/current-time.cjs +66 -0
  33. package/current-time.cjs.map +6 -0
  34. package/current-time.d.ts +65 -0
  35. package/current-time.d.ts.map +1 -0
  36. package/current-time.mjs +47 -0
  37. package/current-time.mjs.map +6 -0
  38. package/data-view-from-hex.cjs +34 -0
  39. package/data-view-from-hex.cjs.map +6 -0
  40. package/data-view-from-hex.d.ts +6 -0
  41. package/data-view-from-hex.d.ts.map +1 -0
  42. package/data-view-from-hex.mjs +15 -0
  43. package/data-view-from-hex.mjs.map +6 -0
  44. package/data-view-reader.cjs +115 -0
  45. package/data-view-reader.cjs.map +6 -0
  46. package/data-view-reader.d.ts +21 -0
  47. package/data-view-reader.d.ts.map +1 -0
  48. package/data-view-reader.mjs +96 -0
  49. package/data-view-reader.mjs.map +6 -0
  50. package/date-time.cjs +65 -0
  51. package/date-time.cjs.map +6 -0
  52. package/date-time.d.ts +89 -0
  53. package/date-time.d.ts.map +1 -0
  54. package/date-time.mjs +46 -0
  55. package/date-time.mjs.map +6 -0
  56. package/day-date-time.cjs +55 -0
  57. package/day-date-time.cjs.map +6 -0
  58. package/day-date-time.d.ts +21 -0
  59. package/day-date-time.d.ts.map +1 -0
  60. package/day-date-time.mjs +36 -0
  61. package/day-date-time.mjs.map +6 -0
  62. package/day-of-week.cjs +50 -0
  63. package/day-of-week.cjs.map +6 -0
  64. package/day-of-week.d.ts +33 -0
  65. package/day-of-week.d.ts.map +1 -0
  66. package/day-of-week.mjs +31 -0
  67. package/day-of-week.mjs.map +6 -0
  68. package/dst-offset.cjs +50 -0
  69. package/dst-offset.cjs.map +6 -0
  70. package/dst-offset.d.ts +30 -0
  71. package/dst-offset.d.ts.map +1 -0
  72. package/dst-offset.mjs +31 -0
  73. package/dst-offset.mjs.map +6 -0
  74. package/elevation.cjs +50 -0
  75. package/elevation.cjs.map +6 -0
  76. package/elevation.d.ts +22 -0
  77. package/elevation.d.ts.map +1 -0
  78. package/elevation.mjs +31 -0
  79. package/elevation.mjs.map +6 -0
  80. package/exact-time-256.cjs +54 -0
  81. package/exact-time-256.cjs.map +6 -0
  82. package/exact-time-256.d.ts +27 -0
  83. package/exact-time-256.d.ts.map +1 -0
  84. package/exact-time-256.mjs +35 -0
  85. package/exact-time-256.mjs.map +6 -0
  86. package/firmware-revision-string.cjs +50 -0
  87. package/firmware-revision-string.cjs.map +6 -0
  88. package/firmware-revision-string.d.ts +19 -0
  89. package/firmware-revision-string.d.ts.map +1 -0
  90. package/firmware-revision-string.mjs +31 -0
  91. package/firmware-revision-string.mjs.map +6 -0
  92. package/five-zone-heart-rate-limits.cjs +59 -0
  93. package/five-zone-heart-rate-limits.cjs.map +6 -0
  94. package/five-zone-heart-rate-limits.d.ts +47 -0
  95. package/five-zone-heart-rate-limits.d.ts.map +1 -0
  96. package/five-zone-heart-rate-limits.mjs +40 -0
  97. package/five-zone-heart-rate-limits.mjs.map +6 -0
  98. package/gatt-characteristic-presentation-format.cjs +62 -0
  99. package/gatt-characteristic-presentation-format.cjs.map +6 -0
  100. package/gatt-characteristic-presentation-format.d.ts +91 -0
  101. package/gatt-characteristic-presentation-format.d.ts.map +1 -0
  102. package/gatt-characteristic-presentation-format.mjs +43 -0
  103. package/gatt-characteristic-presentation-format.mjs.map +6 -0
  104. package/gatt.cjs +57 -0
  105. package/gatt.cjs.map +6 -0
  106. package/gatt.d.ts +4 -0
  107. package/gatt.d.ts.map +1 -0
  108. package/gatt.mjs +38 -0
  109. package/gatt.mjs.map +6 -0
  110. package/glucose-feature.cjs +83 -0
  111. package/glucose-feature.cjs.map +6 -0
  112. package/glucose-feature.d.ts +127 -0
  113. package/glucose-feature.d.ts.map +1 -0
  114. package/glucose-feature.mjs +64 -0
  115. package/glucose-feature.mjs.map +6 -0
  116. package/glucose-measurement-context.cjs +133 -0
  117. package/glucose-measurement-context.cjs.map +6 -0
  118. package/glucose-measurement-context.d.ts +183 -0
  119. package/glucose-measurement-context.d.ts.map +1 -0
  120. package/glucose-measurement-context.mjs +114 -0
  121. package/glucose-measurement-context.mjs.map +6 -0
  122. package/glucose-measurement.cjs +136 -0
  123. package/glucose-measurement.cjs.map +6 -0
  124. package/glucose-measurement.d.ts +230 -0
  125. package/glucose-measurement.d.ts.map +1 -0
  126. package/glucose-measurement.mjs +117 -0
  127. package/glucose-measurement.mjs.map +6 -0
  128. package/hardware-revision-string.cjs +50 -0
  129. package/hardware-revision-string.cjs.map +6 -0
  130. package/hardware-revision-string.d.ts +19 -0
  131. package/hardware-revision-string.d.ts.map +1 -0
  132. package/hardware-revision-string.mjs +31 -0
  133. package/hardware-revision-string.mjs.map +6 -0
  134. package/heart-rate-control-point.cjs +50 -0
  135. package/heart-rate-control-point.cjs.map +6 -0
  136. package/heart-rate-control-point.d.ts +26 -0
  137. package/heart-rate-control-point.d.ts.map +1 -0
  138. package/heart-rate-control-point.mjs +31 -0
  139. package/heart-rate-control-point.mjs.map +6 -0
  140. package/heart-rate-max.cjs +50 -0
  141. package/heart-rate-max.cjs.map +6 -0
  142. package/heart-rate-max.d.ts +23 -0
  143. package/heart-rate-max.d.ts.map +1 -0
  144. package/heart-rate-max.mjs +31 -0
  145. package/heart-rate-max.mjs.map +6 -0
  146. package/heart-rate-measurement.cjs +79 -0
  147. package/heart-rate-measurement.cjs.map +6 -0
  148. package/heart-rate-measurement.d.ts +65 -0
  149. package/heart-rate-measurement.d.ts.map +1 -0
  150. package/heart-rate-measurement.mjs +60 -0
  151. package/heart-rate-measurement.mjs.map +6 -0
  152. package/heart-rate.cjs +58 -0
  153. package/heart-rate.cjs.map +6 -0
  154. package/heart-rate.d.ts +7 -0
  155. package/heart-rate.d.ts.map +1 -0
  156. package/heart-rate.mjs +39 -0
  157. package/heart-rate.mjs.map +6 -0
  158. package/index.cjs +84 -0
  159. package/index.cjs.map +6 -0
  160. package/index.d.ts +67 -0
  161. package/index.d.ts.map +1 -0
  162. package/index.mjs +67 -0
  163. package/index.mjs.map +6 -0
  164. package/indoor-bike-data.cjs +153 -0
  165. package/indoor-bike-data.cjs.map +6 -0
  166. package/indoor-bike-data.d.ts +146 -0
  167. package/indoor-bike-data.d.ts.map +1 -0
  168. package/indoor-bike-data.mjs +134 -0
  169. package/indoor-bike-data.mjs.map +6 -0
  170. package/language.cjs +50 -0
  171. package/language.cjs.map +6 -0
  172. package/language.d.ts +22 -0
  173. package/language.d.ts.map +1 -0
  174. package/language.mjs +31 -0
  175. package/language.mjs.map +6 -0
  176. package/latitude.cjs +50 -0
  177. package/latitude.cjs.map +6 -0
  178. package/latitude.d.ts +19 -0
  179. package/latitude.d.ts.map +1 -0
  180. package/latitude.mjs +31 -0
  181. package/latitude.mjs.map +6 -0
  182. package/local-time-information.cjs +55 -0
  183. package/local-time-information.cjs.map +6 -0
  184. package/local-time-information.d.ts +21 -0
  185. package/local-time-information.d.ts.map +1 -0
  186. package/local-time-information.mjs +36 -0
  187. package/local-time-information.mjs.map +6 -0
  188. package/location-and-speed.cjs +114 -0
  189. package/location-and-speed.cjs.map +6 -0
  190. package/location-and-speed.d.ts +182 -0
  191. package/location-and-speed.d.ts.map +1 -0
  192. package/location-and-speed.mjs +95 -0
  193. package/location-and-speed.mjs.map +6 -0
  194. package/location-name.cjs +50 -0
  195. package/location-name.cjs.map +6 -0
  196. package/location-name.d.ts +19 -0
  197. package/location-name.d.ts.map +1 -0
  198. package/location-name.mjs +31 -0
  199. package/location-name.mjs.map +6 -0
  200. package/longitude.cjs +50 -0
  201. package/longitude.cjs.map +6 -0
  202. package/longitude.d.ts +19 -0
  203. package/longitude.d.ts.map +1 -0
  204. package/longitude.mjs +31 -0
  205. package/longitude.mjs.map +6 -0
  206. package/manufacturer-name-string.cjs +50 -0
  207. package/manufacturer-name-string.cjs.map +6 -0
  208. package/manufacturer-name-string.d.ts +19 -0
  209. package/manufacturer-name-string.d.ts.map +1 -0
  210. package/manufacturer-name-string.mjs +31 -0
  211. package/manufacturer-name-string.mjs.map +6 -0
  212. package/maximum-recommended-heart-rate.cjs +50 -0
  213. package/maximum-recommended-heart-rate.cjs.map +6 -0
  214. package/maximum-recommended-heart-rate.d.ts +23 -0
  215. package/maximum-recommended-heart-rate.d.ts.map +1 -0
  216. package/maximum-recommended-heart-rate.mjs +31 -0
  217. package/maximum-recommended-heart-rate.mjs.map +6 -0
  218. package/measurement-interval.cjs +50 -0
  219. package/measurement-interval.cjs.map +6 -0
  220. package/measurement-interval.d.ts +27 -0
  221. package/measurement-interval.d.ts.map +1 -0
  222. package/measurement-interval.mjs +31 -0
  223. package/measurement-interval.mjs.map +6 -0
  224. package/model-number-string.cjs +50 -0
  225. package/model-number-string.cjs.map +6 -0
  226. package/model-number-string.d.ts +19 -0
  227. package/model-number-string.d.ts.map +1 -0
  228. package/model-number-string.mjs +31 -0
  229. package/model-number-string.mjs.map +6 -0
  230. package/navigation.cjs +90 -0
  231. package/navigation.cjs.map +6 -0
  232. package/navigation.d.ts +134 -0
  233. package/navigation.d.ts.map +1 -0
  234. package/navigation.mjs +71 -0
  235. package/navigation.mjs.map +6 -0
  236. package/number-of-digitals.cjs +50 -0
  237. package/number-of-digitals.cjs.map +6 -0
  238. package/number-of-digitals.d.ts +19 -0
  239. package/number-of-digitals.d.ts.map +1 -0
  240. package/number-of-digitals.mjs +31 -0
  241. package/number-of-digitals.mjs.map +6 -0
  242. package/package.json +456 -0
  243. package/plx-continuous-measurement.cjs +184 -0
  244. package/plx-continuous-measurement.cjs.map +6 -0
  245. package/plx-continuous-measurement.d.ts +352 -0
  246. package/plx-continuous-measurement.d.ts.map +1 -0
  247. package/plx-continuous-measurement.mjs +165 -0
  248. package/plx-continuous-measurement.mjs.map +6 -0
  249. package/plx-features.cjs +163 -0
  250. package/plx-features.cjs.map +6 -0
  251. package/plx-features.d.ts +354 -0
  252. package/plx-features.d.ts.map +1 -0
  253. package/plx-features.mjs +144 -0
  254. package/plx-features.mjs.map +6 -0
  255. package/plx-spot-check-measurement.cjs +169 -0
  256. package/plx-spot-check-measurement.cjs.map +6 -0
  257. package/plx-spot-check-measurement.d.ts +334 -0
  258. package/plx-spot-check-measurement.d.ts.map +1 -0
  259. package/plx-spot-check-measurement.mjs +150 -0
  260. package/plx-spot-check-measurement.mjs.map +6 -0
  261. package/reference-time-information.cjs +61 -0
  262. package/reference-time-information.cjs.map +6 -0
  263. package/reference-time-information.d.ts +38 -0
  264. package/reference-time-information.d.ts.map +1 -0
  265. package/reference-time-information.mjs +42 -0
  266. package/reference-time-information.mjs.map +6 -0
  267. package/resting-heart-rate.cjs +50 -0
  268. package/resting-heart-rate.cjs.map +6 -0
  269. package/resting-heart-rate.d.ts +23 -0
  270. package/resting-heart-rate.d.ts.map +1 -0
  271. package/resting-heart-rate.mjs +31 -0
  272. package/resting-heart-rate.mjs.map +6 -0
  273. package/rsc-feature.cjs +65 -0
  274. package/rsc-feature.cjs.map +6 -0
  275. package/rsc-feature.d.ts +73 -0
  276. package/rsc-feature.d.ts.map +1 -0
  277. package/rsc-feature.mjs +46 -0
  278. package/rsc-feature.mjs.map +6 -0
  279. package/rsc-measurement.cjs +73 -0
  280. package/rsc-measurement.cjs.map +6 -0
  281. package/rsc-measurement.d.ts +70 -0
  282. package/rsc-measurement.d.ts.map +1 -0
  283. package/rsc-measurement.mjs +54 -0
  284. package/rsc-measurement.mjs.map +6 -0
  285. package/scripts/fetch-and-cache-text.d.ts +2 -0
  286. package/scripts/fetch-and-cache-text.d.ts.map +1 -0
  287. package/scripts/from-xml.d.ts +2 -0
  288. package/scripts/from-xml.d.ts.map +1 -0
  289. package/scripts/gatt-assigned.d.ts +2 -0
  290. package/scripts/gatt-assigned.d.ts.map +1 -0
  291. package/sensor-location.cjs +50 -0
  292. package/sensor-location.cjs.map +6 -0
  293. package/sensor-location.d.ts +42 -0
  294. package/sensor-location.d.ts.map +1 -0
  295. package/sensor-location.mjs +31 -0
  296. package/sensor-location.mjs.map +6 -0
  297. package/serial-number-string.cjs +50 -0
  298. package/serial-number-string.cjs.map +6 -0
  299. package/serial-number-string.d.ts +19 -0
  300. package/serial-number-string.d.ts.map +1 -0
  301. package/serial-number-string.mjs +31 -0
  302. package/serial-number-string.mjs.map +6 -0
  303. package/software-revision-string.cjs +50 -0
  304. package/software-revision-string.cjs.map +6 -0
  305. package/software-revision-string.d.ts +19 -0
  306. package/software-revision-string.d.ts.map +1 -0
  307. package/software-revision-string.mjs +31 -0
  308. package/software-revision-string.mjs.map +6 -0
  309. package/supported-heart-rate-range.cjs +56 -0
  310. package/supported-heart-rate-range.cjs.map +6 -0
  311. package/supported-heart-rate-range.d.ts +37 -0
  312. package/supported-heart-rate-range.d.ts.map +1 -0
  313. package/supported-heart-rate-range.mjs +37 -0
  314. package/supported-heart-rate-range.mjs.map +6 -0
  315. package/supported-inclination-range.cjs +56 -0
  316. package/supported-inclination-range.cjs.map +6 -0
  317. package/supported-inclination-range.d.ts +37 -0
  318. package/supported-inclination-range.d.ts.map +1 -0
  319. package/supported-inclination-range.mjs +37 -0
  320. package/supported-inclination-range.mjs.map +6 -0
  321. package/supported-speed-range.cjs +56 -0
  322. package/supported-speed-range.cjs.map +6 -0
  323. package/supported-speed-range.d.ts +37 -0
  324. package/supported-speed-range.d.ts.map +1 -0
  325. package/supported-speed-range.mjs +37 -0
  326. package/supported-speed-range.mjs.map +6 -0
  327. package/system-id.cjs +53 -0
  328. package/system-id.cjs.map +6 -0
  329. package/system-id.d.ts +34 -0
  330. package/system-id.d.ts.map +1 -0
  331. package/system-id.mjs +34 -0
  332. package/system-id.mjs.map +6 -0
  333. package/temperature-measurement.cjs +79 -0
  334. package/temperature-measurement.cjs.map +6 -0
  335. package/temperature-measurement.d.ts +61 -0
  336. package/temperature-measurement.d.ts.map +1 -0
  337. package/temperature-measurement.mjs +60 -0
  338. package/temperature-measurement.mjs.map +6 -0
  339. package/temperature-type.cjs +50 -0
  340. package/temperature-type.cjs.map +6 -0
  341. package/temperature-type.d.ts +37 -0
  342. package/temperature-type.d.ts.map +1 -0
  343. package/temperature-type.mjs +31 -0
  344. package/temperature-type.mjs.map +6 -0
  345. package/temperature.cjs +50 -0
  346. package/temperature.cjs.map +6 -0
  347. package/temperature.d.ts +22 -0
  348. package/temperature.d.ts.map +1 -0
  349. package/temperature.mjs +31 -0
  350. package/temperature.mjs.map +6 -0
  351. package/three-zone-heart-rate-limits.cjs +53 -0
  352. package/three-zone-heart-rate-limits.cjs.map +6 -0
  353. package/three-zone-heart-rate-limits.d.ts +33 -0
  354. package/three-zone-heart-rate-limits.d.ts.map +1 -0
  355. package/three-zone-heart-rate-limits.mjs +34 -0
  356. package/three-zone-heart-rate-limits.mjs.map +6 -0
  357. package/time-accuracy.cjs +50 -0
  358. package/time-accuracy.cjs.map +6 -0
  359. package/time-accuracy.d.ts +23 -0
  360. package/time-accuracy.d.ts.map +1 -0
  361. package/time-accuracy.mjs +31 -0
  362. package/time-accuracy.mjs.map +6 -0
  363. package/time-source.cjs +50 -0
  364. package/time-source.cjs.map +6 -0
  365. package/time-source.d.ts +33 -0
  366. package/time-source.d.ts.map +1 -0
  367. package/time-source.mjs +31 -0
  368. package/time-source.mjs.map +6 -0
  369. package/time-update-control-point.cjs +50 -0
  370. package/time-update-control-point.cjs.map +6 -0
  371. package/time-update-control-point.d.ts +29 -0
  372. package/time-update-control-point.d.ts.map +1 -0
  373. package/time-update-control-point.mjs +31 -0
  374. package/time-update-control-point.mjs.map +6 -0
  375. package/time-update-state.cjs +53 -0
  376. package/time-update-state.cjs.map +6 -0
  377. package/time-update-state.d.ts +45 -0
  378. package/time-update-state.d.ts.map +1 -0
  379. package/time-update-state.mjs +34 -0
  380. package/time-update-state.mjs.map +6 -0
  381. package/time-with-dst.cjs +55 -0
  382. package/time-with-dst.cjs.map +6 -0
  383. package/time-with-dst.d.ts +21 -0
  384. package/time-with-dst.d.ts.map +1 -0
  385. package/time-with-dst.mjs +36 -0
  386. package/time-with-dst.mjs.map +6 -0
  387. package/time-zone.cjs +50 -0
  388. package/time-zone.cjs.map +6 -0
  389. package/time-zone.d.ts +23 -0
  390. package/time-zone.d.ts.map +1 -0
  391. package/time-zone.mjs +31 -0
  392. package/time-zone.mjs.map +6 -0
  393. package/treadmill-data.cjs +171 -0
  394. package/treadmill-data.cjs.map +6 -0
  395. package/treadmill-data.d.ts +167 -0
  396. package/treadmill-data.d.ts.map +1 -0
  397. package/treadmill-data.mjs +152 -0
  398. package/treadmill-data.mjs.map +6 -0
  399. package/two-zone-heart-rate-limit.cjs +50 -0
  400. package/two-zone-heart-rate-limit.cjs.map +6 -0
  401. package/two-zone-heart-rate-limit.d.ts +23 -0
  402. package/two-zone-heart-rate-limit.d.ts.map +1 -0
  403. package/two-zone-heart-rate-limit.mjs +31 -0
  404. package/two-zone-heart-rate-limit.mjs.map +6 -0
  405. package/vo2-max.cjs +50 -0
  406. package/vo2-max.cjs.map +6 -0
  407. package/vo2-max.d.ts +22 -0
  408. package/vo2-max.d.ts.map +1 -0
  409. package/vo2-max.mjs +31 -0
  410. package/vo2-max.mjs.map +6 -0
@@ -0,0 +1,31 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
4
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
+ import { dataViewReader } from "./data-view-reader.mjs";
6
+ const _BatteryLevelImpl = class _BatteryLevelImpl {
7
+ /** Parse from a DataView into {@link BatteryLevel}. */
8
+ static fromDataView(dataView, indexStart) {
9
+ return new _BatteryLevelImpl(batteryLevelFromDataView(dataView, indexStart));
10
+ }
11
+ level;
12
+ constructor(batteryLevel) {
13
+ this.level = batteryLevel.level;
14
+ }
15
+ };
16
+ __name(_BatteryLevelImpl, "BatteryLevelImpl");
17
+ __publicField(_BatteryLevelImpl, "UUID_PREFIX", 10777);
18
+ __publicField(_BatteryLevelImpl, "TYPE_NAME", "org.bluetooth.characteristic.battery_level");
19
+ __publicField(_BatteryLevelImpl, "NAME", "Battery Level");
20
+ let BatteryLevelImpl = _BatteryLevelImpl;
21
+ function batteryLevelFromDataView(dataView, indexStart = 0) {
22
+ const $dvr = dataViewReader(dataView, indexStart);
23
+ const level = $dvr.uint8();
24
+ return { level };
25
+ }
26
+ __name(batteryLevelFromDataView, "batteryLevelFromDataView");
27
+ export {
28
+ BatteryLevelImpl,
29
+ batteryLevelFromDataView
30
+ };
31
+ //# sourceMappingURL=battery-level.mjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/packages/bluetools/battery-level.ts"],
4
+ "mappings": ";;;;AAAA,SAA8B,sBAAsB;AAkB7C,MAAM,oBAAN,MAAM,kBAAyC;AAAA;AAAA,EAMlD,OAAc,aAAa,UAAqC,YAAmD;AAC/G,WAAO,IAAI,kBAAiB,yBAAyB,UAAU,UAAU,CAAC;AAAA,EAC9E;AAAA,EAEgB;AAAA,EAET,YAAY,cAA4B;AAC3C,SAAK,QAAQ,aAAa;AAAA,EAC9B;AACJ;AAfsD;AAClD,cADS,mBACc,eAAc;AACrC,cAFS,mBAEc,aAAY;AACnC,cAHS,mBAGc,QAAO;AAH3B,IAAM,mBAAN;AAkBA,SAAS,yBAAyB,UAAqC,aAAqB,GAAiB;AAChH,QAAM,OAAuB,eAAe,UAAU,UAAU;AAChE,QAAM,QAAQ,KAAK,MAAM;AACzB,SAAO,EAAE,MAAM;AACnB;AAJgB;",
5
+ "names": []
6
+ }
@@ -0,0 +1,188 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
7
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
21
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
22
+ var cross_trainer_data_exports = {};
23
+ __export(cross_trainer_data_exports, {
24
+ CrossTrainerDataImpl: () => CrossTrainerDataImpl,
25
+ crossTrainerDataFromDataView: () => crossTrainerDataFromDataView
26
+ });
27
+ module.exports = __toCommonJS(cross_trainer_data_exports);
28
+ var import_data_view_reader = require("./data-view-reader.cjs");
29
+ const _CrossTrainerDataImpl = class _CrossTrainerDataImpl {
30
+ /** Parse from a DataView into {@link CrossTrainerData}. */
31
+ static fromDataView(dataView, indexStart) {
32
+ return new _CrossTrainerDataImpl(crossTrainerDataFromDataView(dataView, indexStart));
33
+ }
34
+ averagePower;
35
+ averageSpeed;
36
+ averageStepRate;
37
+ elapsedTime;
38
+ energyPerHour;
39
+ energyPerMinute;
40
+ flags;
41
+ heartRate;
42
+ inclination;
43
+ instantaneousPower;
44
+ instantaneousSpeed;
45
+ metabolicEquivalent;
46
+ movementDirection;
47
+ negativeElevationGain;
48
+ positiveElevationGain;
49
+ rampAngleSetting;
50
+ remainingTime;
51
+ resistanceLevel;
52
+ stepPerMinute;
53
+ strideCount;
54
+ totalDistance;
55
+ totalEnergy;
56
+ constructor(crossTrainerData) {
57
+ this.averagePower = crossTrainerData.averagePower;
58
+ this.averageSpeed = crossTrainerData.averageSpeed;
59
+ this.averageStepRate = crossTrainerData.averageStepRate;
60
+ this.elapsedTime = crossTrainerData.elapsedTime;
61
+ this.energyPerHour = crossTrainerData.energyPerHour;
62
+ this.energyPerMinute = crossTrainerData.energyPerMinute;
63
+ this.flags = crossTrainerData.flags;
64
+ this.heartRate = crossTrainerData.heartRate;
65
+ this.inclination = crossTrainerData.inclination;
66
+ this.instantaneousPower = crossTrainerData.instantaneousPower;
67
+ this.instantaneousSpeed = crossTrainerData.instantaneousSpeed;
68
+ this.metabolicEquivalent = crossTrainerData.metabolicEquivalent;
69
+ this.movementDirection = crossTrainerData.movementDirection;
70
+ this.negativeElevationGain = crossTrainerData.negativeElevationGain;
71
+ this.positiveElevationGain = crossTrainerData.positiveElevationGain;
72
+ this.rampAngleSetting = crossTrainerData.rampAngleSetting;
73
+ this.remainingTime = crossTrainerData.remainingTime;
74
+ this.resistanceLevel = crossTrainerData.resistanceLevel;
75
+ this.stepPerMinute = crossTrainerData.stepPerMinute;
76
+ this.strideCount = crossTrainerData.strideCount;
77
+ this.totalDistance = crossTrainerData.totalDistance;
78
+ this.totalEnergy = crossTrainerData.totalEnergy;
79
+ }
80
+ };
81
+ __name(_CrossTrainerDataImpl, "CrossTrainerDataImpl");
82
+ __publicField(_CrossTrainerDataImpl, "UUID_PREFIX", 10958);
83
+ __publicField(_CrossTrainerDataImpl, "TYPE_NAME", "org.bluetooth.characteristic.cross_trainer_data");
84
+ __publicField(_CrossTrainerDataImpl, "NAME", "Cross Trainer Data");
85
+ let CrossTrainerDataImpl = _CrossTrainerDataImpl;
86
+ function crossTrainerDataFromDataView(dataView, indexStart = 0) {
87
+ const $dvr = (0, import_data_view_reader.dataViewReader)(dataView, indexStart);
88
+ const flags = $dvr.uint24();
89
+ const moreData = !!(flags & 1);
90
+ const averageSpeedPresent = !!((flags & 2) >> 1);
91
+ const totalDistancePresent = !!((flags & 4) >> 2);
92
+ const stepCountPresent = !!((flags & 8) >> 3);
93
+ const strideCountPresent = !!((flags & 16) >> 4);
94
+ const elevationGainPresent = !!((flags & 32) >> 5);
95
+ const inclinationAndRampAngleSettingPresent = !!((flags & 64) >> 6);
96
+ const resistanceLevelPresent = !!((flags & 128) >> 7);
97
+ const instantaneousPowerPresent = !!((flags & 256) >> 8);
98
+ const averagePowerPresent = !!((flags & 512) >> 9);
99
+ const expendedEnergyPresent = !!((flags & 1024) >> 10);
100
+ const heartRatePresent = !!((flags & 2048) >> 11);
101
+ const metabolicEquivalentPresent = !!((flags & 4096) >> 12);
102
+ const elapsedTimePresent = !!((flags & 8192) >> 13);
103
+ const remainingTimePresent = !!((flags & 16384) >> 14);
104
+ const movementDirection = (flags & 32768) >> 15;
105
+ let instantaneousSpeed = void 0;
106
+ if (!moreData) {
107
+ instantaneousSpeed = $dvr.uint16();
108
+ }
109
+ let averageSpeed = void 0;
110
+ if (averageSpeedPresent) {
111
+ averageSpeed = $dvr.uint16();
112
+ }
113
+ let totalDistance = void 0;
114
+ if (totalDistancePresent) {
115
+ totalDistance = $dvr.uint24();
116
+ }
117
+ let stepPerMinute = void 0;
118
+ if (stepCountPresent) {
119
+ stepPerMinute = $dvr.uint16();
120
+ }
121
+ let averageStepRate = void 0;
122
+ if (stepCountPresent) {
123
+ averageStepRate = $dvr.uint16();
124
+ }
125
+ let strideCount = void 0;
126
+ if (strideCountPresent) {
127
+ strideCount = $dvr.uint16();
128
+ }
129
+ let positiveElevationGain = void 0;
130
+ if (elevationGainPresent) {
131
+ positiveElevationGain = $dvr.uint16();
132
+ }
133
+ let negativeElevationGain = void 0;
134
+ if (elevationGainPresent) {
135
+ negativeElevationGain = $dvr.uint16();
136
+ }
137
+ let inclination = void 0;
138
+ if (inclinationAndRampAngleSettingPresent) {
139
+ inclination = $dvr.int16();
140
+ }
141
+ let rampAngleSetting = void 0;
142
+ if (inclinationAndRampAngleSettingPresent) {
143
+ rampAngleSetting = $dvr.int16();
144
+ }
145
+ let resistanceLevel = void 0;
146
+ if (resistanceLevelPresent) {
147
+ resistanceLevel = $dvr.int16();
148
+ }
149
+ let instantaneousPower = void 0;
150
+ if (instantaneousPowerPresent) {
151
+ instantaneousPower = $dvr.int16();
152
+ }
153
+ let averagePower = void 0;
154
+ if (averagePowerPresent) {
155
+ averagePower = $dvr.int16();
156
+ }
157
+ let totalEnergy = void 0;
158
+ if (expendedEnergyPresent) {
159
+ totalEnergy = $dvr.uint16();
160
+ }
161
+ let energyPerHour = void 0;
162
+ if (expendedEnergyPresent) {
163
+ energyPerHour = $dvr.uint16();
164
+ }
165
+ let energyPerMinute = void 0;
166
+ if (expendedEnergyPresent) {
167
+ energyPerMinute = $dvr.uint8();
168
+ }
169
+ let heartRate = void 0;
170
+ if (heartRatePresent) {
171
+ heartRate = $dvr.uint8();
172
+ }
173
+ let metabolicEquivalent = void 0;
174
+ if (metabolicEquivalentPresent) {
175
+ metabolicEquivalent = $dvr.uint8();
176
+ }
177
+ let elapsedTime = void 0;
178
+ if (elapsedTimePresent) {
179
+ elapsedTime = $dvr.uint16();
180
+ }
181
+ let remainingTime = void 0;
182
+ if (remainingTimePresent) {
183
+ remainingTime = $dvr.uint16();
184
+ }
185
+ return { averagePower, averageSpeed, averageStepRate, elapsedTime, energyPerHour, energyPerMinute, flags, heartRate, inclination, instantaneousPower, instantaneousSpeed, metabolicEquivalent, movementDirection, negativeElevationGain, positiveElevationGain, rampAngleSetting, remainingTime, resistanceLevel, stepPerMinute, strideCount, totalDistance, totalEnergy };
186
+ }
187
+ __name(crossTrainerDataFromDataView, "crossTrainerDataFromDataView");
188
+ //# sourceMappingURL=cross-trainer-data.cjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/packages/bluetools/cross-trainer-data.ts"],
4
+ "mappings": "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",
5
+ "names": []
6
+ }
@@ -0,0 +1,192 @@
1
+ import { type DataViewReader } from "./data-view-reader.js";
2
+ /** <p>The Cross Trainer Data characteristic is used to send training-related data to the Client from a cross trainer (Server).</p> */
3
+ export interface CrossTrainerData {
4
+ /**
5
+ * <p>Format: `sint16`</p>
6
+ * <p>Unit: `org.bluetooth.unit.power.watt`</p>
7
+ * <p>Watts with a resolution of 1</p>
8
+ */
9
+ averagePower?: number | undefined;
10
+ /**
11
+ * <p>Format: `uint16`</p>
12
+ * <p>Unit: `org.bluetooth.unit.velocity.kilometre_per_hour`</p>
13
+ * <p>Kilometer per hour with a resolution of 0.01</p>
14
+ */
15
+ averageSpeed?: number | undefined;
16
+ /**
17
+ * <p>Format: `uint16`</p>
18
+ * <p>Unit: `org.bluetooth.unit.step_per_minute`</p>
19
+ * <p>Step/minute with a resolution of 1</p>
20
+ */
21
+ averageStepRate?: number | undefined;
22
+ /**
23
+ * <p>Format: `uint16`</p>
24
+ * <p>Unit: `org.bluetooth.unit.time.second`</p>
25
+ * <p>Second with a resolution of 1</p>
26
+ */
27
+ elapsedTime?: number | undefined;
28
+ /**
29
+ * <p>Format: `uint16`</p>
30
+ * <p>Unit: `org.bluetooth.unit.energy.kilogram_calorie`</p>
31
+ * <p>Kilo Calorie with a resolution of 1</p>
32
+ */
33
+ energyPerHour?: number | undefined;
34
+ /**
35
+ * <p>Format: `uint8`</p>
36
+ * <p>Unit: `org.bluetooth.unit.energy.kilogram_calorie`</p>
37
+ * <p>Kilo Calorie with a resolution of 1</p>
38
+ */
39
+ energyPerMinute?: number | undefined;
40
+ /**
41
+ * <p>Format: `24bit`</p>
42
+ *
43
+ * Bit field:
44
+ *
45
+ * | index | size | req | name |
46
+ * | ----- | ---- | --- | ------------------------------------------ |
47
+ * | 0 | 1 | C1 | More Data |
48
+ * | 1 | 1 | C2 | Average Speed present |
49
+ * | 2 | 1 | C3 | Total Distance Present |
50
+ * | 3 | 1 | C4 | Step Count present |
51
+ * | 4 | 1 | C5 | Stride Count present |
52
+ * | 5 | 1 | C6 | Elevation Gain present |
53
+ * | 6 | 1 | C7 | Inclination and Ramp Angle Setting present |
54
+ * | 7 | 1 | C8 | Resistance Level Present |
55
+ * | 8 | 1 | C9 | Instantaneous Power present |
56
+ * | 9 | 1 | C10 | Average Power present |
57
+ * | 10 | 1 | C11 | Expended Energy present |
58
+ * | 11 | 1 | C12 | Heart Rate present |
59
+ * | 12 | 1 | C13 | Metabolic Equivalent present |
60
+ * | 13 | 1 | C14 | Elapsed Time present |
61
+ * | 14 | 1 | C15 | Remaining Time present |
62
+ * | 15 | 1 | | Movement Direction |
63
+ * | 16 | 8 | | Reserved for future use |
64
+ *
65
+ */
66
+ flags: number;
67
+ /**
68
+ * <p>Format: `uint8`</p>
69
+ * <p>Unit: `org.bluetooth.unit.period.beats_per_minute`</p>
70
+ * <p>Beats per minute with a resolution of 1</p>
71
+ */
72
+ heartRate?: number | undefined;
73
+ /**
74
+ * <p>Format: `sint16`</p>
75
+ * <p>Unit: `org.bluetooth.unit.percentage`</p>
76
+ * <p>Percent with a resolution of 0.1</p>
77
+ */
78
+ inclination?: number | undefined;
79
+ /**
80
+ * <p>Format: `sint16`</p>
81
+ * <p>Unit: `org.bluetooth.unit.power.watt`</p>
82
+ * <p>Watts with a resolution of 1</p>
83
+ */
84
+ instantaneousPower?: number | undefined;
85
+ /**
86
+ * <p>Format: `uint16`</p>
87
+ * <p>Unit: `org.bluetooth.unit.velocity.kilometre_per_hour`</p>
88
+ * <p>Kilometer per hour with a resolution of 0.01</p>
89
+ */
90
+ instantaneousSpeed?: number | undefined;
91
+ /**
92
+ * <p>Format: `uint8`</p>
93
+ * <p>Unit: `org.bluetooth.unit.metabolic_equivalent`</p>
94
+ * <p>Metabolic Equivalent with a resolution of 0.1</p>
95
+ */
96
+ metabolicEquivalent?: number | undefined;
97
+ /**
98
+ * | value | description |
99
+ * | ----- | ----------- |
100
+ * | 0 | Forward |
101
+ * | 1 | Backward |
102
+ */
103
+ movementDirection: number;
104
+ /**
105
+ * <p>Format: `uint16`</p>
106
+ * <p>Unit: `org.bluetooth.unit.length.metre`</p>
107
+ * <p>Meters with a resolution of 1</p>
108
+ */
109
+ negativeElevationGain?: number | undefined;
110
+ /**
111
+ * <p>Format: `uint16`</p>
112
+ * <p>Unit: `org.bluetooth.unit.length.metre`</p>
113
+ * <p>Meters with a resolution of 1</p>
114
+ */
115
+ positiveElevationGain?: number | undefined;
116
+ /**
117
+ * <p>Format: `sint16`</p>
118
+ * <p>Unit: `org.bluetooth.unit.plane_angle.degree`</p>
119
+ * <p>Degree with a resolution of 0.1</p>
120
+ */
121
+ rampAngleSetting?: number | undefined;
122
+ /**
123
+ * <p>Format: `uint16`</p>
124
+ * <p>Unit: `org.bluetooth.unit.time.second`</p>
125
+ * <p>Second with a resolution of 1</p>
126
+ */
127
+ remainingTime?: number | undefined;
128
+ /**
129
+ * <p>Format: `sint16`</p>
130
+ * <p>Unit: `org.bluetooth.unit.unitless`</p>
131
+ * <p>Unitless with a resolution of 0.1</p>
132
+ */
133
+ resistanceLevel?: number | undefined;
134
+ /**
135
+ * <p>Format: `uint16`</p>
136
+ * <p>Unit: `org.bluetooth.unit.step_per_minute`</p>
137
+ * <p>Step/minute with a resolution of 1</p>
138
+ */
139
+ stepPerMinute?: number | undefined;
140
+ /**
141
+ * <p>Format: `uint16`</p>
142
+ * <p>Unit: `org.bluetooth.unit.unitless`</p>
143
+ * <p>Unitless with a resolution of 0.1</p>
144
+ */
145
+ strideCount?: number | undefined;
146
+ /**
147
+ * <p>Format: `uint24`</p>
148
+ * <p>Unit: `org.bluetooth.unit.length.metre`</p>
149
+ * <p>Meters with a resolution of 1</p>
150
+ */
151
+ totalDistance?: number | undefined;
152
+ /**
153
+ * <p>Format: `uint16`</p>
154
+ * <p>Unit: `org.bluetooth.unit.energy.kilogram_calorie`</p>
155
+ * <p>Kilo Calorie with a resolution of 1</p>
156
+ */
157
+ totalEnergy?: number | undefined;
158
+ }
159
+ /** @see {@link https://raw.githubusercontent.com/oesmith/gatt-xml/refs/heads/master/org.bluetooth.characteristic.cross_trainer_data.xml | Cross Trainer Data} */
160
+ export declare class CrossTrainerDataImpl implements CrossTrainerData {
161
+ static readonly UUID_PREFIX = 10958;
162
+ static readonly TYPE_NAME = "org.bluetooth.characteristic.cross_trainer_data";
163
+ static readonly NAME = "Cross Trainer Data";
164
+ /** Parse from a DataView into {@link CrossTrainerData}. */
165
+ static fromDataView(dataView: DataView | DataViewReader, indexStart?: number | undefined): CrossTrainerDataImpl;
166
+ readonly averagePower?: number | undefined;
167
+ readonly averageSpeed?: number | undefined;
168
+ readonly averageStepRate?: number | undefined;
169
+ readonly elapsedTime?: number | undefined;
170
+ readonly energyPerHour?: number | undefined;
171
+ readonly energyPerMinute?: number | undefined;
172
+ readonly flags: number;
173
+ readonly heartRate?: number | undefined;
174
+ readonly inclination?: number | undefined;
175
+ readonly instantaneousPower?: number | undefined;
176
+ readonly instantaneousSpeed?: number | undefined;
177
+ readonly metabolicEquivalent?: number | undefined;
178
+ readonly movementDirection: number;
179
+ readonly negativeElevationGain?: number | undefined;
180
+ readonly positiveElevationGain?: number | undefined;
181
+ readonly rampAngleSetting?: number | undefined;
182
+ readonly remainingTime?: number | undefined;
183
+ readonly resistanceLevel?: number | undefined;
184
+ readonly stepPerMinute?: number | undefined;
185
+ readonly strideCount?: number | undefined;
186
+ readonly totalDistance?: number | undefined;
187
+ readonly totalEnergy?: number | undefined;
188
+ constructor(crossTrainerData: CrossTrainerData);
189
+ }
190
+ /** Parse from a DataView into {@link CrossTrainerData}. */
191
+ export declare function crossTrainerDataFromDataView(dataView: DataView | DataViewReader, indexStart?: number): CrossTrainerData;
192
+ //# sourceMappingURL=cross-trainer-data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cross-trainer-data.d.ts","sourceRoot":"","sources":["../../../src/packages/bluetools/cross-trainer-data.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,169 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
4
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
+ import { dataViewReader } from "./data-view-reader.mjs";
6
+ const _CrossTrainerDataImpl = class _CrossTrainerDataImpl {
7
+ /** Parse from a DataView into {@link CrossTrainerData}. */
8
+ static fromDataView(dataView, indexStart) {
9
+ return new _CrossTrainerDataImpl(crossTrainerDataFromDataView(dataView, indexStart));
10
+ }
11
+ averagePower;
12
+ averageSpeed;
13
+ averageStepRate;
14
+ elapsedTime;
15
+ energyPerHour;
16
+ energyPerMinute;
17
+ flags;
18
+ heartRate;
19
+ inclination;
20
+ instantaneousPower;
21
+ instantaneousSpeed;
22
+ metabolicEquivalent;
23
+ movementDirection;
24
+ negativeElevationGain;
25
+ positiveElevationGain;
26
+ rampAngleSetting;
27
+ remainingTime;
28
+ resistanceLevel;
29
+ stepPerMinute;
30
+ strideCount;
31
+ totalDistance;
32
+ totalEnergy;
33
+ constructor(crossTrainerData) {
34
+ this.averagePower = crossTrainerData.averagePower;
35
+ this.averageSpeed = crossTrainerData.averageSpeed;
36
+ this.averageStepRate = crossTrainerData.averageStepRate;
37
+ this.elapsedTime = crossTrainerData.elapsedTime;
38
+ this.energyPerHour = crossTrainerData.energyPerHour;
39
+ this.energyPerMinute = crossTrainerData.energyPerMinute;
40
+ this.flags = crossTrainerData.flags;
41
+ this.heartRate = crossTrainerData.heartRate;
42
+ this.inclination = crossTrainerData.inclination;
43
+ this.instantaneousPower = crossTrainerData.instantaneousPower;
44
+ this.instantaneousSpeed = crossTrainerData.instantaneousSpeed;
45
+ this.metabolicEquivalent = crossTrainerData.metabolicEquivalent;
46
+ this.movementDirection = crossTrainerData.movementDirection;
47
+ this.negativeElevationGain = crossTrainerData.negativeElevationGain;
48
+ this.positiveElevationGain = crossTrainerData.positiveElevationGain;
49
+ this.rampAngleSetting = crossTrainerData.rampAngleSetting;
50
+ this.remainingTime = crossTrainerData.remainingTime;
51
+ this.resistanceLevel = crossTrainerData.resistanceLevel;
52
+ this.stepPerMinute = crossTrainerData.stepPerMinute;
53
+ this.strideCount = crossTrainerData.strideCount;
54
+ this.totalDistance = crossTrainerData.totalDistance;
55
+ this.totalEnergy = crossTrainerData.totalEnergy;
56
+ }
57
+ };
58
+ __name(_CrossTrainerDataImpl, "CrossTrainerDataImpl");
59
+ __publicField(_CrossTrainerDataImpl, "UUID_PREFIX", 10958);
60
+ __publicField(_CrossTrainerDataImpl, "TYPE_NAME", "org.bluetooth.characteristic.cross_trainer_data");
61
+ __publicField(_CrossTrainerDataImpl, "NAME", "Cross Trainer Data");
62
+ let CrossTrainerDataImpl = _CrossTrainerDataImpl;
63
+ function crossTrainerDataFromDataView(dataView, indexStart = 0) {
64
+ const $dvr = dataViewReader(dataView, indexStart);
65
+ const flags = $dvr.uint24();
66
+ const moreData = !!(flags & 1);
67
+ const averageSpeedPresent = !!((flags & 2) >> 1);
68
+ const totalDistancePresent = !!((flags & 4) >> 2);
69
+ const stepCountPresent = !!((flags & 8) >> 3);
70
+ const strideCountPresent = !!((flags & 16) >> 4);
71
+ const elevationGainPresent = !!((flags & 32) >> 5);
72
+ const inclinationAndRampAngleSettingPresent = !!((flags & 64) >> 6);
73
+ const resistanceLevelPresent = !!((flags & 128) >> 7);
74
+ const instantaneousPowerPresent = !!((flags & 256) >> 8);
75
+ const averagePowerPresent = !!((flags & 512) >> 9);
76
+ const expendedEnergyPresent = !!((flags & 1024) >> 10);
77
+ const heartRatePresent = !!((flags & 2048) >> 11);
78
+ const metabolicEquivalentPresent = !!((flags & 4096) >> 12);
79
+ const elapsedTimePresent = !!((flags & 8192) >> 13);
80
+ const remainingTimePresent = !!((flags & 16384) >> 14);
81
+ const movementDirection = (flags & 32768) >> 15;
82
+ let instantaneousSpeed = void 0;
83
+ if (!moreData) {
84
+ instantaneousSpeed = $dvr.uint16();
85
+ }
86
+ let averageSpeed = void 0;
87
+ if (averageSpeedPresent) {
88
+ averageSpeed = $dvr.uint16();
89
+ }
90
+ let totalDistance = void 0;
91
+ if (totalDistancePresent) {
92
+ totalDistance = $dvr.uint24();
93
+ }
94
+ let stepPerMinute = void 0;
95
+ if (stepCountPresent) {
96
+ stepPerMinute = $dvr.uint16();
97
+ }
98
+ let averageStepRate = void 0;
99
+ if (stepCountPresent) {
100
+ averageStepRate = $dvr.uint16();
101
+ }
102
+ let strideCount = void 0;
103
+ if (strideCountPresent) {
104
+ strideCount = $dvr.uint16();
105
+ }
106
+ let positiveElevationGain = void 0;
107
+ if (elevationGainPresent) {
108
+ positiveElevationGain = $dvr.uint16();
109
+ }
110
+ let negativeElevationGain = void 0;
111
+ if (elevationGainPresent) {
112
+ negativeElevationGain = $dvr.uint16();
113
+ }
114
+ let inclination = void 0;
115
+ if (inclinationAndRampAngleSettingPresent) {
116
+ inclination = $dvr.int16();
117
+ }
118
+ let rampAngleSetting = void 0;
119
+ if (inclinationAndRampAngleSettingPresent) {
120
+ rampAngleSetting = $dvr.int16();
121
+ }
122
+ let resistanceLevel = void 0;
123
+ if (resistanceLevelPresent) {
124
+ resistanceLevel = $dvr.int16();
125
+ }
126
+ let instantaneousPower = void 0;
127
+ if (instantaneousPowerPresent) {
128
+ instantaneousPower = $dvr.int16();
129
+ }
130
+ let averagePower = void 0;
131
+ if (averagePowerPresent) {
132
+ averagePower = $dvr.int16();
133
+ }
134
+ let totalEnergy = void 0;
135
+ if (expendedEnergyPresent) {
136
+ totalEnergy = $dvr.uint16();
137
+ }
138
+ let energyPerHour = void 0;
139
+ if (expendedEnergyPresent) {
140
+ energyPerHour = $dvr.uint16();
141
+ }
142
+ let energyPerMinute = void 0;
143
+ if (expendedEnergyPresent) {
144
+ energyPerMinute = $dvr.uint8();
145
+ }
146
+ let heartRate = void 0;
147
+ if (heartRatePresent) {
148
+ heartRate = $dvr.uint8();
149
+ }
150
+ let metabolicEquivalent = void 0;
151
+ if (metabolicEquivalentPresent) {
152
+ metabolicEquivalent = $dvr.uint8();
153
+ }
154
+ let elapsedTime = void 0;
155
+ if (elapsedTimePresent) {
156
+ elapsedTime = $dvr.uint16();
157
+ }
158
+ let remainingTime = void 0;
159
+ if (remainingTimePresent) {
160
+ remainingTime = $dvr.uint16();
161
+ }
162
+ return { averagePower, averageSpeed, averageStepRate, elapsedTime, energyPerHour, energyPerMinute, flags, heartRate, inclination, instantaneousPower, instantaneousSpeed, metabolicEquivalent, movementDirection, negativeElevationGain, positiveElevationGain, rampAngleSetting, remainingTime, resistanceLevel, stepPerMinute, strideCount, totalDistance, totalEnergy };
163
+ }
164
+ __name(crossTrainerDataFromDataView, "crossTrainerDataFromDataView");
165
+ export {
166
+ CrossTrainerDataImpl,
167
+ crossTrainerDataFromDataView
168
+ };
169
+ //# sourceMappingURL=cross-trainer-data.mjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/packages/bluetools/cross-trainer-data.ts"],
4
+ "mappings": "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",
5
+ "names": []
6
+ }