Broken alsalib record
This commit is contained in:
@ -116,22 +116,35 @@ void Microcontroller::processMicroReturn()
|
||||
{
|
||||
QString workbuff = _buffer;
|
||||
|
||||
workbuff.remove(0, 2);
|
||||
QStringList workbufList = workbuff.split(',');
|
||||
int numberOfRelays = workbufList[0].toInt();
|
||||
if(workbufList.size() >= numberOfRelays+1)
|
||||
if(_buffer.size() > 2 && _buffer[0] == "S" && _buffer[1] == "T")
|
||||
{
|
||||
bool hasChanged = false;
|
||||
_relayStates.resize(numberOfRelays, false);
|
||||
for(int i = 0; i < numberOfRelays; i++)
|
||||
|
||||
workbuff.remove(0, 2);
|
||||
QStringList workbufList = workbuff.split(',');
|
||||
int numberOfRelays = workbufList[0].toInt();
|
||||
if(workbufList.size() >= numberOfRelays+1)
|
||||
{
|
||||
if(_relayStates[i] != (bool)workbufList[i+1].toInt())
|
||||
bool hasChanged = false;
|
||||
_relayStates.resize(numberOfRelays, false);
|
||||
for(int i = 0; i < numberOfRelays; i++)
|
||||
{
|
||||
_relayStates[i] = (bool)workbufList[i+1].toInt();
|
||||
hasChanged = true;
|
||||
if(_relayStates[i] != (bool)workbufList[i+1].toInt())
|
||||
{
|
||||
_relayStates[i] = (bool)workbufList[i+1].toInt();
|
||||
hasChanged = true;
|
||||
}
|
||||
}
|
||||
if(hasChanged)relayStateChanged(_relayStates);
|
||||
}
|
||||
if(hasChanged)relayStateChanged(_relayStates);
|
||||
}
|
||||
else if(workbuff.contains("Door Open Warning"))
|
||||
{
|
||||
doorOpenTimeout();
|
||||
}
|
||||
else if(workbuff.size() > 2 && workbuff[0]=='D' && workbuff[1]=='2')
|
||||
{
|
||||
if(workbuff[3] == 'O') doorOpen(1);
|
||||
else if(workbuff[3] == 'C') doorClosed(1);
|
||||
}
|
||||
}
|
||||
|
||||
@ -145,10 +158,7 @@ void Microcontroller::doTick()
|
||||
_buffer.push_back(charBuf);
|
||||
if( _buffer.endsWith('\n') )
|
||||
{
|
||||
if(_buffer.size() > 2 && _buffer[0] == "S" && _buffer[1] == "T")
|
||||
{
|
||||
processMicroReturn();
|
||||
}
|
||||
processMicroReturn();
|
||||
textRecived(_buffer);
|
||||
_buffer.clear();
|
||||
}
|
||||
|
Reference in New Issue
Block a user