Vodafone K3770/K3772-Z modems driver & networking library

Dependencies:   Socket USBHostWANDongle lwip-sys lwip

Dependents:   VodafoneUSBModemHTTPClientTest VodafoneUSBModemNTPClientTest VodafoneUSBModemSMSTest VodafoneUSBModemUSSDTest ... more

Fork of VodafoneUSBModem_bleedingedge by Donatien Garnier

This is the driver for the Vodafone K3700 & K3772-Z Dongles:

K3770

More details and instructions can be found here.

Revision:
41:8bec5a8ea878
Parent:
37:c1fd83bd31b4
Child:
59:593fb493172f
diff -r 9c6c87297a37 -r 8bec5a8ea878 VodafoneUSBModem.cpp
--- a/VodafoneUSBModem.cpp	Thu Sep 20 08:04:43 2012 +0000
+++ b/VodafoneUSBModem.cpp	Fri Sep 21 11:10:32 2012 +0000
@@ -26,11 +26,23 @@
 
 #include "VodafoneUSBModem.h"
 
-VodafoneUSBModem::VodafoneUSBModem(PinName powerGatingPin /*= NC*/, bool powerGatingOnWhenPinHigh /* = true*/) : m_dongle(),
-m_atStream(m_dongle.getSerial(1)), m_pppStream(m_dongle.getSerial(0)), m_at(&m_atStream),
-m_sms(&m_at), m_ussd(&m_at), m_linkMonitor(&m_at), m_ppp(&m_pppStream), 
-m_dongleConnected(false), m_ipInit(false), m_smsInit(false), m_ussdInit(false), m_linkMonitorInit(false), m_atOpen(false),
-m_powerGatingPin(powerGatingPin), m_powerGatingOnWhenPinHigh(powerGatingOnWhenPinHigh)
+VodafoneUSBModem::VodafoneUSBModem(PinName powerGatingPin /*= NC*/, bool powerGatingOnWhenPinHigh /* = true*/) :
+   m_dongle(),                         // Construct WANDongle: USB interface with two serial channels to the modem (USBSerialStream objects)
+   m_atStream(m_dongle.getSerial(1)),  // AT commands are sent down one serial channel.
+   m_pppStream(m_dongle.getSerial(0)), // PPP connections are managed via another serial channel.
+   m_at(&m_atStream),                  // Construct ATCommandsInterface with the AT serial channel
+   m_sms(&m_at),                       // Construct SMSInterface with the ATCommandsInterface
+   m_ussd(&m_at),                      // Construct USSDInterface with the ATCommandsInterface
+   m_linkMonitor(&m_at),               // Construct LinkMonitor with the ATCommandsInterface
+   m_ppp(&m_pppStream),                // Construct PPPIPInterface with the PPP serial channel
+   m_dongleConnected(false),           // Dongle is initially not ready for anything
+   m_ipInit(false),                    // PPIPInterface connection is initially down
+   m_smsInit(false),                   // SMSInterface starts un-initialised
+   m_ussdInit(false),                  // USSDInterface starts un-initialised 
+   m_linkMonitorInit(false),           // LinkMonitor subsystem starts un-initialised
+   m_atOpen(false),                    // ATCommandsInterface starts in a closed state
+   m_powerGatingPin(powerGatingPin),   // set power gating pin
+   m_powerGatingOnWhenPinHigh(powerGatingOnWhenPinHigh) // set state semantics for power gating pin
 {
   if( m_powerGatingPin != NC )
   {