tail head cat sleep
QR code linking to this page

Man page  — TW

명칭

tw – TW-523 X-10 디바이스 드라이버

내용

해설

tw (은)는, X-10 Inc. 의 가정용 컨트롤 제품과 함께 사용하는, TW-523 전원 라인 인터페이스의 드라이버입니다. X-10 프로토콜은, Radio Shack 의 ``Plug 'n Power(tm)''나 스탠리의 ``Lightmaker(tm)''를 포함한, 많은 가정용 컨트롤 시스템과 호환성이 있습니다.

이 드라이버는 read() write() select() 의 시스템 콜을 서포트합니다. 드라이버는 복수의 프로세스에 읽고 쓰기를 할 수 있도록(듯이) 동작합니다만, 실제로는 복수의 독해 프로세스가 도달해 복수의 기입 프로세스가 있는 경우에는 의미가 없을지도 모릅니다. 또 현재 상태로서는, 실제로 두 프로세스가 동시에 송신을 하려고 하면(자), 경합 상태가 될 가능성이 있습니다 (tw_sc 속의 sc_pkt 구조체의 비동기의 액세스 구조에 의하는 것입니다).

송신은 write() (을)를 호출해, 3 바이트의 데이터 패킷을 송신하는 것에 의해 됩니다. 최초의 바이트는 4 비트의 하우스 코드 (0=A 에서 15=P 까지), 2 바이트째는 5 비트의 unit/key 코드 (0= 유니트 1 으로부터 15= 유니트 16 까지, 16= 전유니트 오프,31= 스테이터스 리퀘스트)입니다. 3 바이트째는, 연속해 사이를 비우지 않고 송신되는 패킷의 수를 지정합니다. 통상은 X-10 Inc. 의 문서에 따라서 이 값은 2 입니다만, 다른 값을 받을 수도 있습니다. write() 의 호출은 각각이 임의의 데이터 길이 (바이트수)를 지정할 수 있습니다만, 어느 호출에서도 최대 하나의 패킷 밖에 처리되지 않습니다. 불완전한 패킷은 계속되어 일어난다 write() 호출이 완전하게 데이터를 제공할 때까지 버퍼 됩니다. 연속한다 write() 의 호출에 대해서는, X-10 Inc. 의 문서에 따라, 3 사이클의 간격이 빼앗깁니다. 드라이버는 1 사이클에 3 회 비트를 보내도록(듯이) 정하고 있다 X-10 Inc. 의 문서와 달리, 반사이클에 1 비트씩 밖에 보내지 않습니다. 이것은 TW523 가 전원 라인이 제로점을 통과할 때의 동기 밖에 제공하고 있지 않기 때문입니다. 따라서 3 상교류의 상용 전원 서비스에서는 드라이버가 잘 동작하지 않을 가능성이 있습니다. 대부분의 주택에서는 이 드라이버가 작동하는 2 선의 전원을 사용하고 있습니다.

수신은 read() 그리고 실시합니다. 드라이버는, 3 캐릭터로부터 완성되는 패킷을 생성합니다. 각각의 패킷으로, 최초의 캐릭터는 플래그로부터 완성되어, 2 번째의 캐릭터는 4 비트의 하우스 코드 (0-15), 3 번째의 캐릭터는 5 비트의 key/function 코드 (0-31)로
#define TW_RCV_LOCAL    1 /* 로컬인 전송중에 패킷이 도착했습니다 */
#define TW_RCV_ERROR    2 /* 부정/망가진 패킷이 도착했습니다 */

select() 시스템 콜은, 통상 대로, 읽어낼 수 있는 데이터가 존재하고 있는지 어떤지를 확인하기 (위해)때문에, 사용 가능합니다.

관련 항목

xten(1), xtend(8)
X-10 Inc. 에 의한 TW-523 에 관한 문서

관련 파일

/dev/tw?
  TW523 디바이스형 특수 파일

저자

Eugene W. Stark <stark@cs.sunysb.edu>

FreeBSD TW (4) Oct 30, 1993

tail head cat sleep
QR code linking to this page


Ben Bullock이 유닉스 매뉴얼 페이지에서 서비스에 대한 의견을 주시기 바랍니다. Privacy policy.

A typical Unix /bin or /usr/bin directory contains a hundred different kinds of programs, written by dozens of egotistical programmers, each with its own syntax, operating paradigm, rules of use ... strategies for specifying options, and different sets of constraints.
— The Unix Haters' handbook