From 6969591b07a248c0b11dbc261554d01e5155b3cd Mon Sep 17 00:00:00 2001 From: this-Aditya Date: Fri, 28 Jun 2024 12:47:37 +0530 Subject: [PATCH 01/22] Added schemas and specifications for phone_audio_input plugin --- commons/passive/phone/phone_audio_input.avsc | 11 +++++++++++ specifications/passive/android_phone-1.0.0.yml | 8 ++++++++ 2 files changed, 19 insertions(+) create mode 100644 commons/passive/phone/phone_audio_input.avsc diff --git a/commons/passive/phone/phone_audio_input.avsc b/commons/passive/phone/phone_audio_input.avsc new file mode 100644 index 00000000..2a89923c --- /dev/null +++ b/commons/passive/phone/phone_audio_input.avsc @@ -0,0 +1,11 @@ +{ + "namespace": "org.radarcns.passive.phone", + "type": "record", + "name": "PhoneAudioInput", + "doc": "Uncompressed high-quality audio data collected by the PhoneAudioInput plugin, making use of low-level classes that interact directly with hardware.", + "fields": [ + {"name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." }, + {"name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." }, + {"name": "audioInputData", "type": "string", "doc": "Base64 encoded uncompressed audio input data captured by the device, sourced from a 16kHz .wav file." } + ] +} diff --git a/specifications/passive/android_phone-1.0.0.yml b/specifications/passive/android_phone-1.0.0.yml index bdbce9b5..f2d5546e 100644 --- a/specifications/passive/android_phone-1.0.0.yml +++ b/specifications/passive/android_phone-1.0.0.yml @@ -156,3 +156,11 @@ data: value_schema: .passive.phone.PhoneUserInteraction sample_rate: dynamic: true + # Phone Audio Input + - type: PHONE_AUDIO_INPUT + app_provider: .phone.PhoneAudioInputProvider + processing_state: RAW + topic: android_phone_audio_input + value_schema: .passive.phone.PhoneAudioInput + sample_rate: + dynamic: true \ No newline at end of file From 742443dafa1f3d4d4099998c9388fdf9974ba50e Mon Sep 17 00:00:00 2001 From: this-Aditya Date: Thu, 11 Jul 2024 10:50:44 +0530 Subject: [PATCH 02/22] Updated the schema for phone_audio_input --- commons/passive/phone/phone_audio_input.avsc | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/commons/passive/phone/phone_audio_input.avsc b/commons/passive/phone/phone_audio_input.avsc index 2a89923c..9b1d7c66 100644 --- a/commons/passive/phone/phone_audio_input.avsc +++ b/commons/passive/phone/phone_audio_input.avsc @@ -4,8 +4,21 @@ "name": "PhoneAudioInput", "doc": "Uncompressed high-quality audio data collected by the PhoneAudioInput plugin, making use of low-level classes that interact directly with hardware.", "fields": [ - {"name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." }, - {"name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." }, - {"name": "audioInputData", "type": "string", "doc": "Base64 encoded uncompressed audio input data captured by the device, sourced from a 16kHz .wav file." } + { "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." }, + { "name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." }, + { "name": "fileName", "type": "string", "doc": "Name of the audio file after it is saved to S3." }, + { "name": "filePath", "type": "string", "doc": "Path of the audio file retrieved after uploading to S3 storage." }, + { "name": "deviceName", "type": "string", "doc": "Name of the input audio device used for routing during this recording." }, + { "name": "deviceId", "type": "string", "doc": "Identifier associated with the input device used for audio recording." }, + { "name": "deviceSampleRates", "type": "string", "doc": "Supported sample rates of the input audio device." }, + { "name": "deviceEncodings", "type": "string", "doc": "Supported encodings of the input audio device." }, + { "name": "deviceType", "type": "string", "doc": "Type of the input audio device used for recording." }, + { "name": "deviceChannelCounts", "type": "int", "doc": "Supported channel counts of the input audio device." }, + { "name": "audioLength", "type": "long", "doc": "Length of the audio recording (in milliseconds)." }, + { "name": "audioFileSize", "type": "long", "doc": "Size of the audio file (in bytes)." }, + { "name": "hadPlayback", "type": "boolean", "doc": "Whether the recorded audio file was played before uploading to s3 storage." }, + { "name": "audioFileExtension", "type": "string", "doc": "Extension of the audio file." }, + { "name": "configuredSampleRate", "type": "int", "doc": "Sample rate for audio recording configured by firebase remote configs in application."}, + { "name": "configuredEncoding", "type": "string", "doc": "Encoding for audio recording configured by firebase remote configs in application." } ] } From a8b9d11338331515426efe58397f6047b33f5c26 Mon Sep 17 00:00:00 2001 From: Famke Schulting Date: Thu, 4 Apr 2024 11:54:52 +0200 Subject: [PATCH 03/22] Add Polar Vantage V3 specs --- commons/catalogue/unit.avsc | 2 + .../passive/polar_vantage_v3-1.0.0.yml | 62 +++++++++++++++++++ 2 files changed, 64 insertions(+) create mode 100644 specifications/passive/polar_vantage_v3-1.0.0.yml diff --git a/commons/catalogue/unit.avsc b/commons/catalogue/unit.avsc index 0a4585d3..d55276f4 100644 --- a/commons/catalogue/unit.avsc +++ b/commons/catalogue/unit.avsc @@ -8,6 +8,7 @@ "CALORIES_PER_SEC", "CELSIUS", "DEGREE", + "MILLI_G", "G", "KILO_OHM", "LUX", @@ -21,6 +22,7 @@ "RMSSD_IN_MILLI_SEC", "SECOND", "MICRO_VOLT", + "VOLT", "UNKNOWN" ] } diff --git a/specifications/passive/polar_vantage_v3-1.0.0.yml b/specifications/passive/polar_vantage_v3-1.0.0.yml new file mode 100644 index 00000000..28c5f77d --- /dev/null +++ b/specifications/passive/polar_vantage_v3-1.0.0.yml @@ -0,0 +1,62 @@ +#====================================== Faros 90/180/360 device =====================================# +vendor: Polar +model: VantageV3 +version: 1.0.0 +app_provider: .polar.VantageV3ServiceProvider +data: + - type: ACCELEROMETER + sample_rate: + frequency: 50 + unit: MILLI_G + processing_state: RAW + topic: android_polar_vantage_v3_acceleration + value_schema: .passive.polar.PolarVantageV3Acceleration + - type: BATTERY + sample_rate: + dynamic: true + unit: PERCENTAGE + processing_state: RAW + topic: android_polar_vantage_v3_battery_level + value_schema: .passive.polar.PolarVantageV3BatteryLevel + - type: ECG + sample_rate: + dynamic: true + unit: VOLT + processing_state: RAW + topic: android_polar_vantage_v3_ecg + value_schema: .passive.polar.PolarVantageV3Ecg + - type: GYROSCOPE + sample_rate: + frequency: 50 + unit: MILLI_G + processing_state: RAW + topic: android_polar_vantage_v3_gyroscope + value_schema: .passive.polar.PolarVantageV3Gyroscope + - type: HEART_RATE + sample_rate: + frequency: 1 + unit: BEATS_PER_MIN + processing_state: VENDOR + topic: android_polar_vantagev3_heart_rate + value_schema: .passive.polar.PolarVantageV3HeartRate + - type: MAGNETOMETER + sample_rate: + frequency: 50 + unit: MILLI_G + processing_state: RAW + topic: android_polar_vantage_v3_magnetometer + value_schema: .passive.polar.PolarVantageV3Magnetometer + - type: PULSE_TO_PULSE_INTERVAL + sample_rate: + dynamic: true + unit: SECOND + processing_state: VENDOR + topic: android_polar_vantage_v3_pulse_to_pulse_interval + value_schema: .passive.polar.PolarVantageV3PpInterval + - type: THERMOMETER + sample_rate: + dynamic: true + unit: CELSIUS + processing_state: VENDOR + topic: android_polar_vantage_v3_temperature + value_schema: .passive.polar.PolarVantageV3Temperature From 8fa3e2dadd8c0e90be15b89d2071506dadd10f42 Mon Sep 17 00:00:00 2001 From: Famke Schulting Date: Thu, 4 Apr 2024 11:55:03 +0200 Subject: [PATCH 04/22] Add Polar Vantage V3 schemes --- .../polar/polar_vantage_v3_acceleration.avsc | 13 +++++++++++++ .../polar/polar_vantage_v3_battery_level.avsc | 11 +++++++++++ commons/passive/polar/polar_vantage_v3_ecg.avsc | 11 +++++++++++ .../polar/polar_vantage_v3_gyroscope.avsc | 13 +++++++++++++ .../polar/polar_vantage_v3_heart_rate.avsc | 15 +++++++++++++++ .../polar/polar_vantage_v3_magnetometer.avsc | 13 +++++++++++++ .../polar/polar_vantage_v3_pp_interval.avsc | 16 ++++++++++++++++ .../polar/polar_vantage_v3_temperature.avsc | 11 +++++++++++ 8 files changed, 103 insertions(+) create mode 100644 commons/passive/polar/polar_vantage_v3_acceleration.avsc create mode 100644 commons/passive/polar/polar_vantage_v3_battery_level.avsc create mode 100644 commons/passive/polar/polar_vantage_v3_ecg.avsc create mode 100644 commons/passive/polar/polar_vantage_v3_gyroscope.avsc create mode 100644 commons/passive/polar/polar_vantage_v3_heart_rate.avsc create mode 100644 commons/passive/polar/polar_vantage_v3_magnetometer.avsc create mode 100644 commons/passive/polar/polar_vantage_v3_pp_interval.avsc create mode 100644 commons/passive/polar/polar_vantage_v3_temperature.avsc diff --git a/commons/passive/polar/polar_vantage_v3_acceleration.avsc b/commons/passive/polar/polar_vantage_v3_acceleration.avsc new file mode 100644 index 00000000..04a3823f --- /dev/null +++ b/commons/passive/polar/polar_vantage_v3_acceleration.avsc @@ -0,0 +1,13 @@ +{ + "namespace": "org.radarcns.passive.polar", + "type": "record", + "name": "PolarVantageV3Acceleration", + "doc": "Accelerometer data with sample rate of 50 Hz and range of 8 G. Axis specific acceleration data in mG.", + "fields": [ + { "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." }, + { "name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." }, + { "name": "x", "type": "int", "doc": "Acceleration in the x-axis (mG)." }, + { "name": "y", "type": "int", "doc": "Acceleration in the y-axis (mG)." }, + { "name": "z", "type": "int", "doc": "Acceleration in the z-axis (mG)." } + ] +} diff --git a/commons/passive/polar/polar_vantage_v3_battery_level.avsc b/commons/passive/polar/polar_vantage_v3_battery_level.avsc new file mode 100644 index 00000000..c31ea273 --- /dev/null +++ b/commons/passive/polar/polar_vantage_v3_battery_level.avsc @@ -0,0 +1,11 @@ +{ + "namespace": "org.radarcns.passive.polar", + "type": "record", + "name": "PolarVantageV3BatteryLevel", + "doc": "Device battery level.", + "fields": [ + { "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." }, + { "name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." }, + { "name": "batteryLevel", "type": "float", "doc": "Battery level from 0 to 1." } + ] +} diff --git a/commons/passive/polar/polar_vantage_v3_ecg.avsc b/commons/passive/polar/polar_vantage_v3_ecg.avsc new file mode 100644 index 00000000..d17477c3 --- /dev/null +++ b/commons/passive/polar/polar_vantage_v3_ecg.avsc @@ -0,0 +1,11 @@ +{ + "namespace": "org.radarcns.passive.polar", + "type": "record", + "name": "PolarVantageV3Ecg", + "doc": "Data from ECG in Voltage.", + "fields": [ + { "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." }, + { "name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." } , + { "name": "ecgSignal", "type": "int", "doc": "ECG signal (V)." } + ] +} diff --git a/commons/passive/polar/polar_vantage_v3_gyroscope.avsc b/commons/passive/polar/polar_vantage_v3_gyroscope.avsc new file mode 100644 index 00000000..fe7db1b9 --- /dev/null +++ b/commons/passive/polar/polar_vantage_v3_gyroscope.avsc @@ -0,0 +1,13 @@ +{ + "namespace": "org.radarcns.passive.polar", + "type": "record", + "name": "PolarVantageV3Gyroscope", + "doc": "Gyroscope data with sample rate of 50 Hz and range of 8 G. Axis specific acceleration data in mG.", + "fields": [ + { "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." }, + { "name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." }, + { "name": "x", "type": "float", "doc": "Acceleration in the x-axis (mG)." }, + { "name": "y", "type": "float", "doc": "Acceleration in the y-axis (mG)." }, + { "name": "z", "type": "float", "doc": "Acceleration in the z-axis (mG)." } + ] +} diff --git a/commons/passive/polar/polar_vantage_v3_heart_rate.avsc b/commons/passive/polar/polar_vantage_v3_heart_rate.avsc new file mode 100644 index 00000000..3f215976 --- /dev/null +++ b/commons/passive/polar/polar_vantage_v3_heart_rate.avsc @@ -0,0 +1,15 @@ +{ + "namespace": "org.radarcns.passive.polar", + "type": "record", + "name": "PolarVantageV3HeartRate", + "doc": "Heart rate as beats per minute.", + "fields": [ + { "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." }, + { "name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." }, + { "name": "contactStatus", "type": "boolean", "doc": "Data for contactStatus." }, + { "name": "contactStatusSupported", "type": "boolean", "doc": "Data for contactStatusSupported." }, + { "name": "heartRate", "type": "int", "doc": "Heart rate (bpm)." }, + { "name": "rrAvailable", "type": "boolean", "doc": "Data for rrAvailable." }, + { "name": "rrsMs", "type": "int", "doc": "Data for rrsMs." } + ] +} diff --git a/commons/passive/polar/polar_vantage_v3_magnetometer.avsc b/commons/passive/polar/polar_vantage_v3_magnetometer.avsc new file mode 100644 index 00000000..0fb91111 --- /dev/null +++ b/commons/passive/polar/polar_vantage_v3_magnetometer.avsc @@ -0,0 +1,13 @@ +{ + "namespace": "org.radarcns.passive.polar", + "type": "record", + "name": "PolarVantageV3Magnetometer", + "doc": "Accelerometer data with sample rate of 50 Hz and range of 8 G. Axis specific acceleration data in mG.", + "fields": [ + { "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." }, + { "name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." }, + { "name": "x", "type": "float", "doc": "Acceleration in the x-axis (mG)." }, + { "name": "y", "type": "float", "doc": "Acceleration in the y-axis (mG)." }, + { "name": "z", "type": "float", "doc": "Acceleration in the z-axis (mG)." } + ] +} diff --git a/commons/passive/polar/polar_vantage_v3_pp_interval.avsc b/commons/passive/polar/polar_vantage_v3_pp_interval.avsc new file mode 100644 index 00000000..8d69a403 --- /dev/null +++ b/commons/passive/polar/polar_vantage_v3_pp_interval.avsc @@ -0,0 +1,16 @@ +{ + "namespace": "org.radarcns.passive.polar", + "type": "record", + "name": "PolarVantageV3PpInterval", + "doc": "PP interval (milliseconds) representing cardiac pulse-to-pulse interval extracted from PPG signal.", + "fields": [ + { "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." }, + { "name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." }, + { "name": "blockerBit", "type": "boolean", "doc": "Data for blockerBit." }, + { "name": "errorEstimate", "type": "int", "doc": "Data for errorEstimate." }, + { "name": "heartRate", "type": "int", "doc": "Data for errorEstimate." }, + { "name": "ppInterval", "type": "int", "doc": "The duration (s) of the detected inter-beat interval (i.e., the distance in seconds from the previous beat)." }, + { "name": "skinContactStatus", "type": "boolean", "doc": "Data for skinContactStatus." }, + { "name": "skinContactSupported", "type": "boolean", "doc": "Data for skinContactSupported." } + ] +} diff --git a/commons/passive/polar/polar_vantage_v3_temperature.avsc b/commons/passive/polar/polar_vantage_v3_temperature.avsc new file mode 100644 index 00000000..5552d63a --- /dev/null +++ b/commons/passive/polar/polar_vantage_v3_temperature.avsc @@ -0,0 +1,11 @@ +{ + "namespace": "org.radarcns.passive.polar", + "type": "record", + "name": "PolarVantageV3Temperature", + "doc": "Data from temperature sensor expressed degrees on the Celsius (°C) scale.", + "fields": [ + { "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." }, + { "name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." }, + { "name": "temperature", "type": "float", "doc": "Temperature (°C)." } + ] +} From 4dd0fba38e5f24a6c080e772dee65cf4810e848e Mon Sep 17 00:00:00 2001 From: Famke Schulting Date: Tue, 23 Apr 2024 14:50:49 +0200 Subject: [PATCH 05/22] Add generic Polar schemes --- ...eleration.avsc => polar_acceleration.avsc} | 2 +- ...ry_level.avsc => polar_battery_level.avsc} | 2 +- ...lar_vantage_v3_ecg.avsc => polar_ecg.avsc} | 2 +- ...v3_gyroscope.avsc => polar_gyroscope.avsc} | 2 +- ..._heart_rate.avsc => polar_heart_rate.avsc} | 10 +-- ...netometer.avsc => polar_magnetometer.avsc} | 2 +- ...p_interval.avsc => polar_pp_interval.avsc} | 2 +- ...emperature.avsc => polar_temperature.avsc} | 2 +- specifications/passive/polar-1.0.0.yml | 62 +++++++++++++++++++ .../passive/polar_vantage_v3-1.0.0.yml | 62 ------------------- 10 files changed, 74 insertions(+), 74 deletions(-) rename commons/passive/polar/{polar_vantage_v3_acceleration.avsc => polar_acceleration.avsc} (93%) rename commons/passive/polar/{polar_vantage_v3_battery_level.avsc => polar_battery_level.avsc} (90%) rename commons/passive/polar/{polar_vantage_v3_ecg.avsc => polar_ecg.avsc} (92%) rename commons/passive/polar/{polar_vantage_v3_gyroscope.avsc => polar_gyroscope.avsc} (94%) rename commons/passive/polar/{polar_vantage_v3_heart_rate.avsc => polar_heart_rate.avsc} (67%) rename commons/passive/polar/{polar_vantage_v3_magnetometer.avsc => polar_magnetometer.avsc} (93%) rename commons/passive/polar/{polar_vantage_v3_pp_interval.avsc => polar_pp_interval.avsc} (96%) rename commons/passive/polar/{polar_vantage_v3_temperature.avsc => polar_temperature.avsc} (91%) create mode 100644 specifications/passive/polar-1.0.0.yml delete mode 100644 specifications/passive/polar_vantage_v3-1.0.0.yml diff --git a/commons/passive/polar/polar_vantage_v3_acceleration.avsc b/commons/passive/polar/polar_acceleration.avsc similarity index 93% rename from commons/passive/polar/polar_vantage_v3_acceleration.avsc rename to commons/passive/polar/polar_acceleration.avsc index 04a3823f..bc3d2d06 100644 --- a/commons/passive/polar/polar_vantage_v3_acceleration.avsc +++ b/commons/passive/polar/polar_acceleration.avsc @@ -1,7 +1,7 @@ { "namespace": "org.radarcns.passive.polar", "type": "record", - "name": "PolarVantageV3Acceleration", + "name": "PolarAcceleration", "doc": "Accelerometer data with sample rate of 50 Hz and range of 8 G. Axis specific acceleration data in mG.", "fields": [ { "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." }, diff --git a/commons/passive/polar/polar_vantage_v3_battery_level.avsc b/commons/passive/polar/polar_battery_level.avsc similarity index 90% rename from commons/passive/polar/polar_vantage_v3_battery_level.avsc rename to commons/passive/polar/polar_battery_level.avsc index c31ea273..5b9f17f0 100644 --- a/commons/passive/polar/polar_vantage_v3_battery_level.avsc +++ b/commons/passive/polar/polar_battery_level.avsc @@ -1,7 +1,7 @@ { "namespace": "org.radarcns.passive.polar", "type": "record", - "name": "PolarVantageV3BatteryLevel", + "name": "PolarBatteryLevel", "doc": "Device battery level.", "fields": [ { "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." }, diff --git a/commons/passive/polar/polar_vantage_v3_ecg.avsc b/commons/passive/polar/polar_ecg.avsc similarity index 92% rename from commons/passive/polar/polar_vantage_v3_ecg.avsc rename to commons/passive/polar/polar_ecg.avsc index d17477c3..5d7b8b04 100644 --- a/commons/passive/polar/polar_vantage_v3_ecg.avsc +++ b/commons/passive/polar/polar_ecg.avsc @@ -1,7 +1,7 @@ { "namespace": "org.radarcns.passive.polar", "type": "record", - "name": "PolarVantageV3Ecg", + "name": "PolarEcg", "doc": "Data from ECG in Voltage.", "fields": [ { "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." }, diff --git a/commons/passive/polar/polar_vantage_v3_gyroscope.avsc b/commons/passive/polar/polar_gyroscope.avsc similarity index 94% rename from commons/passive/polar/polar_vantage_v3_gyroscope.avsc rename to commons/passive/polar/polar_gyroscope.avsc index fe7db1b9..7ac99ed7 100644 --- a/commons/passive/polar/polar_vantage_v3_gyroscope.avsc +++ b/commons/passive/polar/polar_gyroscope.avsc @@ -1,7 +1,7 @@ { "namespace": "org.radarcns.passive.polar", "type": "record", - "name": "PolarVantageV3Gyroscope", + "name": "PolarGyroscope", "doc": "Gyroscope data with sample rate of 50 Hz and range of 8 G. Axis specific acceleration data in mG.", "fields": [ { "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." }, diff --git a/commons/passive/polar/polar_vantage_v3_heart_rate.avsc b/commons/passive/polar/polar_heart_rate.avsc similarity index 67% rename from commons/passive/polar/polar_vantage_v3_heart_rate.avsc rename to commons/passive/polar/polar_heart_rate.avsc index 3f215976..06bc4af2 100644 --- a/commons/passive/polar/polar_vantage_v3_heart_rate.avsc +++ b/commons/passive/polar/polar_heart_rate.avsc @@ -1,15 +1,15 @@ { "namespace": "org.radarcns.passive.polar", "type": "record", - "name": "PolarVantageV3HeartRate", + "name": "PolarHeartRate", "doc": "Heart rate as beats per minute.", "fields": [ - { "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." }, + { "name": "time", "type": "double", "doc": "Device receiver timestamp in UTC (s)." }, { "name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." }, - { "name": "contactStatus", "type": "boolean", "doc": "Data for contactStatus." }, - { "name": "contactStatusSupported", "type": "boolean", "doc": "Data for contactStatusSupported." }, { "name": "heartRate", "type": "int", "doc": "Heart rate (bpm)." }, + { "name": "rrsMs", "type": {"type": "array", "items": "int"}, "doc": "Data for rrsMs." }, { "name": "rrAvailable", "type": "boolean", "doc": "Data for rrAvailable." }, - { "name": "rrsMs", "type": "int", "doc": "Data for rrsMs." } + { "name": "contactStatus", "type": "boolean", "doc": "Data for contactStatus." }, + { "name": "contactStatusSupported", "type": "boolean", "doc": "Data for contactStatusSupported." } ] } diff --git a/commons/passive/polar/polar_vantage_v3_magnetometer.avsc b/commons/passive/polar/polar_magnetometer.avsc similarity index 93% rename from commons/passive/polar/polar_vantage_v3_magnetometer.avsc rename to commons/passive/polar/polar_magnetometer.avsc index 0fb91111..f80e9305 100644 --- a/commons/passive/polar/polar_vantage_v3_magnetometer.avsc +++ b/commons/passive/polar/polar_magnetometer.avsc @@ -1,7 +1,7 @@ { "namespace": "org.radarcns.passive.polar", "type": "record", - "name": "PolarVantageV3Magnetometer", + "name": "PolarMagnetometer", "doc": "Accelerometer data with sample rate of 50 Hz and range of 8 G. Axis specific acceleration data in mG.", "fields": [ { "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." }, diff --git a/commons/passive/polar/polar_vantage_v3_pp_interval.avsc b/commons/passive/polar/polar_pp_interval.avsc similarity index 96% rename from commons/passive/polar/polar_vantage_v3_pp_interval.avsc rename to commons/passive/polar/polar_pp_interval.avsc index 8d69a403..a0cfadbc 100644 --- a/commons/passive/polar/polar_vantage_v3_pp_interval.avsc +++ b/commons/passive/polar/polar_pp_interval.avsc @@ -1,7 +1,7 @@ { "namespace": "org.radarcns.passive.polar", "type": "record", - "name": "PolarVantageV3PpInterval", + "name": "PolarPpInterval", "doc": "PP interval (milliseconds) representing cardiac pulse-to-pulse interval extracted from PPG signal.", "fields": [ { "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." }, diff --git a/commons/passive/polar/polar_vantage_v3_temperature.avsc b/commons/passive/polar/polar_temperature.avsc similarity index 91% rename from commons/passive/polar/polar_vantage_v3_temperature.avsc rename to commons/passive/polar/polar_temperature.avsc index 5552d63a..c81a4b8b 100644 --- a/commons/passive/polar/polar_vantage_v3_temperature.avsc +++ b/commons/passive/polar/polar_temperature.avsc @@ -1,7 +1,7 @@ { "namespace": "org.radarcns.passive.polar", "type": "record", - "name": "PolarVantageV3Temperature", + "name": "PolarTemperature", "doc": "Data from temperature sensor expressed degrees on the Celsius (°C) scale.", "fields": [ { "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." }, diff --git a/specifications/passive/polar-1.0.0.yml b/specifications/passive/polar-1.0.0.yml new file mode 100644 index 00000000..12bc7b13 --- /dev/null +++ b/specifications/passive/polar-1.0.0.yml @@ -0,0 +1,62 @@ +#====================================== POLAR H10 or Vantage V3 device =====================================# +vendor: POLAR +model: GENERIC +version: 1.0.0 +app_provider: .polar.PolarProvider +data: + - type: ACCELEROMETER + sample_rate: + frequency: 50 + unit: MILLI_G + processing_state: RAW + topic: android_polar_acceleration + value_schema: .passive.polar.PolarAcceleration + - type: BATTERY + sample_rate: + dynamic: true + unit: PERCENTAGE + processing_state: RAW + topic: android_polar_battery_level + value_schema: .passive.polar.PolarBatteryLevel + - type: ECG + sample_rate: + dynamic: true + unit: VOLT + processing_state: RAW + topic: android_polar_ecg + value_schema: .passive.polar.PolarEcg + - type: GYROSCOPE + sample_rate: + frequency: 50 + unit: MILLI_G + processing_state: RAW + topic: android_polar_gyroscope + value_schema: .passive.polar.PolarGyroscope + - type: HEART_RATE + sample_rate: + frequency: 1 + unit: BEATS_PER_MIN + processing_state: VENDOR + topic: android_polar_heart_rate + value_schema: .passive.polar.PolarHeartRate + - type: MAGNETOMETER + sample_rate: + frequency: 50 + unit: MILLI_G + processing_state: RAW + topic: android_polar_magnetometer + value_schema: .passive.polar.PolarMagnetometer + - type: PULSE_TO_PULSE_INTERVAL + sample_rate: + dynamic: true + unit: SECOND + processing_state: VENDOR + topic: android_polar_pulse_to_pulse_interval + value_schema: .passive.polar.PolarPpInterval + - type: THERMOMETER + sample_rate: + dynamic: true + unit: CELSIUS + processing_state: VENDOR + topic: android_polar_temperature + value_schema: .passive.polar.PolarTemperature diff --git a/specifications/passive/polar_vantage_v3-1.0.0.yml b/specifications/passive/polar_vantage_v3-1.0.0.yml deleted file mode 100644 index 28c5f77d..00000000 --- a/specifications/passive/polar_vantage_v3-1.0.0.yml +++ /dev/null @@ -1,62 +0,0 @@ -#====================================== Faros 90/180/360 device =====================================# -vendor: Polar -model: VantageV3 -version: 1.0.0 -app_provider: .polar.VantageV3ServiceProvider -data: - - type: ACCELEROMETER - sample_rate: - frequency: 50 - unit: MILLI_G - processing_state: RAW - topic: android_polar_vantage_v3_acceleration - value_schema: .passive.polar.PolarVantageV3Acceleration - - type: BATTERY - sample_rate: - dynamic: true - unit: PERCENTAGE - processing_state: RAW - topic: android_polar_vantage_v3_battery_level - value_schema: .passive.polar.PolarVantageV3BatteryLevel - - type: ECG - sample_rate: - dynamic: true - unit: VOLT - processing_state: RAW - topic: android_polar_vantage_v3_ecg - value_schema: .passive.polar.PolarVantageV3Ecg - - type: GYROSCOPE - sample_rate: - frequency: 50 - unit: MILLI_G - processing_state: RAW - topic: android_polar_vantage_v3_gyroscope - value_schema: .passive.polar.PolarVantageV3Gyroscope - - type: HEART_RATE - sample_rate: - frequency: 1 - unit: BEATS_PER_MIN - processing_state: VENDOR - topic: android_polar_vantagev3_heart_rate - value_schema: .passive.polar.PolarVantageV3HeartRate - - type: MAGNETOMETER - sample_rate: - frequency: 50 - unit: MILLI_G - processing_state: RAW - topic: android_polar_vantage_v3_magnetometer - value_schema: .passive.polar.PolarVantageV3Magnetometer - - type: PULSE_TO_PULSE_INTERVAL - sample_rate: - dynamic: true - unit: SECOND - processing_state: VENDOR - topic: android_polar_vantage_v3_pulse_to_pulse_interval - value_schema: .passive.polar.PolarVantageV3PpInterval - - type: THERMOMETER - sample_rate: - dynamic: true - unit: CELSIUS - processing_state: VENDOR - topic: android_polar_vantage_v3_temperature - value_schema: .passive.polar.PolarVantageV3Temperature From 8f64a8e70e22d419d0bbe554184f3d4e369cdf4e Mon Sep 17 00:00:00 2001 From: Famke Schulting Date: Tue, 7 May 2024 17:18:53 +0200 Subject: [PATCH 06/22] Change ECG units (yV and ns) --- commons/passive/polar/polar_ecg.avsc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/commons/passive/polar/polar_ecg.avsc b/commons/passive/polar/polar_ecg.avsc index 5d7b8b04..7ec924d2 100644 --- a/commons/passive/polar/polar_ecg.avsc +++ b/commons/passive/polar/polar_ecg.avsc @@ -2,10 +2,10 @@ "namespace": "org.radarcns.passive.polar", "type": "record", "name": "PolarEcg", - "doc": "Data from ECG in Voltage.", + "doc": "Data from ECG in yV.", "fields": [ - { "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." }, + { "name": "time", "type": "long", "doc": "Device timestamp in UTC (ns)." }, { "name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." } , - { "name": "ecgSignal", "type": "int", "doc": "ECG signal (V)." } + { "name": "ecgSignal", "type": "int", "doc": "ECG signal (yV)." } ] } From 807f91622926ba534176dc354475188ad0d96836 Mon Sep 17 00:00:00 2001 From: Famke Schulting Date: Fri, 10 May 2024 09:20:29 +0200 Subject: [PATCH 07/22] Change ACC units (to ns) --- commons/passive/polar/polar_acceleration.avsc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/commons/passive/polar/polar_acceleration.avsc b/commons/passive/polar/polar_acceleration.avsc index bc3d2d06..fbccaed1 100644 --- a/commons/passive/polar/polar_acceleration.avsc +++ b/commons/passive/polar/polar_acceleration.avsc @@ -4,7 +4,7 @@ "name": "PolarAcceleration", "doc": "Accelerometer data with sample rate of 50 Hz and range of 8 G. Axis specific acceleration data in mG.", "fields": [ - { "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." }, + { "name": "time", "type": "long", "doc": "Device timestamp in UTC (ns)." }, { "name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." }, { "name": "x", "type": "int", "doc": "Acceleration in the x-axis (mG)." }, { "name": "y", "type": "int", "doc": "Acceleration in the y-axis (mG)." }, From 3026defd359bebe653d9fd4f2cf65620af65b1ab Mon Sep 17 00:00:00 2001 From: Famke Schulting Date: Wed, 15 May 2024 10:51:58 +0200 Subject: [PATCH 08/22] Removed schemas --- commons/passive/polar/polar_gyroscope.avsc | 13 ------------ commons/passive/polar/polar_magnetometer.avsc | 13 ------------ commons/passive/polar/polar_temperature.avsc | 11 ---------- specifications/passive/polar-1.0.0.yml | 21 ------------------- 4 files changed, 58 deletions(-) delete mode 100644 commons/passive/polar/polar_gyroscope.avsc delete mode 100644 commons/passive/polar/polar_magnetometer.avsc delete mode 100644 commons/passive/polar/polar_temperature.avsc diff --git a/commons/passive/polar/polar_gyroscope.avsc b/commons/passive/polar/polar_gyroscope.avsc deleted file mode 100644 index 7ac99ed7..00000000 --- a/commons/passive/polar/polar_gyroscope.avsc +++ /dev/null @@ -1,13 +0,0 @@ -{ - "namespace": "org.radarcns.passive.polar", - "type": "record", - "name": "PolarGyroscope", - "doc": "Gyroscope data with sample rate of 50 Hz and range of 8 G. Axis specific acceleration data in mG.", - "fields": [ - { "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." }, - { "name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." }, - { "name": "x", "type": "float", "doc": "Acceleration in the x-axis (mG)." }, - { "name": "y", "type": "float", "doc": "Acceleration in the y-axis (mG)." }, - { "name": "z", "type": "float", "doc": "Acceleration in the z-axis (mG)." } - ] -} diff --git a/commons/passive/polar/polar_magnetometer.avsc b/commons/passive/polar/polar_magnetometer.avsc deleted file mode 100644 index f80e9305..00000000 --- a/commons/passive/polar/polar_magnetometer.avsc +++ /dev/null @@ -1,13 +0,0 @@ -{ - "namespace": "org.radarcns.passive.polar", - "type": "record", - "name": "PolarMagnetometer", - "doc": "Accelerometer data with sample rate of 50 Hz and range of 8 G. Axis specific acceleration data in mG.", - "fields": [ - { "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." }, - { "name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." }, - { "name": "x", "type": "float", "doc": "Acceleration in the x-axis (mG)." }, - { "name": "y", "type": "float", "doc": "Acceleration in the y-axis (mG)." }, - { "name": "z", "type": "float", "doc": "Acceleration in the z-axis (mG)." } - ] -} diff --git a/commons/passive/polar/polar_temperature.avsc b/commons/passive/polar/polar_temperature.avsc deleted file mode 100644 index c81a4b8b..00000000 --- a/commons/passive/polar/polar_temperature.avsc +++ /dev/null @@ -1,11 +0,0 @@ -{ - "namespace": "org.radarcns.passive.polar", - "type": "record", - "name": "PolarTemperature", - "doc": "Data from temperature sensor expressed degrees on the Celsius (°C) scale.", - "fields": [ - { "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." }, - { "name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." }, - { "name": "temperature", "type": "float", "doc": "Temperature (°C)." } - ] -} diff --git a/specifications/passive/polar-1.0.0.yml b/specifications/passive/polar-1.0.0.yml index 12bc7b13..233c27c8 100644 --- a/specifications/passive/polar-1.0.0.yml +++ b/specifications/passive/polar-1.0.0.yml @@ -25,13 +25,6 @@ data: processing_state: RAW topic: android_polar_ecg value_schema: .passive.polar.PolarEcg - - type: GYROSCOPE - sample_rate: - frequency: 50 - unit: MILLI_G - processing_state: RAW - topic: android_polar_gyroscope - value_schema: .passive.polar.PolarGyroscope - type: HEART_RATE sample_rate: frequency: 1 @@ -39,13 +32,6 @@ data: processing_state: VENDOR topic: android_polar_heart_rate value_schema: .passive.polar.PolarHeartRate - - type: MAGNETOMETER - sample_rate: - frequency: 50 - unit: MILLI_G - processing_state: RAW - topic: android_polar_magnetometer - value_schema: .passive.polar.PolarMagnetometer - type: PULSE_TO_PULSE_INTERVAL sample_rate: dynamic: true @@ -53,10 +39,3 @@ data: processing_state: VENDOR topic: android_polar_pulse_to_pulse_interval value_schema: .passive.polar.PolarPpInterval - - type: THERMOMETER - sample_rate: - dynamic: true - unit: CELSIUS - processing_state: VENDOR - topic: android_polar_temperature - value_schema: .passive.polar.PolarTemperature From 7da3dae8bd387554ee9838a80393385c05de7ce3 Mon Sep 17 00:00:00 2001 From: Famke Schulting Date: Wed, 15 May 2024 10:52:13 +0200 Subject: [PATCH 09/22] Add DeviceName column to schemas --- commons/passive/polar/polar_acceleration.avsc | 1 + commons/passive/polar/polar_battery_level.avsc | 1 + commons/passive/polar/polar_ecg.avsc | 1 + commons/passive/polar/polar_heart_rate.avsc | 1 + commons/passive/polar/polar_pp_interval.avsc | 1 + 5 files changed, 5 insertions(+) diff --git a/commons/passive/polar/polar_acceleration.avsc b/commons/passive/polar/polar_acceleration.avsc index fbccaed1..41f8a738 100644 --- a/commons/passive/polar/polar_acceleration.avsc +++ b/commons/passive/polar/polar_acceleration.avsc @@ -4,6 +4,7 @@ "name": "PolarAcceleration", "doc": "Accelerometer data with sample rate of 50 Hz and range of 8 G. Axis specific acceleration data in mG.", "fields": [ + { "name": "deviceName", "type": "string", "doc": "Polar device name" }, { "name": "time", "type": "long", "doc": "Device timestamp in UTC (ns)." }, { "name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." }, { "name": "x", "type": "int", "doc": "Acceleration in the x-axis (mG)." }, diff --git a/commons/passive/polar/polar_battery_level.avsc b/commons/passive/polar/polar_battery_level.avsc index 5b9f17f0..1371dcf3 100644 --- a/commons/passive/polar/polar_battery_level.avsc +++ b/commons/passive/polar/polar_battery_level.avsc @@ -4,6 +4,7 @@ "name": "PolarBatteryLevel", "doc": "Device battery level.", "fields": [ + { "name": "deviceName", "type": "string", "doc": "Polar device name" }, { "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." }, { "name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." }, { "name": "batteryLevel", "type": "float", "doc": "Battery level from 0 to 1." } diff --git a/commons/passive/polar/polar_ecg.avsc b/commons/passive/polar/polar_ecg.avsc index 7ec924d2..2ae1126e 100644 --- a/commons/passive/polar/polar_ecg.avsc +++ b/commons/passive/polar/polar_ecg.avsc @@ -4,6 +4,7 @@ "name": "PolarEcg", "doc": "Data from ECG in yV.", "fields": [ + { "name": "deviceName", "type": "string", "doc": "Polar device name" }, { "name": "time", "type": "long", "doc": "Device timestamp in UTC (ns)." }, { "name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." } , { "name": "ecgSignal", "type": "int", "doc": "ECG signal (yV)." } diff --git a/commons/passive/polar/polar_heart_rate.avsc b/commons/passive/polar/polar_heart_rate.avsc index 06bc4af2..acc078c0 100644 --- a/commons/passive/polar/polar_heart_rate.avsc +++ b/commons/passive/polar/polar_heart_rate.avsc @@ -4,6 +4,7 @@ "name": "PolarHeartRate", "doc": "Heart rate as beats per minute.", "fields": [ + { "name": "deviceName", "type": "string", "doc": "Polar device name" }, { "name": "time", "type": "double", "doc": "Device receiver timestamp in UTC (s)." }, { "name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." }, { "name": "heartRate", "type": "int", "doc": "Heart rate (bpm)." }, diff --git a/commons/passive/polar/polar_pp_interval.avsc b/commons/passive/polar/polar_pp_interval.avsc index a0cfadbc..5b7d2552 100644 --- a/commons/passive/polar/polar_pp_interval.avsc +++ b/commons/passive/polar/polar_pp_interval.avsc @@ -4,6 +4,7 @@ "name": "PolarPpInterval", "doc": "PP interval (milliseconds) representing cardiac pulse-to-pulse interval extracted from PPG signal.", "fields": [ + { "name": "deviceName", "type": "string", "doc": "Polar device name" }, { "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." }, { "name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." }, { "name": "blockerBit", "type": "boolean", "doc": "Data for blockerBit." }, From bfce2247a3c825d28841189f94faffb2e2a83765 Mon Sep 17 00:00:00 2001 From: Famke Schulting Date: Tue, 4 Jun 2024 17:49:37 +0200 Subject: [PATCH 10/22] Change HR time to ns (radar-schemas-0.1.2) --- commons/passive/polar/polar_heart_rate.avsc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/commons/passive/polar/polar_heart_rate.avsc b/commons/passive/polar/polar_heart_rate.avsc index acc078c0..b13dd0b2 100644 --- a/commons/passive/polar/polar_heart_rate.avsc +++ b/commons/passive/polar/polar_heart_rate.avsc @@ -5,7 +5,7 @@ "doc": "Heart rate as beats per minute.", "fields": [ { "name": "deviceName", "type": "string", "doc": "Polar device name" }, - { "name": "time", "type": "double", "doc": "Device receiver timestamp in UTC (s)." }, + { "name": "time", "type": "long", "doc": "Device receiver timestamp in UTC (ns)." }, { "name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." }, { "name": "heartRate", "type": "int", "doc": "Heart rate (bpm)." }, { "name": "rrsMs", "type": {"type": "array", "items": "int"}, "doc": "Data for rrsMs." }, From 4c3eda7fde24c12f43c027e7f36162736d0b7dc0 Mon Sep 17 00:00:00 2001 From: Famke Schulting Date: Tue, 4 Jun 2024 17:49:54 +0200 Subject: [PATCH 11/22] Add PPG topic (radar-schemas-0.1.3) --- commons/passive/polar/polar_ppg.avsc | 15 +++++++++++++++ specifications/passive/polar-1.0.0.yml | 7 +++++++ 2 files changed, 22 insertions(+) create mode 100644 commons/passive/polar/polar_ppg.avsc diff --git a/commons/passive/polar/polar_ppg.avsc b/commons/passive/polar/polar_ppg.avsc new file mode 100644 index 00000000..0e452a92 --- /dev/null +++ b/commons/passive/polar/polar_ppg.avsc @@ -0,0 +1,15 @@ +{ + "namespace": "org.radarcns.passive.polar", + "type": "record", + "name": "PolarPpg", + "doc": "Data from PPG channels.", + "fields": [ + { "name": "deviceName", "type": "string", "doc": "Polar device name" }, + { "name": "time", "type": "long", "doc": "Device timestamp in UTC (ns)." }, + { "name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." } , + { "name": "ppg0", "type": "int", "doc": "PPG0." }, + { "name": "ppg1", "type": "int", "doc": "PPG1." }, + { "name": "ppg2", "type": "int", "doc": "PPG2." }, + { "name": "ambient", "type": "int", "doc": "Ambient channel representing the background noise caused by other light sources, so it can be used to remove the background noise from ppg channels." } + ] +} diff --git a/specifications/passive/polar-1.0.0.yml b/specifications/passive/polar-1.0.0.yml index 233c27c8..5622ef5c 100644 --- a/specifications/passive/polar-1.0.0.yml +++ b/specifications/passive/polar-1.0.0.yml @@ -25,6 +25,13 @@ data: processing_state: RAW topic: android_polar_ecg value_schema: .passive.polar.PolarEcg + - type: PPG + sample_rate: + dynamic: true + unit: UNKNOWN + processing_state: RAW + topic: android_polar_ppg + value_schema: .passive.polar.PolarPpg - type: HEART_RATE sample_rate: frequency: 1 From cb52a7d828a9e6ed12406db0507d9fdfbbfbbd9d Mon Sep 17 00:00:00 2001 From: this-Aditya Date: Fri, 19 Jul 2024 10:26:05 +0530 Subject: [PATCH 12/22] Updated processing state --- specifications/passive/android_phone-1.0.0.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specifications/passive/android_phone-1.0.0.yml b/specifications/passive/android_phone-1.0.0.yml index f2d5546e..6ba44796 100644 --- a/specifications/passive/android_phone-1.0.0.yml +++ b/specifications/passive/android_phone-1.0.0.yml @@ -159,7 +159,7 @@ data: # Phone Audio Input - type: PHONE_AUDIO_INPUT app_provider: .phone.PhoneAudioInputProvider - processing_state: RAW + processing_state: RADAR topic: android_phone_audio_input value_schema: .passive.phone.PhoneAudioInput sample_rate: From 4f2742edcf095e9fccb306c280a960cdc75b2cdf Mon Sep 17 00:00:00 2001 From: this-Aditya Date: Fri, 19 Jul 2024 12:58:31 +0530 Subject: [PATCH 13/22] Changing deviceChannelCounts type to string --- commons/passive/phone/phone_audio_input.avsc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/commons/passive/phone/phone_audio_input.avsc b/commons/passive/phone/phone_audio_input.avsc index 9b1d7c66..46fa510b 100644 --- a/commons/passive/phone/phone_audio_input.avsc +++ b/commons/passive/phone/phone_audio_input.avsc @@ -13,7 +13,7 @@ { "name": "deviceSampleRates", "type": "string", "doc": "Supported sample rates of the input audio device." }, { "name": "deviceEncodings", "type": "string", "doc": "Supported encodings of the input audio device." }, { "name": "deviceType", "type": "string", "doc": "Type of the input audio device used for recording." }, - { "name": "deviceChannelCounts", "type": "int", "doc": "Supported channel counts of the input audio device." }, + { "name": "deviceChannelCounts", "type": "string", "doc": "Supported channel counts of the input audio device." }, { "name": "audioLength", "type": "long", "doc": "Length of the audio recording (in milliseconds)." }, { "name": "audioFileSize", "type": "long", "doc": "Size of the audio file (in bytes)." }, { "name": "hadPlayback", "type": "boolean", "doc": "Whether the recorded audio file was played before uploading to s3 storage." }, From 9ce6b40ad55f88a632d85799e6643f3e27b201bb Mon Sep 17 00:00:00 2001 From: Famke Schulting Date: Sun, 21 Jul 2024 13:05:31 +0200 Subject: [PATCH 14/22] Fix linter errors and changing time types to 'Double' (radar-schemas-0.1.4) --- commons/passive/polar/polar_acceleration.avsc | 6 +++--- commons/passive/polar/polar_battery_level.avsc | 2 +- commons/passive/polar/polar_ecg.avsc | 4 ++-- commons/passive/polar/polar_heart_rate.avsc | 4 ++-- commons/passive/polar/polar_pp_interval.avsc | 4 ++-- commons/passive/polar/polar_ppg.avsc | 4 ++-- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/commons/passive/polar/polar_acceleration.avsc b/commons/passive/polar/polar_acceleration.avsc index 41f8a738..3839db43 100644 --- a/commons/passive/polar/polar_acceleration.avsc +++ b/commons/passive/polar/polar_acceleration.avsc @@ -2,10 +2,10 @@ "namespace": "org.radarcns.passive.polar", "type": "record", "name": "PolarAcceleration", - "doc": "Accelerometer data with sample rate of 50 Hz and range of 8 G. Axis specific acceleration data in mG.", + "doc": "Accelerometer data. Axis specific acceleration data in mG.", "fields": [ - { "name": "deviceName", "type": "string", "doc": "Polar device name" }, - { "name": "time", "type": "long", "doc": "Device timestamp in UTC (ns)." }, + { "name": "deviceName", "type": "string", "doc": "Polar device name." }, + { "name": "time", "type": "double", "doc": "Device timestamp in UTC (ns)." }, { "name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." }, { "name": "x", "type": "int", "doc": "Acceleration in the x-axis (mG)." }, { "name": "y", "type": "int", "doc": "Acceleration in the y-axis (mG)." }, diff --git a/commons/passive/polar/polar_battery_level.avsc b/commons/passive/polar/polar_battery_level.avsc index 1371dcf3..ccb3c3c7 100644 --- a/commons/passive/polar/polar_battery_level.avsc +++ b/commons/passive/polar/polar_battery_level.avsc @@ -4,7 +4,7 @@ "name": "PolarBatteryLevel", "doc": "Device battery level.", "fields": [ - { "name": "deviceName", "type": "string", "doc": "Polar device name" }, + { "name": "deviceName", "type": "string", "doc": "Polar device name." }, { "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." }, { "name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." }, { "name": "batteryLevel", "type": "float", "doc": "Battery level from 0 to 1." } diff --git a/commons/passive/polar/polar_ecg.avsc b/commons/passive/polar/polar_ecg.avsc index 2ae1126e..3f8f4d96 100644 --- a/commons/passive/polar/polar_ecg.avsc +++ b/commons/passive/polar/polar_ecg.avsc @@ -4,8 +4,8 @@ "name": "PolarEcg", "doc": "Data from ECG in yV.", "fields": [ - { "name": "deviceName", "type": "string", "doc": "Polar device name" }, - { "name": "time", "type": "long", "doc": "Device timestamp in UTC (ns)." }, + { "name": "deviceName", "type": "string", "doc": "Polar device name." }, + { "name": "time", "type": "double", "doc": "Device timestamp in UTC (ns)." }, { "name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." } , { "name": "ecgSignal", "type": "int", "doc": "ECG signal (yV)." } ] diff --git a/commons/passive/polar/polar_heart_rate.avsc b/commons/passive/polar/polar_heart_rate.avsc index b13dd0b2..1a4466eb 100644 --- a/commons/passive/polar/polar_heart_rate.avsc +++ b/commons/passive/polar/polar_heart_rate.avsc @@ -4,8 +4,8 @@ "name": "PolarHeartRate", "doc": "Heart rate as beats per minute.", "fields": [ - { "name": "deviceName", "type": "string", "doc": "Polar device name" }, - { "name": "time", "type": "long", "doc": "Device receiver timestamp in UTC (ns)." }, + { "name": "deviceName", "type": "string", "doc": "Polar device name." }, + { "name": "time", "type": "double", "doc": "Device receiver timestamp in UTC (ns)." }, { "name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." }, { "name": "heartRate", "type": "int", "doc": "Heart rate (bpm)." }, { "name": "rrsMs", "type": {"type": "array", "items": "int"}, "doc": "Data for rrsMs." }, diff --git a/commons/passive/polar/polar_pp_interval.avsc b/commons/passive/polar/polar_pp_interval.avsc index 5b7d2552..8c358b2c 100644 --- a/commons/passive/polar/polar_pp_interval.avsc +++ b/commons/passive/polar/polar_pp_interval.avsc @@ -2,9 +2,9 @@ "namespace": "org.radarcns.passive.polar", "type": "record", "name": "PolarPpInterval", - "doc": "PP interval (milliseconds) representing cardiac pulse-to-pulse interval extracted from PPG signal.", + "doc": "PP interval representing cardiac pulse-to-pulse interval extracted from PPG signal.", "fields": [ - { "name": "deviceName", "type": "string", "doc": "Polar device name" }, + { "name": "deviceName", "type": "string", "doc": "Polar device name." }, { "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." }, { "name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." }, { "name": "blockerBit", "type": "boolean", "doc": "Data for blockerBit." }, diff --git a/commons/passive/polar/polar_ppg.avsc b/commons/passive/polar/polar_ppg.avsc index 0e452a92..c65efa6e 100644 --- a/commons/passive/polar/polar_ppg.avsc +++ b/commons/passive/polar/polar_ppg.avsc @@ -4,8 +4,8 @@ "name": "PolarPpg", "doc": "Data from PPG channels.", "fields": [ - { "name": "deviceName", "type": "string", "doc": "Polar device name" }, - { "name": "time", "type": "long", "doc": "Device timestamp in UTC (ns)." }, + { "name": "deviceName", "type": "string", "doc": "Polar device name." }, + { "name": "time", "type": "double", "doc": "Device timestamp in UTC (ns)." }, { "name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." } , { "name": "ppg0", "type": "int", "doc": "PPG0." }, { "name": "ppg1", "type": "int", "doc": "PPG1." }, From a8a534f9ca91a41597bbc99fe61795b15cecdab6 Mon Sep 17 00:00:00 2001 From: Bastiaan Date: Wed, 24 Jul 2024 12:45:30 +0200 Subject: [PATCH 15/22] Configure using github secret for snapshot publishing --- .github/workflows/publish_snapshots.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish_snapshots.yml b/.github/workflows/publish_snapshots.yml index ceebb9a0..4bfb6714 100644 --- a/.github/workflows/publish_snapshots.yml +++ b/.github/workflows/publish_snapshots.yml @@ -43,4 +43,4 @@ jobs: env: OSSRH_USER: ${{ secrets.OSSRH_USER }} OSSRH_PASSWORD: ${{ secrets.OSSRH_PASSWORD }} - run: ./gradlew -Psigning.gnupg.keyName=CBEF2CF0 -Psigning.gnupg.executable=gpg -Psigning.gnupg.passphrase=${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }} publish + run: ./gradlew -Psigning.gnupg.keyName=${{ secrets.OSSRH_GPG_SECRET_KEY_NAME }} -Psigning.gnupg.executable=gpg -Psigning.gnupg.passphrase=${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }} publish From 0565780aa0d991d5efd37d8415280c6017edb913 Mon Sep 17 00:00:00 2001 From: this-Aditya Date: Tue, 20 Aug 2024 18:45:05 +0530 Subject: [PATCH 16/22] PR feedback addressed --- commons/passive/{phone => audio}/phone_audio_input.avsc | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename commons/passive/{phone => audio}/phone_audio_input.avsc (100%) diff --git a/commons/passive/phone/phone_audio_input.avsc b/commons/passive/audio/phone_audio_input.avsc similarity index 100% rename from commons/passive/phone/phone_audio_input.avsc rename to commons/passive/audio/phone_audio_input.avsc From 8cfce48d2b3572e1c1eac476f743e10c3d52487b Mon Sep 17 00:00:00 2001 From: this-Aditya Date: Tue, 20 Aug 2024 18:47:42 +0530 Subject: [PATCH 17/22] Replacing audio-input plugins files to separate directories --- commons/passive/audio/phone_audio_input.avsc | 2 +- specifications/passive/android_phone-1.0.0.yml | 8 -------- .../passive/android_phone_audio-1.0.0.yml | 13 +++++++++++++ 3 files changed, 14 insertions(+), 9 deletions(-) create mode 100644 specifications/passive/android_phone_audio-1.0.0.yml diff --git a/commons/passive/audio/phone_audio_input.avsc b/commons/passive/audio/phone_audio_input.avsc index 46fa510b..518a4565 100644 --- a/commons/passive/audio/phone_audio_input.avsc +++ b/commons/passive/audio/phone_audio_input.avsc @@ -1,5 +1,5 @@ { - "namespace": "org.radarcns.passive.phone", + "namespace": "org.radarcns.passive.audio", "type": "record", "name": "PhoneAudioInput", "doc": "Uncompressed high-quality audio data collected by the PhoneAudioInput plugin, making use of low-level classes that interact directly with hardware.", diff --git a/specifications/passive/android_phone-1.0.0.yml b/specifications/passive/android_phone-1.0.0.yml index 6ba44796..bdbce9b5 100644 --- a/specifications/passive/android_phone-1.0.0.yml +++ b/specifications/passive/android_phone-1.0.0.yml @@ -156,11 +156,3 @@ data: value_schema: .passive.phone.PhoneUserInteraction sample_rate: dynamic: true - # Phone Audio Input - - type: PHONE_AUDIO_INPUT - app_provider: .phone.PhoneAudioInputProvider - processing_state: RADAR - topic: android_phone_audio_input - value_schema: .passive.phone.PhoneAudioInput - sample_rate: - dynamic: true \ No newline at end of file diff --git a/specifications/passive/android_phone_audio-1.0.0.yml b/specifications/passive/android_phone_audio-1.0.0.yml new file mode 100644 index 00000000..e8e6ceac --- /dev/null +++ b/specifications/passive/android_phone_audio-1.0.0.yml @@ -0,0 +1,13 @@ +#====================================== Android Phone Audio =======================================# +vendor: ANDROID +model: PHONE +version: 1.0.0 +data: + # Phone Audio Input +- type: PHONE_AUDIO_INPUT + app_provider: .phone.PhoneAudioInputProvider + processing_state: RADAR + topic: android_phone_audio_input + value_schema: .passive.phone.PhoneAudioInput + sample_rate: + dynamic: true From 39d5ea1a75de7f2c2802479369fae1c3717e8cfb Mon Sep 17 00:00:00 2001 From: this-Aditya Date: Tue, 20 Aug 2024 19:15:08 +0530 Subject: [PATCH 18/22] Minor change --- specifications/passive/android_phone_audio-1.0.0.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specifications/passive/android_phone_audio-1.0.0.yml b/specifications/passive/android_phone_audio-1.0.0.yml index e8e6ceac..7e1b8983 100644 --- a/specifications/passive/android_phone_audio-1.0.0.yml +++ b/specifications/passive/android_phone_audio-1.0.0.yml @@ -8,6 +8,6 @@ data: app_provider: .phone.PhoneAudioInputProvider processing_state: RADAR topic: android_phone_audio_input - value_schema: .passive.phone.PhoneAudioInput + value_schema: .passive.audio.PhoneAudioInput sample_rate: dynamic: true From 3a86883e1472df750641b982161e425947cc338f Mon Sep 17 00:00:00 2001 From: this-Aditya Date: Wed, 28 Aug 2024 19:26:51 +0530 Subject: [PATCH 19/22] Corrected indentation --- .../passive/android_phone_audio-1.0.0.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/specifications/passive/android_phone_audio-1.0.0.yml b/specifications/passive/android_phone_audio-1.0.0.yml index 7e1b8983..433a35cb 100644 --- a/specifications/passive/android_phone_audio-1.0.0.yml +++ b/specifications/passive/android_phone_audio-1.0.0.yml @@ -4,10 +4,10 @@ model: PHONE version: 1.0.0 data: # Phone Audio Input -- type: PHONE_AUDIO_INPUT - app_provider: .phone.PhoneAudioInputProvider - processing_state: RADAR - topic: android_phone_audio_input - value_schema: .passive.audio.PhoneAudioInput - sample_rate: - dynamic: true + - type: PHONE_AUDIO_INPUT + app_provider: .phone.PhoneAudioInputProvider + processing_state: RADAR + topic: android_phone_audio_input + value_schema: .passive.audio.PhoneAudioInput + sample_rate: + dynamic: true From 4ded363611356a6dd8d9359ffdb3a254931da6bc Mon Sep 17 00:00:00 2001 From: Yatharth Ranjan Date: Mon, 9 Sep 2024 13:32:44 +0100 Subject: [PATCH 20/22] bump version for release --- java-sdk/buildSrc/src/main/kotlin/Versions.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java-sdk/buildSrc/src/main/kotlin/Versions.kt b/java-sdk/buildSrc/src/main/kotlin/Versions.kt index a46e36c5..f012c5c5 100644 --- a/java-sdk/buildSrc/src/main/kotlin/Versions.kt +++ b/java-sdk/buildSrc/src/main/kotlin/Versions.kt @@ -1,5 +1,5 @@ object Versions { - const val project = "0.8.10-SNAPSHOT" + const val project = "0.8.11" const val kotlin = "1.9.10" const val java = 17 From 08e1807a3ffbc724dadfd179bc98cb19543a042f Mon Sep 17 00:00:00 2001 From: pvannierop Date: Tue, 8 Oct 2024 09:12:19 +0200 Subject: [PATCH 21/22] Run Snyk on release branches --- .github/workflows/snyk.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/snyk.yaml b/.github/workflows/snyk.yaml index 97a9baa6..f705c8a5 100644 --- a/.github/workflows/snyk.yaml +++ b/.github/workflows/snyk.yaml @@ -3,6 +3,7 @@ on: pull_request: branches: - master + - release-* jobs: security: From d3e9af72712fc0bb6d0d1450a29ccc5e0dfef202 Mon Sep 17 00:00:00 2001 From: pvannierop Date: Tue, 8 Oct 2024 09:14:54 +0200 Subject: [PATCH 22/22] Up avro to 1.11.4 To fix software vulnerability. --- java-sdk/buildSrc/src/main/kotlin/Versions.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java-sdk/buildSrc/src/main/kotlin/Versions.kt b/java-sdk/buildSrc/src/main/kotlin/Versions.kt index f012c5c5..34ac30c5 100644 --- a/java-sdk/buildSrc/src/main/kotlin/Versions.kt +++ b/java-sdk/buildSrc/src/main/kotlin/Versions.kt @@ -6,7 +6,7 @@ object Versions { const val avroGenerator = "1.9.1" const val radarCommons = "1.1.2" - const val avro = "1.11.3" + const val avro = "1.11.4" const val jackson = "2.16.1" const val argparse = "0.9.0" const val radarJersey = "0.11.1"