FEDRA emulsion software from the OPERA Collaboration
AcqCOM Class Reference

#include <AcqCOM.h>

Inheritance diagram for AcqCOM:
Collaboration diagram for AcqCOM:

Public Member Functions

 AcqCOM ()
 
void CleanAll ()
 
void Close ()
 
void Flush ()
 
int Open (int port, int baud)
 
int RecvString (char *string, int N)
 
int SendString (char *string, int N)
 
virtual ~AcqCOM ()
 

Constructor & Destructor Documentation

◆ AcqCOM()

AcqCOM::AcqCOM ( )
19{
20}

◆ ~AcqCOM()

AcqCOM::~AcqCOM ( )
virtual
24{
25}

Member Function Documentation

◆ CleanAll()

void AcqCOM::CleanAll ( )
109{
110 DWORD dwErrors;
111 port.ClearError(dwErrors);
116}
CSerialPort port
Definition: AcqCOM.cxx:12
void TerminateOutstandingWrites()
Definition: serialport.cpp:719
void ClearReadBuffer()
Definition: serialport.cpp:734
void ClearWriteBuffer()
Definition: serialport.cpp:729
void ClearError(DWORD &dwErrors)
Definition: serialport.cpp:533
void TerminateOutstandingReads()
Definition: serialport.cpp:724

◆ Close()

void AcqCOM::Close ( )
92{
93 if(port.IsOpen())
94 {
95 port.Flush();
96 port.Close();
97 }
98
99}
BOOL IsOpen() const
Definition: serialport.h:97
void Flush()
Definition: serialport.cpp:697
void Close()
Definition: serialport.cpp:297

◆ Flush()

void AcqCOM::Flush ( )
102{
103 port.Flush();
104}

◆ Open()

int AcqCOM::Open ( int  port,
int  baud 
)
29{
30 COMMCONFIG config;
33/*
34 HANDLE hPort = port.Detach();
35 port.Attach(hPort);
36
37
38 DWORD dwModemStatus;
39 port.GetModemStatus(dwModemStatus);
40
41 DCB dcb;
42 port.GetState(dcb);
43
44 dcb.BaudRate = baud;
45 port.SetState(dcb);
46
47 DWORD dwErrors;
48 port.ClearError(dwErrors);
49
50 port.SetBreak();
51 port.ClearBreak();
52
53 COMSTAT stat;
54 port.GetStatus(stat);
55*/
56 COMMTIMEOUTS timeouts;
57 port.GetTimeouts(timeouts);
58
59 // port.Setup(10000, 10000);
60
61timeouts.ReadIntervalTimeout = 40;
62timeouts.ReadTotalTimeoutMultiplier = 10;
63timeouts.ReadTotalTimeoutConstant = 100;
64timeouts.WriteTotalTimeoutMultiplier = 10;
65timeouts.WriteTotalTimeoutConstant = 100;
66 port.SetTimeouts(timeouts);
67
68// port.Set0WriteTimeout();
69 // port.Set0ReadTimeout();
70
71 /* char sBuf[] = "BCD:01";
72 char iBuf[256];
73 char cr=13;
74 int readb;
75 port.Write(sBuf, strlen(sBuf));
76 port.Write(&cr, 1);
77 readb=port.Read(iBuf,256);
78 port.Flush();
79*/
80 DWORD dwErrors;
81 port.ClearError(dwErrors);
82// port.TerminateOutstandingWrites();
83// port.TerminateOutstandingReads();
84// port.ClearWriteBuffer();
85 // port.ClearReadBuffer();
86
87 port.Flush();
88 return 1;
89}
void Open(int nPort, DWORD dwBaud=9600, Parity parity=NoParity, BYTE DataBits=8, StopBits stopbits=OneStopBit, FlowControl fc=NoFlowControl, BOOL bOverlapped=FALSE)
Definition: serialport.cpp:179
void SetTimeouts(COMMTIMEOUTS &timeouts)
Definition: serialport.cpp:750
@ OneStopBit
Definition: serialport.h:81
@ NoFlowControl
Definition: serialport.h:62
@ NoParity
Definition: serialport.h:74
void GetTimeouts(COMMTIMEOUTS &timeouts)
Definition: serialport.cpp:761
static void GetDefaultConfig(int nPort, COMMCONFIG &config)
Definition: serialport.cpp:544

◆ RecvString()

int AcqCOM::RecvString ( char *  string,
int  N 
)
127{
128 int res;
129 res=port.Read(string, N);
130 string[res]=0;
131// printf("Com received : %s\n",string);
132 return res;
133}
DWORD Read(void *lpBuf, DWORD dwCount)
Definition: serialport.cpp:322

◆ SendString()

int AcqCOM::SendString ( char *  string,
int  N 
)
120{
121 string[N]=0;
122// printf("Com send : %s\n",string);
123 return port.Write(string, N);
124}
DWORD Write(const void *lpBuf, DWORD dwCount)
Definition: serialport.cpp:356

The documentation for this class was generated from the following files: