47 lines
770 B
C++
47 lines
770 B
C++
|
/*
|
||
|
* 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 {
|
||
|
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_ */
|