for DigitalOut toggling, Class "ticker" used.
Revision 0:d4dad8ffa192, committed 2013-05-15
- 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