init branch

This commit is contained in:
IMback
2018-10-09 18:40:55 +02:00
parent d40974a8e6
commit 2801671ced
13 changed files with 232 additions and 149 deletions

View File

@ -10,13 +10,10 @@ RelayDialog::RelayDialog(Microcontroller *micro, QWidget *parent) :
_relayCheckBoxes.push_back(ui->checkBox_R0);
_relayCheckBoxes.push_back(ui->checkBox_R1);
_relayCheckBoxes.push_back(ui->checkBox_R2);
_relayCheckBoxes.push_back(ui->checkBox_R3);
for(unsigned int i = 0; i < _relayCheckBoxes.size(); i++) connect(_relayCheckBoxes[i], SIGNAL(stateChanged(int)), this, SLOT(relayCheckBoxToggeled(int)));
_micro->relayOn(STARTING_RELAY);
_micro->relayOn(STARTING_RELAY+1);
}
@ -29,12 +26,24 @@ RelayDialog::~RelayDialog()
void RelayDialog::relayCheckBoxToggeled(int state)
{
for(unsigned int i = 0; i < _relayCheckBoxes.size(); i++)
if(_relayCheckBoxes[i] == sender())_micro->relayToggle(state, i+STARTING_RELAY);
{
if(_relayCheckBoxes[i] == sender())
{
std::cerr<<state<<" "<<i<<std::endl;
if(state == 2 && i == 0)
{
std::cerr<<"primeing lambda\n";
QTimer::singleShot(3600000, _micro, [this](){ _micro->relayOff(STARTING_RELAY); _relayCheckBoxes[0]->setChecked(false);});
}
_micro->relayToggle(state, i+STARTING_RELAY);
}
}
}
void RelayDialog::relayStateChanged(std::vector<bool> relayStates)
{
if(relayStates.size() >= STARTING_RELAY+4) for(unsigned int i = 0; i < _relayCheckBoxes.size(); i++)
if(relayStates.size() > STARTING_RELAY) for(unsigned int i = 0; i < relayStates.size()-STARTING_RELAY; i++)
{
_relayCheckBoxes[i]->blockSignals(true);
_relayCheckBoxes[i]->setChecked(relayStates[i+STARTING_RELAY]);