NetServices Stack source

Dependents:   HelloWorld ServoInterfaceBoardExample1 4180_Lab4

Revision:
4:fd826cad83c0
Parent:
0:632c9925f013
--- a/drv/at/ATIf.cpp	Fri Jun 18 10:38:57 2010 +0000
+++ b/drv/at/ATIf.cpp	Fri Jul 09 14:46:47 2010 +0000
@@ -38,10 +38,13 @@
 //#define __DEBUG
 #include "dbg/dbg.h"
 
-ATIf::ATIf() : SerialBuf(SERIAL_BUF_LEN), m_signalsEnable(false), m_isOpen(false), m_pCurrentSignal(NULL), m_signals() 
+ATIf::ATIf() : SerialBuf(SERIAL_BUF_LEN), m_isOpen(false)//, m_signalsEnable(false), m_isOpen(false), m_pCurrentSignal(NULL), m_signals() 
 {
+  DBG("New AT If@%p\n", this);
+
   m_readTimeout = READ_TIMEOUT; //default 1s
   //tmpBuf = NULL;
+  m_lineMode = false;
   m_tmpBuf = new char[TMP_BUF_SIZE];
 }
 
@@ -129,23 +132,23 @@
   m_lineMode = lineMode;
 }
 
+#if 0
 void ATIf::setSignals(bool signalsEnable)
 {
   m_signalsEnable=signalsEnable;
 }
+#endif
 
-#ifdef __LINKING_SCRIPT_BUG_SOLVED__
+#if 0
 template<class T>
 void ATIf::attachSignal( const char* sigName, T* pItem, bool (T::*pMethod)(ATIf*, bool, bool*) ) //Attach Signal ("Unsollicited response code" in Telit_AT_Reference_Guide.pdf) to an handler fn
 {
   ATSigHandler sig(sigName, (ATSigHandler::CDummy*)pItem, (bool (ATSigHandler::CDummy::*)(ATIf*, bool, bool*))pMethod);
   m_signals.push_back(sig);
 }
-#else
-//defined in ATIf.h directly
-//(it's ugly, I know ;))
 #endif
 
+#if 0
 void ATIf::detachSignal( const char* sigName )
 {
   list<ATSigHandler>::iterator it;
@@ -159,10 +162,11 @@
     }
   }
 }
+#endif
 
 ATErr ATIf::open(Serial* pSerial) //Deactivate echo, etc
 {
-  DBG("\r\nOpening...");
+  DBG("Opening...\n");
   m_isOpen = true; //Must be set so that the serial port-related fns work
   //Setup options  
 //  pSerial->baud(BAUDRATE); //FIXME
@@ -172,14 +176,15 @@
   setTimeout(1000);
   setLineMode(true); //Line Mode
   
-  DBG("\r\nTrmt...");
+  DBG("Trmt...\n");
  // printf("AT+IPR=%d", BAUDRATE); //FIXME
+  printf("ATZ"); //Reset
   wait(.100);
   printf("ATE"); //Deactivate echo
   wait(.500);
   flushBuffer();
   
-  DBG("\r\nATE OK.");
+  DBG("ATZ ATE...\n");
   
   int len = writeLine("ATV1");
   ATErr err = AT_OK;
@@ -217,7 +222,7 @@
 #if NET_USB_SERIAL
 ATErr ATIf::open(UsbSerial* pUsbSerial) //Deactivate echo, etc
 {
-  DBG("\r\nOpening...");
+  DBG("Opening...\n");
   m_isOpen = true; //Must be set so that the serial port-related fns work
   //Setup options  
   SerialBuf::attach(pUsbSerial);
@@ -234,7 +239,7 @@
   wait(.500);
   flushBuffer();
   
-  DBG("\r\nATE OK.");
+  DBG("ATZ ATE...\n");
   
   int len = writeLine("ATQ0 V1 S0=0 &C1 &D2 +FCLASS=0");//writeLine("ATQ0 V1 S0=0 &C1 &D2 +FCLASS=0");
   ATErr err = AT_OK;
@@ -246,7 +251,7 @@
     err = checkOK();
     if (err) //No ACK from module
     {
-      DBG("\r\nOpening port, error %d.", err);
+      DBG("Opening port, error %d.\n", err);
       if(err==AT_TIMEOUT)
         err = AT_NOANSWER;
     }
@@ -259,8 +264,10 @@
     return err;
   }
   
-  DBG("\r\nNo error.");
+  DBG("No error.\n");
+  #if 0//FIXME
   m_signalsEnable = true;
+  #endif
   //FIXME:
 //  m_pSerial->attach<ATIf>(this, &ATIf::onSerialInterrupt);
   
@@ -272,7 +279,7 @@
 {
   SerialBuf::detach(); //Detach serial buf
   m_isOpen = false;
-  m_signalsEnable = false;
+  //m_signalsEnable = false;
   return AT_OK;
 }
 
@@ -282,11 +289,12 @@
     return AT_CLOSED;
   
   int len=0;
-//  char c;
+  //char c;
   while(readable())
   {
-   /* c = */ getc();
- //   DBG("\r\n[%c] discarded.", c);    
+    //DBG("Readable\n"); 
+    /*c =*/ getc();
+    //DBG("\r\n[%c] discarded.", c);    
  //   wait(0.01);
     len++;
   }
@@ -335,6 +343,7 @@
   return AT_OK;
 }
 
+#if 0
 bool ATIf::onRead()
 {
   if(!m_signalsEnable)
@@ -378,6 +387,7 @@
   //m_isOpen = u_isOpen;
   return handled;
 }
+#endif
 
 ATErr ATIf::rawOpen(Serial* pSerial, int baudrate) //Simple open function for similar non-conforming protocols
 {
@@ -706,6 +716,7 @@
   return len;
 }    
 
+#if 0
 bool ATIf::handleSignal()
 {
   bool beg = false;
@@ -756,5 +767,6 @@
   
   return result;
 }
+#endif
 
 #endif