ROME_P5

Dependencies:   mbed

Revision:
0:29be10cb0afc
diff -r 000000000000 -r 29be10cb0afc TaskWait.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TaskWait.cpp	Fri Apr 27 08:47:34 2018 +0000
@@ -0,0 +1,47 @@
+/*
+ * TaskWait.cpp
+ * Copyright (c) 2018, ZHAW
+ * All rights reserved.
+ */
+
+#include "TaskWait.h"
+
+using namespace std;
+
+/**
+ * Creates a task object that waits for a given duration.
+ */
+TaskWait::TaskWait(Controller& controller, float duration) : controller(controller) {
+    
+    this->duration = duration;
+    
+    time = 0.0f;
+}
+
+/**
+ * Deletes the task object.
+ */
+TaskWait::~TaskWait() {}
+
+/**
+ * This method is called periodically by a task sequencer.
+ * @param period the period of the task sequencer, given in [s].
+ * @return the status of this task, i.e. RUNNING or DONE.
+ */
+int TaskWait::run(float period) {
+    
+    controller.setTranslationalVelocity(0.0f);
+    controller.setRotationalVelocity(0.0f);
+    
+    time += period;
+    
+    if (time < duration) {
+        
+        return RUNNING;
+        
+    } else {
+        
+        return DONE;
+    }
+}
+