Thanks Robie -- how did you ever figure that out? Great detective work. Thanks!
That doesn't explain why N1MM would work with the same settings tho. Are you using a FTDI or Prolific USB=>RS232 adapter? I wouldn't put anything past a Prolific driver.
Quote:I'm wondering...does LOGic send some initialization string to WinKey when first enabled, or at periodic intervals? If LOGic does send some initialization string to WinKey, what is in it? Does it send weight or spacing info? When weight and Farnsworth is set to "0" what is sent to WinKey?
I guess this is immaterial now, but you got my curiosity up and I checked the code. So if anyone cares, here it is: Yes, it still sets weight and farnsworth even if set to 0 in LOGic. Sent when first enabled:
When initializing WinKeyer, LOGic opens, the port, powers up DTR, waits 300 ms, clears the receive buffer, then calibrates as described in the WinKeyer manual (It sends 0x0 twice, waits 100 ms, then sends 0xff).
Then LOGic sends 0x0 0x4 0x55 to test the serial interface. It should get a byte back. If not, LOGic says "Improper initialization echo response from WinKey"
Then LOGic sends 0x0 0x2 to open winker. It reads one byte which is the WInkey version number, and displays it.
LOGic sends 0x18 0x0 (force PTT off)
LOGic sends 0x0e to turn on serial echo.
LOGic sends 0x4 0x8 or 0x4 0x0 to reverse paddles or not.
LOGic sends Chr(5) + Chr(Thisform.minwpm) + Chr(Thisform.maxwpm - Thisform.minwpm) + Chr(255)) to set the pot range.
LOGic sends 0x7 to read the pot and set speed.
LOGic sends CHR(0x10) + CHR(.firstext)) set First Extension
LOGic sends CHR(0x11) + CHR(.keycomp)) set precompensation
Now it sets WPM, farnsworth, and weight:
Chr(02) + Chr(.spinWPM.Value ) && WPM
&& We set farnsworth to WPM, but using the percentage control
Chr(0xd) + Chr(.spinWPM.Value + (.spinWPM.Value * (.spinFarnsworth.Value / 100)))) && farnsworth
Chr(3) + Chr(50 - .spinWeight.Value) && weight
Are you sorry you asked? hihi.
Happy new year!