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();
|
2015-02-09 18:10:07 +01:00
|
|
|
} 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_ */
|