/[H7]/trunk/H7 Server/TcpClientClass.cpp
ViewVC logotype

Annotation of /trunk/H7 Server/TcpClientClass.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 35 - (hide annotations) (download)
Thu Feb 1 07:39:56 2007 UTC (17 years, 4 months ago) by hedin
File size: 2847 byte(s)
Make TcpClientClass responsible for all the serial communication
1 hedin 3 #include "StdAfx.h"
2     #include ".\tcpclientclass.h"
3 hedin 28 #include "Define.h"
4     #include "H7Serial.h"
5 hedin 3
6 hedin 28 #include "Resource.h"
7     #include "H7 serverDlg.h"
8    
9 hedin 33 #include <exception>
10    
11 hedin 3 TcpClientClass::TcpClientClass(void)
12     {
13 hedin 33 isClosed = false;
14 hedin 3 }
15    
16     TcpClientClass::~TcpClientClass(void)
17     {
18     }
19    
20     void TcpClientClass::OnReceive(int nErrorCode)
21     {
22 hedin 28 // MessageBox(0,"OnReceive","",MB_OK);
23 hedin 11
24 hedin 33 int size = 4096;
25     char Buffer[4096];
26 hedin 15 CString Buff;
27 hedin 13
28 hedin 11 size = TcpClientClass::Receive(Buffer, size -1);
29     Buffer[size] = 0;
30 hedin 15 Buff = Buffer;
31 hedin 28
32     CH7ServerDlg* parent = (CH7ServerDlg*) AfxGetMainWnd();
33    
34 hedin 33 CString debug;
35     debug.Format("%d\n",atoi(Buff));
36     OutputDebugString( debug );
37    
38     try{
39     switch( atoi(Buff) )
40     {
41     case 110:
42     parent->H7Serial.writeTarget(LED3,OFF);
43     break;
44     case 111:
45     parent->H7Serial.writeTarget(LED3,ON);
46     break;
47     case 120:
48     parent->H7Serial.writeTarget(LED4,OFF);
49     break;
50     case 121:
51     parent->H7Serial.writeTarget(LED4,ON);
52     break;
53     case 130:
54     parent->H7Serial.writeTarget(LED5,OFF);
55     break;
56     case 131:
57     parent->H7Serial.writeTarget(LED5,ON);
58     break;
59     case 100:
60     SendReply(); // <--
61     break;
62     }
63     Sleep(10);
64 hedin 35 parent->UpdateClient(this);
65 hedin 33 }
66     catch (std::exception e)
67 hedin 28 {
68 hedin 33 CString msg;
69     msg.Format("%d : %s", atoi(Buff), e.what() );
70     MessageBox(0, msg, "", MB_OK);
71 hedin 11 }
72 hedin 33
73 hedin 3 CSocket::OnReceive(nErrorCode);
74     }
75 hedin 33
76     void TcpClientClass::SendReply(void)
77     {
78     CH7ServerDlg* parent = (CH7ServerDlg*) AfxGetMainWnd();
79    
80     CString output;
81     short Tmp;
82     CString format;
83     const int timer = 10;
84    
85     Sleep(timer);
86 hedin 35 mLed3 = parent->H7Serial.readTarget(0);
87     if( mLed3 == 0 )
88 hedin 33 output = "110|";
89 hedin 35 else if( mLed3 == 1)
90 hedin 33 output = "111|";
91     Send(output,output.GetLength(),0);
92    
93     Sleep(timer);
94    
95 hedin 35 mLed4 = parent->H7Serial.readTarget(1);
96     if( mLed4 == 0 )
97 hedin 33 output = "120|";
98 hedin 35 else if( mLed4 == 1)
99 hedin 33 output = "121|";
100     Send(output,output.GetLength(),0);
101    
102     Sleep(timer);
103    
104 hedin 35 mLed5 = parent->H7Serial.readTarget(2);
105     if( mLed5 == 0 )
106 hedin 33 output = "130|";
107 hedin 35 else if( mLed5 == 1)
108 hedin 33 output = "131|";
109     Send(output,output.GetLength(),0);
110     Sleep(timer);
111    
112 hedin 35 mSw2 = parent->H7Serial.readTarget(3);
113     if( mSw2 == 0 )
114 hedin 33 output = "140|";
115 hedin 35 else if( mSw2 == 1 )
116 hedin 33 output = "141|";
117     Send(output,output.GetLength(),0);
118     Sleep(timer);
119    
120 hedin 35 mSw3 = parent->H7Serial.readTarget(4);
121     if( mSw3 == 0 )
122 hedin 33 output = "150|";
123 hedin 35 else if( mSw3 == 1 )
124 hedin 33 output = "151|";
125     Send(output,output.GetLength(),0);
126     Sleep(timer);
127    
128 hedin 35 mPot = parent->H7Serial.readTarget(5);
129     format.Format("%d|",mPot + 2000);
130 hedin 33 Send(format,format.GetLength(),0);
131     Sleep(timer);
132    
133 hedin 35 mTemp = parent->H7Serial.readTarget(6);
134     format.Format("%d|",mTemp + 4000);
135 hedin 33 Send(format,format.GetLength(),0);
136     Sleep(timer);
137     }
138    
139     void TcpClientClass::OnClose(int nErrorCode)
140     {
141     isClosed = true;
142    
143     CSocket::OnClose(nErrorCode);
144     }

  ViewVC Help
Powered by ViewVC 1.1.20