82 lines
1.8 KiB
C++
82 lines
1.8 KiB
C++
#include "AvReceiver.h"
|
|
#include "AvReceiverNetworkCtrlInterface.h"
|
|
|
|
CAvReceiver::CAvReceiver(CAvReceiverGui *ReceiverGui)
|
|
{
|
|
mReceiverGui = ReceiverGui;
|
|
ReceiverGui->mProgramHandle = this;
|
|
mNetworkInterface = new CAvReceiverNetworkCtrlInterface(this);
|
|
|
|
mReceiverPollTimer = new QTimer();
|
|
mReceiverPollTimer->setSingleShot(false);
|
|
mReceiverPollTimer->setInterval(1000);
|
|
connect(mReceiverPollTimer,SIGNAL(timeout()),this,SLOT(PollTimerExpired()));
|
|
}
|
|
|
|
CAvReceiver::~CAvReceiver()
|
|
{
|
|
delete mNetworkInterface;
|
|
delete mReceiverPollTimer;
|
|
}
|
|
|
|
int CAvReceiver::Start()
|
|
{
|
|
mNetworkInterface->ConnectToMasterCtrl();
|
|
mReceiverPollTimer->start();
|
|
return RET_OK;
|
|
}
|
|
|
|
|
|
int CAvReceiver::Zone2ToggleSwitchPressed(bool state)
|
|
{
|
|
|
|
QByteArray ZoneState;
|
|
ZoneState.clear();
|
|
|
|
if(state)
|
|
{
|
|
ZoneState.append((char)0x01);
|
|
}
|
|
else
|
|
{
|
|
ZoneState.append((char)0x00);
|
|
}
|
|
return mNetworkInterface->SendMasterCtrlCommand(AV_RECEIVER_INTERFACE_SET_ZONE2_REQUEST,ZoneState);
|
|
|
|
}
|
|
|
|
|
|
int CAvReceiver::MainUnitToggleSwitchPressed(bool state)
|
|
{
|
|
|
|
QByteArray ZoneState;
|
|
ZoneState.clear();
|
|
|
|
if(state)
|
|
{
|
|
ZoneState.append((char)0x01);
|
|
}
|
|
else
|
|
{
|
|
ZoneState.append((char)0x00);
|
|
}
|
|
return mNetworkInterface->SendMasterCtrlCommand(AV_RECEIVER_INTERFACE_SET_MAIN_ZONE_REQUEST,ZoneState);
|
|
|
|
}
|
|
|
|
void CAvReceiver::PollTimerExpired()
|
|
{
|
|
mNetworkInterface->SendMasterCtrlCommand(AV_RECEIVER_INTERFACE_GENERAL_STATUS_REQUEST,QByteArray());
|
|
}
|
|
|
|
int CAvReceiver::ReceiverGeneralStatusReceived(QByteArray StatusData)
|
|
{
|
|
QDataStream Strm(&StatusData,QIODevice::ReadOnly | QIODevice::Unbuffered);
|
|
Strm.device()->seek(0);
|
|
|
|
Strm >> mReceiverStatus;
|
|
Strm >> mZone2Status;
|
|
mReceiverGui->UpdateReceiverStatus(mReceiverStatus, mZone2Status);
|
|
return RET_OK;
|
|
}
|