Tuer-Schild/Door/io/Led.hpp

49 lines
817 B
C++
Raw Normal View History

2014-11-19 23:57:35 +01:00
/*
* Led.h
*
* Created: 03.11.2013 17:11:58
* Author: BlubbFish
*/
#ifndef LED_H_
#define LED_H_
#include "hardware/pin.hpp"
template <typename Port, int pin_red, int pin_green>
class Led {
public:
Led() {
init();
}
void red(uint8_t r) {
if(r==1) {
ledred::set();
} else {
ledred::clear();
}
}
void green(uint8_t g) {
if(g==1) {
ledgreen::set();
} else if(g==2) {
ledgreen::toggle();
2014-11-19 23:57:35 +01:00
} else {
ledgreen::clear();
}
}
void off() {
ledred::clear();
ledgreen::clear();
}
private:
void init() {
ledred::make_output();
ledgreen::make_output();
off();
}
const typedef avrlib::pin<Port, pin_red> ledred;
const typedef avrlib::pin<Port, pin_green> ledgreen;
};
#endif /* LED_H_ */