--- trunk/H7 Server/TcpClientClass.cpp 2007/01/30 07:52:35 14 +++ trunk/H7 Server/TcpClientClass.cpp 2007/02/01 07:39:56 35 @@ -1,8 +1,16 @@ #include "StdAfx.h" #include ".\tcpclientclass.h" +#include "Define.h" +#include "H7Serial.h" + +#include "Resource.h" +#include "H7 serverDlg.h" + +#include TcpClientClass::TcpClientClass(void) { + isClosed = false; } TcpClientClass::~TcpClientClass(void) @@ -11,20 +19,126 @@ void TcpClientClass::OnReceive(int nErrorCode) { - MessageBox(0,"OnReceive","",MB_OK); +// MessageBox(0,"OnReceive","",MB_OK); - int size = 1023; - char Buffer[1023]; - CString AfSend = "Tændt"; - CString Crap = "Jeg modtog noget Crap"; + int size = 4096; + char Buffer[4096]; + CString Buff; size = TcpClientClass::Receive(Buffer, size -1); Buffer[size] = 0; - if( Buffer == "RB1" ){ - Send( AfSend, AfSend.GetLength() ); + Buff = Buffer; + + CH7ServerDlg* parent = (CH7ServerDlg*) AfxGetMainWnd(); + + CString debug; + debug.Format("%d\n",atoi(Buff)); + OutputDebugString( debug ); + + try{ + switch( atoi(Buff) ) + { + case 110: + parent->H7Serial.writeTarget(LED3,OFF); + break; + case 111: + parent->H7Serial.writeTarget(LED3,ON); + break; + case 120: + parent->H7Serial.writeTarget(LED4,OFF); + break; + case 121: + parent->H7Serial.writeTarget(LED4,ON); + break; + case 130: + parent->H7Serial.writeTarget(LED5,OFF); + break; + case 131: + parent->H7Serial.writeTarget(LED5,ON); + break; + case 100: + SendReply(); // <-- + break; + } + Sleep(10); + parent->UpdateClient(this); + } + catch (std::exception e) + { + CString msg; + msg.Format("%d : %s", atoi(Buff), e.what() ); + MessageBox(0, msg, "", MB_OK); } - else - Send( Crap, Crap.GetLength() ); CSocket::OnReceive(nErrorCode); } + +void TcpClientClass::SendReply(void) +{ + CH7ServerDlg* parent = (CH7ServerDlg*) AfxGetMainWnd(); + + CString output; + short Tmp; + CString format; + const int timer = 10; + +Sleep(timer); + mLed3 = parent->H7Serial.readTarget(0); + if( mLed3 == 0 ) + output = "110|"; + else if( mLed3 == 1) + output = "111|"; + Send(output,output.GetLength(),0); + +Sleep(timer); + + mLed4 = parent->H7Serial.readTarget(1); + if( mLed4 == 0 ) + output = "120|"; + else if( mLed4 == 1) + output = "121|"; + Send(output,output.GetLength(),0); + +Sleep(timer); + + mLed5 = parent->H7Serial.readTarget(2); + if( mLed5 == 0 ) + output = "130|"; + else if( mLed5 == 1) + output = "131|"; + Send(output,output.GetLength(),0); +Sleep(timer); + + mSw2 = parent->H7Serial.readTarget(3); + if( mSw2 == 0 ) + output = "140|"; + else if( mSw2 == 1 ) + output = "141|"; + Send(output,output.GetLength(),0); +Sleep(timer); + + mSw3 = parent->H7Serial.readTarget(4); + if( mSw3 == 0 ) + output = "150|"; + else if( mSw3 == 1 ) + output = "151|"; + Send(output,output.GetLength(),0); +Sleep(timer); + + mPot = parent->H7Serial.readTarget(5); + format.Format("%d|",mPot + 2000); + Send(format,format.GetLength(),0); +Sleep(timer); + + mTemp = parent->H7Serial.readTarget(6); + format.Format("%d|",mTemp + 4000); + Send(format,format.GetLength(),0); +Sleep(timer); +} + +void TcpClientClass::OnClose(int nErrorCode) +{ + isClosed = true; + + CSocket::OnClose(nErrorCode); +}