for DigitalOut toggling, Class "ticker" used.

Files at this revision

API Documentation at this revision

Comitter:
KentaShimizu
Date:
Wed May 15 14:59:36 2013 +0000
Commit message:
for DigitalOut Toggling, Class "ticker" used.

Changed in this revision

ToggleDigitalOut.cpp Show annotated file Show diff for this revision Revisions of this file
ToggleDigitalOut.h Show annotated file Show diff for this revision Revisions of this file
diff -r 000000000000 -r d4dad8ffa192 ToggleDigitalOut.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ToggleDigitalOut.cpp	Wed May 15 14:59:36 2013 +0000
@@ -0,0 +1,24 @@
+#include "mbed.h"
+#include "ToggleDigitalOut.h"
+
+ToggleDigitalOut :: ToggleDigitalOut(PinName pin) : DigitalOut(pin){
+    ticker = 0;
+}
+ToggleDigitalOut :: ~ToggleDigitalOut(){
+    stopToggling();
+}
+void ToggleDigitalOut :: toggle(void){
+    write(!read());
+}
+void ToggleDigitalOut :: toggling(float span){
+    stopToggling();
+    ticker = new Ticker();
+    ticker->attach(this,&ToggleDigitalOut::toggle,span);
+}
+void ToggleDigitalOut :: stopToggling(void){
+    if(ticker){
+        ticker->detach();
+        delete ticker;
+    }
+    ticker = 0;
+}
diff -r 000000000000 -r d4dad8ffa192 ToggleDigitalOut.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ToggleDigitalOut.h	Wed May 15 14:59:36 2013 +0000
@@ -0,0 +1,23 @@
+/* mbed ToggleDigitalOut Library
+ * Copyright (c) 2013 KentaShimizu
+ * Version 0.1 (May 15, 2013)
+ * Released under the MIT License: http://mbed.org/license/mit
+ */
+
+#ifndef _IG_TOGGLEDIGITALOUT_20130515
+#define _IG_TOGGLEDIGITALOUT_20130515
+
+#include "mbed.h"
+
+class ToggleDigitalOut : public DigitalOut{
+private:
+protected:
+    Ticker* ticker;
+public:
+    ToggleDigitalOut(PinName pin);
+    virtual ~ToggleDigitalOut();
+    virtual void toggle(void);
+    virtual void toggling(float span);
+    virtual void stopToggling(void);
+};
+#endif