lib_PwmOutAllPin.h

Committer:
YSI
Date:
2015-07-10
Revision:
2:4673fac2ae7f
Parent:
1:8067d51d66bd
Child:
3:1d1669e8c9b1

File content as of revision 2:4673fac2ae7f:

#ifndef DEF_lib_PwmOutAllPin_H
#define DEF_lib_PwmOutAllPin_H

#include "mbed.h"

class PwmOutAllPin : public Timeout
{
	public:
    PwmOutAllPin(PinName pin);
	
	void write(float value);
	float read(void);
	void period(float seconds);
	void period_ms(int ms);
	void period_us(int us);
	void pulsewidth(float seconds);
	void pulsewidth_ms(int ms);
	void pulsewidth_us(int us);
	PwmOutAllPin& operator= (float value);
	PwmOutAllPin& operator= (PwmOutAllPin& rhs);
	operator float();

	protected:
	DigitalOut PwmOutPin;
	Timeout SwitchPin;
	Ticker TickerPeriod;
	
	float Pwm_Duty_Cycle;
	int Pwm_period_us;
	int TimeDown;

	void DigitalUp(void);
	void DigitalDown(void);
	void UsePwm(void);
};
	
#endif