Re: TI-H: Mac Link


[Prev][Next][Index][Thread]

Re: TI-H: Mac Link




>From: pepsi <pepsi@chicagonet.net>
>>>>From: Dan <danti@applecyber.dyndns.com>
>>>>The three wires are Data (red), Clock (white), and ground... it is
>>>serial... so if you wanna make a link... do some research... actually,
>lots
>>>>of it...
>>>
>>>
>>>The names Data and Clock are misleading, they would be more
>>>properly called "1" and "0", due to the way the TI uses them for
>>>transfering data.  Who came up with 'Data' and 'Clock' anyway?
>
>>
>>hmm.... now this thing about the Clock not being Clock got me confused...
>>does the calculator control the clock or not?
>
>
>There is no 'clock' line.  The red and white wires are both used to transmit
>data and ack bits.  If the calc needs to transmit a '1' bit, it pulls the
>Red
>wire to ground, the other calc sees that wire go to ground, and acks the
>bit by pulling the White wire to ground.  Both calcs then clear the lines,
>and the sending calc sends the next bit.  If it is a '0' bit, it pulls the
>White
>wire to ground, and the receiving calc pulls the red wire to ground to
>ack.
>
>I may have mixed up the wire colors there, I always have to check to
>be sure I have the right colors.
>
>Either way, thats why I say they would be called something like '0'
>and '1' instead of 'Clock' and 'Data', because there is no clock,
>and data is transmitted on both wires.
>
>>if not, what speed should i use?  but it seems like the calculator does
>>control the clock as speeds seem variable for people
>
>
>When receiving just ack the bits when they come in and then clear
>the lines.  You might wait for the sending wire to be released before
>releasing your wire, but if you are using windows that probably won't
>be a problem, depending on your system and the speed of the calculator,
>you probably won't be able to clear the line faster than the calc can
>recognize the ack anyway.
>
>Try it both ways, see if the calc will raise the sending line with your
>ack line down, if so you can probably do it that way to provide more
>reliable communication.  I don't really know for sure tho, been a long
>time since I did anything with it.

I wrote a faq, which has been up on my www site for a few months now...

Lets send/receive to the calc/avr...

Tip of plug:Data0
Mid of plug:Data1

Send:
To send a '1':
1.  Clear Data1
2.  Wait for Data0 to go low
3.  Pull Data1 high
4.  wait for Data0 to go high
To send a '0':
1.  Clear data0
2.  wait for Data1 to go low
3.  pull data0 high
4.  wait for Data1 to go high

Receive:
1.  Wait for Data0 or Data1 to go low
	a.  Data0 is low
		A.  record in low bit
		B.  Clear Data1
		C.  Wait Data0 go high
		D.  Pull Data1 and Data0 high
	b.  Data1 is low
		A.  record in high bit
		B.  Clear Data0
		C.  Wait Data1 go high
		D.  Pull Data1 and Data0 high


Follow-Ups: References: