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

Diff of /trunk/H7 Server/H7 ServerDlg.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 27 by hedin, Tue Jan 30 16:13:27 2007 UTC revision 28 by hedin, Wed Jan 31 12:42:51 2007 UTC
# Line 6  Line 6 
6  #include "H7 ServerDlg.h"  #include "H7 ServerDlg.h"
7  #include ".\h7 serverdlg.h"  #include ".\h7 serverdlg.h"
8  #include <vector>  #include <vector>
9    #include "Define.h"
10    
11  #ifdef _DEBUG  #ifdef _DEBUG
12  #define new DEBUG_NEW  #define new DEBUG_NEW
# Line 266  void CH7ServerDlg::OnBnClickedRestart() Line 267  void CH7ServerDlg::OnBnClickedRestart()
267          reg.SetStringValue("Serial",tmp);          reg.SetStringValue("Serial",tmp);
268          reg.Close();          reg.Close();
269          StartTcp();          StartTcp();
270            StartSerial();
271  }  }
272    
273  void CH7ServerDlg::OnBnClickedTest()  void CH7ServerDlg::OnBnClickedTest()
274  {  {
275            
276  }  }
277  bool CH7ServerDlg::ServerInit(void)  bool CH7ServerDlg::ServerInit(void)
278  {  {
# Line 368  int CH7ServerDlg::StartSerial(void) Line 370  int CH7ServerDlg::StartSerial(void)
370          char SerialPort[6];          char SerialPort[6];
371          unsigned long size = 6;          unsigned long size = 6;
372          unsigned long Baud;          unsigned long Baud;
373    
374          CRegKey reg;          CRegKey reg;
375    
376                    
377          reg.Create(HKEY_LOCAL_MACHINE, "SOFTWARE\\Projekt\\Server");          reg.Create(HKEY_LOCAL_MACHINE, "SOFTWARE\\Projekt\\Server");
378    
379          reg.QueryStringValue("Serial", SerialPort, &size);          reg.QueryStringValue("Serial", SerialPort, &size);
380          reg.QueryDWORDValue("BaudRate", Baud);          reg.QueryDWORDValue("BaudRate", Baud);
381    
382          HANDLE hComPort;  // Starter Serial forbindelsen, hvis den ikke allerede er startet.
383            if (!H7Serial.isOpen())
384          hComPort = CreateFile( "COM1",                  H7Serial.open(SerialPort,Baud);
385                                                                                  GENERIC_READ | GENERIC_WRITE,  
386                                                                                  0,  // Updater status vindue.
387                                                                                  0,          UpdateStatus( "LED3: ",H7Serial.readTarget(0) );
388                                                                                  OPEN_EXISTING,          UpdateStatus( "LED4: ",H7Serial.readTarget(1) );
389                                                                                  FILE_ATTRIBUTE_NORMAL,          UpdateStatus( "LED5: ",H7Serial.readTarget(2) );
390                                                                                  0          UpdateStatus( "Switch2: ",H7Serial.readTarget(3) );
391                                                                          );          UpdateStatus( "Switch3: ", H7Serial.readTarget(4) );
392            UpdateStatus( "Potmeter: ", H7Serial.readTarget(5) );
393          // Error check.          UpdateStatus( "Temperatur: ", H7Serial.readTarget(6) );
         if( hComPort == INVALID_HANDLE_VALUE ){  
                 WriteLastError("Fail\n%s\n");  
                 return 1;  
         }  
   
394    
         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;  
                 }  
395    
         // 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...  
396    
397            H7Serial.writeTarget(LED3,OFF);
398            return 0;
399    }
400    
401          unsigned char receive;  void CH7ServerDlg::NewLine(void)
402          unsigned long rSize;  {
403          CString Tmp;          CString nLine = "";
404          ReadFile(hComPort,&receive,1,&rSize,0);          m_Status.GetWindowText(nLine);
405          if( rSize != 1 ){          if( nLine.GetLength() != 0 )
406                  MessageBox( "Error when trying to receive date from serial port" );                  nLine += "\r\n";
407                  return false;          m_Status.SetWindowText(nLine);
408          }  }
         Tmp.Format( "%s", &receive );  
         m_Status.SetWindowText(Tmp);  
409    
410    CString CH7ServerDlg::OnOff(int value)
411    {
412            CString Test;
413            if( value == 0 )
414                    Test = "Slukket";
415            else
416                    Test = "Tændt";
417    
418            return CString(Test);
419    }
420    
421          if( !SetCommState( hComPort, &dcb_restore ) ){  void CH7ServerDlg::UpdateStatus(CString name, short value)
422                  WriteLastError("Fail\n%s\n");  {
423                  return 4;          CString tmp,StatusWindow;
424          }          tmp.Format( "%d", value );
425    
426            m_Status.GetWindowText(StatusWindow);
427            StatusWindow += name;
428            StatusWindow += tmp;
429            m_Status.SetWindowText(StatusWindow);
430            NewLine();
431    
         return 0;  
432  }  }

Legend:
Removed from v.27  
changed lines
  Added in v.28

  ViewVC Help
Powered by ViewVC 1.1.20