Une version perso de PwmOut
Une version à peine modifié de la librairie PwmOut
JMAPwmOut.hpp
- Committer:
- jmambroi
- Date:
- 2017-05-26
- Revision:
- 0:b2ab9e77dd7e
File content as of revision 0:b2ab9e77dd7e:
#ifndef _JMAPWMOUT_HPP_ #define _JMAPWMOUT_HPP_ #define POSITIVE true #define NEGATIVE false #include "mbed.h" class JMAPwmOut { public : JMAPwmOut(PinName); // void attach_us(int); void start(); void write(float); float read(); void pulsewidth(float); void pulsewidth_ms(int); void pulsewidth_us(int); void period(float); void period_ms(int); void period_us(int); void stop(); operator float() { if ( _width <= 0 ) return 0.0; if ( _width > 1 ) return 1.0; return _width / _interval; } JMAPwmOut& operator=(float duty) { _width = _interval * duty; if ( duty <= 0 ) _width = 0.0; if ( duty > 1 ) _width = _interval; return *this; } private : Timeout _timeout; Ticker _ticker; void TickerInterrupt(); void end(); DigitalOut _outPin; float _width; float _interval; }; #endif