-
Notifications
You must be signed in to change notification settings - Fork 24
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #250 from RADAR-base/release-0.5.15
Release 0.5.15
- Loading branch information
Showing
19 changed files
with
328 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
{ | ||
"namespace": "org.radarcns.push.garmin", | ||
"name": "GarminActivityDetails", | ||
"type": "record", | ||
"doc": "Fitness activity details summaries represent detailed information about discrete fitness activities, such as running or swimming, that are specifically and intentionally started by the user on their device. All wellness data, like steps and distance, contained in the activity are already represented in the Daily summary and in the corresponding Epoch summaries, so Activity Detail summaries should only be used for programs that wish to treat specific activity types in different ways, such as giving the user extra credit for going swimming three times in the same week. Activity details summaries include all data recorded by the device as part of the Fitness Activity, including GPS coordinates and all recorded sensor data. ", | ||
"fields": [ | ||
{"name": "time", "type": "double", "doc": "Start time of the activity in seconds since January 1, 1970, 00:00:00 UTC (Unix timestamp)."}, | ||
{"name": "timeReceived", "type": "double", "doc": "Time that this record was collected by a service in seconds since the Unix Epoch (s)."}, | ||
{"name": "summaryId", "type": "string", "doc": "Unique identifier for the summary."}, | ||
{"name": "startTimeOffset", "type": ["null", "int"], "doc": "Offset in seconds to add to time to derive the 'local' time of the device that captured the data.", "default": null}, | ||
{"name": "activityType", "type": ["null", "string"], "doc": "Text description of the activity type. See Appendix A for a complete list. e.g - SEDENTARY, SLEEP, RUNNING, CYCLING, WALKING, etc.", "default": null}, | ||
{"name": "duration", "type": ["null", "int"], "doc": "Length of the monitoring period in seconds.", "default": null}, | ||
{"name": "averageBikeCadence", "type": ["null", "float"], "doc": "Average Bike Cadence in rounds per minute.", "default": null}, | ||
{"name": "maxBikeCadence", "type": ["null", "float"], "doc": "Maximum Bike Cadence in rounds per minute.", "default": null}, | ||
{"name": "distance", "type": ["null", "float"], "doc": "Distance traveled in meters.", "default": null}, | ||
{"name": "averageRunCadence", "type": ["null", "float"], "doc": "Average Run Cadence in Steps per minute.", "default": null}, | ||
{"name": "maxRunCadence", "type": ["null", "float"], "doc": "Maximum Run Cadence in Steps per minute.", "default": null}, | ||
{"name": "activeKilocalories", "type": ["null", "int"], "doc": "Active kilocalories (dietary calories) burned through actual movement and activity during the monitoring period.", "default": null}, | ||
{"name": "averageSpeed", "type": ["null", "float"], "doc": "Average Speed in meters per second.", "default": null}, | ||
{"name": "maxSpeed", "type": ["null", "float"], "doc": "Maximum Speed in meters per second.", "default": null}, | ||
{"name": "averageSwimCadence", "type": ["null", "float"], "doc": "Average Swim Cadence in strokes per minute.", "default": null}, | ||
{"name": "averagePace", "type": ["null", "float"], "doc": "Average Pace in minutes per kilometer.", "default": null}, | ||
{"name": "maxPace", "type": ["null", "float"], "doc": "Maximum Pace in minutes per kilometer.", "default": null}, | ||
{"name": "numberOfActiveLengths", "type": ["null", "int"], "doc": "Number of Active Lengths.", "default": null}, | ||
{"name": "averageHeartRate", "type": ["null", "int"], "doc": "Average of heart rate values captured during the last 7 days, in beats per minute. The average heart rate value for the monitoring period can be calculated based on the data from timeOffsetHeartRateSamples.", "default": null}, | ||
{"name": "maxHeartRate", "type": ["null", "int"], "doc": "Maximum of heart rate values captured during the monitoring period, in beats per minute.", "default": null}, | ||
{"name": "startingLatitude", "type": ["null", "float"], "doc": "Starting Latitude in Degree", "default": null}, | ||
{"name": "startingLongitude", "type": ["null", "float"], "doc": "Starting Longitude in Degree", "default": null}, | ||
{"name": "steps", "type": ["null", "int"], "doc": "Count of steps recorded during the monitoring period.", "default": null}, | ||
{"name": "totalElevationGain", "type": ["null", "float"], "doc": "Total Elevation Gain in meters", "default": null}, | ||
{"name": "totalElevationLoss", "type": ["null", "float"], "doc": "Total Elevation Loss in meters", "default": null}, | ||
{"name": "isParent", "type": ["null", "boolean"], "doc": "If present and set to true, this activity is the parent activity of one or more child activities that should also be made available in the data feed to the partner. An activity of type MULTI_SPORT is an example of a parent activity.", "default": null}, | ||
{"name": "parentSummaryId", "type": ["null", "string"], "doc": "If present, this is the summaryId of the related parent activity. An activity of type CYCLING with a parent activity of type MULTI_SPORT is an example of this type of relationship.", "default": null}, | ||
{"name": "manual", "type": ["null", "boolean"], "doc": "Indicates that the activity was manually entered directly on the Connect site. This property will only exist for manual activities.", "default": null}, | ||
{"name": "deviceName", "type": ["null", "string"], "doc": "Only Fitness Activities are associated with a specific Garmin device rather than the user’s overall account. If a user wears two devices at once during the same time and starts a Fitness Activity on each then both will generate separate Activity summaries with two different deviceNames. Always ‘unknown’ for manually created activities.", "default": null} | ||
] | ||
} |
25 changes: 25 additions & 0 deletions
25
commons/push/garmin/garmin_push_activity_details_sample.avsc
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
{ | ||
"namespace": "org.radarcns.push.garmin", | ||
"name": "GarminActivityDetailsSample", | ||
"type": "record", | ||
"doc": "Each activity detail contains an activity summary and an optional list of samples. The samples list will be empty if the activity is manual or details are not supported by the device. Samples may be as frequent as once per second, and values should be considered valid until the next sample. In all cases, movingDurationInSeconds is less than or equal to timerDurationInSeconds is less than or equal to clockDurationInSeconds.", | ||
"fields": [ | ||
{"name": "time", "type": "double", "doc": "Start time of the sample in seconds since January 1, 1970, 00:00:00 UTC (Unix timestamp)."}, | ||
{"name": "timeReceived", "type": "double", "doc": "Time this sample was recieved by the push service in seconds since January 1, 1970, 00:00:00 UTC (Unix timestamp)."}, | ||
{"name": "summaryId", "type": "string", "doc": "Unique identifier for the summary that this sample is associated with."}, | ||
{"name": "airTemperature", "type": ["null", "float"], "doc": "Air Temperature in Celcius.", "default": null}, | ||
{"name": "heartRate", "type": ["null", "int"], "doc": "Heart rate in beats per minute.", "default": null}, | ||
{"name": "speed", "type": ["null", "float"], "doc": "Speed in Meters Per Second.", "default": null}, | ||
{"name": "stepsPerMinute", "type": ["null", "float"], "doc": "Number of steps per minute.", "default": null}, | ||
{"name": "totalDistance", "type": ["null", "float"], "doc": "Total Distance in Meters.", "default": null}, | ||
{"name": "timerDuration", "type": ["null", "int"], "doc": "The amount of 'timer time' in an activity.", "default": null}, | ||
{"name": "clockDuration", "type": ["null", "int"], "doc": "The amount of real-world 'clock time' from the start of an activity to the end.", "default": null}, | ||
{"name": "movingDuration", "type": ["null", "int"], "doc": "The amount of 'timer time' during which the athlete was moving (above a threshold speed).", "default": null}, | ||
{"name": "power", "type": ["null", "float"], "doc": "The amount of power expended in watts.", "default": null}, | ||
{"name": "bikeCadence", "type": ["null", "int"], "doc": "Cycling cadence in revolutions per minute.", "default": null}, | ||
{"name": "swimCadence", "type": ["null", "int"], "doc": "Swim cadence in strokes per minute.", "default": null}, | ||
{"name": "latitude", "type": ["null", "float"], "doc": "Latitude in decimal degrees (DD)", "default": null}, | ||
{"name": "longitude", "type": ["null", "float"], "doc": "Longitude in decimal degrees (DD)", "default": null}, | ||
{"name": "elevation", "type": ["null", "float"], "doc": "Elevation in meters", "default": null} | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
{ | ||
"namespace": "org.radarcns.push.garmin", | ||
"name": "GarminActivitySummary", | ||
"type": "record", | ||
"doc": "Fitness activity summaries represent high-level information from discrete fitness activities, such as running or swimming, that are specifically and intentionally started by the user on their device. All wellness data, like steps and distance, contained in the Activity are already represented in the Daily summary and in the corresponding Epoch summaries, so Activity summaries should only be used for programs that wish to treat specific activity types in different ways, such as giving the user extra credit for going swimming three times in the same week.", | ||
"fields": [ | ||
{"name": "time", "type": "double", "doc": "Start time of the activity in seconds since January 1, 1970, 00:00:00 UTC (Unix timestamp)."}, | ||
{"name": "timeReceived", "type": "double", "doc": "Time that this record was collected by a service in seconds since the Unix Epoch (s)."}, | ||
{"name": "summaryId", "type": "string", "doc": "Unique identifier for the summary."}, | ||
{"name": "startTimeOffset", "type": ["null", "int"], "doc": "Offset in seconds to add to time to derive the 'local' time of the device that captured the data.", "default": null}, | ||
{"name": "activityType", "type": ["null", "string"], "doc": "Text description of the activity type. e.g - SEDENTARY, SLEEP, RUNNING, CYCLING, WALKING, etc.", "default": null}, | ||
{"name": "duration", "type": ["null", "int"], "doc": "Length of the monitoring period in seconds. 86400 once a full day is complete, but less if a user syncs mid-day.", "default": null}, | ||
{"name": "averageBikeCadence", "type": ["null", "float"], "doc": "Average Bike Cadence in rounds per minute.", "default": null}, | ||
{"name": "maxBikeCadence", "type": ["null", "float"], "doc": "Maximum Bike Cadence in rounds per minute.", "default": null}, | ||
{"name": "distance", "type": ["null", "float"], "doc": "Distance traveled in meters.", "default": null}, | ||
{"name": "averageRunCadence", "type": ["null", "float"], "doc": "Average Run Cadence in Steps per minute.", "default": null}, | ||
{"name": "maxRunCadence", "type": ["null", "float"], "doc": "Maximum Run Cadence in Steps per minute.", "default": null}, | ||
{"name": "activeKilocalories", "type": ["null", "int"], "doc": "Active kilocalories (dietary calories) burned through actual movement and activity during the monitoring period.", "default": null}, | ||
{"name": "averageSpeed", "type": ["null", "float"], "doc": "Average Speed in meters per second.", "default": null}, | ||
{"name": "maxSpeed", "type": ["null", "float"], "doc": "Maximum Speed in meters per second.", "default": null}, | ||
{"name": "averageSwimCadence", "type": ["null", "float"], "doc": "Average Swim Cadence in strokes per minute.", "default": null}, | ||
{"name": "averagePace", "type": ["null", "float"], "doc": "Average Pace in minutes per kilometer.", "default": null}, | ||
{"name": "maxPace", "type": ["null", "float"], "doc": "Maximum Pace in minutes per kilometer.", "default": null}, | ||
{"name": "numberOfActiveLengths", "type": ["null", "int"], "doc": "Number of Active Lengths.", "default": null}, | ||
{"name": "averageHeartRate", "type": ["null", "int"], "doc": "Average of heart rate values captured during the last 7 days, in beats per minute. The average heart rate value for the monitoring period can be calculated based on the data from timeOffsetHeartRateSamples.", "default": null}, | ||
{"name": "maxHeartRate", "type": ["null", "int"], "doc": "Maximum of heart rate values captured during the monitoring period, in beats per minute.", "default": null}, | ||
{"name": "startingLatitude", "type": ["null", "float"], "doc": "Starting Latitude in Degree", "default": null}, | ||
{"name": "startingLongitude", "type": ["null", "float"], "doc": "Starting Longitude in Degree", "default": null}, | ||
{"name": "steps", "type": ["null", "int"], "doc": "Count of steps recorded during the monitoring period.", "default": null}, | ||
{"name": "totalElevationGain", "type": ["null", "float"], "doc": "Total Elevation Gain in meters", "default": null}, | ||
{"name": "totalElevationLoss", "type": ["null", "float"], "doc": "Total Elevation Loss in meters", "default": null}, | ||
{"name": "isParent", "type": ["null", "boolean"], "doc": "If present and set to true, this activity is the parent activity of one or more child activities that should also be made available in the data feed to the partner. An activity of type MULTI_SPORT is an example of a parent activity.", "default": null}, | ||
{"name": "parentSummaryId", "type": ["null", "string"], "doc": "If present, this is the summaryId of the related parent activity. An activity of type CYCLING with a parent activity of type MULTI_SPORT is an example of this type of relationship.", "default": null}, | ||
{"name": "manual", "type": ["null", "boolean"], "doc": "Indicates that the activity was manually entered directly on the Connect site. This property will only exist for manual activities.", "default": null}, | ||
{"name": "deviceName", "type": ["null", "string"], "doc": "Only Fitness Activities are associated with a specific Garmin device rather than the user’s overall account. If a user wears two devices at once during the same time and starts a Fitness Activity on each then both will generate separate Activity summaries with two different deviceNames. Always ‘unknown’ for manually created activities.", "default": null} | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
{ | ||
"namespace": "org.radarcns.push.garmin", | ||
"name": "GarminBodyBatterySample", | ||
"type": "record", | ||
"doc": "Body battery value recorded for the time. Usually assocaited with Stress Details Summary using summaryId. Information on and a list of devices that support Body Battery are available here: https://support.garmin.com/ms-MY/?faq=2qczgfbN00AIMJbX33dRq9.", | ||
"fields": [ | ||
{"name": "time", "type": "double", "doc": "Start time of the sample in seconds since January 1, 1970, 00:00:00 UTC (Unix timestamp)."}, | ||
{"name": "timeReceived", "type": "double", "doc": "Time this sample was recieved by the push service in seconds since January 1, 1970, 00:00:00 UTC (Unix timestamp)."}, | ||
{"name": "summaryId", "type": "string", "doc": "Unique identifier for the summary that this sample is associated with."}, | ||
{"name": "bodyBattery", "type": ["null", "float"], "doc": "Body battery value recorded for the time", "default": null} | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
{ | ||
"namespace": "org.radarcns.push.garmin", | ||
"name": "GarminBodyComposition", | ||
"type": "record", | ||
"doc": "Body Composition summaries contain information about the user’s biometric data, like weight or body mass index. This data can be generated three ways. Users can manually enter their weight on Garmin Connect. This results in a summary with only time and weight. Users may also connect their MyFitnessPal account to their Garmin Connect account and update their weight on MyFitnessPal. This results in a summary that also just has a time and weight. Finally, a user might have a Garmin Index body composition scale and sync data from this device. This will generate a summary with all possible biometric fields.", | ||
"fields": [ | ||
{"name": "time", "type": "double", "doc": "Start time of the activity in seconds since January 1, 1970, 00:00:00 UTC (Unix timestamp)."}, | ||
{"name": "timeReceived", "type": "double", "doc": "Time that this record was collected by a service in seconds since the Unix Epoch (s)."}, | ||
{"name": "summaryId", "type": "string", "doc": "Unique identifier for the summary."}, | ||
{"name": "muscleMass", "type": ["null", "int"], "doc": "Muscle mass in grams.", "default": null}, | ||
{"name": "boneMass", "type": ["null", "int"], "doc": "Bone mass in grams.", "default": null}, | ||
{"name": "measurementTimeOffset", "type": ["null", "int"], "doc": "Offset in seconds to add to time to derive the 'local' time of the device that captured the data.", "default": null}, | ||
{"name": "bodyWater", "type": ["null", "float"], "doc": "Percentage of body water (range 0.0 - 100.0).", "default": null}, | ||
{"name": "bodyFat", "type": ["null", "float"], "doc": "Percentage of body fat. (range 0.0 - 100.0).", "default": null}, | ||
{"name": "bodyMassIndex", "type": ["null", "float"], "doc": "Body mass index, or BMI.", "default": null}, | ||
{"name": "weight", "type": ["null", "int"], "doc": "Weight in grams.", "default": null} | ||
] | ||
} |
Oops, something went wrong.