switched from qsettings to json added editng of actors
This commit is contained in:
parent
b04fbfb5bc
commit
df27b622a0
141 changed files with 4402 additions and 5068 deletions
80
src/items/relay.cpp
Normal file
80
src/items/relay.cpp
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
#include "relay.h"
|
||||
#include "../microcontroller.h"
|
||||
|
||||
//Relay
|
||||
|
||||
Relay::Relay(SensorStore* sensors, Microcontroller* micro, uint8_t id, QString name, uint16_t address, bool state, QObject* parent): Item(sensors, 0, name, state, parent), micro_(micro), id_(id), address_(address)
|
||||
{
|
||||
itemId_ = address | ((uint32_t)id << 16);
|
||||
}
|
||||
|
||||
void Relay::setValue(uint8_t value)
|
||||
{
|
||||
Item::setValue(value);
|
||||
if(value)micro_->relayOn(id_);
|
||||
else micro_->relayOff(id_);
|
||||
}
|
||||
|
||||
void Relay::on()
|
||||
{
|
||||
setValue(true);
|
||||
}
|
||||
|
||||
void Relay::off()
|
||||
{
|
||||
setValue(false);
|
||||
}
|
||||
|
||||
void Relay::toggle()
|
||||
{
|
||||
value_ ? off() : on();
|
||||
}
|
||||
|
||||
void Relay::store(QJsonObject& json)
|
||||
{
|
||||
json["Type"] = "Relay";
|
||||
Item::store(json);
|
||||
json["Id"] = static_cast<double>(id_);
|
||||
json["Address"] = address_;
|
||||
}
|
||||
|
||||
void Relay::load(const QJsonObject& json)
|
||||
{
|
||||
Item::load(json);
|
||||
id_ = static_cast<uint8_t>(json["Id"].toInt(0));
|
||||
address_ = static_cast<uint16_t>(json["Address"].toInt(0));
|
||||
itemId_ = address_ | (static_cast<uint32_t>(id_) << 16);
|
||||
}
|
||||
|
||||
void Relay::store(QString subsecton, QSettings* settings)
|
||||
{
|
||||
settings->setValue(subsecton + "Type", "Relay");
|
||||
Item::store(subsecton, settings);
|
||||
settings->setValue(subsecton + "Id", static_cast<unsigned>(id_));
|
||||
settings->setValue(subsecton + "Address", address_);
|
||||
}
|
||||
|
||||
void Relay::load(QString subsecton, QSettings* settings)
|
||||
{
|
||||
Item::load(subsecton, settings);
|
||||
id_ = settings->value(subsecton + "Id").toUInt();
|
||||
address_ = settings->value(subsecton + "Address").toUInt();
|
||||
itemId_ = address_ | ((uint32_t)id_ << 16);
|
||||
}
|
||||
|
||||
uint16_t Relay::getAddress() const
|
||||
{
|
||||
return address_;
|
||||
}
|
||||
|
||||
uint8_t Relay::getId() const
|
||||
{
|
||||
return id_;
|
||||
}
|
||||
|
||||
void Relay::setId(uint8_t id)
|
||||
{
|
||||
id_=id;
|
||||
itemId_ = address_ | ((uint32_t)id << 16);
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue