#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