summaryrefslogtreecommitdiff
authorzecke <zecke>2002-10-24 20:11:15 (UTC)
committer zecke <zecke>2002-10-24 20:11:15 (UTC)
commit56c10d4383d5de607727ca8bd1ef1b9c8e2e3047 (patch) (side-by-side diff)
treee484aa872b706c665f5e8ea756cc4754df887c33
parent91e3749c56ce2fd1280ff2114ba3dc9301181b6d (diff)
downloadopie-56c10d4383d5de607727ca8bd1ef1b9c8e2e3047.zip
opie-56c10d4383d5de607727ca8bd1ef1b9c8e2e3047.tar.gz
opie-56c10d4383d5de607727ca8bd1ef1b9c8e2e3047.tar.bz2
intent to fix modem
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/opie-console/dialer.cpp28
-rw-r--r--noncore/apps/opie-console/io_modem.cpp8
-rw-r--r--noncore/apps/opie-console/io_serial.cpp22
-rw-r--r--noncore/apps/opie-console/io_serial.h2
-rw-r--r--noncore/apps/opie-console/test/senderui.cpp10
5 files changed, 54 insertions, 16 deletions
diff --git a/noncore/apps/opie-console/dialer.cpp b/noncore/apps/opie-console/dialer.cpp
index 5056040..ce2b688 100644
--- a/noncore/apps/opie-console/dialer.cpp
+++ b/noncore/apps/opie-console/dialer.cpp
@@ -60,7 +60,7 @@ Dialer::Dialer(const Profile& profile, int fd, QWidget *parent, const char *name
usercancel = 0;
cleanshutdown = 0;
- fcntl(m_fd, F_SETFL, O_NONBLOCK);
+// fcntl(m_fd, F_SETFL, O_NONBLOCK);
desc = new QLabel(QObject::tr("Dialing number: %1").arg(m_profile.readEntry("Number")), this);
progress = new QProgressBar(this);
@@ -103,6 +103,7 @@ void Dialer::slotCancel()
void Dialer::reset()
{
+ qWarning("reset");
switchState(state_cancel);
}
@@ -134,9 +135,11 @@ void Dialer::dial(const QString& number)
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("");
@@ -146,27 +149,31 @@ void Dialer::trydial(const QString& number)
{
switchState(state_init);
//send("ATZ");
- send(m_profile.readEntry("InitString"));
+ qWarning("Init String " + m_profile.readEntry("InitString") );
+// send(m_profile.readEntry("InitString", "AT"));
+ send("AT\r");
QString response2 = receive();
if(!response2.contains("\nOK\r"))
reset();
}
- if(state != state_cancel)
+/* if(state != state_cancel)
{
switchState(state_options);
- send("ATM3L3");
+ qWarning("ATM3l3");
+ send("ATM3L3\r");
QString response3 = receive();
if(!response3.contains("\nOK\r"))
reset();
}
+*/
if(state != state_cancel)
{
switchState(state_dialtone);
- send("ATX1");
+ send("ATX1\r");
QString response4 = receive();
if(!response4.contains("\nOK\r"))
reset();
@@ -174,10 +181,11 @@ void Dialer::trydial(const QString& number)
if(state != state_cancel)
{
+ qWarning("progress");
switchState(state_dialing);
- //send(QString("ATDT %1").arg(number));
- send(QString("%1 %2").arg(m_profile.readEntry("DialPrefix1")).arg(number));
+ 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")))
{
@@ -205,13 +213,15 @@ void Dialer::send(const QString& msg)
int bytes;
QString termination;
- //qWarning("Sending: '%s'", m.latin1());
+ qWarning("Sending: %s", m.latin1());
- termination = "\r";
+/* termination = "\r";
//termination = m_profile.readEntry("Termination");
if(termination == "\n") m = m + "\n";
else if(termination == "\r") m = m + "\r";
else m = m + "\r\n";
+*/
+ m = m.replace(QRegExp("\n"), "\r");
bytes = ::write(m_fd, m.local8Bit(), strlen(m.local8Bit()));
if(bytes < 0)
diff --git a/noncore/apps/opie-console/io_modem.cpp b/noncore/apps/opie-console/io_modem.cpp
index d4ea0b2..b7901b9 100644
--- a/noncore/apps/opie-console/io_modem.cpp
+++ b/noncore/apps/opie-console/io_modem.cpp
@@ -29,11 +29,13 @@ bool IOModem::open() {
bool ret = IOSerial::open();
if(!ret) return false;
- int fd = rawIO();
- Dialer d(m_profile, fd);
+// int fd = rawIO();
+ internDetach();
+ Dialer d(m_profile, m_fd);
int result = d.exec();
- closeRawIO(fd);
+ internAttach();
+// closeRawIO(fd);
if(result == QDialog::Accepted)
{
return true;
diff --git a/noncore/apps/opie-console/io_serial.cpp b/noncore/apps/opie-console/io_serial.cpp
index e6d1688..0540d9e 100644
--- a/noncore/apps/opie-console/io_serial.cpp
+++ b/noncore/apps/opie-console/io_serial.cpp
@@ -204,3 +204,25 @@ QBitArray IOSerial::supports()const {
bool IOSerial::isConnected() {
return m_connected;
}
+
+/*
+ * this is used to give the
+ * class below IOSerial
+ * the possibility of
+ * exclusive usage
+ */
+void IOSerial::internDetach() {
+ if (m_read )
+ disconnect(m_read, SIGNAL(activated(int)), this, SLOT(dataArrived()));
+ if (m_error )
+ disconnect(m_error, SIGNAL(activated(int)), this, SLOT(errorOccured()));
+}
+/*
+ * give power back
+ */
+void IOSerial::internAttach() {
+ if (m_read )
+ connect(m_read, SIGNAL(activated(int)), this, SLOT(dataArrived()));
+ if (m_error )
+ connect(m_error, SIGNAL(activated(int)), this, SLOT(errorOccured()));
+}
diff --git a/noncore/apps/opie-console/io_serial.h b/noncore/apps/opie-console/io_serial.h
index 7a1ea1d..edceac6 100644
--- a/noncore/apps/opie-console/io_serial.h
+++ b/noncore/apps/opie-console/io_serial.h
@@ -50,6 +50,8 @@ public slots:
void reload(const Profile &);
protected:
int baud(int baud) const;
+ void internDetach();
+ void internAttach();
protected slots:
void dataArrived();
void errorOccured();
diff --git a/noncore/apps/opie-console/test/senderui.cpp b/noncore/apps/opie-console/test/senderui.cpp
index 2ce3f6d..4026808 100644
--- a/noncore/apps/opie-console/test/senderui.cpp
+++ b/noncore/apps/opie-console/test/senderui.cpp
@@ -20,9 +20,9 @@ SenderUI::SenderUI()
/* we do that manually */
Profile prof;
- QString str = "/dev/ttyS0";
+ QString str = "/dev/bty0";
prof.writeEntry("Device",str );
- prof.writeEntry("Baud", 115200 );
+ prof.writeEntry("Baud", 19200 );
qWarning("prof " + prof.readEntry("Device") + " " + str);
ser = new IOSerial(prof);
@@ -51,13 +51,15 @@ void SenderUI::slotSendFile() {
void SenderUI::slotSend() {
QCString str = MultiLineEdit1->text().utf8();
qWarning("sending: %s", str.data() );
+ str = str.replace( QRegExp("\n"), "\r");
ser->send( str );
}
void SenderUI::got(const QByteArray& ar) {
+ qWarning("got:");
for ( uint i = 0; i < ar.count(); i++ ) {
printf("%c", ar[i] );
}
- //printf("\n");
+ printf("\n");
}
void SenderUI::fileTransComplete() {
@@ -72,4 +74,4 @@ qWarning("Going to receive!");
FileReceive *rev = new FileReceive( FileReceive::SZ, ser );
rev->receive();
-} \ No newline at end of file
+}