Example
Loading...
Searching...
No Matches
CNFBMetricsProductivity.h
Go to the documentation of this file.
1// Copyright. 2019 - 2024 PSBD. All rights reserved.
2
3#pragma once
4
6#include "Capsule/CError.h"
8#include "Capsule/CSession.h"
9
10#ifdef __cplusplus
11extern "C" {
12#endif
13
14CLC_CLASS_WN(ProductivityMetricsPrivate, clCNFBMetricProductivity);
15
27 clCSession session, const char* path, double speed, double maxSpeed,
28 double slowDown, clCError* error) NOEXCEPT;
39 clCNFBCalibrator calibrator, const char* path, double speed, double maxSpeed,
40 double slowDown, clCError* error) NOEXCEPT;
46CL_DLL void
47clCNFBMetricsProductivity_Destroy(clCNFBMetricProductivity nfbMetrics) NOEXCEPT;
53CL_DLL void
54clCNFBMetricsProductivity_InitializeNFB(clCNFBMetricProductivity nfbMetrics,
55 const char* platformAddress,
56 clCError* error) NOEXCEPT;
57
58CLC_STRUCT(clCNFBMetricsProductivityCalibratedDelegate);
60 clCNFBMetricProductivity);
65 clCNFBMetricsProductivityCalibratedDelegate delegate,
67
71CL_DLL clCNFBMetricsProductivityCalibratedDelegate
73
82CLC_STRUCT(clCNFBMetricsProductivityInitialBaselineCalibratedDelegate);
84 clCNFBMetricProductivity, const clCNFBMetricsProductivityBaselines*);
89 clCNFBMetricsProductivityInitialBaselineCalibratedDelegate delegate,
91
95CL_DLL clCNFBMetricsProductivityInitialBaselineCalibratedDelegate
97
99 float IAF;
100 float IAPF;
104 uint8_t relaxPoint;
105 uint8_t stressPoint;
112
113CLC_STRUCT(clCNFBMetricsProductivityIndividualDelegate);
114typedef void (*clCNFBMetricsProductivityIndividualHandler)(clCNFBMetricProductivity,
116
120CL_DLL clCNFBMetricsProductivityIndividualDelegate
126 clCNFBMetricsProductivityIndividualDelegate delegate,
128
137
138CLC_STRUCT(clCNFBMetricsProductivityValuesDelegate);
139typedef void (*clCNFBMetricsProductivityValuesHandler)(clCNFBMetricProductivity,
144CL_DLL clCNFBMetricsProductivityValuesDelegate
150 clCNFBMetricsProductivityValuesDelegate delegate,
152
159 clCNFBMetricProductivity nfbMetrics) NOEXCEPT;
165CL_DLL float
166clCNFBMetricsProductivity_GetIAF(clCNFBMetricProductivity nfbMetrics) NOEXCEPT;
170CL_DLL void clCNFBMetricsProductivity_ResetAccumulatedFatigue(clCNFBMetricProductivity nfbMetrics,
171 clCError* error) NOEXCEPT;
175typedef struct clCNFBUserArtifacts {
179 const uint8_t* artifactsData;
181 int64_t timestamp;
183
184CLC_STRUCT(clCNFBMetricsProductivityArtifactsDelegate);
186 clCNFBMetricProductivity, const clCNFBUserArtifacts*);
190CL_DLL clCNFBMetricsProductivityArtifactsDelegate
192 clCNFBMetricProductivity nfbMetrics) NOEXCEPT;
197 clCNFBMetricsProductivityArtifactsDelegate delegate,
199
200//------------------
203
204CLC_STRUCT(clCNFBMetricsProductivityTrainingInfoDelegate);
206 clCNFBMetricProductivity, clCNFBMetricsProductivity_CurrentPowerIAPF,
208
210 clCNFBMetricsProductivityTrainingInfoDelegate delegate,
212
213CL_DLL clCNFBMetricsProductivityTrainingInfoDelegate
215
216//----------------
217
218CLC_STRUCT(clCNFBMetricsProductivityEventDelegate);
219typedef void (*clCNFBMetricsProductivityEventHandler)(clCNFBMetricProductivity, float);
225 clCNFBMetricsProductivityEventDelegate delegate,
230CL_DLL clCNFBMetricsProductivityEventDelegate
232 clCNFBMetricProductivity nfbMetrics) NOEXCEPT;
236CL_DLL clCNFBMetricsProductivityEventDelegate
238 clCNFBMetricProductivity nfbMetrics) NOEXCEPT;
242CL_DLL clCNFBMetricsProductivityEventDelegate
244 clCNFBMetricProductivity nfbMetrics) NOEXCEPT;
248CL_DLL clCNFBMetricsProductivityEventDelegate
250 clCNFBMetricProductivity nfbMetrics) NOEXCEPT;
254CL_DLL clCNFBMetricsProductivityEventDelegate
256 clCNFBMetricProductivity nfbMetrics) NOEXCEPT;
257
258#ifdef __cplusplus
259}
260#endif
#define CLC_STRUCT(Name)
Definition CDefinesPrivate.h:24
#define NOEXCEPT
Definition CDefinesPrivate.h:52
#define CL_DLL
Definition CDefinesPrivate.h:21
#define CLC_CLASS_WN(Wrapped, Name)
Definition CDefinesPrivate.h:54
clCError
Capsule error.
Definition CError.h:8
CL_DLL clCNFBMetricsProductivityEventDelegate clCNFBMetricsProductivity_GetOnUpdateEvent_60min(clCNFBMetricProductivity nfbMetrics) NOEXCEPT
Get delegate for update event productivity metric 60 min.
CL_DLL clCNFBMetricsProductivityCalibratedDelegate clCNFBMetricsProductivity_GetOnBaselineCalibratedEvent(clCNFBMetricProductivity nfbMetrics) NOEXCEPT
Get delegate for baseline calibration finished event.
void(* clCNFBMetricsProductivityIndividualHandler)(clCNFBMetricProductivity, const clCNFBMetricsProductivityIndividualIndexes *)
Definition CNFBMetricsProductivity.h:114
CL_DLL void clCNFBMetricsProductivity_CalibratedEvent_Set(clCNFBMetricsProductivityCalibratedDelegate delegate, clCNFBMetricsProductivityCalibratedHandler handler) NOEXCEPT
Set handler for calibrated event NFB classifier, not involved yet.
CL_DLL void clCNFBMetricsProductivity_InitialBaselineCalibratedEvent_Set(clCNFBMetricsProductivityInitialBaselineCalibratedDelegate delegate, clCNFBMetricsProductivityInitialBaselineCalibratedHandler handler) NOEXCEPT
Set delegate for initial baseline calibration finished event.
CL_DLL void clCNFBMetricsProductivity_ArtifactsEvent_Set(clCNFBMetricsProductivityArtifactsDelegate delegate, clCNFBMetricsProductivityArtifactsHandler handler) NOEXCEPT
Set handler for occurrence artifacts event.
CL_DLL void clCNFBMetricsProductivity_UpdateEvent_Set(clCNFBMetricsProductivityEventDelegate delegate, clCNFBMetricsProductivityEventHandler handler) NOEXCEPT
Set handler for update event productivity metrics: 1min, 5min ... 60min.
CL_DLL clCNFBMetricsProductivityTrainingInfoDelegate clCNFBMetricsProductivity_GetOnTrainingInfoEvent(clCNFBMetricProductivity nfbMetrics) NOEXCEPT
float clCNFBMetricsProductivity_relaxValue
Definition CNFBMetricsProductivity.h:202
void(* clCNFBMetricsProductivityInitialBaselineCalibratedHandler)(clCNFBMetricProductivity, const clCNFBMetricsProductivityBaselines *)
Definition CNFBMetricsProductivity.h:83
CL_DLL void clCNFBMetricsProductivity_IndividualMeasuredEvent_Set(clCNFBMetricsProductivityIndividualDelegate delegate, clCNFBMetricsProductivityIndividualHandler handler) NOEXCEPT
Set handler for Individual measure event.
CL_DLL clCNFBMetricsProductivityValuesDelegate clCNFBMetricsProductivity_GetOnProductivityValuesEvent(clCNFBMetricProductivity nfbMetrics) NOEXCEPT
Get delegate for Productivity scores event.
void(* clCNFBMetricsProductivityArtifactsHandler)(clCNFBMetricProductivity, const clCNFBUserArtifacts *)
Definition CNFBMetricsProductivity.h:185
CL_DLL void clCNFBMetricsProductivity_ResetAccumulatedFatigue(clCNFBMetricProductivity nfbMetrics, clCError *error) NOEXCEPT
Reset accumulated fatigue and start calculated it from 0.
CL_DLL clCNFBMetricsProductivityEventDelegate clCNFBMetricsProductivity_GetOnUpdateEvent_5min(clCNFBMetricProductivity nfbMetrics) NOEXCEPT
Get delegate for update event productivity metric 5 min.
void(* clCNFBMetricsProductivityCalibratedHandler)(clCNFBMetricProductivity)
Definition CNFBMetricsProductivity.h:59
CL_DLL void clCNFBMetricsProductivity_TrainingInfoEvent_Set(clCNFBMetricsProductivityTrainingInfoDelegate delegate, clCNFBMetricsProductivityTrainingInfoHandler handler) NOEXCEPT
float clCNFBMetricsProductivity_CurrentPowerIAPF
Definition CNFBMetricsProductivity.h:201
CL_DLL clCNFBMetricsProductivityArtifactsDelegate clCNFBMetricsProductivity_GetOnArtifactsEvent(clCNFBMetricProductivity nfbMetrics) NOEXCEPT
Get delegate for occurrence artifacts event.
void(* clCNFBMetricsProductivityTrainingInfoHandler)(clCNFBMetricProductivity, clCNFBMetricsProductivity_CurrentPowerIAPF, clCNFBMetricsProductivity_relaxValue)
Definition CNFBMetricsProductivity.h:205
CL_DLL void clCNFBMetricsProductivity_Destroy(clCNFBMetricProductivity nfbMetrics) NOEXCEPT
Destroy NFB classifier. Release the NFBMetrics productivity handle.
CL_DLL clCNFBMetricsProductivityEventDelegate clCNFBMetricsProductivity_GetOnUpdateEvent_30min(clCNFBMetricProductivity nfbMetrics) NOEXCEPT
Get delegate for update event productivity metric 30 min.
CL_DLL clCNFBMetricProductivity clCNFBMetricsProductivity_CreateCalibrated(clCNFBCalibrator calibrator, const char *path, double speed, double maxSpeed, double slowDown, clCError *error) NOEXCEPT
Create a NFB classifier for metrics productivity after individual NFB has been calibrated.
CL_DLL float clCNFBMetricsProductivity_GetIAF(clCNFBMetricProductivity nfbMetrics) NOEXCEPT
Set handler for Individual measure event.
CL_DLL float clCNFBMetricsProductivity_GetIAPF(clCNFBMetricProductivity nfbMetrics) NOEXCEPT
Set handler for Individual measure event.
CL_DLL void clCNFBMetricsProductivity_ValuesEvent_Set(clCNFBMetricsProductivityValuesDelegate delegate, clCNFBMetricsProductivityValuesHandler handler) NOEXCEPT
Set handler for Productivity scores event.
void(* clCNFBMetricsProductivityValuesHandler)(clCNFBMetricProductivity, const clCNFBMetricsProductivityValues *)
Definition CNFBMetricsProductivity.h:139
CL_DLL clCNFBMetricsProductivityIndividualDelegate clCNFBMetricsProductivity_GetOnIndividualMeasuredEvent(clCNFBMetricProductivity nfbMetrics) NOEXCEPT
Get delegate for Individual measure event.
CL_DLL clCNFBMetricsProductivityEventDelegate clCNFBMetricsProductivity_GetOnUpdateEvent_15min(clCNFBMetricProductivity nfbMetrics) NOEXCEPT
Get delegate for update event productivity metric 15 min.
CL_DLL clCNFBMetricProductivity clCNFBMetricsProductivity_Create(clCSession session, const char *path, double speed, double maxSpeed, double slowDown, clCError *error) NOEXCEPT
Create a NFB classifier for metrics productivity.
void(* clCNFBMetricsProductivityEventHandler)(clCNFBMetricProductivity, float)
Definition CNFBMetricsProductivity.h:219
CL_DLL clCNFBMetricsProductivityEventDelegate clCNFBMetricsProductivity_GetOnUpdateEvent_1min(clCNFBMetricProductivity nfbMetrics) NOEXCEPT
Get delegate for update event productivity metric 1 min.
CL_DLL clCNFBMetricsProductivityInitialBaselineCalibratedDelegate clCNFBMetricsProductivity_GetOnInitialBaselineCalibratedEvent(clCNFBMetricProductivity nfbMetrics) NOEXCEPT
Get delegate for initial baseline calibration finished event.
CL_DLL void clCNFBMetricsProductivity_InitializeNFB(clCNFBMetricProductivity nfbMetrics, const char *platformAddress, clCError *error) NOEXCEPT
Initialize NFB classifier for metrics productivity.
Definition CNFBMetricsProductivity.h:74
float relaxBaseline
Definition CNFBMetricsProductivity.h:79
float fatigueBaseline
Definition CNFBMetricsProductivity.h:77
float gravityBaseline
Definition CNFBMetricsProductivity.h:75
float concentrationBaseline
Definition CNFBMetricsProductivity.h:80
float productivityBaseline
Definition CNFBMetricsProductivity.h:76
float reverseFatigueBaseline
Definition CNFBMetricsProductivity.h:78
Definition CNFBMetricsProductivity.h:98
float concentrationBaseline
Definition CNFBMetricsProductivity.h:109
uint8_t relaxPoint
Definition CNFBMetricsProductivity.h:104
uint8_t stressPoint
Definition CNFBMetricsProductivity.h:105
float IAPF
Definition CNFBMetricsProductivity.h:100
float alphaRangeEnd
Definition CNFBMetricsProductivity.h:103
float IAF
Definition CNFBMetricsProductivity.h:99
int isArtifacted
Definition CNFBMetricsProductivity.h:110
float alphaRangeBegin
Definition CNFBMetricsProductivity.h:102
float relaxBaseline
Definition CNFBMetricsProductivity.h:106
float IAPFPowerNormalized
Definition CNFBMetricsProductivity.h:101
float gravityBaseline
Definition CNFBMetricsProductivity.h:108
float fatigueBaseline
Definition CNFBMetricsProductivity.h:107
Definition CNFBMetricsProductivity.h:129
float gravityScore
Definition CNFBMetricsProductivity.h:131
int32_t fatigueGrowthRate
Definition CNFBMetricsProductivity.h:135
float concentrationScore
Definition CNFBMetricsProductivity.h:132
float relaxationScore
Definition CNFBMetricsProductivity.h:133
float accumulatedFatigue
Definition CNFBMetricsProductivity.h:134
float fatigueScore
Definition CNFBMetricsProductivity.h:130
Artifacts when measuring the state user.
Definition CNFBMetricsProductivity.h:175
const uint8_t * artifactsData
Artifacts from channel.
Definition CNFBMetricsProductivity.h:179
int64_t timestamp
Definition CNFBMetricsProductivity.h:181
uint64_t artifactsSize
Definition CNFBMetricsProductivity.h:180