45 lines
1.4 KiB
C++
45 lines
1.4 KiB
C++
#include "IspindelInterface.h"
|
|
#include "ProtocolDefs.h"
|
|
#include "IspindelData.h"
|
|
|
|
CIspindelInterface::CIspindelInterface(int Address, CAbstractNetworkCommIF *NetworkInterface, CIspindelDevice *DevicePtr):
|
|
CNetworkDevice(ID_ISPINDEL_INTERFACE,Address,NetworkInterface)
|
|
{
|
|
mISpindelDevice = DevicePtr;
|
|
connect(mISpindelDevice,SIGNAL(NewIspindelDataReceived()),this,SLOT(SendLastIspindelData()));
|
|
}
|
|
|
|
int CIspindelInterface::NewDeviceFrameReceived(int DeviceID, int DeviceAddress, int MessageID, int DataSize, QByteArray Data)
|
|
{
|
|
Q_UNUSED(DeviceID)
|
|
Q_UNUSED(DeviceAddress)
|
|
Q_UNUSED(DataSize)
|
|
Q_UNUSED(Data)
|
|
|
|
switch(MessageID)
|
|
{
|
|
case ISPINDLE_LATEST_DATA_REQUEST:
|
|
{
|
|
QByteArray Buf;
|
|
|
|
break;
|
|
}
|
|
case ISPINDEL_GET_FULL_DATA_BUFFER_REQUEST:
|
|
{
|
|
QByteArray Buf = mISpindelDevice->GetAllDataBuffer();
|
|
mNetworkInterfacePtr->SendNetworkMessage(ID_ISPINDEL_INTERFACE,mDeviceAddress,ISPINDEL_GET_FULL_DATA_BUFFER_RESPONSE,Buf.size(),&Buf);
|
|
break;
|
|
}
|
|
}
|
|
|
|
return RET_OK;
|
|
}
|
|
|
|
void CIspindelInterface::SendLastIspindelData()
|
|
{
|
|
QByteArray Buf = mISpindelDevice->GetLastestIspindelDataBuffer();
|
|
mNetworkInterfacePtr->SendNetworkMessage(ID_ISPINDEL_INTERFACE,mDeviceAddress,ISPINDLE_LATEST_DATA_RESPONSE,Buf.size(),&Buf);
|
|
qDebug("Sent latest Ispindel data to interface");
|
|
|
|
}
|