TargetManager

Dependents:   TargetManagerManualTest NerfUSTarget

Files at this revision

API Documentation at this revision

Comitter:
GaiSensei
Date:
Tue Apr 11 03:47:38 2017 +0000
Parent:
9:1069bd8c9472
Commit message:
Calibrate servomotors

Changed in this revision

include/Bumper.hpp Show annotated file Show diff for this revision Revisions of this file
mbed_source/Bumper.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/include/Bumper.hpp	Sun Apr 09 23:46:00 2017 +0000
+++ b/include/Bumper.hpp	Tue Apr 11 03:47:38 2017 +0000
@@ -13,12 +13,13 @@
 class Bumper
 {
     public:
-        Bumper(PinName pin, NerfusCallbackInterface& nerfus_callback);
-        void bumped();
+        Bumper(PinName pin, NerfusCallbackInterface* nerfus_rise_callback);
+        void set_callbacks(NerfusCallbackInterface* nerfus_rise_callback);
+        void rise_callback();
         
     private:    
         InterruptIn interrupt_in;
-        NerfusCallbackInterface& nerfus_callback;
+        NerfusCallbackInterface* nerfus_rise_callback;
 };
 
 #endif
\ No newline at end of file
--- a/mbed_source/Bumper.cpp	Sun Apr 09 23:46:00 2017 +0000
+++ b/mbed_source/Bumper.cpp	Tue Apr 11 03:47:38 2017 +0000
@@ -1,14 +1,21 @@
 #include "Bumper.hpp"
 
-Bumper::Bumper(PinName pin, NerfusCallbackInterface& nerfus_callback) :
+Bumper::Bumper(PinName pin, NerfusCallbackInterface* nerfus_rise_callback) :
     interrupt_in(pin),
-    nerfus_callback(nerfus_callback)
+    nerfus_rise_callback(nerfus_rise_callback)
 {        
-    interrupt_in.rise(callback(this, &Bumper::bumped));
+    interrupt_in.rise(callback(this, &Bumper::rise_callback));
+}
+
+void Bumper::set_callbacks(NerfusCallbackInterface* nerfus_rise_callback)
+{
+    this->nerfus_rise_callback = nerfus_rise_callback;
 }
         
-void Bumper::bumped()
+void Bumper::rise_callback()
 {
-    nerfus_callback.call();
+    if(nerfus_rise_callback)
+    {
+        nerfus_rise_callback->call();
+    }
 }
-    
\ No newline at end of file