Files
UvosSmartHomeInterface/ampmanager.h

49 lines
843 B
C++

#ifndef AMPMANAGER_H
#define AMPMANAGER_H
#include <iostream>
#include <QObject>
#include <QRunnable>
#include <QScopedPointer>
#include <QEventLoop>
#include <QTimer>
#include <QByteArray>
#include <QtDebug>
#include <QAudioInput>
#include <QAudioDeviceInfo>
#include <QIODevice>
#include "microcontroller.h"
class AmpManager : public QObject, public QRunnable
{
Q_OBJECT
public:
explicit AmpManager(Microcontroller *micro, int relayNumber, QAudioDeviceInfo device, QObject *parent = 0);
~AmpManager();
public slots:
void run();
void abort();
void doTick();
private:
QScopedPointer<QEventLoop> loop;
long silenceCount = 0;
Microcontroller *_micro;
int _relayNumber;
QAudioInput* _audioDevice;
QIODevice* _ioDevice = nullptr;
bool relayState = false;
};
#endif // AMPMANAGER_H