•Home
•Latest News
Controllers:
•RF2 port
•I/O port
•Software
•PVR integration
•Recommended TV cards
•Documentation
•FAQ
•Order
•Support / Contact Us
|
Dusky Control - Sky Controller Serial Protcool
Documentation
- Baud rate: 57600
- Bits: 8
- Flow control: none
- Parity: none
- Stop bits: 1
The controller is a standard RS232 DCE unit, so to connect it to a
standard DTE (eg. a PC) you would use a straight-wired 9-way D-type male to
female cable. The controller has a female 9-way D-type on it.
The pin out is ground on pin 5, the controller receives data on pin 3 and
transmits data on pin 2. (There are no hardware flow control signals.)
Commands can be sent as fast as you like. The controller will
automatically send to the sky boxes at the maximum rate the sky box can
handle reliably. (For certain operations it is possible for the Sky box
to respond slowly to the commands and hence build up a backlog, eg. sending
repeated 'down' to scroll the EPG - in these cases you may need to limit
the rate you send commands at.)
Command | Description
|
---|
ASCIIhex
| C | 0x43 | Send command, output number in next byte (output number
is based from zero - ie. for the output labelled '1' use 0x00 here, for
'2' use 0x01, etc. After output number, 2 binary bytes. (see below)
| A | 0x41 | Send command, pure ASCII version. (see below)
| q | 0x71 | Query firmware version
| p | 0x70 | 'ping' - makes controller respond 'OK'. Only available in
version 0.9.6 onwards. This command does not take any parameters.
| ProGraMmoDEB | | Set baud rate. Version 1.0.0 onwards.
Please contact us if you have versions 0.9.6, 0.9.7 or <0.9.5 and
need a different baud rate.
next byte (ASCII character):
'0': 300
'1': 600
'2': 1200
'3': 2400
'4': 4800
'5': 9600
'6': 14400
'7': 19200
'8': 38400
'9': 57600
So for example send the string 'ProGraMmoDEB7' to change the controller
to 19200
baud. The controller will reply 'OK' then move to the new baud rate on the
next power cycle. The setting will persist in EEPROM until another baud
command is issued. (The command is the string 'programmode' in mixed case
followed by B. The mixed case is to avoid any chance of an accidental change
to the baud rate.)
| s | 0x73 | Setup parameters, output zero part 1 (prefixed by ProGraMmoDE from 4.0.0)
| t | 0x74 | Setup parameters, output zero part 2 (prefixed by ProGraMmoDE from 4.0.0, removed from 4.0.3)
| u | 0x75 | Setup parameters, output one part 1 (prefixed by ProGraMmoDE from 4.0.0, removed from 4.0.3)
| v | 0x76 | Setup parameters, output one part 2 (prefixed by ProGraMmoDE from 4.0.0, removed from 4.0.3)
| 0 | 0x30 | Send command, output zero (that is, the output labelled
'Output 1'). Two binary bytes follow. [deprecated, using C / 0x43 instead].
| 1 | 0x31 | Send command, output one (the output labelled 'Output
2').
Two binary bytes follow. [deprecated, using C / 0x43 instead]
| B | 0x42 | Set baud rate. Next byte is as shown for 'ProGraMmoDEB'. [deprecated, was only available in
versions 0.9.5, 0.9.8 and 0.9.9.]
|
ASCII control
You can talk to controllers from V1.0.0 onwards using a pure ASCII
protocol. This is usually the method we recommend using for new applications.
Commands break down like this:
As01sk101x
^ x: end of ascii sequence
^^^ 101: channel number
^^ sk: send 'sky' button to make sure sky box is powered on and ready to accept channel number
^^ 01: output number (01, 02, ... ) - as labelled - 01 means the output labelled 'output 1' and so on
^ s: sending to sky (see 'box type, below)
^ A: start of ascii command
The full list of codes that can be sent is shown on
sky infrared control codes
Box type
The second character in ASCII protocol is the box type. It can take
the following values:
- 's' : Sky (original pre-HD non-PVR box)
- '+' : Sky+ (Sky+HD and SkyHD can also be controlled with the Sky+ codes)
- 'h' : Sky+HD (firmware version 1.0.7 and upwards only)
See the table at the bottom of sky
infrared control codes for box type values to use with the SPC4
(Super Plus Combiner).
ASCII Examples
Example | Meaning
|
---|
As018x | Send '8' to sky box on
output 1 of the controller
| As01sk999x | Send 'sky' then channel number 999 to sky box on
output 1 of the controller
| A+01sk999x | Send 'sky' then channel number 999 to
sky+/skyhd/sky+hd box on
output 1 of the controller
| As02sk888x | Send 'sky' then channel number 888 to sky box on
output 2 of the controller
| Ah15tgx | Send 'tv guide' to sky+HD box on
output 15 of the controller
|
Binary protocol
This is the original method for sending commands with our controllers. The
control sequence is a four bytes in binary / hex format.
The first byte is 0x43.
The second byte selects the output number to use (numbered
from 0).
The third and fourther bytes indicate the infrared
code to be sent, as found in the sky
infrared control codes.
For example, to send the digit '1' to a sky box on output labelled '1',
send the four bytes:
0x43 0x00 0x00 0x01
To send the digits '123' to a sky box on output labelled '1',
send the 12 bytes:
0x43 0x00 0x00 0x01 0x43 0x00 0x00 0x02 0x43 0x00 0x00 0x03
To send the digit '1' to a sky+ box on output labelled '1', send the
four bytes:
0x43 0x00 0x0C 0x01
To send the digit '1' to a sky+ box on output labelled '2', send the
four bytes:
0x43 0x01 0x0C 0x01
To send the 'sky' button to a sky+ box on output labelled '2'
(which will make sure
it is switched on and go back to the 'live tv' view), send the four bytes:
0x43 0x01 0x0C 0x80
To send the digit '1' to a sky+ box on the output labelled '5', send the
four bytes:
0x43 0x04 0x0C 0x01
Joseph Heenan, joseph@dusky-control.com
|