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

Public Member Functions

 CChannelSerial (const TCHAR szPipe[], int nChan, SChanInitSerial &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)
 
DWORD ThreadProc ()
 
- Public Member Functions inherited from CDevice
 CDevice (const TCHAR szName[])
 

Public Attributes

const SChanInitSerial 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 39 of file serial device.h.

Constructor & Destructor Documentation

◆ CChannelSerial()

CChannelSerial::CChannelSerial ( const TCHAR  szPipe[],
int  nChan,
SChanInitSerial 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 214 of file serial device.cpp.

Member Function Documentation

◆ GetInfo()

DWORD CChannelSerial::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 321 of file serial device.cpp.

◆ ProcessData()

void CChannelSerial::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 391 of file serial device.cpp.

◆ Result()

void CChannelSerial::Result ( void *  pHead,
bool  bPass 
)
inlinevirtual

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 54 of file serial device.h.