AIM
|
#include <CalibrationCoach.h>
Public Member Functions | |
CalibrationCoach (std::string name="calibration_coach") | |
virtual void | setGoal (InitializationType type, const AIMValue &init, bool dynamic=true) |
virtual void | processDateValue (const std::string &sensor, const AIMValue &dateValue) |
virtual std::vector < TaskDescription > | getFutureTasks (double start, double end) |
virtual TaskDescription | setTaskValueManually (std::string taskType, double taskStartDate, const AIMValue &data) |
double | getTimeActiveBaseline () |
double | getSleepDurationBaseline () |
double | getSleepStartBaseline () |
double | getSleepEndBaseline () |
double | getMentalResilienceBaseline () |
bool | hasTimeActiveBaseline () |
bool | hasSleepTimeBaseLine () |
bool | hasMentalResilienceBaseLine () |
virtual void | setProperties (const std::map< std::string, AIMValue > &properties) |
int | getMissingDays () |
Coach::Type | getCoachAdvice () |
AIMValue | getValues (double date) |
virtual void | pause (double time) |
virtual void | resume (double time) |
Public Member Functions inherited from CoachingEngine::Coach | |
Coach (const Coach &other) | |
Coach & | operator= (const Coach &rhs) |
void | addData (const AIMData &data) |
void | doTick () |
std::vector< AIMValue > | getRequirements () const |
bool | requirementsAreUpdated (bool reset) const |
virtual AIMValue | getGoal () const |
virtual std::vector < TaskDescription > | getCurrentTasks () const |
virtual Status | getStatus () const |
virtual Type | getType () |
virtual const std::map < std::string, AIMValue > & | getProperties () |
virtual std::map< std::string, AIMValue > | getMemberDataAsProperties () const |
Public Member Functions inherited from AIM | |
AIM (std::string name="") | |
AIM (const AIM &other) | |
AIM & | operator= (const AIM &rhs) |
virtual void | addDataSubscriber (const std::string &key, AIM *subscriber) |
virtual void | removeDataSubscriber (const std::string &key) |
virtual AIMValue | setProperty (const std::string &key, AIMValue value) |
virtual AIMValue | getProperty (std::string key) const |
virtual void | sendData () |
virtual std::string | exportProperties () |
virtual std::vector< std::pair < std::string, AIMValue > > | getOutputData (bool clear_output=false) |
virtual std::vector< std::pair < std::string, AIMValue > > | getInputData (bool clear_input=false) |
virtual AIM * | getDataSubscriber (std::string subscriber) |
virtual std::string | getName () const |
Static Public Attributes | |
static const std::string | PROP_SENSORS = "sensors" |
static const std::string | PROP_SENSOR_VALUES = "sensor_values" |
static const std::string | PROP_MISSING_DAYS = "missing_days" |
static const std::string | PROP_BASELINE_VALUES = "baseline_values" |
static const std::string | PROP_IN_BACKGROUND = "on_foreground" |
static const std::string | FIELD_MANUAL_POSTFIX = "_manual" |
static const std::string | FIELD_SLEEP_START_DATE = "start_date" |
static const std::string | FIELD_SLEEP_END_DATE = "end_date" |
static const std::string | FIELD_SLEEP_SLEEPTIME = "sleepTime" |
Static Public Attributes inherited from CoachingEngine::Coach | |
static const std::string | PROP_COMPLETED_TASKS = "completed_tasks" |
static const std::string | PROP_ACTIVE_TASKS = "active_tasks" |
static const std::string | PROP_STATUS = "status" |
static const std::string | PROP_GOAL = "goal" |
static const std::string | PROP_BASELINE = "baseline" |
static const std::string | PROP_DYNAMIC_COACH = "dynamic_coach" |
static const std::string | PROP_GOAL_TYPE = "goal_type" |
static const std::string | PROP_START_DATE = "start_date" |
static const std::string | PROP_END_DATE = "end_date" |
static const std::string | PROP_TOTAL_DAYS = "total_days" |
static const std::string | PROP_GAIN = "gain" |
static const std::string | PROP_CURRENT_TIME = "clock" |
static const std::string | PROP_START_PAUSE = "start_pause" |
static const std::string | OUTPUT_FIELD_COACH_TYPE = "coach_type" |
static const std::string | PROP_PAUSED_SECONDS = "paused_seconds" |
Static Public Attributes inherited from AIM | |
static const std::string | VERSION = AIM_VERSION |
Additional Inherited Members | |
Public Types inherited from CoachingEngine::Coach | |
enum | Type { PHYSICAL_ACTIVITY, MENTAL_RESILIENCE, SLEEP_DURATION, JETLAG, SHIFTWORK, CALIBRATION, NONE, BIORHYTHM } |
enum | InitializationType { MANUAL_GOAL, POPULATION_GOAL, PERSONAL_GOAL } |
enum | Status { UNINITIALIZED, GOAL_INITIALIZED, READY, PAUSED } |
Public Types inherited from AIM | |
typedef std::pair< std::string, AIMValue > | AIMData |
typedef std::queue< AIMData > | AIMDataQueue |
typedef std::queue< AIMValue > | AIMValueQueue |
typedef std::map< std::string, AIMValueQueue > | InputDataQueue |
Protected Types inherited from CoachingEngine::Coach | |
typedef std::map< std::string, std::unordered_set< Task * > > | SensorRoutes |
Protected Member Functions inherited from CoachingEngine::Coach | |
Coach (Type coachType, std::string name="coach") | |
virtual void | addActiveTask (Task &task) |
virtual void | removeActiveTask (Task *task) |
virtual double | calculateTargetValue (int week, double goalValue, double lastValue, double speed=(2.0/3.0)) |
virtual int | getWeek (double date) |
virtual double | calculateGoal (std::string taskType, double currentValue, int weeksLeft) |
virtual void | decreaseGain (std::string taskType) |
virtual void | increaseGain (std::string taskType) |
virtual void | handleCompletedTask (Task *task) |
virtual bool | checkAndHandleNewWeek () |
virtual double | calculateAverage (std::string taskType, double startDate, double endDate, int min_values=1, int nr_values=-1) |
virtual void | createNewTask (std::string taskType) |
virtual std::pair< double, double > | calculateTaskPeriod (double currentTime, std::string taskType="") |
virtual void | removeRoutesForTask (Task *task) |
virtual Task * | getTask (TaskDescription::Type type) |
Protected Member Functions inherited from AIM | |
void | setDataSubscribers (const std::map< std::string, AIM * > &subscribers) |
void | setInputDataQueue (const InputDataQueue &inputDataQueue) |
void | setOutputDataQueue (const AIMDataQueue &outputDataQueue) |
Protected Attributes inherited from CoachingEngine::Coach | |
const Type | type |
Status | status |
std::vector< Task * > | activeTasks |
std::vector< Task * > | completedTasks |
SensorRoutes | routes |
AIMValue | goal |
AIMValue | baseline |
Clock | clock |
bool | dynamicCoach |
InitializationType | goalType |
double | end_date |
double | start_date |
int | total_days |
AIMValue | gain |
Protected Attributes inherited from AIM | |
std::string | name |
std::vector< AIMValue > | requirements |
bool | requirementsUpdated |
std::map< std::string, AIM * > | dataSubscribers |
std::map< std::string, AIMValue > | properties |
InputDataQueue | inputDataQueue |
AIMDataQueue | outputDataQueue |
Implementation of the calibration coach. This coach coaches a user to calibrate the coaching engine.
|
virtual |
Return planned tasks for the specified time range.
start | Start date as Unix timestmap for the range to get planned tasks for, |
end | End date as Unix timestamp for the range to get planned tasks for. |
Reimplemented from CoachingEngine::Coach.
int CoachingEngine::CalibrationCoach::getMissingDays | ( | ) |
Calculate the missing days
|
virtual |
|
virtual |
Called with the sensor and a date/value tuple.
Reimplemented from CoachingEngine::Coach.
|
virtual |
|
virtual |
Set the goal of the Coach
The CalibrationCoach does not have an InitializationType and cannot be dynamic. The CalibrationCoach can be initialized with the AIMValue init which contains a map with sensor names to calibrate as key. When the CalibrationCoach is finished it's collecting data in the background (with optional requirement), without creating tasks When the CalibrationCoach is already running in the background it will be put in the foreground. A buffer of daily data for 30 days is kept for each sensor.
type | Unused parameter |
init | The AIMValue map with the sensors to calibrate as key. |
dynamic | Unused parameter |
Reimplemented from CoachingEngine::Coach.
|
virtual |
set the properties of the coach
Reimplemented from CoachingEngine::Coach.
|
virtual |
Override the value of a task.
The status will be re-evaluated and set, and if the task is currently active, a message will be send about the status
taskType | The Task::Type as string |
taskStartDate | the start date of the task |
data | The sensor data |
Reimplemented from CoachingEngine::Coach.