Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of VodafoneUSBModem by
Diff: VodafoneK3770.cpp
- Revision:
- 18:1789a11d1892
- Parent:
- 12:66dc2c8eba2d
--- a/VodafoneK3770.cpp Sat Jul 28 14:33:57 2012 +0000 +++ b/VodafoneK3770.cpp Mon Jul 30 13:51:51 2012 +0000 @@ -21,7 +21,7 @@ SOFTWARE. */ -#define __DEBUG__ 0 +#define __DEBUG__ 3 #ifndef __MODULE__ #define __MODULE__ "VodafoneK3770.cpp" #endif @@ -480,22 +480,43 @@ return ret; } - #if USE_ONE_PORT - DBG("Configuring unsolicited result codes support properly"); - //Configuring port to enable 3GPP-compliant unsollicited response codes but disable Huawei-specific unsollicited response codes - ret = m_at.executeSimple("AT^CURC=0;^PORTSEL=1", NULL); //Huawei-specific, not 3GPP-compliant - if(ret != OK) + if(m_dongle.getDongleType() == WAN_DONGLE_TYPE_VODAFONEK3770) { - return NET_PROTOCOL; + INFO("Using a Vodafone K3770 Dongle"); + #if USE_ONE_PORT + DBG("Configuring unsolicited result codes support properly"); + //Configuring port to enable 3GPP-compliant unsollicited response codes but disable Huawei-specific unsollicited response codes + ret = m_at.executeSimple("AT^CURC=0;^PORTSEL=1", NULL); //Huawei-specific, not 3GPP-compliant + if(ret != OK) + { + return NET_PROTOCOL; + } + #else + //Configuring port to disable Huawei-specific unsollicited response codes + ret = m_at.executeSimple("AT^CURC=0", NULL); //Huawei-specific, not 3GPP-compliant + if(ret != OK) + { + return NET_PROTOCOL; + } + #endif } - #else - //Configuring port to disable Huawei-specific unsollicited response codes - ret = m_at.executeSimple("AT^CURC=0", NULL); //Huawei-specific, not 3GPP-compliant - if(ret != OK) + else if(m_dongle.getDongleType() == WAN_DONGLE_TYPE_VODAFONEK3772Z) { - return NET_PROTOCOL; - } - #endif + INFO("Using a Vodafone K3772-Z Dongle"); + //FIXME this returns %USBMODEM: [0] MODEM DRIVER<CR><LF><CR><LF><CR><LF>OK<CR><LF> which is not a compliant response + /* + //Configuring modem to directly boot into modem mode + ret = m_at.executeSimple("AT%USBMODEM=0", NULL); //Icera-specific, not 3GPP-compliant + if(ret != OK) + { + return NET_PROTOCOL; + } + */ + } + else + { + WARN("Using an Unknown Dongle"); + } ATCommandsInterface::ATResult result;