/[H9]/trunk/FlisServer/FlisServerDlg.cpp
ViewVC logotype

Diff of /trunk/FlisServer/FlisServerDlg.cpp

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

revision 102 by kevin, Wed Nov 28 16:24:04 2007 UTC revision 103 by kevin, Thu Nov 29 16:16:34 2007 UTC
# Line 51  CFlisServerDlg::CFlisServerDlg(CWnd* pPa Line 51  CFlisServerDlg::CFlisServerDlg(CWnd* pPa
51          : CDialog(CFlisServerDlg::IDD, pParent)          : CDialog(CFlisServerDlg::IDD, pParent)
52  {  {
53          m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);          m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
         db = 0;  
54  }  }
55    
56  void CFlisServerDlg::DoDataExchange(CDataExchange* pDX)  void CFlisServerDlg::DoDataExchange(CDataExchange* pDX)
# Line 65  BEGIN_MESSAGE_MAP(CFlisServerDlg, CDialo Line 64  BEGIN_MESSAGE_MAP(CFlisServerDlg, CDialo
64          ON_WM_PAINT()          ON_WM_PAINT()
65          ON_WM_QUERYDRAGICON()          ON_WM_QUERYDRAGICON()
66          //}}AFX_MSG_MAP          //}}AFX_MSG_MAP
         ON_BN_CLICKED(IDOK, OnBnClickedOk)  
         ON_BN_CLICKED(IDCANCEL, OnBnClickedCancel)  
67          ON_BN_CLICKED(IDC_test, OnBnClickedtest)          ON_BN_CLICKED(IDC_test, OnBnClickedtest)
68            ON_BN_CLICKED(IDCLOSE, OnBnClickedClose)
69  END_MESSAGE_MAP()  END_MESSAGE_MAP()
70    
71    
# Line 184  std::vector<unsigned char> CFlisServerDl Line 182  std::vector<unsigned char> CFlisServerDl
182          }          }
183          return buf;          return buf;
184  }  }
 void CFlisServerDlg::OnBnClickedOk()  
 {  
         // TODO: Add your control notification handler code here  
         OnOK();  
         if( Serial.isOpen() ){  
                 Serial.close();  
         }  
   
         if (db != 0)  
         {  
                 //db->Close();  
                 delete db;  
                 db=0;  
         }  
 }  
   
 void CFlisServerDlg::OnBnClickedCancel()  
 {  
         // TODO: Add your control notification handler code here  
         OnCancel();  
         if( Serial.isOpen() ){  
                 Serial.close();  
         }  
   
         if (db != 0)  
         {  
                 db->Close();  
                 delete db;  
                 db = 0;  
         }  
 }  
   
185  void CFlisServerDlg::OnBnClickedtest()  void CFlisServerDlg::OnBnClickedtest()
186  {  {
187          // TODO: Add your control notification handler code here          // TODO: Add your control notification handler code here
188    /*      
189    ////////////////Read sms ting//////////////////
190          CString tekst;          CString tekst;
191          std::vector<unsigned char> data;          std::vector<unsigned char> data;
192          data.push_back('a');          data.push_back('a');
# Line 233  void CFlisServerDlg::OnBnClickedtest() Line 201  void CFlisServerDlg::OnBnClickedtest()
201    
202          writeFrame(data);          writeFrame(data);
203          ReadSms();          ReadSms();
204    ////////////////Read sms ting//////////////////
205    */
206    /*
207    ////////////////DBRead stuff//////////////////
208            CString testdata;
209            std::vector<Commands> data;
210            data = DBRead();
211            for (int i=0; i<data.size(); i++)
212            {
213                    testdata.Append(data[i].IDnr);
214                    testdata.Append(data[i].CommandID);
215                    testdata.Append(data[i].InstallationsID);
216            }
217            m_Textwindow.SetWindowText(testdata);
218    ////////////////DBRead stuff//////////////////  
219    */
220    /*      
221    ///////////////Send sms stuff/////////////////
222            vector<unsigned char> tlfnr;
223            vector<unsigned char> smsdata;
224            tlfnr.push_back('2');
225            tlfnr.push_back('9');
226            tlfnr.push_back('7');
227            tlfnr.push_back('2');
228            tlfnr.push_back('2');
229            tlfnr.push_back('6');
230            tlfnr.push_back('0');
231            tlfnr.push_back('3');
232    
233            SendSmsHead(tlfnr);
234    
235             //35:29860132:75 <--- demo pakke;
236            smsdata.push_back('3');
237            smsdata.push_back('5');
238            smsdata.push_back(':');
239            smsdata.push_back('2');
240            smsdata.push_back('9');
241            smsdata.push_back('8');
242            smsdata.push_back('6');
243            smsdata.push_back('0');
244            smsdata.push_back('1');
245            smsdata.push_back('3');
246            smsdata.push_back('2');
247            smsdata.push_back(':');
248            smsdata.push_back('7');
249            smsdata.push_back('5');
250    
251            SendSmsData(smsdata);
252            Sleep(2000);
253            if(Serial.getComstat().cbInQue > 0)
254            {
255                    CString tekst;
256                    std::vector<unsigned char> answer = readFrame();
257                    Sleep(50);
258                            char array1[25];
259                            int i;
260                            for (int i=0; i<answer.size(); i++)
261                            {
262                                    array1[i] = answer[i];
263                            }
264                    
265                            for (int i=0; i<answer.size(); i++)
266                            {
267                                    if ((array1[i] != 0x0A) && (array1[i] != 0x0D))
268                                    {
269                                            tekst.AppendChar(array1[i]);
270                                    }
271                            }
272                            m_Textwindow.SetWindowText(tekst);
273            }
274    ///////////////Send sms stuff/////////////////
275    */
276  }  }
277  void CFlisServerDlg::writeFrame(std::vector<unsigned char> data)  void CFlisServerDlg::writeFrame(std::vector<unsigned char> data)
278  {  {
# Line 287  int CFlisServerDlg::SetPin(void) Line 327  int CFlisServerDlg::SetPin(void)
327  return 0;  return 0;
328  }  }
329  void CFlisServerDlg::SendSmsData(std::vector<unsigned char> data)  void CFlisServerDlg::SendSmsData(std::vector<unsigned char> data)
330  {  {      
331            
332          for (int i=0; i<data.size(); i++)          for (int i=0; i<data.size(); i++)
333          {          {
334                  Serial.writeByte( data[i] );                  Serial.writeByte( data[i] );
335                  Sleep(5);                  Sleep(5);
336          }          }
337          Serial.writeByte(0x1A);          Serial.writeByte(0x1A);
338          Sleep(100);          Sleep(500);
339    
340  }  }
341  void CFlisServerDlg::SendSmsHead(std::vector<unsigned char> data)  void CFlisServerDlg::SendSmsHead(std::vector<unsigned char> data)
342  {  {
343            vector<unsigned char> atcommand;
344            atcommand.push_back('a');
345            atcommand.push_back('t');
346            atcommand.push_back('+');
347            atcommand.push_back('c');
348            atcommand.push_back('m');
349            atcommand.push_back('g');
350            atcommand.push_back('s');
351            atcommand.push_back('=');
352            atcommand.push_back('"');
353            int s = (atcommand.size() -1 );
354            
355            for (int i=0; i<(atcommand.size()); i++)
356            {
357                    Serial.writeByte( atcommand[i] );
358                    Sleep(5);
359            }
360            
361          for (int i=0; i<data.size(); i++)          for (int i=0; i<data.size(); i++)
362          {          {
363                  Serial.writeByte( data[i] );                  Serial.writeByte( data[i] );
364                  Sleep(5);                  Sleep(5);
365          }          }
366            Serial.writeByte(atcommand[s]);
367          Serial.writeByte(0x0D);          Serial.writeByte(0x0D);
368          Sleep(100);          Sleep(250);
   
369  }  }
370  void CFlisServerDlg::DBConnect()  void CFlisServerDlg::DBConnect()
371  {  {
         db = new CDatabase();  
   
372          CString dsn;          CString dsn;
373          dsn.Format("ODBC;Description=asd;DRIVER=PostgreSQL ANSI;SERVER=192.168.134.132; uid=serrenab;password=furnacemonitor;database=flisfyr");          dsn.Format("ODBC;Description=asd;DRIVER=PostgreSQL ANSI;SERVER=192.168.134.132; uid=serrenab;password=furnacemonitor;database=flisfyr;sslmode=prefer");
374          //db->OpenEx(dsn, CDatabase::noOdbcDialog);          db.OpenEx(dsn, CDatabase::noOdbcDialog);
           
375  }  }
376  void CFlisServerDlg::DBRead()  vector<Commands> CFlisServerDlg::DBRead(void)
377  {  {
378            vector<Commands> buffer;
379    
380            CString SQL, IDnr, CommandID, InstallationsID;
381            SQL = "select id,date_trunc('second', created) as created,executed,commandid,installationid from command WHERE executed IS NULL;";
382            CRecordset rs(&db);
383            rs.Open(AFX_DB_USE_DEFAULT_TYPE, SQL);
384            if (rs.GetRecordCount()>0)
385            {
386                    rs.MoveFirst();
387                    while(!rs.IsEOF())
388                    {
389                    Commands Mycom;
390                    rs.GetFieldValue((short)0, IDnr);
391                    rs.GetFieldValue(3, CommandID);
392                    rs.GetFieldValue(4, InstallationsID);
393                    
394                    Mycom.IDnr = IDnr;
395                    Mycom.CommandID = CommandID;
396                    Mycom.InstallationsID = InstallationsID;
397    
398                    buffer.push_back(Mycom);
399                    rs.MoveNext();
400                    }
401            }
402            rs.Close();
403            return buffer;
404  }  }
405  void CFlisServerDlg::ReadSms()  void CFlisServerDlg::ReadSms()
406  {  {
# Line 412  CString CFlisServerDlg::Splitter(CString Line 493  CString CFlisServerDlg::Splitter(CString
493                          fyrdata = fyrdata.Right( fyrdata.GetLength() - pos -1);                          fyrdata = fyrdata.Right( fyrdata.GetLength() - pos -1);
494                  }                  }
495          return Output;          return Output;
 }  
496    }
497    void CFlisServerDlg::OnBnClickedClose()
498    {
499            // TODO: Add your control notification handler code here
500            
501            if( Serial.isOpen() )
502            {
503                    Serial.close();
504            }
505            
506            if(db.IsOpen())
507            {
508            db.Close();
509            }
510            OnOK();
511    }

Legend:
Removed from v.102  
changed lines
  Added in v.103

  ViewVC Help
Powered by ViewVC 1.1.20