System Overview
PAGE 6
3-WireRev6/00
microcontroller if there was an error resulting from the previous
command; second, in an error response, the number of argu-
ments is forced to be one, which is the error type code. The “TV
Command” byte returned by the microcontroller is forced to be
the “Error Code” response. This is a code that cannot be sent by
the “head end” computer, rather, it is a microcontroller to com-
puter message value only.
The “head end” computer must wait for a response from the
microcontroller before sending a subsequent command string.
There is no “stack” of commands from the “head end” computer,
so the microcontroller shall ignore any command strings received
before the initial string behaviors have been completed. No
response from the microcontroller shall be given to such com-
mands after the first one and before the first one has been
processed. In the event that the legitimate command is not
completed, due to the target TV not being present, or any other
error, the response from the microcontroller shall be the Error
Response with the appropriate Error Value. The maximum time
for the microcontroller to respond back to the “head end” com-
puter shall not exceed 6 seconds nor be less than 20mS. All
commands sent from the “head end” computer shall be respond-
ed to by the microcontroller with the correct command or error
response.
TV Directed Commands and Responses
The following are the commands that can be sent by the “head
end” computer to indiv
idual TVs in the system. All commands
not defined in this document at this time are reserved for future
use and should not be implemented or included in any “head
end” computer software interface device behavior. Performance
may be unpredictable for any undefined commands used. Note
that the specific information used by the microcontroller to cre-
ate the response message depends entirely on the data received
from the TV to which the command was directed. The specifics
of such data are detailed in a later section of this document and
in the MPI specification, 28-3977. Important: The portion of
the responses from the microcontroller that refer to the TV’s
Volume Level are not valid as of Feb. 2001. This is due to the
current model TVs’ inability to provide such information. The
response data received from the target TV will always show $00
for TVs regardless of the actual volume setting until such time as
the appropriate behavior is incorporated into the future models
of TV sets.
Command $01: Request TV Status
Arguments SENT from “head end” computer: none
Arguments RETURNED to “head end” computer: 2
Description: returns the signal, power, channel, and volume (if
available from TV) information
Data: the returned data is two 8-bit bytes, organized as follows:
Data Byte 1 (first data byte received):
Bit Description
7 TV Power, 1=ON, 0=OFF
6 TV Signal Status, 1=GOOD, 0=BAD
5-0 TV Volume Level (00=min, 63=max; this is not
available in all model TVs)
Data Byte 2 (second data byte received)
Bit Description
7-0 Channel Number, 00-FF (See MPI specification
for certain channel number definitions)
Example
“head end” computer sends: 01 01 80 01 00 83,
which means: “head end box” 01, TV number 8001, request sta-
tus, no arguments, check sum the microcontroller responds: 01
01 80 01 02 D4 09 62
which means: “head end box” 01, TV number 8001, status mes-
sage, 2 arguments, {power ON, signal GOOD, volume at 20/63},
{channel 9}, check sum.
Command $02: Turn TV ON
Arguments SENT from “head end” computer: none
Response: same as for Command $01.
Description: sends a command to the target TV to turn that TV’s
power ON
Example
“head end” computer sends: 01 01 80 02 00 84,
which means: “head end box” 01, TV number 8001, Turn TV ON,
no arguments, check sum the microcontroller responds: 01 01
80 02 02 D4 09 63
which means: “head end box” 01, TV number 8001, Power On, 2
arguments, {power ON, signal GOOD, volume at 20/63}, {channel
9}, check sum.
Command $03: Turn TV OFF
Arguments SENT from “head end” computer: none
Response: Status bytes, same as for Command $01.
Description: sends a command to the target TV to turn that TV’s
power OFF
Example
“head end” computer sends: 01 01 80 03 00 85,
which means: “head end box” 01, TV number 8001, Turn TV OFF,
no arguments, check sum
the microcontroller responds: 01 01 80 03 02 54 09 E4
which means: “head end box” 01, TV number 8001, Power OFF, 2
arguments, {power OFF, signal GOOD, volume at 20/63}, {chan-
nel 9}, check sum.
Command $04: TUNE CHANNEL
Arguments SENT from “head end” computer: 1; range of $00-$FF
Response: Status bytes, same as for Command $01.