fast-feedback virtual target task code on STM Nucleo

Dependencies:   mbed

Revision:
20:4c06d3041337
Parent:
15:20f7f737c256
--- a/pulse.h	Mon Jul 02 08:26:44 2018 +0000
+++ b/pulse.h	Mon Jul 02 09:04:45 2018 +0000
@@ -28,11 +28,14 @@
         Rest
     };
 
-    Pulse(PinName pin, const uint64_t& onset_us=0, const uint64_t& duration_us=1000);
+    Pulse(PinName pin, const uint64_t& onset_us=0, const uint64_t& duration_us=1000, const uint64_t& blink_us=0);
+    
     void setEnabled(const bool& value);
     bool isEnabled();
     void setOnset(const uint64_t& value_us);
     void setDuration(const uint64_t& value_us);
+    void setBlinkDuration(const uint64_t& vaue_us);
+    
     void attachTurnOnCallback(Callback<void ()> cb=0);
     void attachTurnOffCallback(Callback<void ()> cb=0);
     void detachTurnOnCallback();
@@ -69,12 +72,15 @@
     void wait();
 
 private:
+    void blink();
 
     DigitalOut  out_;
     Timeout     timer_;
+    Ticker      blinker_;
     bool        enabled_;
     uint64_t    onset_;
     uint64_t    dur_;
+    uint64_t    blinkdur_;
     Callback<void ()> turnon_;
     Callback<void ()> turnoff_;