[comp.sys.apple] DataLink 2400

crash@pro-colony.UUCP (John Stephen III) (05/28/88)

The Datalink 2400 DOES support interrupts (after all, the Datalinker software
is a slightly modified TIC!).  I don't think the price is all that
unreasonable considering that you'd have to buy a serial card and all (and
most serial cards aren't FULLY compatable with the Apple SSC  ie - supporting
the Pascal interface which is the standard way of accessing serial devices
from machine language).  I have a Packard Bell PB1200+ which I paid $79 for (I
have a GS so I didn't need to get a serial card) and it works fairly well but
it is not perfect (I got what I paid for I suppose!).


  nnnnn   |
 / . . \  |  UUCP: [ ihnp4 sdcsvax nosc ] !crash!pnet01!pro-sol!pro-simasd!
(|  u  |) |                               !pro-colony!crash
 \ \_/ /  |  ARPA: crash!pnet01!pro-sol!pro-simasd!pro-colony!crash@nosc.mil
  \   /   |  ProLine: crash@pro-colony
/-->=<--\ |

hackman@pnet51.orb.mn.org (Otto "Hack-Man" Heuer) (09/17/89)

I have a DataLink 2400 internal modem.  With the macro language supplied,
is there a way to detect a busy signal (e.g.:  if busy goto foo).
They are apparently detecting a busy signal in their OnLine64 package,
but they're using Assembly Language macros and I don't really want to
wade through those to find the answer if at all possible.

Thanks in advance for any feedback.
                        --Otto
--
OO O  OO   OO  OO  O OO   O  OO  OO  O|UUCP|amdahl!bungia!orbit!pnet51!hackman
OO O OO O OO O OO O  OOO OO OO O OO  O|INET|hackman@pnet51.cts.com 
OO O OO O OO   OOO   OOO OO OO O OO  O|UUCP|chinet!orbit!pnet51!hackman 
OOOO OOOO OO   OO == OO O O OOOO OOO O|ARPAcrash!orbit!pnet51!hackman@nosc.mil
OOOO OOOO OO   OOO   OO O O OOOO OO OO|UUCP|uunet!rosevax!orbit!pnet51!hackman
OO O OO O OO O OO O  OO   O OO O OO OO|INET|ottoh@cfsmo.honeywell.com(in 1990)
OO O OO O  OO  OO  O OO   O OO O OO  O|UUCP|killer!orbit!pnet51!hackman 

delton@pro-exchange.cts.com (Don Elton) (09/18/89)

Comment to message from: bungia!orbit!pnet51!hackman@umn-cs.cs.umn.edu (Otto Hack-Man Heuer)

Here's the easiest way to detect a no connec with DataTerm or TIC:

set timer 30

# redial
xmit "ATDT 555-1212^M"
waitfor string "CONNECT"
if failed goto abort

# do login stuff here

stop

abort
hangup
goto redial

UUCP: [ ihnp4 cbosgd nosc ] !crash!pro-carolina!delton
ARPA: crash!pro-carolina!delton@nosc.mil
INET: delton@pro-carolina.cts.com

krb20699@uxa.cso.uiuc.edu (09/19/89)

     If you're using DataTerm (the modified TIC,) then all of the commands
will be in the manual.  The modem automatically tells whether the line is
busy, and prints "BUSY."  I don't know how to specifically tell a BUSY from a
"NO CARRIER" after no answer, but the BUSY response will show up under:
if failed goto foo
after a dialing command.  Past that...?

InterNet:        krb20699@uxa.cso.uiuc.edu        |    Ken Brownfield
    or  :        krb1517@uxf.cso.uiuc.edu         |    1010 South Second
   PLATO:        ken brownfield/unialum/cerl      |    Champaign, IL, 61820.
     or :        brownfield/dialup/cerl           |    1-217-384-6964
    ALPE:        ASA(I-can-afford-it)             |============================
-------------------------------------------------------------------------------
I'm 16 years old, a Sophomore Computer Engineer at the University of Illinois,
  and proud of it.  "The company I work for didn't give me this signon, so
everything I say above is legal, if not correct, right, authorized, or poetic."

dale@pro-colony.cts.com (System Operator) (09/19/89)

Network Comment: to #10114 by bungia!orbit!pnet51!hackman@umn-cs.cs.umn.edu

> CS-ID: #10114.apple.ii/info-apple@pro-colony 940 chars
> Date: Mon, 18 Sep 89 03:15:48 CST
> From: bungia!orbit!pnet51!hackman@umn-cs.cs.umn.edu (Otto Hack-Man Heuer)
> Subject: DataLink 2400
> 
> I have a DataLink 2400 internal modem.  With the macro language supplied,
> is there a way to detect a busy signal (e.g.:  if busy goto foo).
> They are apparently detecting a busy signal in their OnLine64 package,
> but they're using Assembly Language macros and I don't really want to
> wade through those to find the answer if at all possible.
> 
> Thanks in advance for any feedback.
> --Otto
> 

You need to set the appropriate error state.  You need to use one of the AT
commands to do this.  The info is in the manual.  You can then write a macro
that detects the busy string and tries to re-dial.

You can use the macros on the disk as an example and just change them to look
for a busy instead of just timing out (I know, I wrote all of those macros
when I worked for AE.)  The OnLine 64 program was written using the ModemWorks
& AmperWorks package by Morgan Davis Group (the same software ProLine is based
on).  I wrote the OnLine 64 program as well.  

If you want, the OnLine64 program is pretty easy to modify, and macros could
be added to it.  You would really need to purchase the ModemWorks package to
get the docs on all of the commands.

Good Luck.

Dale



==============================================================================
              proline: dale@pro-colony
              uucp   : crash!pnet01!pro-colony!dale
              inet   : crash!dale@pro-colony.cts.com
              arpa   : crash!pnet01!pro-colony!dale@nosc.mil
==============================================================================
                  >>>   pro-colony  214/370-7056  24 hours   <<<

hackman@pnet51.orb.mn.org (Otto Heuer) (09/22/89)

delton@pro-exchange.cts.com (Don Elton) writes:
>Here's the easiest way to detect a no connec with DataTerm or TIC:
>
>set timer 30
>
># redial
>xmit "ATDT 555-1212^M"
>waitfor string "CONNECT"
>if failed goto abort
>
># do login stuff here
>
>stop
>
>abort
>hangup
>goto redial
>

This works if you want to redial (or whatever) after *ANY* no-connect.  I was
trying to find a way to redial *only* on BUSY, and just go off somewhere else
if it receives a voice (no tone) or there is no answer.  I believe the code
you sent will redial on all three of these.

I'm still working on it.
             --Otto
--
OO O  OO   OO  OO  O OO   O  OO  OO  O|UUCP|amdahl!bungia!orbit!pnet51!hackman
OO O OO O OO O OO O  OOO OO OO O OO  O|INET|hackman@pnet51.cts.com 
OO O OO O OO   OOO   OOO OO OO O OO  O|UUCP|chinet!orbit!pnet51!hackman 
OOOO OOOO OO   OO == OO O O OOOO OOO O|ARPAcrash!orbit!pnet51!hackman@nosc.mil
OOOO OOOO OO   OOO   OO O O OOOO OO OO|UUCP|uunet!rosevax!orbit!pnet51!hackman
OO O OO O OO O OO O  OO   O OO O OO OO|INET|ottoh@cfsmo.honeywell.com(in 1990)
OO O OO O  OO  OO  O OO   O OO O OO  O|UUCP|killer!orbit!pnet51!hackman 

hackman@pnet51.orb.mn.org (Otto Heuer) (09/23/89)

krb20699@uxa.cso.uiuc.edu writes:
>
>     If you're using DataTerm (the modified TIC,) then all of the commands
>will be in the manual.  The modem automatically tells whether the line is
>busy, and prints "BUSY."  I don't know how to specifically tell a BUSY from a
>"NO CARRIER" after no answer, but the BUSY response will show up under:
>if failed goto foo
>after a dialing command.  Past that...?

I got a few replies to this question, but none really answered it.  Neither of
the manuals that come with the DataLink tell right out how to detect a busy
signal.  Through experimentation, I did manage to figure it out on my own (to
some extent).  Instead of:
  waitfor "Connect"
you have:
  waitfor "BUSY"
and then you can say things like:
  if found goto foo
but then you can't also look for "CONNECT" and other things, unfortunately, as
far as I can tell.

What would be nice is if you could have a switch/case statement.  I *think*
all you can check for is one ("BUSY" or "CONNECT" or "NO CARRIER" or ...).

Thanks for encouraging me to keep trying, though!
                --Otto
--
OO O  OO   OO  OO  O OO   O  OO  OO  O|UUCP|amdahl!bungia!orbit!pnet51!hackman
OO O OO O OO O OO O  OOO OO OO O OO  O|INET|hackman@pnet51.cts.com 
OO O OO O OO   OOO   OOO OO OO O OO  O|UUCP|chinet!orbit!pnet51!hackman 
OOOO OOOO OO   OO == OO O O OOOO OOO O|ARPAcrash!orbit!pnet51!hackman@nosc.mil
OOOO OOOO OO   OOO   OO O O OOOO OO OO|UUCP|uunet!rosevax!orbit!pnet51!hackman
OO O OO O OO O OO O  OO   O OO O OO OO|INET|ottoh@cfsmo.honeywell.com(in 1990)
OO O OO O  OO  OO  O OO   O OO O OO  O|UUCP|killer!orbit!pnet51!hackman