ROME_Praktikum / Mbed 2 deprecated Rome_P_3

Dependencies:   mbed

Committer:
Jacqueline
Date:
Tue Mar 31 11:58:30 2020 +0000
Revision:
0:20ec9d702676
Praktikum_3

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Jacqueline 0:20ec9d702676 1 /*
Jacqueline 0:20ec9d702676 2 * TaskWait.cpp
Jacqueline 0:20ec9d702676 3 * Copyright (c) 2020, ZHAW
Jacqueline 0:20ec9d702676 4 * All rights reserved.
Jacqueline 0:20ec9d702676 5 */
Jacqueline 0:20ec9d702676 6
Jacqueline 0:20ec9d702676 7 #include "TaskWait.h"
Jacqueline 0:20ec9d702676 8
Jacqueline 0:20ec9d702676 9 using namespace std;
Jacqueline 0:20ec9d702676 10
Jacqueline 0:20ec9d702676 11 /**
Jacqueline 0:20ec9d702676 12 * Creates a task object that waits for a given duration.
Jacqueline 0:20ec9d702676 13 */
Jacqueline 0:20ec9d702676 14 TaskWait::TaskWait(Controller& controller, float duration) : controller(controller) {
Jacqueline 0:20ec9d702676 15
Jacqueline 0:20ec9d702676 16 this->duration = duration;
Jacqueline 0:20ec9d702676 17
Jacqueline 0:20ec9d702676 18 time = 0.0f;
Jacqueline 0:20ec9d702676 19 }
Jacqueline 0:20ec9d702676 20
Jacqueline 0:20ec9d702676 21 /**
Jacqueline 0:20ec9d702676 22 * Deletes the task object.
Jacqueline 0:20ec9d702676 23 */
Jacqueline 0:20ec9d702676 24 TaskWait::~TaskWait() {}
Jacqueline 0:20ec9d702676 25
Jacqueline 0:20ec9d702676 26 /**
Jacqueline 0:20ec9d702676 27 * This method is called periodically by a task sequencer.
Jacqueline 0:20ec9d702676 28 * @param period the period of the task sequencer, given in [s].
Jacqueline 0:20ec9d702676 29 * @return the status of this task, i.e. RUNNING or DONE.
Jacqueline 0:20ec9d702676 30 */
Jacqueline 0:20ec9d702676 31 int TaskWait::run(float period) {
Jacqueline 0:20ec9d702676 32
Jacqueline 0:20ec9d702676 33 controller.setTranslationalVelocity(0.0f);
Jacqueline 0:20ec9d702676 34 controller.setRotationalVelocity(0.0f);
Jacqueline 0:20ec9d702676 35
Jacqueline 0:20ec9d702676 36 time += period;
Jacqueline 0:20ec9d702676 37
Jacqueline 0:20ec9d702676 38 if (time < duration) {
Jacqueline 0:20ec9d702676 39
Jacqueline 0:20ec9d702676 40 return RUNNING;
Jacqueline 0:20ec9d702676 41
Jacqueline 0:20ec9d702676 42 } else {
Jacqueline 0:20ec9d702676 43
Jacqueline 0:20ec9d702676 44 return DONE;
Jacqueline 0:20ec9d702676 45 }
Jacqueline 0:20ec9d702676 46 }
Jacqueline 0:20ec9d702676 47