diff --git a/src/actors/alarmtime.cpp b/src/actors/alarmtime.cpp index 5574409..e4c7812 100644 --- a/src/actors/alarmtime.cpp +++ b/src/actors/alarmtime.cpp @@ -99,7 +99,6 @@ void AlarmTime::doTick() { if(time_.time().hour() == QTime::currentTime().hour() && time_.time().minute() == QTime::currentTime().minute()) { - qDebug()<<"Trigger\n"; triggerd_=true; performAction(); if(repeat_ == REPEAT_NEVER) exausted = true; diff --git a/src/items/itemstore.cpp b/src/items/itemstore.cpp index dfcaf0a..a3a76c7 100644 --- a/src/items/itemstore.cpp +++ b/src/items/itemstore.cpp @@ -71,10 +71,12 @@ void ItemStore::clear() void ItemStore::itemStateChanged(const ItemData& item) { + for(unsigned i = 0; i < items_.size(); i++ ) { if(items_[i]->operator==(item)) { + if(items_[i]->getValue() != item.getValue())items_[i]->informValue(item.getValue()); } diff --git a/src/items/poweritem.cpp b/src/items/poweritem.cpp index 3bcc628..eef66ac 100644 --- a/src/items/poweritem.cpp +++ b/src/items/poweritem.cpp @@ -1,6 +1,7 @@ #include "poweritem.h" #include #include +#include PowerItem::PowerItem(uint32_t itemIdIn, QString name, uint8_t value, QObject* parent): Item(itemIdIn, name, value, parent) { @@ -10,6 +11,7 @@ PowerItem::PowerItem(uint32_t itemIdIn, QString name, uint8_t value, QObject* p void PowerItem::setValue(uint8_t value) { + qDebug()<<"shutdown"; Item::setValue(value); if(!value) { @@ -20,6 +22,7 @@ void PowerItem::setValue(uint8_t value) void PowerItem::timeout() { + qDebug()<<"shutdown timeout"; QProcess::startDetached("syncoff"); } diff --git a/src/items/relay.cpp b/src/items/relay.cpp index 1c5b9b7..d9bf2e0 100644 --- a/src/items/relay.cpp +++ b/src/items/relay.cpp @@ -8,6 +8,7 @@ Microcontroller* Relay::micro_ = nullptr; Relay::Relay(uint8_t id, QString name, uint16_t address, bool state, QObject* parent): Item(0, name, state, parent), id_(id), address_(address) { itemId_ = address | ((uint32_t)id << 16); + qDebug()<<"Relay "< Microcontroller::processRelayLine(const QString& buffer) { QStringList bufferList = buffer.split(' '); - if(bufferList.size() >= 8 && buffer.startsWith("ITEM NUMBER:")) + if(bufferList.size() >= 9 && buffer.startsWith("ITEM NUMBER:")) { QString name; - for(int i = 8; i < bufferList.size(); i++) name.append(bufferList[i] + ' '); + for(int i = 10; i < bufferList.size(); i++) name.append(bufferList[i] + ' '); if(name.size() > 1)name.remove(name.size()-1, 1); else name = "Relay " + QString::number(bufferList[1].toInt(nullptr, 2)); - qDebug()<<"Relay "<( new Relay(bufferList[2].toInt(), name, bufferList[4].toInt(nullptr, 2), bufferList[6].toInt())); + return std::shared_ptr( new Relay(bufferList[2].toInt(), name, bufferList[4].toInt(nullptr, 2), bufferList[8].toInt())); } return nullptr; } @@ -170,7 +169,7 @@ void Microcontroller::processMicroReturn() if(listMode) processList(_buffer); else { - if(_buffer.startsWith("Relays:")) + if(_buffer.startsWith("Items:")) { listMode = true; relayList.clear(); diff --git a/src/sensors/sensor.h b/src/sensors/sensor.h index a0c939c..e516e7e 100644 --- a/src/sensors/sensor.h +++ b/src/sensors/sensor.h @@ -15,6 +15,7 @@ public: static constexpr uint8_t TYPE_PRESSURE = 3; static constexpr uint8_t TYPE_BRIGHTNESS = 4; static constexpr uint8_t TYPE_BUTTON = 5; + static constexpr uint8_t TYPE_ADC = 6; static constexpr uint8_t TYPE_LOWBATTERY = 128; static constexpr uint8_t TYPE_SHUTDOWN_IMMINENT = 251; static constexpr uint8_t TYPE_OCUPANCY = 252; diff --git a/src/ui/actorsettingsdialog.cpp b/src/ui/actorsettingsdialog.cpp index cf7829d..e59d1cd 100644 --- a/src/ui/actorsettingsdialog.cpp +++ b/src/ui/actorsettingsdialog.cpp @@ -89,6 +89,8 @@ void ActorSettingsDialog::init() if(actor_->getTriggerValue() == 0) ui->comboBox_action->setCurrentIndex(0); else if(actor_->getTriggerValue() == 1) ui->comboBox_action->setCurrentIndex(1); else ui->comboBox_action->setCurrentIndex(2); + + ui->label_Exausted->setText(actor_->isExausted() ? "True" : "False"); } ActorSettingsDialog::~ActorSettingsDialog() @@ -107,7 +109,7 @@ void ActorSettingsDialog::valueChanged(int value) actor_->setTriggerValue(value); } -void ActorSettingsDialog::hideCancle(const bool hide) +void ActorSettingsDialog::hideCancle([[maybe_unused]] const bool hide) { } diff --git a/src/ui/actorsettingsdialog.ui b/src/ui/actorsettingsdialog.ui index abead42..6b0a057 100644 --- a/src/ui/actorsettingsdialog.ui +++ b/src/ui/actorsettingsdialog.ui @@ -63,6 +63,30 @@ + + + + + + Exausted: + + + + + + + + 0 + 0 + + + + False + + + + + diff --git a/src/ui/actorwidgets/alarmwidget.cpp b/src/ui/actorwidgets/alarmwidget.cpp index 3176c7d..65cbb31 100644 --- a/src/ui/actorwidgets/alarmwidget.cpp +++ b/src/ui/actorwidgets/alarmwidget.cpp @@ -24,6 +24,7 @@ AlarmWidget::AlarmWidget(std::shared_ptr alarm, QWidget *parent) : } else { + ui->checkBox->setChecked(true); ui->radioButton->setEnabled(true); ui->radioButton_2->setEnabled(true); ui->radioButton_3->setEnabled(true); diff --git a/src/ui/mainwindow.cpp b/src/ui/mainwindow.cpp index c59e15c..5967c0b 100644 --- a/src/ui/mainwindow.cpp +++ b/src/ui/mainwindow.cpp @@ -14,8 +14,10 @@ MainWindow::MainWindow(MainObject * const mainObject, QWidget *parent) : { ui->setupUi(this); - if(!mainObject->master) connect(ui->pushButton_broadcast, &QPushButton::clicked, this, &MainWindow::sigBrodcast); - else ui->pushButton_broadcast->hide(); + if(!mainObject->master) + connect(ui->pushButton_broadcast, &QPushButton::clicked, this, &MainWindow::sigBrodcast); + else + connect(ui->pushButton_broadcast, &QPushButton::clicked, this, &MainWindow::sigSave); connect(ui->pushButton_power, SIGNAL(clicked()), this, SLOT(showPowerItemDialog())); diff --git a/src/ui/mainwindow.h b/src/ui/mainwindow.h index 3a5c09c..e52f025 100644 --- a/src/ui/mainwindow.h +++ b/src/ui/mainwindow.h @@ -41,6 +41,7 @@ private: signals: void sigBrodcast(); + void sigSave(); void createdItem(std::shared_ptr item); private slots: