Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 23 Jun 1997 21:49:31 -0600
From:      Steve Passe <smp@csn.net>
To:        "Louis A. Mamakos" <louie@TransSys.COM>
Cc:        Terry Lambert <terry@lambert.org>, jseger@freebsd.scds.com, current@FreeBSD.ORG
Subject:   Re: Activehome X10 Interface 
Message-ID:  <199706240349.VAA09063@Ilsa.StevesCafe.com>
In-Reply-To: Your message of "Mon, 23 Jun 1997 23:20:30 EDT." <199706240320.XAA22494@whizzo.TransSys.COM> 

next in thread | previous in thread | raw e-mail | index | archive | help
Hi,

> I just looked at this code again, and the CM11 protocol specification.  I think
> that the whole RI issue is a bit of a red herring; it's useful in the instance
> where the attached computer is powered down, and needs to be poked to start up
> again to handle received X10 traffic.  
> 
> Based on the documentation (and consistent with the code) the RI signal is
> asserted when an X10 transmission begins to be received.  Once the CM11 has
> received the multibyte sequence, it will begin to poll the computer once
> per second with a request (single byte of 0x5a) to have it's buffer read.

you are correct.  I dug up the doc and it basically says it will send POLL
bytes once there is data, and that there is no specific responce to the RI
signal.  So forget my suggestion for handling the RI signal, IGNORE IT!

the relevant part of the doc:

3.   X-10 Reception.

Whenever the interface begins to receive data from the
power-line, it will immediately assert the serial ring
(RI) signal to initiate the wake-up procedure for the PC.
Once the data reception is complete, the interface will
begin to poll the PC to upload its data buffer (maximum
10 bytes). If the PC does not respond, then the
interface's data buffer will overrun, and additional data
will not be stored within the buffer.

3.1  Interface Poll Signal.

In order to poll the PC, the interface will continually
send:

     Poll:      7   6   5   4   3   2   1   0
     Value:   0   1   0   1   1   0   1   0       (0x5a)

This signal will be repeated once every second until the
PC responds.

3.2  PC Response to the Poll Signal.

To terminate the interface's polling and initiate the
data transfer, the PC must send an acknowledgement to the
interface's poll signal. This acknowledgement is:

     Poll:      7   6   5   4   3   2   1   0
     Value:   1   1   0   0   0   0   1   1       (0xc3)

Notice that bit #2 of the PC transmission is not set,
indicating that this cannot be the beginning of a
transmission from the PC.

3.3  Interface Serial Data Buffer.

The buffer consists of 10 bytes defined as follows:

     Byte      Function
     0         Upload Buffer Size
     1         Function / Address Mask
     2         Data Byte #0
     3         Data Byte #1
     4         Data Byte #2
     5         Data Byte #3
     6         Data Byte #4
     7         Data Byte #5
     8         Data Byte #6
     9         Data Byte #7

The interface will only upload the specified number of
bytes within the buffer, and will not default to
uploading 10 bytes in every transmission. The number of
bytes to receive is thus specified in byte 0 of the
transmission.

The function address mask indicates whether the following
8 bytes should be interpreted as an address or as a
function. The position of the bit in the mask corresponds
to the byte index within the data buffer. If the bit is
set (1), the data byte is defined as a function, and if
reset (0), the byte is an address.

The data bytes are in the same format as for the Code
byte in the X-10 transmissions (i.e. Housecode:Device
Code or Housecode:Function).


I just put the complete doc in:

http://www.freebsd.org/~fsmp/HomeAuto/files/0711prot.txt

--
Steve Passe	| powered by
smp@csn.net	|            Symmetric MultiProcessor FreeBSD





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199706240349.VAA09063>