#ifndef SoftPwmOutputPin_h
#define SoftPwmOutputPin_h
#include <Energia.h>
#include <OutputPin.h>
#include <driverlib/sysctl.h>
class SoftPwmOutputPin : public OutputPin {
static SoftPwmOutputPin* firstSoftPWM;
static volatile uint32_t syncCounter;
uint32_t analogOutput;
bool high;
void // interrupt handler
pwmInt();
public:
SoftPwmOutputPin(
char* data,
String* msgPtr );
virtual ~SoftPwmOutputPin();
uint32_t compareValue;
static void
addSoftPWM( SoftPwmOutputPin* pwmOutputPin );
static void
removeSoftPWM( SoftPwmOutputPin* pwmOutputPin );
static void
pwmInterrupt();
SoftPwmOutputPin* nextSoftPWM;
void
addSoftPWM();
};
#endif