rome2_p6 imported

Dependencies:   mbed

Committer:
Appalco
Date:
Fri May 18 13:54:25 2018 +0000
Revision:
5:957580f33e52
Parent:
0:351a2fb21235
fixed tolerance and wayponts

Who changed what in which revision?

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