54 lines
965 B
C++
54 lines
965 B
C++
/*
|
|
* Relais.hpp
|
|
*
|
|
* Created: 30.10.2020 19:46:30
|
|
* Author: netz
|
|
*/
|
|
|
|
#ifndef RELAIS_HPP_
|
|
#define RELAIS_HPP_
|
|
|
|
#include <util/delay.h>
|
|
#include "ports/pin.hpp"
|
|
|
|
template <typename relais_port, int relais_pin_set, int relais_pin_reset>
|
|
class RelaisT {
|
|
// Methods
|
|
public:
|
|
RelaisT() {
|
|
r_set::MakeLow();
|
|
r_reset::MakeLow();
|
|
}
|
|
|
|
|
|
/**
|
|
* \brief
|
|
* Trigger the Set Pin
|
|
*
|
|
* \return void
|
|
*/
|
|
void Set() {
|
|
r_set::SetHigh();
|
|
_delay_ms(10);
|
|
r_set::SetLow();
|
|
}
|
|
|
|
/**
|
|
* \brief
|
|
* Trigger the Reset Pin
|
|
*
|
|
* \return void
|
|
*/
|
|
void Reset() {
|
|
r_reset::SetHigh();
|
|
_delay_ms(10);
|
|
r_reset::SetLow();
|
|
}
|
|
|
|
// Variables
|
|
private:
|
|
const typedef blubblib::pin<relais_port, relais_pin_set> r_set;
|
|
const typedef blubblib::pin<relais_port, relais_pin_reset> r_reset;
|
|
};
|
|
|
|
#endif /* RELAIS_HPP_ */ |