<div class="gmail_quote">On Tue, Aug 11, 2009 at 7:13 AM, w7upf <span dir="ltr"><<a href="mailto:donsay2@cox.net">donsay2@cox.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

I am still waiting for resolution of the "bug" in <wtRotator.exe> so I<br>
can use the degree "offset" feature.</blockquote><div><br>An attempt was made to fix this in version 4.1.0.  Unfortunately, it still doesn't work right. <br>
<br>
I also tried wt_dev 4.2.0-dev and wtRotators_dev 1.4.0-dev.  The "wtRotators dialogs go blank" problem present in wtRotators veresion 1.3 is fixed in 1.4.0-dev, but the offset calculation still has problems:<br>

<br>Example:<br><ol><li>Enter offset 20° in wtRotators, on the 20m antenna</li><li>Put Win-test on 20m<br></li><li>Enter beam heading 35 and press Ctrl-F12.  Rotator turns to 15° (OK).</li><li>Enter beam heading 20 and press Ctrl-F12.  Rotator turns to 0° (OK).</li>

<li>Enter beam heading 19 and press Ctrl-F12.</li><li>Bug:  rotator does not turn at all.<br></li></ol>In sum, wtRotators is still broken.<br><br>The logic seems to be:<br><br><div style="margin-left: 40px;"><span style="font-family: courier new,monospace;">moveRotatorTo = Heading - Offset;</span><br>

</div><br>and if the result is a negative number, it doesn't turn.  Oops.<br><br>Personally I'd like to see the dialog made more intuitive.  Entering an offset of 350° when your beam is 10° off seems somewhat counterintuitive.<br>

<br>Suggestion:  allow wtRotators to accept any offset from -180° to +180° (or -360° to +360°).  If your beam is twisted to the right, enter a positive (clockwise) offset.  If your beam is twisted to the left, enter a negative (counterclockwise) offset.<br>

<br>Then in C code we could write something like:<br><br><div style="margin-left: 40px;"><span style="font-family: courier new,monospace;">unsigned short Heading;       /* 0° - 359°      */</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">signed   short Offset;        /* -180° to +180° */</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">unsigned short moveRotatorTo  /* 0° to 359°     */</span><br style="font-family: courier new,monospace;">

<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">moveRotatorTo = (unsigned short)<br>  ( ( (signed short)Heading - Offset + 360 ) // 360 );</span><br></div><br>For those more familiar with math than programming languages, the "//" operator means "modulo", the remainder after dividing by 360 in this example.  This ensures that the result is always between 0 and 359 no matter what value you enter in Heading and Offset.<br>

<br>73,<br>Bob, N6TV<br></div></div>