/[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 174 by kevin, Thu Dec 6 12:53:06 2007 UTC revision 299 by torben, Tue Dec 18 09:53:30 2007 UTC
# Line 177  int CFlisServerDlg::StartSerial(void) Line 177  int CFlisServerDlg::StartSerial(void)
177                          Serial.close();                          Serial.close();
178                          Serial.open( config.comport, Baud );                          Serial.open( config.comport, Baud );
179                  }                  }
180                  catch (exception* e)                  catch (...)
181                  {                  {
182                          MessageBox( "Serial.open() exception" );                          MessageBox( "Serial.open() exception" );
183                          return 0;                          return 0;
# Line 189  int CFlisServerDlg::StartSerial(void) Line 189  int CFlisServerDlg::StartSerial(void)
189                  {                  {
190                          Serial.open( config.comport, Baud );                          Serial.open( config.comport, Baud );
191                  }                  }
192                  catch (exception* e)                  catch (...)
193                  {                  {
194                          MessageBox( "Serial.open() exception 2" );                          MessageBox( "Serial.open() exception 2" );
195                          return 0;                          return 0;
# Line 254  void CFlisServerDlg::SetPin() Line 254  void CFlisServerDlg::SetPin()
254                          AppendText(tekst);                          AppendText(tekst);
255          }          }
256          Sleep(5);          Sleep(5);
257          if (tekst.MakeLower() == "+cpin: sim pin")          tekst.MakeLower();
258            int pos = tekst.Find("+cpin: ",0);
259            if (pos != -1)
260            {
261                    tekst = tekst.Right( tekst.GetLength() - pos -1);
262            }
263    
264            if (tekst == "cpin: sim pin")
265          {          {
266                    CString pin;
267                    ConfigFile config;
268                    try {
269                            config.ReadSettings();
270                    } catch(...) {
271                            MessageBox("Could not open config file");
272                    }
273                    Sleep(50);
274    
275                  data.clear();                  data.clear();
276                  data.push_back('a');                  data.push_back('a');
277                  data.push_back('t');                  data.push_back('t');
# Line 265  void CFlisServerDlg::SetPin() Line 281  void CFlisServerDlg::SetPin()
281                  data.push_back('i');                  data.push_back('i');
282                  data.push_back('n');                  data.push_back('n');
283                  data.push_back('=');                  data.push_back('=');
284                  data.push_back('2');                  for (int i = 0; i<config.pincode.GetLength(); i++)
285                  data.push_back('5');                  {
286                  data.push_back('9');                  data.push_back(config.pincode[i]);
287                  data.push_back('5');                  }
288    
289                  writeFrame(data);                  writeFrame(data);
290    
# Line 301  void CFlisServerDlg::SetPin() Line 317  void CFlisServerDlg::SetPin()
317                          Sleep(10); //Small delay to avoid busy wait                          Sleep(10); //Small delay to avoid busy wait
318                  }                  }
319          }          }
320          else if (tekst.MakeLower() == "+cpin: ready")          else if (tekst == "cpin: ready")
321          {          {
322                  AppendText("No pincode needed");                  AppendText("No pincode needed");
323          }          }
324          else          else
325          {          {
326                  AppendText("Error in pincode message");                  AppendText("Error in set pin part of the code");
327          }          }
328  }  }
329  void CFlisServerDlg::SendSmsData(std::vector<unsigned char> data)  void CFlisServerDlg::SendSmsData(std::vector<unsigned char> data)
# Line 409  vector<Commands> CFlisServerDlg::DBReadC Line 425  vector<Commands> CFlisServerDlg::DBReadC
425  }  }
426  void CFlisServerDlg::ReadSms()  void CFlisServerDlg::ReadSms()
427  {  {
428          CString tekst, oldtekst;          CString tekst;
429          Sleep(950);             //Holder en pause for at lade hele sms'en komme ind i serial køen.          Sleep(950);             //Holder en pause for at lade hele sms'en komme ind i serial køen.
430          if(Serial.getComstat().cbInQue > 0)          if(Serial.getComstat().cbInQue > 0)
431          {          {
# Line 430  void CFlisServerDlg::ReadSms() Line 446  void CFlisServerDlg::ReadSms()
446  }  }
447  void CFlisServerDlg::SmsSplit(CString data)  void CFlisServerDlg::SmsSplit(CString data)
448  {  {
449          CString FyrData, TlfNr, SmsCount, Temper, Flamme, Flis, FremFejl, PowerFail, oldtekst;          CString FyrData, TlfNr, SmsCount, Temper, Flamme, Flis, FremFejl, PowerFail;
         char CharData[150];  
         strcpy(CharData,data);  
450          TlfNr = data.Mid(24,8);          TlfNr = data.Mid(24,8);
451          FyrData = data.Mid(57,data.GetLength()-59);          FyrData = data.Mid(57,data.GetLength()-59);
452          FyrData.Append(":");          FyrData.Append(":");
# Line 567  void CFlisServerDlg::MyMainThread() Line 581  void CFlisServerDlg::MyMainThread()
581                          Sleep(250);                          Sleep(250);
582                          std::vector<unsigned char> answer = readFrame();                          std::vector<unsigned char> answer = readFrame();
583                          Sleep(500);                          Sleep(500);
584                          CString tekst, oldtekst;                          CString tekst;
585                                    
586                          for (int i=0; i<answer.size(); i++)                          for (int i=0; i<answer.size(); i++)
587                          {                          {
# Line 607  void CFlisServerDlg::MyMainThread() Line 621  void CFlisServerDlg::MyMainThread()
621                          {                          {
622                                  if (command.MakeLower() == "cmti")                                  if (command.MakeLower() == "cmti")
623                                  {                                  {
624                                          CString smscount, oldteskst;                                          CString smscount;
625                                          int pos = tekst.Find(',',0);                                          int pos = tekst.Find(',',0);
626                                          if (pos != -1)                                          if (pos != -1)
627                                          {                                          {
# Line 615  void CFlisServerDlg::MyMainThread() Line 629  void CFlisServerDlg::MyMainThread()
629                                                  smscount.Remove(':');                                                  smscount.Remove(':');
630                                                  ResetSms++;                                                  ResetSms++;
631                                          }                                          }
632                                                  ////////////////Read sms ting//////////////////  
633                                                  std::vector<unsigned char> data;                                          std::vector<unsigned char> data;
634                                                  data.push_back('a');                                          data.push_back('a');
635                                                  data.push_back('t');                                          data.push_back('t');
636                                                  data.push_back('+');                                          data.push_back('+');
637                                                  data.push_back('c');                                          data.push_back('c');
638                                                  data.push_back('m');                                          data.push_back('m');
639                                                  data.push_back('g');                                          data.push_back('g');
640                                                  data.push_back('r');                                          data.push_back('r');
641                                                  data.push_back('=');                                          data.push_back('=');
642                                                                                            
643                                                  for (int i=0; i< smscount.GetLength(); i++)                                          for (int i=0; i< smscount.GetLength(); i++)
644                                                  {                                          {
645                                                          data.push_back(smscount[i]);                                                  data.push_back(smscount[i]);
646                                                  }                                          }
647                                                  m_Textwindow.GetWindowText(oldteskst);                                          writeFrame(data);
648                                                  oldteskst.Append("\r\n");  
649                                                  for (int i=0; i<data.size();i++)                                          data.push_back(0); //Zero terminate the string befor pasting it to logwindows
650                                                  {                                          AppendText(CString(&data[0]));
651                                                          oldteskst.AppendChar(data[i]);                                          Sleep(200);
652                                                  }                                          ReadSms();
                                                 m_Textwindow.SetWindowText(oldteskst);  
                                                 writeFrame(data);  
                                                 Sleep(200);  
                                                 ReadSms();  
                                                 ResetSms++;  
653    
654                                  }                                  }
655                                  else if(command.MakeLower() == "wind")                                  else if(command.MakeLower() == "wind")
# Line 657  void CFlisServerDlg::MyMainThread() Line 666  void CFlisServerDlg::MyMainThread()
666                          {                          {
667                                  AppendText(tekst);                                  AppendText(tekst);
668                          }                          }
                         if(ResetSms == 20)  
                         {  
                                 DeleteSms();  
                                 AppendText("Sms'er slettet da vi nåede grænsen");  
                         }  
   
669                  }                  }
670                    if(ResetSms >= 20)
671                    {
672                            DeleteSms();
673                            ResetSms = 0;
674                            AppendText("Sms'er slettet da vi nåede grænsen");
675                    }
676    
677                  if (continueThread == 1)                  if (continueThread == 1)
678                  {                  {
679                                                    
# Line 846  void CFlisServerDlg::OnBnClickedStart() Line 856  void CFlisServerDlg::OnBnClickedStart()
856  {  {
857  // TODO: Add your control notification handler code here  // TODO: Add your control notification handler code here
858    
859          m_Textwindow.SetWindowText("Indsætter Pinkode, og venter på modem bliver klar, hvis pinkode er nødvendig");          AppendText("Indsætter Pinkode, og venter på modem bliver klar, hvis pinkode er nødvendig");
860          UpdateWindow();          UpdateWindow();
861          SetPin();          SetPin();
862                    
# Line 856  void CFlisServerDlg::OnBnClickedStart() Line 866  void CFlisServerDlg::OnBnClickedStart()
866                  Serial.readByte(); //Flush the incoming queue                  Serial.readByte(); //Flush the incoming queue
867                  Sleep(1);                  Sleep(1);
868          }          }
869            Sleep(5);
870    
871          continueThread = 1;          continueThread = 1;
872          keepaliveandread();          keepaliveandread();
873          Sleep(150);          Sleep(150);
874          m_Textwindow.SetWindowText(CString("Server phonenr read from db: ") + Alive.Phonenr );          AppendText(CString("Server phonenr read from db: ") + Alive.Phonenr );
875          AppendText("Started");          AppendText("Started");
876          AfxBeginThread(threadWrapper,AfxGetMainWnd());          AfxBeginThread(threadWrapper,AfxGetMainWnd());
877  }  }
878  void CFlisServerDlg::AppendText(CString s)  void CFlisServerDlg::AppendText(CString s)
879  {  {
880            CTime now = CTime::GetCurrentTime();
881          CString Tekst;          CString Tekst;
882          m_Textwindow.GetWindowText(Tekst);          m_Textwindow.GetWindowText(Tekst);
883          Tekst.Append("\r\n");          Tekst.AppendFormat("%02d:%02d:%02d : ", now.GetHour(), now.GetMinute(), now.GetSecond());
884          Tekst.Append(s);          Tekst.Append(s);
885            Tekst.Append("\r\n");
886    
887          m_Textwindow.SetWindowText(Tekst);          m_Textwindow.SetWindowText(Tekst);
888          Sleep(5);          Sleep(5);
889          int g = m_Textwindow.GetScrollLimit(SB_VERT);          int g = m_Textwindow.GetScrollLimit(SB_VERT);
# Line 908  void ConfigFile::ReadSettings() Line 922  void ConfigFile::ReadSettings()
922                                  database = value;                                  database = value;
923                          else if (key == "comport")                          else if (key == "comport")
924                                  comport = value;                                  comport = value;
925                            else if (key == "pincode")
926                                    pincode = value;
927                  }                  }
928    
929          }          }

Legend:
Removed from v.174  
changed lines
  Added in v.299

  ViewVC Help
Powered by ViewVC 1.1.20