@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,352 @@
1
+ import { type DataViewReader } from "./data-view-reader.js";
2
+ /** <p>The PLX Continuous Measurement characteristic, if supported, is used to send periodic pulse oximetry measurements. This characteristic is a variable length structure containing the Flags field (to indicate presence of optional fields), the SpO2PR-Normal field, and depending on the contents of the Flags field, the SpO2PR-Fast field, the SpO2PR-Slow field, the Measurement Status field, the Device and Sensor Status field, and/or the Pulse Amplitude Index field.</p> */
3
+ export interface PlxContinuousMeasurement {
4
+ /**
5
+ * | value | description |
6
+ * | ----- | ----------- |
7
+ * | 0 | False |
8
+ * | 1 | True |
9
+ */
10
+ calibrationOngoing: number;
11
+ /**
12
+ * | value | description |
13
+ * | ----- | ----------- |
14
+ * | 0 | False |
15
+ * | 1 | True |
16
+ */
17
+ dataForDemonstration: number;
18
+ /**
19
+ * | value | description |
20
+ * | ----- | ----------- |
21
+ * | 0 | False |
22
+ * | 1 | True |
23
+ */
24
+ dataForTesting: number;
25
+ /**
26
+ * | value | description |
27
+ * | ----- | ----------- |
28
+ * | 0 | False |
29
+ * | 1 | True |
30
+ */
31
+ dataFromMeasurementStorage: number;
32
+ /**
33
+ * <p>Format: `24bit`</p>
34
+ *
35
+ * Bit field:
36
+ *
37
+ * | index | size | name |
38
+ * | ----- | ---- | ----------------------------------------------------- |
39
+ * | 0 | 1 | Extended Display Update Ongoing bit supported |
40
+ * | 1 | 1 | Equipment Malfunction Detected bit supported |
41
+ * | 2 | 1 | Signal Processing Irregularity Detected bit supported |
42
+ * | 3 | 1 | Inadequite Signal Detected bit supported |
43
+ * | 4 | 1 | Poor Signal Detected bit supported |
44
+ * | 5 | 1 | Low Perfusion Detected bit supported |
45
+ * | 6 | 1 | Erratic Signal Detected bit supported |
46
+ * | 7 | 1 | Nonpulsatile Signal Detected bit supported |
47
+ * | 8 | 1 | Questionable Pulse Detected bit supported |
48
+ * | 9 | 1 | Signal Analysis Ongoing bit supported |
49
+ * | 10 | 1 | Sensor Interference Detected bit supported |
50
+ * | 11 | 1 | Sensor Unconnected to User bit supported |
51
+ * | 12 | 1 | Unknown Sensor Connected bit supported |
52
+ * | 13 | 1 | Sensor Displaced bit supported |
53
+ * | 14 | 1 | Sensor Malfunctioning bit supported |
54
+ * | 15 | 1 | Sensor Disconnected bit supported |
55
+ * | 16 | 8 | Reserved for future use |
56
+ *
57
+ */
58
+ deviceAndSensorStatus: number;
59
+ /**
60
+ * | value | description |
61
+ * | ----- | ----------- |
62
+ * | 0 | False |
63
+ * | 1 | True |
64
+ */
65
+ earlyEstimatedData: number;
66
+ /**
67
+ * | value | description |
68
+ * | ----- | ----------- |
69
+ * | 0 | False |
70
+ * | 1 | True |
71
+ */
72
+ equipmentMalfunctionDetectedBitSupported: number;
73
+ /**
74
+ * | value | description |
75
+ * | ----- | ----------- |
76
+ * | 0 | False |
77
+ * | 1 | True |
78
+ */
79
+ erraticSignalDetectedBitSupported: number;
80
+ /**
81
+ * | value | description |
82
+ * | ----- | ----------- |
83
+ * | 0 | False |
84
+ * | 1 | True |
85
+ */
86
+ extendedDisplayUpdateOngoingBitSupported: number;
87
+ /**
88
+ * <p>Format: `8bit`</p>
89
+ *
90
+ * Bit field:
91
+ *
92
+ * | index | size | req | name |
93
+ * | ----- | ---- | --- | ----------------------------------------- |
94
+ * | 0 | 1 | C1 | SpO2PR?Fast field is present |
95
+ * | 1 | 1 | C2 | SpO2PR-Slow field is present |
96
+ * | 2 | 1 | C3 | Measurement Status field is present |
97
+ * | 3 | 1 | C4 | Device and Sensor Status field is present |
98
+ * | 4 | 1 | C5 | Pulse Amplitude Index field is present |
99
+ * | 5 | 3 | | Reserved for future use |
100
+ *
101
+ */
102
+ flags: number;
103
+ /**
104
+ * | value | description |
105
+ * | ----- | ----------- |
106
+ * | 0 | False |
107
+ * | 1 | True |
108
+ */
109
+ fullyQualifiedData: number;
110
+ /**
111
+ * | value | description |
112
+ * | ----- | ----------- |
113
+ * | 0 | False |
114
+ * | 1 | True |
115
+ */
116
+ inadequiteSignalDetectedBitSupported: number;
117
+ /**
118
+ * | value | description |
119
+ * | ----- | ----------- |
120
+ * | 0 | False |
121
+ * | 1 | True |
122
+ */
123
+ invalidMeasurementDetected: number;
124
+ /**
125
+ * | value | description |
126
+ * | ----- | ----------- |
127
+ * | 0 | False |
128
+ * | 1 | True |
129
+ */
130
+ lowPerfusionDetectedBitSupported: number;
131
+ /**
132
+ * | value | description |
133
+ * | ----- | ----------- |
134
+ * | 0 | False |
135
+ * | 1 | True |
136
+ */
137
+ measurementOngoing: number;
138
+ /**
139
+ * <p>Format: `16bit`</p>
140
+ *
141
+ * Bit field:
142
+ *
143
+ * | index | size | name |
144
+ * | ----- | ---- | --------------------------------- |
145
+ * | 5 | 1 | Measurement Ongoing |
146
+ * | 6 | 1 | Early Estimated Data |
147
+ * | 7 | 1 | Validated Data |
148
+ * | 8 | 1 | Fully Qualified Data |
149
+ * | 9 | 1 | Data from Measurement Storage |
150
+ * | 10 | 1 | Data for Demonstration |
151
+ * | 11 | 1 | Data for Testing |
152
+ * | 12 | 1 | Calibration Ongoing |
153
+ * | 13 | 1 | Measurement Unavailable |
154
+ * | 14 | 1 | Questionable Measurement Detected |
155
+ * | 15 | 1 | Invalid Measurement Detected |
156
+ * | 0 | 5 | Reserved for future use |
157
+ *
158
+ */
159
+ measurementStatus: number;
160
+ /**
161
+ * | value | description |
162
+ * | ----- | ----------- |
163
+ * | 0 | False |
164
+ * | 1 | True |
165
+ */
166
+ measurementUnavailable: number;
167
+ /**
168
+ * | value | description |
169
+ * | ----- | ----------- |
170
+ * | 0 | False |
171
+ * | 1 | True |
172
+ */
173
+ nonpulsatileSignalDetectedBitSupported: number;
174
+ /**
175
+ * | value | description |
176
+ * | ----- | ----------- |
177
+ * | 0 | False |
178
+ * | 1 | True |
179
+ */
180
+ poorSignalDetectedBitSupported: number;
181
+ /**
182
+ * <p>Format: `SFLOAT`</p>
183
+ * <p>Unit: `org.bluetooth.unit.percentage`</p>
184
+ * <p>Unit is percentage with a resolution of 1</p>
185
+ */
186
+ pulseAmplitudeIndex?: number | undefined;
187
+ /**
188
+ * | value | description |
189
+ * | ----- | ----------- |
190
+ * | 0 | False |
191
+ * | 1 | True |
192
+ */
193
+ questionableMeasurementDetected: number;
194
+ /**
195
+ * | value | description |
196
+ * | ----- | ----------- |
197
+ * | 0 | False |
198
+ * | 1 | True |
199
+ */
200
+ questionablePulseDetectedBitSupported: number;
201
+ /**
202
+ * | value | description |
203
+ * | ----- | ----------- |
204
+ * | 0 | False |
205
+ * | 1 | True |
206
+ */
207
+ sensorDisconnectedBitSupported: number;
208
+ /**
209
+ * | value | description |
210
+ * | ----- | ----------- |
211
+ * | 0 | False |
212
+ * | 1 | True |
213
+ */
214
+ sensorDisplacedBitSupported: number;
215
+ /**
216
+ * | value | description |
217
+ * | ----- | ----------- |
218
+ * | 0 | False |
219
+ * | 1 | True |
220
+ */
221
+ sensorInterferenceDetectedBitSupported: number;
222
+ /**
223
+ * | value | description |
224
+ * | ----- | ----------- |
225
+ * | 0 | False |
226
+ * | 1 | True |
227
+ */
228
+ sensorMalfunctioningBitSupported: number;
229
+ /**
230
+ * | value | description |
231
+ * | ----- | ----------- |
232
+ * | 0 | False |
233
+ * | 1 | True |
234
+ */
235
+ sensorUnconnectedToUserBitSupported: number;
236
+ /**
237
+ * | value | description |
238
+ * | ----- | ----------- |
239
+ * | 0 | False |
240
+ * | 1 | True |
241
+ */
242
+ signalAnalysisOngoingBitSupported: number;
243
+ /**
244
+ * | value | description |
245
+ * | ----- | ----------- |
246
+ * | 0 | False |
247
+ * | 1 | True |
248
+ */
249
+ signalProcessingIrregularityDetectedBitSupported: number;
250
+ /**
251
+ * <p>Format: `SFLOAT`</p>
252
+ * <p>Unit: `org.bluetooth.unit.period.beats_per_minute`</p>
253
+ * <p>Unit is beats per minute with a resolution of 1</p>
254
+ */
255
+ spo2prFastPR?: number | undefined;
256
+ /**
257
+ * <p>Format: `SFLOAT`</p>
258
+ * <p>Unit: `org.bluetooth.unit.percentage`</p>
259
+ * <p>Unit is percentage with a resolution of 1</p>
260
+ */
261
+ spo2prFastSpO2?: number | undefined;
262
+ /**
263
+ * <p>Format: `SFLOAT`</p>
264
+ * <p>Unit: `org.bluetooth.unit.period.beats_per_minute`</p>
265
+ * <p>Unit is beats per minute with a resolution of 1</p>
266
+ */
267
+ spo2prNormalPR: number;
268
+ /**
269
+ * <p>Format: `SFLOAT`</p>
270
+ * <p>Unit: `org.bluetooth.unit.percentage`</p>
271
+ * <p>Unit is percentage with a resolution of 1</p>
272
+ */
273
+ spo2prNormalSpO2: number;
274
+ /**
275
+ * <p>Format: `SFLOAT`</p>
276
+ * <p>Unit: `org.bluetooth.unit.period.beats_per_minute`</p>
277
+ * <p>Unit is beats per minute with a resolution of 1</p>
278
+ */
279
+ spo2prSlowPR?: number | undefined;
280
+ /**
281
+ * <p>Format: `SFLOAT`</p>
282
+ * <p>Unit: `org.bluetooth.unit.percentage`</p>
283
+ * <p>Unit is percentage with a resolution of 1</p>
284
+ */
285
+ spo2prSlowSpO2?: number | undefined;
286
+ /**
287
+ * | value | description |
288
+ * | ----- | ----------- |
289
+ * | 0 | False |
290
+ * | 1 | True |
291
+ */
292
+ unknownSensorConnectedBitSupported: number;
293
+ /**
294
+ * | value | description |
295
+ * | ----- | ----------- |
296
+ * | 0 | False |
297
+ * | 1 | True |
298
+ */
299
+ validatedData: number;
300
+ }
301
+ /**
302
+ * The fields in the above table, reading from top to bottom, are shown in the order of LSO to MSO, where LSO = Least Significant Octet and MSO = Most Significant Octet.
303
+ * @see {@link https://raw.githubusercontent.com/oesmith/gatt-xml/refs/heads/master/org.bluetooth.characteristic.plx_continuous_measurement.xml | Plx Continuous Measurement}
304
+ */
305
+ export declare class PlxContinuousMeasurementImpl implements PlxContinuousMeasurement {
306
+ static readonly UUID_PREFIX = 10847;
307
+ static readonly TYPE_NAME = "org.bluetooth.characteristic.plx_continuous_measurement";
308
+ static readonly NAME = "PLX Continuous Measurement Characteristic";
309
+ /** Parse from a DataView into {@link PlxContinuousMeasurement}. */
310
+ static fromDataView(dataView: DataView | DataViewReader, indexStart?: number | undefined): PlxContinuousMeasurementImpl;
311
+ readonly calibrationOngoing: number;
312
+ readonly dataForDemonstration: number;
313
+ readonly dataForTesting: number;
314
+ readonly dataFromMeasurementStorage: number;
315
+ readonly deviceAndSensorStatus: number;
316
+ readonly earlyEstimatedData: number;
317
+ readonly equipmentMalfunctionDetectedBitSupported: number;
318
+ readonly erraticSignalDetectedBitSupported: number;
319
+ readonly extendedDisplayUpdateOngoingBitSupported: number;
320
+ readonly flags: number;
321
+ readonly fullyQualifiedData: number;
322
+ readonly inadequiteSignalDetectedBitSupported: number;
323
+ readonly invalidMeasurementDetected: number;
324
+ readonly lowPerfusionDetectedBitSupported: number;
325
+ readonly measurementOngoing: number;
326
+ readonly measurementStatus: number;
327
+ readonly measurementUnavailable: number;
328
+ readonly nonpulsatileSignalDetectedBitSupported: number;
329
+ readonly poorSignalDetectedBitSupported: number;
330
+ readonly pulseAmplitudeIndex?: number | undefined;
331
+ readonly questionableMeasurementDetected: number;
332
+ readonly questionablePulseDetectedBitSupported: number;
333
+ readonly sensorDisconnectedBitSupported: number;
334
+ readonly sensorDisplacedBitSupported: number;
335
+ readonly sensorInterferenceDetectedBitSupported: number;
336
+ readonly sensorMalfunctioningBitSupported: number;
337
+ readonly sensorUnconnectedToUserBitSupported: number;
338
+ readonly signalAnalysisOngoingBitSupported: number;
339
+ readonly signalProcessingIrregularityDetectedBitSupported: number;
340
+ readonly spo2prFastPR?: number | undefined;
341
+ readonly spo2prFastSpO2?: number | undefined;
342
+ readonly spo2prNormalPR: number;
343
+ readonly spo2prNormalSpO2: number;
344
+ readonly spo2prSlowPR?: number | undefined;
345
+ readonly spo2prSlowSpO2?: number | undefined;
346
+ readonly unknownSensorConnectedBitSupported: number;
347
+ readonly validatedData: number;
348
+ constructor(plxContinuousMeasurement: PlxContinuousMeasurement);
349
+ }
350
+ /** Parse from a DataView into {@link PlxContinuousMeasurement}. */
351
+ export declare function plxContinuousMeasurementFromDataView(dataView: DataView | DataViewReader, indexStart?: number): PlxContinuousMeasurement;
352
+ //# sourceMappingURL=plx-continuous-measurement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plx-continuous-measurement.d.ts","sourceRoot":"","sources":["../../../src/packages/bluetools/plx-continuous-measurement.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,165 @@
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 _PlxContinuousMeasurementImpl = class _PlxContinuousMeasurementImpl {
7
+ /** Parse from a DataView into {@link PlxContinuousMeasurement}. */
8
+ static fromDataView(dataView, indexStart) {
9
+ return new _PlxContinuousMeasurementImpl(plxContinuousMeasurementFromDataView(dataView, indexStart));
10
+ }
11
+ calibrationOngoing;
12
+ dataForDemonstration;
13
+ dataForTesting;
14
+ dataFromMeasurementStorage;
15
+ deviceAndSensorStatus;
16
+ earlyEstimatedData;
17
+ equipmentMalfunctionDetectedBitSupported;
18
+ erraticSignalDetectedBitSupported;
19
+ extendedDisplayUpdateOngoingBitSupported;
20
+ flags;
21
+ fullyQualifiedData;
22
+ inadequiteSignalDetectedBitSupported;
23
+ invalidMeasurementDetected;
24
+ lowPerfusionDetectedBitSupported;
25
+ measurementOngoing;
26
+ measurementStatus;
27
+ measurementUnavailable;
28
+ nonpulsatileSignalDetectedBitSupported;
29
+ poorSignalDetectedBitSupported;
30
+ pulseAmplitudeIndex;
31
+ questionableMeasurementDetected;
32
+ questionablePulseDetectedBitSupported;
33
+ sensorDisconnectedBitSupported;
34
+ sensorDisplacedBitSupported;
35
+ sensorInterferenceDetectedBitSupported;
36
+ sensorMalfunctioningBitSupported;
37
+ sensorUnconnectedToUserBitSupported;
38
+ signalAnalysisOngoingBitSupported;
39
+ signalProcessingIrregularityDetectedBitSupported;
40
+ spo2prFastPR;
41
+ spo2prFastSpO2;
42
+ spo2prNormalPR;
43
+ spo2prNormalSpO2;
44
+ spo2prSlowPR;
45
+ spo2prSlowSpO2;
46
+ unknownSensorConnectedBitSupported;
47
+ validatedData;
48
+ constructor(plxContinuousMeasurement) {
49
+ this.calibrationOngoing = plxContinuousMeasurement.calibrationOngoing;
50
+ this.dataForDemonstration = plxContinuousMeasurement.dataForDemonstration;
51
+ this.dataForTesting = plxContinuousMeasurement.dataForTesting;
52
+ this.dataFromMeasurementStorage = plxContinuousMeasurement.dataFromMeasurementStorage;
53
+ this.deviceAndSensorStatus = plxContinuousMeasurement.deviceAndSensorStatus;
54
+ this.earlyEstimatedData = plxContinuousMeasurement.earlyEstimatedData;
55
+ this.equipmentMalfunctionDetectedBitSupported = plxContinuousMeasurement.equipmentMalfunctionDetectedBitSupported;
56
+ this.erraticSignalDetectedBitSupported = plxContinuousMeasurement.erraticSignalDetectedBitSupported;
57
+ this.extendedDisplayUpdateOngoingBitSupported = plxContinuousMeasurement.extendedDisplayUpdateOngoingBitSupported;
58
+ this.flags = plxContinuousMeasurement.flags;
59
+ this.fullyQualifiedData = plxContinuousMeasurement.fullyQualifiedData;
60
+ this.inadequiteSignalDetectedBitSupported = plxContinuousMeasurement.inadequiteSignalDetectedBitSupported;
61
+ this.invalidMeasurementDetected = plxContinuousMeasurement.invalidMeasurementDetected;
62
+ this.lowPerfusionDetectedBitSupported = plxContinuousMeasurement.lowPerfusionDetectedBitSupported;
63
+ this.measurementOngoing = plxContinuousMeasurement.measurementOngoing;
64
+ this.measurementStatus = plxContinuousMeasurement.measurementStatus;
65
+ this.measurementUnavailable = plxContinuousMeasurement.measurementUnavailable;
66
+ this.nonpulsatileSignalDetectedBitSupported = plxContinuousMeasurement.nonpulsatileSignalDetectedBitSupported;
67
+ this.poorSignalDetectedBitSupported = plxContinuousMeasurement.poorSignalDetectedBitSupported;
68
+ this.pulseAmplitudeIndex = plxContinuousMeasurement.pulseAmplitudeIndex;
69
+ this.questionableMeasurementDetected = plxContinuousMeasurement.questionableMeasurementDetected;
70
+ this.questionablePulseDetectedBitSupported = plxContinuousMeasurement.questionablePulseDetectedBitSupported;
71
+ this.sensorDisconnectedBitSupported = plxContinuousMeasurement.sensorDisconnectedBitSupported;
72
+ this.sensorDisplacedBitSupported = plxContinuousMeasurement.sensorDisplacedBitSupported;
73
+ this.sensorInterferenceDetectedBitSupported = plxContinuousMeasurement.sensorInterferenceDetectedBitSupported;
74
+ this.sensorMalfunctioningBitSupported = plxContinuousMeasurement.sensorMalfunctioningBitSupported;
75
+ this.sensorUnconnectedToUserBitSupported = plxContinuousMeasurement.sensorUnconnectedToUserBitSupported;
76
+ this.signalAnalysisOngoingBitSupported = plxContinuousMeasurement.signalAnalysisOngoingBitSupported;
77
+ this.signalProcessingIrregularityDetectedBitSupported = plxContinuousMeasurement.signalProcessingIrregularityDetectedBitSupported;
78
+ this.spo2prFastPR = plxContinuousMeasurement.spo2prFastPR;
79
+ this.spo2prFastSpO2 = plxContinuousMeasurement.spo2prFastSpO2;
80
+ this.spo2prNormalPR = plxContinuousMeasurement.spo2prNormalPR;
81
+ this.spo2prNormalSpO2 = plxContinuousMeasurement.spo2prNormalSpO2;
82
+ this.spo2prSlowPR = plxContinuousMeasurement.spo2prSlowPR;
83
+ this.spo2prSlowSpO2 = plxContinuousMeasurement.spo2prSlowSpO2;
84
+ this.unknownSensorConnectedBitSupported = plxContinuousMeasurement.unknownSensorConnectedBitSupported;
85
+ this.validatedData = plxContinuousMeasurement.validatedData;
86
+ }
87
+ };
88
+ __name(_PlxContinuousMeasurementImpl, "PlxContinuousMeasurementImpl");
89
+ __publicField(_PlxContinuousMeasurementImpl, "UUID_PREFIX", 10847);
90
+ __publicField(_PlxContinuousMeasurementImpl, "TYPE_NAME", "org.bluetooth.characteristic.plx_continuous_measurement");
91
+ __publicField(_PlxContinuousMeasurementImpl, "NAME", "PLX Continuous Measurement Characteristic");
92
+ let PlxContinuousMeasurementImpl = _PlxContinuousMeasurementImpl;
93
+ function plxContinuousMeasurementFromDataView(dataView, indexStart = 0) {
94
+ const $dvr = dataViewReader(dataView, indexStart);
95
+ const flags = $dvr.uint8();
96
+ const spo2prFastFieldIsPresent = !!(flags & 1);
97
+ const spo2prSlowFieldIsPresent = !!((flags & 2) >> 1);
98
+ const measurementStatusFieldIsPresent = !!((flags & 4) >> 2);
99
+ const deviceAndSensorStatusFieldIsPresent = !!((flags & 8) >> 3);
100
+ const pulseAmplitudeIndexFieldIsPresent = !!((flags & 16) >> 4);
101
+ const spo2prNormalSpO2 = $dvr.sFloat();
102
+ const spo2prNormalPR = $dvr.sFloat();
103
+ let spo2prFastSpO2 = void 0;
104
+ if (spo2prFastFieldIsPresent) {
105
+ spo2prFastSpO2 = $dvr.sFloat();
106
+ }
107
+ let spo2prFastPR = void 0;
108
+ if (spo2prFastFieldIsPresent) {
109
+ spo2prFastPR = $dvr.sFloat();
110
+ }
111
+ let spo2prSlowSpO2 = void 0;
112
+ if (spo2prSlowFieldIsPresent) {
113
+ spo2prSlowSpO2 = $dvr.sFloat();
114
+ }
115
+ let spo2prSlowPR = void 0;
116
+ if (spo2prSlowFieldIsPresent) {
117
+ spo2prSlowPR = $dvr.sFloat();
118
+ }
119
+ let measurementStatus = 0;
120
+ if (measurementStatusFieldIsPresent) {
121
+ measurementStatus = $dvr.uint16();
122
+ }
123
+ const measurementOngoing = (measurementStatus & 32) >> 5;
124
+ const earlyEstimatedData = (measurementStatus & 64) >> 6;
125
+ const validatedData = (measurementStatus & 128) >> 7;
126
+ const fullyQualifiedData = (measurementStatus & 256) >> 8;
127
+ const dataFromMeasurementStorage = (measurementStatus & 512) >> 9;
128
+ const dataForDemonstration = (measurementStatus & 1024) >> 10;
129
+ const dataForTesting = (measurementStatus & 2048) >> 11;
130
+ const calibrationOngoing = (measurementStatus & 4096) >> 12;
131
+ const measurementUnavailable = (measurementStatus & 8192) >> 13;
132
+ const questionableMeasurementDetected = (measurementStatus & 16384) >> 14;
133
+ const invalidMeasurementDetected = (measurementStatus & 32768) >> 15;
134
+ let deviceAndSensorStatus = 0;
135
+ if (deviceAndSensorStatusFieldIsPresent) {
136
+ deviceAndSensorStatus = $dvr.uint24();
137
+ }
138
+ const extendedDisplayUpdateOngoingBitSupported = deviceAndSensorStatus & 1;
139
+ const equipmentMalfunctionDetectedBitSupported = (deviceAndSensorStatus & 2) >> 1;
140
+ const signalProcessingIrregularityDetectedBitSupported = (deviceAndSensorStatus & 4) >> 2;
141
+ const inadequiteSignalDetectedBitSupported = (deviceAndSensorStatus & 8) >> 3;
142
+ const poorSignalDetectedBitSupported = (deviceAndSensorStatus & 16) >> 4;
143
+ const lowPerfusionDetectedBitSupported = (deviceAndSensorStatus & 32) >> 5;
144
+ const erraticSignalDetectedBitSupported = (deviceAndSensorStatus & 64) >> 6;
145
+ const nonpulsatileSignalDetectedBitSupported = (deviceAndSensorStatus & 128) >> 7;
146
+ const questionablePulseDetectedBitSupported = (deviceAndSensorStatus & 256) >> 8;
147
+ const signalAnalysisOngoingBitSupported = (deviceAndSensorStatus & 512) >> 9;
148
+ const sensorInterferenceDetectedBitSupported = (deviceAndSensorStatus & 1024) >> 10;
149
+ const sensorUnconnectedToUserBitSupported = (deviceAndSensorStatus & 2048) >> 11;
150
+ const unknownSensorConnectedBitSupported = (deviceAndSensorStatus & 4096) >> 12;
151
+ const sensorDisplacedBitSupported = (deviceAndSensorStatus & 8192) >> 13;
152
+ const sensorMalfunctioningBitSupported = (deviceAndSensorStatus & 16384) >> 14;
153
+ const sensorDisconnectedBitSupported = (deviceAndSensorStatus & 32768) >> 15;
154
+ let pulseAmplitudeIndex = void 0;
155
+ if (pulseAmplitudeIndexFieldIsPresent) {
156
+ pulseAmplitudeIndex = $dvr.sFloat();
157
+ }
158
+ return { calibrationOngoing, dataForDemonstration, dataForTesting, dataFromMeasurementStorage, deviceAndSensorStatus, earlyEstimatedData, equipmentMalfunctionDetectedBitSupported, erraticSignalDetectedBitSupported, extendedDisplayUpdateOngoingBitSupported, flags, fullyQualifiedData, inadequiteSignalDetectedBitSupported, invalidMeasurementDetected, lowPerfusionDetectedBitSupported, measurementOngoing, measurementStatus, measurementUnavailable, nonpulsatileSignalDetectedBitSupported, poorSignalDetectedBitSupported, pulseAmplitudeIndex, questionableMeasurementDetected, questionablePulseDetectedBitSupported, sensorDisconnectedBitSupported, sensorDisplacedBitSupported, sensorInterferenceDetectedBitSupported, sensorMalfunctioningBitSupported, sensorUnconnectedToUserBitSupported, signalAnalysisOngoingBitSupported, signalProcessingIrregularityDetectedBitSupported, spo2prFastPR, spo2prFastSpO2, spo2prNormalPR, spo2prNormalSpO2, spo2prSlowPR, spo2prSlowSpO2, unknownSensorConnectedBitSupported, validatedData };
159
+ }
160
+ __name(plxContinuousMeasurementFromDataView, "plxContinuousMeasurementFromDataView");
161
+ export {
162
+ PlxContinuousMeasurementImpl,
163
+ plxContinuousMeasurementFromDataView
164
+ };
165
+ //# sourceMappingURL=plx-continuous-measurement.mjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/packages/bluetools/plx-continuous-measurement.ts"],
4
+ "mappings": "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",
5
+ "names": []
6
+ }