Barst  2.0
A server that controls lab hardware.
Public Member Functions | Public Attributes | List of all members
CChannelRTV Class Reference
Inheritance diagram for CChannelRTV:
CDevice

Public Member Functions

 CChannelRTV (const TCHAR szPipe[], int nChan, SChanInitRTV &sChanInit, int &nError, LARGE_INTEGER &llStart)
 
void ProcessData (const void *pHead, DWORD dwSize, __int64 llId)
 
void Result (void *pHead, bool bPass)
 
DWORD GetInfo (void *pHead, DWORD dwSize)
 
void NextFrame (unsigned char *aucData)
 
- Public Member Functions inherited from CDevice
 CDevice (const TCHAR szName[])
 

Public Attributes

const SChanInitRTV m_sChanInit
 
const std::tstring m_csPipeName
 
const unsigned short m_usChan
 
- Public Attributes inherited from CDevice
const std::tstring m_csName
 

Additional Inherited Members

- Protected Attributes inherited from CDevice
CCommm_pcComm
 
CLogBufferm_pcLogBuffer
 
CMemPoolm_pcMemPool
 
bool m_bError
 

Detailed Description

Definition at line 36 of file rtv device.h.

Constructor & Destructor Documentation

◆ CChannelRTV()

CChannelRTV::CChannelRTV ( const TCHAR  szPipe[],
int  nChan,
SChanInitRTV sChanInit,
int &  nError,
LARGE_INTEGER &  llStart 
)

Create an RTV channel for a single RTV port. szPipe is the pipe name that will be exclusivly associated with this channel. The format should Blah:manager#:RTVPort# as defined in the API. nChan is the channel number of this channel. sChanInit initializes the channel. nError returns an error codde if something went wrong. llStart returns the offset of the timer for this channel. You can use this to convert the time sent with each frame to another common time (see API).

Definition at line 343 of file rtv device.cpp.

Member Function Documentation

◆ GetInfo()

DWORD CChannelRTV::GetInfo ( void *  pHead,
DWORD  dwSize 
)
virtual

This function copies chennel specific info into pHead which could then be sent to the user in response to a query request. If phead is NULL, the function returns the required size of pHead. If non NULL, dwSize if the sise of pHead and the function returns the total size of the data copied into pHead. This funcion followes the rules where every sub-struct is proceeded by an SBase. Typically, it returns an SBaseOut sturct which holds the name of the device followed by channels specific structs.

Implements CDevice.

Definition at line 386 of file rtv device.cpp.

◆ NextFrame()

void CChannelRTV::NextFrame ( unsigned char *  aucData)

The manager calls this when it has a new frame for this channel.

Definition at line 504 of file rtv device.cpp.

◆ ProcessData()

void CChannelRTV::ProcessData ( const void *  pHead,
DWORD  dwSize,
__int64  llId 
)
virtual

Comm calls this function when a user sent data to the device.

Implements CDevice.

Definition at line 422 of file rtv device.cpp.

◆ Result()

void CChannelRTV::Result ( void *  pHead,
bool  bPass 
)
virtual

Comm calls this function when it finished writing data to user sent by this device. phead is the pHead parameter in the SData struct that was sent with SendData() bPass is true if successfull and false otherwise.

Implements CDevice.

Definition at line 536 of file rtv device.cpp.