Fix power state notification

This commit is contained in:
Simon Stürz 2022-04-13 15:51:02 +02:00
parent 56653d037e
commit aa6c145eca

View File

@ -96,9 +96,20 @@ UsbRly82Reply *UsbRly82::setRelay1Power(bool power)
UsbRly82Reply *reply; UsbRly82Reply *reply;
if (power) { if (power) {
reply = createReply(QByteArray::fromHex("65"), false); reply = createReply(QByteArray::fromHex("65"), false);
connect(reply, &UsbRly82Reply::finished, this, [=](){
if (reply->error() == UsbRly82Reply::ErrorNoError) {
emit powerRelay1Changed(true);
}
});
} else { } else {
reply = createReply(QByteArray::fromHex("6F"), false); reply = createReply(QByteArray::fromHex("6F"), false);
connect(reply, &UsbRly82Reply::finished, this, [=](){
if (reply->error() == UsbRly82Reply::ErrorNoError) {
emit powerRelay1Changed(false);
}
});
} }
sendNextRequest(); sendNextRequest();
return reply; return reply;
} }
@ -114,10 +125,20 @@ UsbRly82Reply *UsbRly82::setRelay2Power(bool power)
UsbRly82Reply *reply; UsbRly82Reply *reply;
if (power) { if (power) {
reply = createReply(QByteArray::fromHex("66"), false); reply = createReply(QByteArray::fromHex("66"), false);
connect(reply, &UsbRly82Reply::finished, this, [=](){
if (reply->error() == UsbRly82Reply::ErrorNoError) {
emit powerRelay2Changed(true);
}
});
} else { } else {
reply = createReply(QByteArray::fromHex("70"), false); reply = createReply(QByteArray::fromHex("70"), false);
connect(reply, &UsbRly82Reply::finished, this, [=](){
if (reply->error() == UsbRly82Reply::ErrorNoError) {
emit powerRelay2Changed(false);
}
});
} }
reply->m_expectsResponse = false;
sendNextRequest(); sendNextRequest();
return reply; return reply;
} }
@ -435,13 +456,13 @@ void UsbRly82::updateAnalogInputs()
return; return;
} }
qCDebug(dcUsbRly82()) << "Analog inputs" << m_updateAnalogInputsReply->responseData().toHex(); //qCDebug(dcUsbRly82()) << "Analog inputs" << m_updateAnalogInputsReply->responseData().toHex();
QDataStream stream(m_updateAnalogInputsReply->responseData()); QDataStream stream(m_updateAnalogInputsReply->responseData());
quint16 value = 0; quint16 value = 0;
for (int i = 0; i < 8; i++) { for (int i = 0; i < 8; i++) {
stream >> value; stream >> value;
m_analogValues.insert(i, value); m_analogValues.insert(i, value);
qCDebug(dcUsbRly82()) << "Channel" << i << ":" << value; //qCDebug(dcUsbRly82()) << "Channel" << i << ":" << value;
} }
m_updateAnalogInputsReply = nullptr; m_updateAnalogInputsReply = nullptr;