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;
31  CSerialPort::GetDefaultConfig(prt, 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 
61 timeouts.ReadIntervalTimeout = 40;
62 timeouts.ReadTotalTimeoutMultiplier = 10;
63 timeouts.ReadTotalTimeoutConstant = 100;
64 timeouts.WriteTotalTimeoutMultiplier = 10;
65 timeouts.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: