TI-H: IR Link status (was: expensive remote control)


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

TI-H: IR Link status (was: expensive remote control)




Hi,
For remote controling with the IR link you can 
find some examples at my page, I will also soon 
make and update that will let the user choose 
the output frequency.

The modes that uses the TI protocol are working
and enable chatting. And there are good chances
that file transfer will be possible after some
modifications.

Now to the Line State mode...
I have tested the IR Link with MChat in the Line 
State mode, and as I have expected there is a 
problem...I will try to explain this problem by
supposing we are using 1 line:

1- The 2 lines at both calculators are high(that
   means that the 2 PICs and the to calcs are
   outputting high)

2- Calc 1 set the line to low.

3- PIC 1 sens the change and it tells PIC 2 this.

4- PIC 2 recieves the info, and sets the line to low.

5- Now Calc 2 sens the line as low.

6- After some time(aprx. 1s) PIC 2 will send
  the state of the line to PIC 1 (this is made
  to prevent the system from halting).

7- PIC 1 recieves the info, and sets the line to low
  (PIC 1 was reading low from the line, but was 'trying'
   to output high, remeber it's an open-drain line)

8- No PIC 1 is not more able to detect if calc 1
  is 'trying' to output high, nor PIC 2 does that...
  the system halts...:(


To overrun this problem I modified the PIC program,
so that it only outputs a low signal only when
the PIC is reading a high signal from the line.
By using this it worked when running a program
(on the calc) that uses the TI protocol. But
when I tested it with MChat, this didn't work.
That's why:

After step 6 we would have:

7- PIC 1 recieves the info. But it sees that the
   line is low, so it don't do anything.

8- Now whenever calc 1 set the line high, it will
   detect a high signal and not a low one.

And this problem is only avaiable in the I2C
mode.
To solve this, here are some possibility I thought of:

-The most 'clean' one would be to add a transistor
 to the line that will enable the PIC to read the
 state of the line without influenting what the calcs
 reads.

-Another possibility is the change the MChat and
 make it compatible with the link.

-And the other possibility is the change MChat so
 that it won't use the I2C protocol, but the TI protocol
 , since this protocol is fully working.


Does anyone have some ideas? Which is the best possibility?

-- 
Sami Khawam
sKhawam@bigfoot.com
a9501901@unet.univie.ac.at
http://unet.univie.ac.at/~a9501901


Follow-Ups: