ROME2 - TI / Mbed 2 deprecated ROME2 - Praktikum

Dependencies:   mbed

Committer:
solcager
Date:
Fri Mar 31 11:00:19 2017 +0000
Revision:
1:08ca9b208045
P3

Who changed what in which revision?

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