rel wrote:
F5, F6, F7 : these are to set the status of "22khz" and "polarity" at the output ports of the switch.
...
No , it doesnt.
Here is the quote from the Diseqc spec that deals with switch changing:
====
"9.1. Write Port Group
In addition to the specific command bytes (‘2x’) which set or clear individual switch states, there are commands which can control groups of 4 switching lines by employing an additional (data) byte. The new switching combination is defined by the data byte within the command, and is arranged such that any combination of individual switches can be either updated or left in their previous state. This is achieved by allowing the two separate nibbles of the data byte to determine the switches’ state in different ways. Any bits set in the high nibble CLEAR the corresponding switch control lines and any bits set in the low nibble SET the corresponding lines. To ensure predictable operation the high nibble should always effectively be applied first, followed immediately by the low nibble. Thus if a group of four lines is initially set to ‘WXYZ’ (where W, X, Y and Z are each an arbitrary binary value, ‘0’ or ‘1’) and a write data byte ‘0011 0101’ is sent, then the resulting switching lines become ‘W101’. To set up all four lines, it is usually most convenient to make the high nibble ‘1111’ and define the required switching state in the low nibble."
====
The complete spec should be attached.
The important thing to note is that the bits in the upper nibble CLEARS the switch and those in the lower nibble SET the switch. There is is no mention of polarity or 22khz selection for command 0x38.
Here is an excerpt from BDA.LOG (I tried to attach the whole thing but it wouldn't accept it for some reason. I had to rename it to BDA.TXT.):
[01/14/08 06:36:19 : 3562] SendDiseqc() E0 11 38 F1 Len:4
[01/14/08 06:36:19 : 3765] SendDiseqc() E0 11 38 F1 Len:4
[01/14/08 06:36:20 : 3968] SendDiseqc() E0 11 38 F1 Len:4
[01/14/08 06:36:20 : 4171] SendDiseqc() E0 11 38 F1 Len:4
[01/14/08 06:36:20 : 4375] SendDiseqc() E0 10 38 F2 Len:4
[01/14/08 06:36:20 : 4375] SendDiseqc() E0 10 38 F2 Len:4
[01/14/08 06:36:20 : 4375] SendDiseqc() E0 10 38 F2 Len:4
[01/14/08 06:36:20 : 4375] SendDiseqc() E0 10 38 F2 Len:4
I have the repeat parameter set to 4 which is why there are 4 each. Note that it properly sent my custom commands, and then promptly overwrote them with commands of its own.
I haven't actually hooked any equipment up to the antenna wire to see what its really doing, but this is what the log file says.