#pragma once
|
|
#include <afxmt.h>
|
#include "SignalControl.h"
|
|
class AFX_EXT_CLASS CSignalControl_DitSharedMemorySync : public CSignalControl
|
{
|
public:
|
CSignalControl_DitSharedMemorySync(int nIndex, DWORD dwPeriod=100);
|
virtual ~CSignalControl_DitSharedMemorySync(void);
|
|
virtual int Connect(const CSignalControlInfo* pControlInfo);
|
virtual void Disconnect();
|
|
virtual BOOL Read_ReceiveSignal(int nAddrIndex, WORD& dwValue);
|
virtual BOOL Write_SendSignal(int nAddrIndex, int nSignalIndex, WORD wSignalValue, int nOnTime=1000);
|
/*< SWK 20221226 - #4403 ADD Start >*/
|
protected:
|
inline void Write_SendSignal(int nAddrIndex, int nSignalIndex, bool bOn);
|
public:
|
/*< SWK 20221226 - #4403 ADD End >*/
|
virtual BOOL Read_SendSignal(int nAddrIndex, WORD& dwValue);
|
virtual BOOL ReadData(const CString strAddr, int nSize, CString& strData);
|
virtual BOOL ReadData(const CString strAddr, int nSize, char* pData);
|
/*< LYW 20220610 - #4185 ADD Start >*/
|
virtual BOOL ReadData(const CString strAddr, int BitPosition, int nSize, int& nData);
|
/*< LYW 20220610 - #4185 ADD End >*/
|
virtual BOOL WriteWordData(const CString strAddr, int nSize, int nData);
|
virtual BOOL WriteData(const CString strAddr, int nSize, CString strData);
|
|
virtual BOOL WritePacketData(const CString strAddr, int nSize, short* pPacketData);
|
|
protected:
|
virtual int Hex2Dec(const CString& hex_str);
|
virtual void IST2P_RunThreadProcess(const CSignalData& signalData);
|
|
private:
|
// memory map
|
HANDLE m_hMemMap;
|
char* m_pMemStartAddr;
|
|
CEvent m_ReadEvent;
|
CEvent m_WriteEvent;
|
};
|