65 lines
901 B
C++
65 lines
901 B
C++
#ifndef _LED_H
|
|
#define _LED_H
|
|
|
|
#include "stdafx.h"
|
|
|
|
class Led : public IO_Module
|
|
{
|
|
public:
|
|
Led()
|
|
{
|
|
this->enabled = false;
|
|
this->parent = NULL;
|
|
this->moduleId = 0;
|
|
this->hardwarePort = NULL;
|
|
this->pinPower = 0;
|
|
}
|
|
|
|
Led(uint32 ledId)
|
|
{
|
|
this->enabled = false;
|
|
this->parent = NULL;
|
|
this->moduleId = ledId;
|
|
|
|
switch(ledId)
|
|
{
|
|
case IO_LED_MAIN:
|
|
this->hardwarePort = &PORTB;
|
|
this->pinPower = (1 << 1);
|
|
break;
|
|
default:
|
|
this->hardwarePort = NULL;
|
|
this->pinPower = 0;
|
|
break;
|
|
}
|
|
}
|
|
|
|
protected:
|
|
bool enabled;
|
|
|
|
//Hardware
|
|
volatile uint8* hardwarePort;
|
|
uint8 pinPower;
|
|
|
|
public:
|
|
bool GetEnabled()
|
|
{
|
|
return enabled;
|
|
}
|
|
|
|
void SetEnabled(bool newStatus)
|
|
{
|
|
enabled = newStatus;
|
|
|
|
if(enabled)
|
|
{
|
|
*hardwarePort &= ~pinPower;
|
|
}
|
|
else
|
|
{
|
|
*hardwarePort |= pinPower;
|
|
}
|
|
}
|
|
};
|
|
|
|
#endif
|