Includes original BDA driver source (headers, C++ implementation, INF installer files), DiSEqC implementation PDF with extracted markdown and SVG vector graphics.
2.3 KiB
2.3 KiB
DiSEqC for the GenPix Skywalker-1 BDA Driver (Extended)
Implementation Guidelines for Applications
Author: Devendra | Created: 2009-07-09 | Source: Microsoft Office Word 2007
I. GUID for the SkyWalker1 Extended property
//Used to extend the feature of the BDA
//{0B5221EB-F4C4-4976-B959-EF74427464D9}
#define STATIC_KSPROPSETID_BdaExtendedProperty \
0x0B5221EB, 0xF4C4, 0x4976, 0xB9, 0x59, 0xEF, 0x74, 0x42, 0x74, 0x64, 0xD9
DEFINE_GUIDSTRUCT("0B5221EB-F4C4-4976-B959-EF74427464D9", KSPROPSETID_BdaExtendedProperty);
#define KSPROPSETID_BdaExtendedProperty DEFINE_GUIDNAMED(KSPROPSETID_BdaExtendedProperty)
II. Extended Property List (Only DiSEqC support is extended)
//Extended Property List
typedef enum __KSPROPERTY_EXTENDED
{
/* DiSEqC Command */
//Used to send the Digital Satellite Equipment Control (DiSEqC)
//Commands by application
KSPROPERTY_BDA_DISEQC = 0, //Extension Property 1
} KSPROPERTY_EXTENDED;
III. Enumeration for the Simple Tone Burst
typedef enum enSimpleToneBurst
{
SEC_MINI_A,
SEC_MINI_B
} SIMPLE_TONE_BURST;
IV. DiSEqC Command Structure
typedef struct __DISEQC_COMMAND
{
UCHAR ucMessage[MAX_DISEQC_COMMAND_LENGTH];
/* Byte - 0 : Framing,
Byte - 1 : Address,
Byte - 2 : Command,
Byte - 3 : Data[0],
Byte - 4 : Data[1],
Byte - 5 : Data[2] */
UCHAR ucMessageLength;
/* The Valid values for DiSEqC Command are 3...6
If this value is 1 then Byte 0 is taken as Simple "Tone Burst"
Control Command */
} DISEQC_COMMAND, *PDISEQC_COMMAND;
V. Operation
i. To send the Simple Burst command
- Create the
DISEQC_COMMANDStructure - Set
ucMessage[0]to eitherSEC_MINI_AorSEC_MINI_B - Set
ucMessageLengthas1
ii. To send DiSEqC commands
- Create the
DISEQC_COMMANDStructure - Set the Framing value to
ucMessage[0](e.g.0xE0) - Set the Device Address to
ucMessage[1](e.g.0x01) - Send the Command for the Device to
ucMessage[2] - If required, set the Data bytes
ucMessage[3],ucMessage[4],ucMessage[5] - Set
ucMessageLengthaccordingly. Valid values are 3 to 6.