--- trunk/H7 Server/H7 ServerDlg.cpp 2007/01/31 12:40:37 27 +++ trunk/H7 Server/H7 ServerDlg.cpp 2007/01/31 12:42:51 28 @@ -6,6 +6,7 @@ #include "H7 ServerDlg.h" #include ".\h7 serverdlg.h" #include +#include "Define.h" #ifdef _DEBUG #define new DEBUG_NEW @@ -266,11 +267,12 @@ reg.SetStringValue("Serial",tmp); reg.Close(); StartTcp(); + StartSerial(); } void CH7ServerDlg::OnBnClickedTest() { - + } bool CH7ServerDlg::ServerInit(void) { @@ -368,80 +370,63 @@ char SerialPort[6]; unsigned long size = 6; unsigned long Baud; + CRegKey reg; + reg.Create(HKEY_LOCAL_MACHINE, "SOFTWARE\\Projekt\\Server"); reg.QueryStringValue("Serial", SerialPort, &size); reg.QueryDWORDValue("BaudRate", Baud); - HANDLE hComPort; - - hComPort = CreateFile( "COM1", - GENERIC_READ | GENERIC_WRITE, - 0, - 0, - OPEN_EXISTING, - FILE_ATTRIBUTE_NORMAL, - 0 - ); - - // Error check. - if( hComPort == INVALID_HANDLE_VALUE ){ - WriteLastError("Fail\n%s\n"); - return 1; - } - +// Starter Serial forbindelsen, hvis den ikke allerede er startet. + if (!H7Serial.isOpen()) + H7Serial.open(SerialPort,Baud); + +// Updater status vindue. + UpdateStatus( "LED3: ",H7Serial.readTarget(0) ); + UpdateStatus( "LED4: ",H7Serial.readTarget(1) ); + UpdateStatus( "LED5: ",H7Serial.readTarget(2) ); + UpdateStatus( "Switch2: ",H7Serial.readTarget(3) ); + UpdateStatus( "Switch3: ", H7Serial.readTarget(4) ); + UpdateStatus( "Potmeter: ", H7Serial.readTarget(5) ); + UpdateStatus( "Temperatur: ", H7Serial.readTarget(6) ); - DCB dcb, dcb_restore; - - // DCB structure for com port setup - dcb.DCBlength = sizeof(DCB); - dcb_restore.DCBlength = sizeof(DCB); - - // Error check. - if( (!GetCommState(hComPort, &dcb)) || - (!GetCommState(hComPort, &dcb_restore)) ){ - WriteLastError("Fail\n%s\n"); - return 2; - } - // Init com port setup - dcb.BaudRate = Baud; - dcb.ByteSize = 8; - dcb.Parity = NOPARITY; - dcb.StopBits = ONESTOPBIT; - dcb.fDtrControl = DTR_CONTROL_DISABLE; - dcb.fRtsControl = RTS_CONTROL_DISABLE; - dcb.fParity = FALSE; - dcb.fDsrSensitivity = FALSE; - - if( !SetCommState(hComPort,&dcb) ){ - WriteLastError("Fail\n%s\n"); - return 3; - } - - // ready to send stuff... + H7Serial.writeTarget(LED3,OFF); + return 0; +} - unsigned char receive; - unsigned long rSize; - CString Tmp; - ReadFile(hComPort,&receive,1,&rSize,0); - if( rSize != 1 ){ - MessageBox( "Error when trying to receive date from serial port" ); - return false; - } - Tmp.Format( "%s", &receive ); - m_Status.SetWindowText(Tmp); +void CH7ServerDlg::NewLine(void) +{ + CString nLine = ""; + m_Status.GetWindowText(nLine); + if( nLine.GetLength() != 0 ) + nLine += "\r\n"; + m_Status.SetWindowText(nLine); +} +CString CH7ServerDlg::OnOff(int value) +{ + CString Test; + if( value == 0 ) + Test = "Slukket"; + else + Test = "Tændt"; + return CString(Test); +} - if( !SetCommState( hComPort, &dcb_restore ) ){ - WriteLastError("Fail\n%s\n"); - return 4; - } +void CH7ServerDlg::UpdateStatus(CString name, short value) +{ + CString tmp,StatusWindow; + tmp.Format( "%d", value ); + m_Status.GetWindowText(StatusWindow); + StatusWindow += name; + StatusWindow += tmp; + m_Status.SetWindowText(StatusWindow); + NewLine(); - return 0; }