move from tabs to spaces
This commit is contained in:
parent
a6aad07f05
commit
fa45072998
86 changed files with 2611 additions and 2486 deletions
|
|
@ -7,104 +7,104 @@ static constexpr bool debug = true;
|
|||
|
||||
void Microcontroller::relayToggle(int state, int relay)
|
||||
{
|
||||
char buffer[8];
|
||||
int length = sprintf(buffer, "%d \n", relay);
|
||||
state ? write("item on ") : write("item off ");
|
||||
write(buffer, length);
|
||||
char buffer[8];
|
||||
int length = sprintf(buffer, "%d \n", relay);
|
||||
state ? write("item on ") : write("item off ");
|
||||
write(buffer, length);
|
||||
}
|
||||
|
||||
void Microcontroller::relayOn(int relay)
|
||||
{
|
||||
relayToggle(true, relay);
|
||||
relayToggle(true, relay);
|
||||
}
|
||||
|
||||
void Microcontroller::relayOff(int relay)
|
||||
{
|
||||
relayToggle(false, relay);
|
||||
relayToggle(false, relay);
|
||||
}
|
||||
|
||||
//rgb lights
|
||||
|
||||
void Microcontroller::rgbOn()
|
||||
{
|
||||
write("rgb on\n");
|
||||
write("rgb on\n");
|
||||
}
|
||||
|
||||
void Microcontroller::rgbOff()
|
||||
{
|
||||
write( "rgb off\n");
|
||||
write( "rgb off\n");
|
||||
}
|
||||
|
||||
void Microcontroller::changeRgbColor(const QColor color)
|
||||
{
|
||||
char buffer[64];
|
||||
int length = sprintf(buffer, "rgb set %03d %03d %03d\n", color.red(), color.green(), color.blue());
|
||||
write(buffer, length);
|
||||
std::cout<<buffer;
|
||||
}
|
||||
char buffer[64];
|
||||
int length = sprintf(buffer, "rgb set %03d %03d %03d\n", color.red(), color.green(), color.blue());
|
||||
write(buffer, length);
|
||||
std::cout<<buffer;
|
||||
}
|
||||
|
||||
void Microcontroller::setAuxPwm(int duty)
|
||||
{
|
||||
char buffer[64];
|
||||
int length = sprintf(buffer, "aux set %03d\n", duty );
|
||||
write(buffer, length);
|
||||
void Microcontroller::setAuxPwm(int duty)
|
||||
{
|
||||
char buffer[64];
|
||||
int length = sprintf(buffer, "aux set %03d\n", duty );
|
||||
write(buffer, length);
|
||||
}
|
||||
|
||||
void Microcontroller::write(const QByteArray& buffer)
|
||||
{
|
||||
#ifndef Q_OS_ANDROID
|
||||
if constexpr(debug) std::cerr<<buffer.data();
|
||||
#endif
|
||||
if(_port != nullptr)
|
||||
{
|
||||
_port->write(buffer);
|
||||
_port->waitForBytesWritten(1000);
|
||||
}
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(40));
|
||||
#ifndef Q_OS_ANDROID
|
||||
if constexpr(debug) std::cerr<<buffer.data();
|
||||
#endif
|
||||
if(_port != nullptr)
|
||||
{
|
||||
_port->write(buffer);
|
||||
_port->waitForBytesWritten(1000);
|
||||
}
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(40));
|
||||
}
|
||||
|
||||
void Microcontroller::write(char* buffer, const size_t length)
|
||||
{
|
||||
#ifndef Q_OS_ANDROID
|
||||
if constexpr(debug) std::cerr<<buffer;
|
||||
#endif
|
||||
if(_port != nullptr)
|
||||
{
|
||||
_port->write(buffer, length);
|
||||
_port->waitForBytesWritten(1000);
|
||||
}
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(40));
|
||||
#ifndef Q_OS_ANDROID
|
||||
if constexpr(debug) std::cerr<<buffer;
|
||||
#endif
|
||||
if(_port != nullptr)
|
||||
{
|
||||
_port->write(buffer, length);
|
||||
_port->waitForBytesWritten(1000);
|
||||
}
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(40));
|
||||
}
|
||||
|
||||
void Microcontroller::setPattern(int pattern)
|
||||
{
|
||||
char buffer[4];
|
||||
write("rgb pattern ");
|
||||
int length = sprintf(buffer, "%d\n", pattern);
|
||||
write(buffer, length);
|
||||
char buffer[4];
|
||||
write("rgb pattern ");
|
||||
int length = sprintf(buffer, "%d\n", pattern);
|
||||
write(buffer, length);
|
||||
}
|
||||
|
||||
void Microcontroller::startSunrise()
|
||||
{
|
||||
setPattern(4);
|
||||
setPattern(4);
|
||||
}
|
||||
|
||||
bool Microcontroller::connected()
|
||||
{
|
||||
if(_port != nullptr) return _port->isOpen();
|
||||
else return false;
|
||||
if(_port != nullptr) return _port->isOpen();
|
||||
else return false;
|
||||
}
|
||||
|
||||
void Microcontroller::requestState()
|
||||
{
|
||||
write("state\n");
|
||||
write("state\n");
|
||||
}
|
||||
|
||||
//housekeeping
|
||||
|
||||
Microcontroller::Microcontroller(QIODevice* port)
|
||||
{
|
||||
setIODevice(port);
|
||||
setIODevice(port);
|
||||
}
|
||||
|
||||
Microcontroller::Microcontroller()
|
||||
|
|
@ -117,81 +117,82 @@ Microcontroller::~Microcontroller()
|
|||
|
||||
void Microcontroller::setIODevice(QIODevice *port)
|
||||
{
|
||||
_port = port;
|
||||
QObject::connect(_port, &QIODevice::readyRead, this, &Microcontroller::isReadyRead);
|
||||
_port = port;
|
||||
QObject::connect(_port, &QIODevice::readyRead, this, &Microcontroller::isReadyRead);
|
||||
}
|
||||
|
||||
std::shared_ptr<Relay> Microcontroller::processRelayLine(const QString& buffer)
|
||||
{
|
||||
QStringList bufferList = buffer.split(' ');
|
||||
if(bufferList.size() >= 9 && buffer.startsWith("ITEM NUMBER:"))
|
||||
{
|
||||
QString name;
|
||||
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));
|
||||
return std::shared_ptr<Relay>( new Relay(bufferList[2].toInt(), name, bufferList[4].toInt(nullptr, 2), bufferList[8].toInt()));
|
||||
}
|
||||
return nullptr;
|
||||
QStringList bufferList = buffer.split(' ');
|
||||
if(bufferList.size() >= 9 && buffer.startsWith("ITEM NUMBER:"))
|
||||
{
|
||||
QString name;
|
||||
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));
|
||||
return std::shared_ptr<Relay>( new Relay(bufferList[2].toInt(), name, bufferList[4].toInt(nullptr, 2),
|
||||
bufferList[8].toInt()));
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void Microcontroller::processList(const QString& buffer)
|
||||
{
|
||||
QStringList bufferList = buffer.split(' ');
|
||||
if(bufferList.size() >= 8 && buffer.startsWith("ITEM NUMBER:"))
|
||||
{
|
||||
relayList.push_back(processRelayLine(buffer));
|
||||
}
|
||||
else if(buffer.contains("EOL"))
|
||||
{
|
||||
listMode = false;
|
||||
qDebug()<<"got relay list " << relayList.size();
|
||||
gotRelayList(relayList);
|
||||
relayList.clear();
|
||||
}
|
||||
else listMode = false;
|
||||
QStringList bufferList = buffer.split(' ');
|
||||
if(bufferList.size() >= 8 && buffer.startsWith("ITEM NUMBER:"))
|
||||
{
|
||||
relayList.push_back(processRelayLine(buffer));
|
||||
}
|
||||
else if(buffer.contains("EOL"))
|
||||
{
|
||||
listMode = false;
|
||||
qDebug()<<"got relay list " << relayList.size();
|
||||
gotRelayList(relayList);
|
||||
relayList.clear();
|
||||
}
|
||||
else listMode = false;
|
||||
}
|
||||
|
||||
void Microcontroller::processRelayState(const QString& buffer)
|
||||
{
|
||||
itemChanged(static_cast<ItemData>(*processRelayLine(buffer)));
|
||||
itemChanged(static_cast<ItemData>(*processRelayLine(buffer)));
|
||||
}
|
||||
|
||||
void Microcontroller::processSensorState(const QString& buffer)
|
||||
{
|
||||
Sensor sensor = Sensor::sensorFromString(buffer);
|
||||
if(sensor.type != Sensor::TYPE_DUMMY) gotSensorState(sensor);
|
||||
Sensor sensor = Sensor::sensorFromString(buffer);
|
||||
if(sensor.type != Sensor::TYPE_DUMMY) gotSensorState(sensor);
|
||||
}
|
||||
|
||||
|
||||
void Microcontroller::processMicroReturn()
|
||||
{
|
||||
if(listMode) processList(_buffer);
|
||||
else
|
||||
{
|
||||
if(listMode) processList(_buffer);
|
||||
else
|
||||
{
|
||||
if(_buffer.startsWith("Items:"))
|
||||
{
|
||||
listMode = true;
|
||||
relayList.clear();
|
||||
}
|
||||
else if(_buffer.startsWith("ITEM NUMBER:"))processRelayState(_buffer);
|
||||
else if(_buffer.startsWith("SENSOR")) processSensorState(_buffer);
|
||||
}
|
||||
{
|
||||
listMode = true;
|
||||
relayList.clear();
|
||||
}
|
||||
else if(_buffer.startsWith("ITEM NUMBER:"))processRelayState(_buffer);
|
||||
else if(_buffer.startsWith("SENSOR")) processSensorState(_buffer);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void Microcontroller::isReadyRead()
|
||||
{
|
||||
char charBuf;
|
||||
while(_port->getChar(&charBuf))
|
||||
{
|
||||
_buffer.push_back(charBuf);
|
||||
if( _buffer.endsWith('\n') )
|
||||
{
|
||||
_buffer.remove('\n');
|
||||
processMicroReturn();
|
||||
textRecived(_buffer);
|
||||
_buffer.clear();
|
||||
}
|
||||
}
|
||||
char charBuf;
|
||||
while(_port->getChar(&charBuf))
|
||||
{
|
||||
_buffer.push_back(charBuf);
|
||||
if( _buffer.endsWith('\n') )
|
||||
{
|
||||
_buffer.remove('\n');
|
||||
processMicroReturn();
|
||||
textRecived(_buffer);
|
||||
_buffer.clear();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue