read_data: 'Display last X-10 transmission received. 'Note that reading X10 only allows determining the house code and function. 'Therefore each TX should be set on Unit 1 and a different house code. direction=0 GOSUB set_direction 'SET direction xrange=0 'THIS ALLOWS THE PLIX CHIP TO DRIVE THE STATUS PORT GOSUB set_range 'SET DATA tx_flag=1 'assume that new data is online FOR z=0 TO 1 'GET 2 BYTES FROM PLIX enable=0 GOSUB set_enable 'set enable count=1 WHILE ready=0 GOSUB check_ready WEND nibble=2 GOSUB set_nibble 'SET nibble rangeLO=INP(sport) nibble=0 GOSUB set_nibble 'SET nibble rangeHI=INP(sport) xrange=0 IF (rangeLO AND &h10)=&h10 THEN xrange=xrange+&h1 IF (rangeLO AND &h20)=&h20 THEN xrange=xrange+&h2 IF (rangeLO AND &h80)=&h0 THEN xrange=xrange+&h4 IF (rangeHI AND &h10)=&h10 THEN xrange=xrange+&h8 IF (rangeHI AND &h20)=&h20 THEN xrange=xrange+&h10 IF z=0 THEN IF xrange>15 THEN xrange=xrange-16 ELSE tx_flag=0 'not new data IF z=0 THEN xhc=xrange ELSE xfc=xrange enable=1 GOSUB set_enable 'set enable count=1 WHILE ready=1 GOSUB check_ready WEND NEXT z 'GET ANOTHER BYTE FROM PLIX GOSUB what_house GOSUB what_function tx_time$=USING$("\ \",TIME$) IF tx_flag=1 THEN what$=tx_time$+" "+hc$+" "+fc$: GOSUB save_log RETURN