All measure types in this package live in the namespace dk.carp.watch.aware and are event-based: once started, they keep producing data until the study stops them.

Fields

All nine data classes extend AppleWatchData: recordId is formed as watch device id / measure type / row id in the watch database. It is what makes re-transferred records safe: the same record never lands twice in the local CAMS database.

Reading the data


Motion

AppleWatchMotion: sampled at motionSamplingRate Hz. Fields belonging to a disabled sub-sensor (accelerometerEnabled, deviceMotionEnabled) are zero.

Heart Rate

AppleWatchHeartRate: read from HealthKit on the watch. Requires the HealthKit capability and the participant’s permission, granted on the watch. Sampling frequency is decided by watchOS, not by this package and the watch measures more often during activity and less often at rest.

Battery

AppleWatchBattery: the battery of the watch itself.
watchOS reports the battery level in steps of 5%.

Location

AppleWatchLocation If the phone is also collecting location through carp_context_package, make sure to disable one otherwise this results in two location streams.

Heading

AppleWatchHeading: compass and magnetometer.

Bluetooth

AppleWatchBluetooth: one record per device seen in a scan.

Ambient Noise

AppleWatchAmbientNoise: sound pressure level. No audio is stored. Requires audioEnabled: true together with ambientNoiseEnabled: true.

Audio Label

AppleWatchAudioLabel: sound classification using Apple’s SoundAnalysis. No audio is stored. Requires audioEnabled: true together with audioClassificationEnabled: true. Filter on confidence in analysis — low-confidence labels are frequent in noisy environments.

Device Information

AppleWatchDeviceInfo: collected once each time data collection starts on the watch. This is the record that links the watch’s AWARE device id to the phone’s.