init branch 2
This commit is contained in:
58
relay.cpp
Normal file
58
relay.cpp
Normal file
@ -0,0 +1,58 @@
|
||||
#include "relay.h"
|
||||
#include "microcontroller.h"
|
||||
|
||||
Relay::Relay(Microcontroller* micro, uint8_t id, QString name, uint16_t address, QObject* parent): QObject(parent), micro_(micro), name_(name), id_(id), address_(address)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
QString Relay::getName()
|
||||
{
|
||||
return name_;
|
||||
}
|
||||
|
||||
void Relay::setName(QString name)
|
||||
{
|
||||
name_ = name;
|
||||
}
|
||||
|
||||
void Relay::addActor(std::unique_ptr<Actor> actor)
|
||||
{
|
||||
actors_.push_back(actor);
|
||||
connect(actor.get(), &Actor::on, this, &Relay::on);
|
||||
connect(actor.get(), &Actor::off, this, &Relay::off);
|
||||
connect(actor.get(), &Actor::toggle, this, &Relay::toggle);
|
||||
}
|
||||
|
||||
std::vector< std::unique_ptr<Actor> >* Relay::getActors()
|
||||
{
|
||||
return &actors_;
|
||||
}
|
||||
|
||||
bool Relay::hasActors()
|
||||
{
|
||||
return actors_.size() > 0;
|
||||
}
|
||||
|
||||
void Relay::on()
|
||||
{
|
||||
micro_->relayOn(id_);
|
||||
state_ = true;
|
||||
}
|
||||
|
||||
void Relay::off()
|
||||
{
|
||||
micro_->relayOn(id_);
|
||||
state_ = false;
|
||||
}
|
||||
|
||||
void Relay::setState(bool state)
|
||||
{
|
||||
state_ = state;
|
||||
}
|
||||
|
||||
void Relay::setActorsActive(bool in)
|
||||
{
|
||||
actorsActive_ = true;
|
||||
for(unsigned i = 0; i < actors_.size(); i++) in ? actors_[i]->makeActive() : actors_[i]->makeInactive();
|
||||
}
|
Reference in New Issue
Block a user