author | zecke <zecke> | 2002-10-24 20:43:25 (UTC) |
---|---|---|
committer | zecke <zecke> | 2002-10-24 20:43:25 (UTC) |
commit | 81a2bb8073b95d438911a62a7f4d8244ef58e20a (patch) (side-by-side diff) | |
tree | 2521c88de626caf818b715776934da204d6b0f8f /noncore/apps/opie-console/dialer.cpp | |
parent | 0fc598a0ee9151f82f5a78383645a758d5f6cad9 (diff) | |
download | opie-81a2bb8073b95d438911a62a7f4d8244ef58e20a.zip opie-81a2bb8073b95d438911a62a7f4d8244ef58e20a.tar.gz opie-81a2bb8073b95d438911a62a7f4d8244ef58e20a.tar.bz2 |
Modem is now working
Kindly called from Germany to Switzerland
via rfcomm( affix) + Nokia6210 + Vodafone...
But now it's working
might be a hangup problem somewhere
Diffstat (limited to 'noncore/apps/opie-console/dialer.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/apps/opie-console/dialer.cpp | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/noncore/apps/opie-console/dialer.cpp b/noncore/apps/opie-console/dialer.cpp index ce2b688..8524422 100644 --- a/noncore/apps/opie-console/dialer.cpp +++ b/noncore/apps/opie-console/dialer.cpp @@ -86,22 +86,25 @@ Dialer::~Dialer() } void Dialer::setHangupOnly() { state = state_cancel; usercancel = 1; + send("+++ATH\r"); } void Dialer::slotCancel() { if(state != state_online) { usercancel = 1; reset(); } - else accept(); + else { + accept(); + } } void Dialer::reset() { qWarning("reset"); switchState(state_cancel); @@ -137,15 +140,15 @@ void Dialer::trydial(const QString& number) { qWarning("TryDial:%s", number.latin1() ); if(state != state_cancel) switchState(state_preinit); if(cleanshutdown) { qWarning("HangupString " + m_profile.readEntry("HangupString")); - send(m_profile.readEntry("HangupString")); - //send("+++ATH"); - send(""); + //send(m_profile.readEntry("HangupString")); + send("+++ATH\r"); + //send(""); } if(state != state_cancel) { switchState(state_init); //send("ATZ"); @@ -184,13 +187,13 @@ void Dialer::trydial(const QString& number) qWarning("progress"); switchState(state_dialing); send(QString("ATDT %1\r").arg(number)); // send(QString("%1 %2").arg(m_profile.readEntry("DialPrefix1")).arg(number)); QString response5 = receive(); - if(!response5.contains("\n" + m_profile.readEntry("DefaultConnect"))) + if(!response5.contains("CONNECT") ) { if(response5.contains("BUSY")) switchState(state_dialing); else { QMessageBox::warning(this, @@ -198,15 +201,17 @@ void Dialer::trydial(const QString& number) QObject::tr("Dialing the number failed.")); slotCancel(); } } } + if(state != state_cancel) { - switchState(state_online); + state = state_online; + slotCancel(); } } void Dialer::send(const QString& msg) { QString m = msg; @@ -243,19 +248,22 @@ QString Dialer::receive() if(ret > 0) { for(int i = 0; i < ret; i++) buffer[i] = buffer[i] & 0x7F; buffer[ret] = 0; - //qWarning("Got: '%s'", buffer); + qWarning("Got: %s", buffer); buf.append(QString(buffer)); if(buf.contains("OK") || buf.contains("ERROR") || buf.contains("CONNECT") || (buf.contains("BUSY"))) { //qWarning("Receiving: '%s'", buf.latin1()); cleanshutdown = 1; return buf; + }else if (buf.contains("NO CARRIER") || buf.contains("NO DIALTONE") ) { + cleanshutdown = 1; + return QString::null; } } else if(ret < 0) { if(errno != EAGAIN) reset(); else if(!(counter++ % 100)) qApp->processEvents(); |