Wahoo Fitness API  3.6.1
Documentation for the iPhone version of the Wahoo Fitness API.
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Properties Macros Pages
WFWahooMotionAnalysisData.h
Go to the documentation of this file.
1 //
2 // WFWahooMotionAnalysisData.h
3 // WFConnector
4 //
5 // Created by Chris Uroda on 2014-11-04.
6 // Copyright 2014 Wahoo Fitness. All rights reserved.
7 //
8 
9 #import <Foundation/Foundation.h>
10 #import <WFConnector/WFSensorData.h>
11 #import <WFConnector/WFWahooRunningSmoothnessData.h>
12 
13 
17 typedef NS_ENUM(NSInteger, WFWahooMotionAnalysisActivityType_t) {
18  WF_WAHOO_MOTION_ANALYSIS_ACTIVITY_TYPE_NONE = 0,
19  WF_WAHOO_MOTION_ANALYSIS_ACTIVITY_TYPE_DEPRECATED_00 = 1,
20  WF_WAHOO_MOTION_ANALYSIS_ACTIVITY_TYPE_INDOOR_CYCLING = 2,
21  WF_WAHOO_MOTION_ANALYSIS_ACTIVITY_TYPE_CYCLING = 3,
22  WF_WAHOO_MOTION_ANALYSIS_ACTIVITY_TYPE_SWIMMING = 4,
23  WF_WAHOO_MOTION_ANALYSIS_ACTIVITY_TYPE_X_COUNTING = 5,
24  WF_WAHOO_MOTION_ANALYSIS_ACTIVITY_TYPE_RUNNING = 6,
25  WF_WAHOO_MOTION_ANALYSIS_ACTIVITY_TYPE_ELLIPTICAL = 7,
26 };
27 
28 
32 typedef NS_ENUM(NSInteger, WFWahooMotionAnalysisIndoorCyclingRiderPosition_t) {
33  WF_WAHOO_MOTION_ANALYSIS_INDOOR_CYCLING_RIDER_POSITION_NOT_AVAILABLE = 0,
34  WF_WAHOO_MOTION_ANALYSIS_INDOOR_CYCLING_RIDER_POSITION_UNKNOWN = 1,
35  WF_WAHOO_MOTION_ANALYSIS_INDOOR_CYCLING_RIDER_POSITION_SITTING = 2,
36  WF_WAHOO_MOTION_ANALYSIS_INDOOR_CYCLING_RIDER_POSITION_STANDING = 3,
37 };
38 
39 
43 typedef NS_ENUM(NSInteger, WFWahooMotionAnalysisRunningIsRunningStatus_t) {
44  WF_WAHOO_MOTION_ANALYSIS_RUNNING_IS_RUNNING_STATUS_NOT_AVAILABLE = 0,
45  WF_WAHOO_MOTION_ANALYSIS_RUNNING_IS_RUNNING_STATUS_NOT_RUNNING = 1,
46  WF_WAHOO_MOTION_ANALYSIS_RUNNING_IS_RUNNING_STATUS_RUNNING = 2,
47 };
48 
49 
53 typedef NS_ENUM(NSInteger, WFWahooMotionAnalysisDeviceOrientation_t) {
54  WF_WAHOO_MOTION_ANALYSIS_DEVICE_ORIENTATION_NOT_AVAILABLE = 0,
55  WF_WAHOO_MOTION_ANALYSIS_DEVICE_ORIENTATION_TOP_UP = 1,
56  WF_WAHOO_MOTION_ANALYSIS_DEVICE_ORIENTATION_TOP_DOWN = 2,
57  WF_WAHOO_MOTION_ANALYSIS_DEVICE_ORIENTATION_RIGHT_UP = 3,
58  WF_WAHOO_MOTION_ANALYSIS_DEVICE_ORIENTATION_RIGHT_DOWN = 4,
59  WF_WAHOO_MOTION_ANALYSIS_DEVICE_ORIENTATION_FACE_UP = 5,
60  WF_WAHOO_MOTION_ANALYSIS_DEVICE_ORIENTATION_FACE_DOWN = 6,
61 };
62 
63 
69 
70 
71 // +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
72 #pragma mark - Generic Fields
73 // +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
76 @property (nonatomic, assign) WFWahooMotionAnalysisActivityType_t activityType;
77 @property (nonatomic, assign) NSTimeInterval motionTimestamp;
78 @property (nonatomic, assign) uint32_t motionCount;
79 @property (nonatomic, assign) double cadenceRPM;
83 // +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
84 #pragma mark - Specific Fields for activityType = Running
85 // +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
89 @property (nonatomic, retain) NSNumber* runningSquaredJerkX;
90 @property (nonatomic, retain) NSNumber* runningSquaredJerkY;
91 @property (nonatomic, retain) NSNumber* runningSquaredJerkZ;
92 @property (nonatomic, retain) WFWahooRunningSmoothnessData* runningSmoothnessData;
93 @property (nonatomic, retain) NSNumber* runningGroundContactTimeSeconds;
94 @property (nonatomic, retain) NSNumber* runningVerticalOscillationMetres;
95 @property (nonatomic, assign) WFWahooMotionAnalysisRunningIsRunningStatus_t runningIsRunningStatus;
99 // +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
100 #pragma mark - Specific Fields for activityType = IndoorCycling
101 // +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
104 @property (nonatomic, retain) NSNumber* indoorCyclingTrunkAngleDegrees;
105 @property (nonatomic, assign) WFWahooMotionAnalysisIndoorCyclingRiderPosition_t indoorCyclingRiderPosition;
106 @property (nonatomic, retain) NSNumber* indoorCyclingCumulativeSittingTime;
107 @property (nonatomic, retain) NSNumber* indoorCyclingCumulativeStandingTime;
110 // +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
111 #pragma mark - Specific Fields for activityType = XCounting
112 // +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
115 @property (nonatomic, retain) NSNumber* xCountingCumulativeMovingTime;
116 @property (nonatomic, retain) NSNumber* xCountingCumulativeCorrectPositionHeldTime;
117 @property (nonatomic, retain) NSNumber* xCountingCumulativeIncorrectPositionHeldTime;
118 @property (nonatomic, assign) WFWahooMotionAnalysisDeviceOrientation_t xCountingCurrentDeviceOrientation;
122 // +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
123 #pragma mark - Specific Fields for activityType = Elliptical
124 
126 @property (nonatomic, retain) NSNumber *ellipticalInstantaneousSpeed;
131 // +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
132 #pragma mark - Methods
133 // +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
134 - (NSTimeInterval) timeSinceMotion;
135 - (NSString*) formattedCadence;
137 @end
This is the abstract base class for all types of ANT sensor data.
Definition: WFSensorData.h:18
Represents the data available from a Wahoo Fitness device which supports Motion Analysis.
Definition: WFWahooMotionAnalysisData.h:68
NSNumber * runningGroundContactTimeSeconds
Current Ground Contact Time.
Definition: WFWahooMotionAnalysisData.h:93
uint32_t motionCount
Cumulative motion count (eg.
Definition: WFWahooMotionAnalysisData.h:78
Definition: WFWahooRunningSmoothnessData.h:22
NSString * formattedCadence()
Returns the cadenceRPM in string form, formatted to two decimal places.
NSNumber * ellipticalInstantaneousSpeed
Definition: WFWahooMotionAnalysisData.h:126
WFWahooMotionAnalysisIndoorCyclingRiderPosition_t indoorCyclingRiderPosition
Current rider position.
Definition: WFWahooMotionAnalysisData.h:105
WFWahooMotionAnalysisActivityType_t activityType
The current activity type of the device.
Definition: WFWahooMotionAnalysisData.h:76
NSNumber * indoorCyclingCumulativeSittingTime
Cumulative Sitting time, in seconds.
Definition: WFWahooMotionAnalysisData.h:106
NSNumber * runningSquaredJerkX
A measure of the current jerk in the x direction of the device.
Definition: WFWahooMotionAnalysisData.h:89
NSNumber * indoorCyclingCumulativeStandingTime
Cumulative Standing time, in seconds.
Definition: WFWahooMotionAnalysisData.h:107
typedef NS_ENUM(NSInteger, WFWahooMotionAnalysisActivityType_t)
Motion Analysis Activity Type Enumeration.
Definition: WFWahooMotionAnalysisData.h:17
NSNumber * xCountingCumulativeCorrectPositionHeldTime
Cumulative time elapsed of the user/device being (still) in the "correct position", in seconds.
Definition: WFWahooMotionAnalysisData.h:116
NSNumber * runningVerticalOscillationMetres
Current Vertical Oscillation.
Definition: WFWahooMotionAnalysisData.h:94
WFWahooRunningSmoothnessData * runningSmoothnessData
Current running smoothness.
Definition: WFWahooMotionAnalysisData.h:92
NSTimeInterval motionTimestamp
Time interval since the first instant of 1 January 2001, GMT (Based on NSDate timeIntervalSinceRefere...
Definition: WFWahooMotionAnalysisData.h:77
NSTimeInterval timeSinceMotion()
Returns time in seconds that have elapsed since the last known motion event.
NSNumber * runningSquaredJerkZ
A measure of the current jerk in the z direction of the device.
Definition: WFWahooMotionAnalysisData.h:91
WFWahooMotionAnalysisRunningIsRunningStatus_t runningIsRunningStatus
Current isRunning status.
Definition: WFWahooMotionAnalysisData.h:95
NSNumber * indoorCyclingTrunkAngleDegrees
Current trunk (torso) angle in degrees.
Definition: WFWahooMotionAnalysisData.h:104
WFWahooMotionAnalysisDeviceOrientation_t xCountingCurrentDeviceOrientation
Current orientation of the device.
Definition: WFWahooMotionAnalysisData.h:118
NSNumber * xCountingCumulativeIncorrectPositionHeldTime
Cumulative time elapsed of the user/device being (still) in a position other than the "correct...
Definition: WFWahooMotionAnalysisData.h:117
NSNumber * runningSquaredJerkY
A measure of the current jerk in the y direction of the device.
Definition: WFWahooMotionAnalysisData.h:90
double cadenceRPM
Instantaneous Cadence (motion's per minute).
Definition: WFWahooMotionAnalysisData.h:79
NSNumber * xCountingCumulativeMovingTime
Cumulative time elapsed of the user/device moving (not being still), in seconds.
Definition: WFWahooMotionAnalysisData.h:115