# Package com.codename1.health.sensors

package com.codename1.health.sensors

Standard Bluetooth SIG health sensors -- heart-rate straps, power meters, speed and cadence sensors, foot pods, thermometers, scales, blood-pressure cuffs and glucose meters.

Start at `HealthSensors`, reached from `Health.getSensors()`.

This layer is built entirely on `com.codename1.bluetooth.le` and needs no platform health store, so it behaves identically on every port with Bluetooth LE -- including the desktop and JavaScript ports, where no health store exists at all. It needs Bluetooth permissions rather than health ones, and an app that uses only this package is not treated as a health-data app by the build server.

The measurement parsers are public and static so they can be unit tested without hardware and reused by apps doing their own GATT work. Each returns null rather than throwing on a malformed payload.

- Related Packages
  Package
  Description
  com.codename1.health
  Cross-platform health data: reading and writing samples, aggregating them over time, watching the store for changes, and recording workouts.
  com.codename1.health.nutrition
  Logged food and drink, as a sparse set of nutrient amounts.
  com.codename1.health.workout
  Workout recording, live where the operating system supports it and framework-recorded everywhere else.
- Class
  Description
  BloodPressureMeasurement
  A decoded Blood Pressure Measurement, characteristic `0x2A35`, or the Intermediate Cuff Pressure, `0x2A36`, which shares the same layout.
  BodySensorLocation
  The values of the Body Sensor Location characteristic, `0x2A38`, as reported by `SensorSession.getBodySensorLocation()`.
  CscMeasurement
  A decoded Cycling Speed and Cadence Measurement, characteristic `0x2A5B`.
  CyclingPowerMeasurement
  A decoded Cycling Power Measurement, characteristic `0x2A63`.
  GlucoseMeasurement
  A decoded Glucose Measurement, characteristic `0x2A18`.
  GlucoseRecordFilter
  Selects which stored records a glucose meter should replay, for `SensorSession.requestStoredRecords(GlucoseRecordFilter)`.
  GlucoseRecordFilter.Kind
  What a filter selects on.
  HealthSensor
  A discovered health sensor: what it is, what it advertises, and how strong its signal was.
  HealthSensorProfile
  A standard Bluetooth SIG health sensor profile -- the service a device advertises and the measurements it produces.
  HealthSensors
  Discovers and streams from standard Bluetooth SIG health sensors -- heart-rate straps, power meters, speed and cadence sensors, foot pods, thermometers, scales, blood-pressure cuffs and glucose meters.
  HeartRateMeasurement
  A decoded Heart Rate Measurement, characteristic `0x2A37`.
  RscMeasurement
  A decoded Running Speed and Cadence Measurement, characteristic `0x2A53`.
  SensorDiscoveryListener
  Receives sensors found during a scan.
  SensorSampleListener
  Receives measurements and state changes from a `SensorSession`.
  SensorScan
  A running sensor scan.
  SensorScanSettings
  Which sensors to look for and for how long.
  SensorSession
  A live connection to one health sensor, decoding its notifications into health samples.
  SensorSessionOptions
  How a `SensorSession` should behave: reconnection, where samples go, and how stale a cached reading may be.
  SensorSessionState
  The lifecycle of a `SensorSession`.
  TemperatureMeasurement
  A decoded Temperature Measurement, characteristic `0x2A1C`.
  WeightMeasurement
  A decoded Weight Measurement, characteristic `0x2A9D`.