133 lines
2.9 KiB
C++
133 lines
2.9 KiB
C++
/*******************************************************************************
|
|
* *
|
|
* Société de Transports de Montréal. *
|
|
* 2012 - 2013 *
|
|
* *
|
|
* Projet Zones Tests *
|
|
* *
|
|
* *
|
|
* *
|
|
*******************************************************************************/
|
|
/*
|
|
Description:
|
|
Classe instantiable d'une sonde lazer simulée.
|
|
|
|
*/
|
|
|
|
/* ************************************************************************** */
|
|
/* Revision:
|
|
### YYYMMDD JFM
|
|
Verision d'origine.
|
|
|
|
### YYYYMMDD Description du besoin ou du bug
|
|
Description du changement.
|
|
*/
|
|
|
|
/* ************************************************************************** */
|
|
|
|
#include "SimulatorLazerProbe.h"
|
|
#include "AbstractLazerProbeMgr.h"
|
|
#include "GlobalDefine.h"
|
|
|
|
CSimulatorLazerProbe::CSimulatorLazerProbe(unsigned int ProbeID, unsigned int ProbeType)
|
|
{
|
|
mProbeID = ProbeID;
|
|
mProbeType = ProbeType;
|
|
mData = 100;
|
|
mProbeAlive = true;
|
|
}
|
|
|
|
CSimulatorLazerProbe::~CSimulatorLazerProbe()
|
|
{
|
|
|
|
}
|
|
|
|
unsigned int CSimulatorLazerProbe::OpenPort(QString PortName)
|
|
{
|
|
mPortName = PortName;
|
|
return LAZERPROBES_MGR_RET_OK;
|
|
}
|
|
|
|
unsigned int CSimulatorLazerProbe::GetType()
|
|
{
|
|
return mProbeType;
|
|
}
|
|
|
|
QString CSimulatorLazerProbe::GetPortName()
|
|
{
|
|
return mPortName;
|
|
}
|
|
|
|
unsigned int CSimulatorLazerProbe::GetID()
|
|
{
|
|
return mProbeID;
|
|
}
|
|
|
|
unsigned int CSimulatorLazerProbe::StartAcquisition()
|
|
{
|
|
return LAZERPROBES_MGR_RET_OK;
|
|
}
|
|
|
|
unsigned int CSimulatorLazerProbe::StopAcquisition()
|
|
{
|
|
return LAZERPROBES_MGR_RET_OK;
|
|
}
|
|
|
|
unsigned int CSimulatorLazerProbe::GetLastData()
|
|
{
|
|
unsigned int temp;
|
|
|
|
// mMutex.lock();
|
|
// temp = mData;
|
|
// mMutex.unlock();
|
|
|
|
|
|
mRdWrLock.lockForRead();
|
|
temp = mData;
|
|
mRdWrLock.unlock();
|
|
|
|
return temp;
|
|
}
|
|
|
|
unsigned int CSimulatorLazerProbe::SetData(unsigned int data)
|
|
{
|
|
mRdWrLock.lockForWrite();
|
|
mData = data;
|
|
mRdWrLock.unlock();
|
|
|
|
emit NewProbeData(data,mProbeType);
|
|
|
|
return data;
|
|
}
|
|
|
|
unsigned int CSimulatorLazerProbe::FlushProbeData()
|
|
{
|
|
return RET_OK;
|
|
}
|
|
|
|
bool CSimulatorLazerProbe::IsProbeAlive()
|
|
{
|
|
bool alive;
|
|
mRdWrLock.lockForRead();
|
|
alive = mProbeAlive;
|
|
mRdWrLock.unlock();
|
|
|
|
return alive;
|
|
}
|
|
|
|
unsigned int CSimulatorLazerProbe::SetProbeAlive()
|
|
{
|
|
mRdWrLock.lockForWrite();
|
|
mProbeAlive = true;
|
|
mRdWrLock.unlock();
|
|
return RET_OK;
|
|
}
|
|
|
|
unsigned int CSimulatorLazerProbe::SetProbeDead()
|
|
{
|
|
mRdWrLock.lockForWrite();
|
|
mProbeAlive = false;
|
|
mRdWrLock.unlock();
|
|
return RET_OK;
|
|
}
|