# 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 ```c //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) ```c //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 ```c typedef enum enSimpleToneBurst { SEC_MINI_A, SEC_MINI_B } SIMPLE_TONE_BURST; ``` ## IV. DiSEqC Command Structure ```c 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 1. Create the `DISEQC_COMMAND` Structure 2. Set `ucMessage[0]` to either `SEC_MINI_A` or `SEC_MINI_B` 3. Set `ucMessageLength` as `1` ### ii. To send DiSEqC commands 1. Create the `DISEQC_COMMAND` Structure 2. Set the Framing value to `ucMessage[0]` (e.g. `0xE0`) 3. Set the Device Address to `ucMessage[1]` (e.g. `0x01`) 4. Send the Command for the Device to `ucMessage[2]` 5. If required, set the Data bytes `ucMessage[3]`, `ucMessage[4]`, `ucMessage[5]` 6. Set `ucMessageLength` accordingly. Valid values are 3 to 6.