Files
OpsLog/internal
rouggy 15fdbce22a fix: WinKeyer 2 sent the dit/dah ratio to the key-compensation command
The byte trace from a real WK2 settled in one line what no amount of reading
could: "TX 11 32". Command 0x11 is SET KEY COMPENSATION in milliseconds, not the
dit/dah ratio — that is 0x17. So a neutral ratio of 50 asked for 50 ms of extra
key-down on EVERY element. At 25 wpm a dit is 48 ms, so elements more than
doubled and ran into each other: the reported "it sends one element, then a long
pause".

The ratio now goes out as 0x17, and the compensation is explicitly set to 0 —
merely stopping the wrong command would leave an affected keyer misbehaving,
since it keeps the value in EEPROM until something writes over it.

The init sequence is now built by a separate function so the BYTES are testable,
and a test pins each command number. These numbers are the contract with the
hardware, and a wrong one produces a fault that cannot be diagnosed from the UI
at all — this one cost the operator weeks and needed a trace to find.

This is why the fix waited for the trace rather than being guessed: the plausible
guesses (mode register, sidetone, WK1-vs-WK2 differences) were all wrong, and any
of them shipped blind would have broken the keyers that work today.
2026-07-29 14:53:18 +02:00
..
2026-07-21 18:26:34 +02:00
2026-07-03 19:08:50 +02:00
up
2026-06-14 01:35:40 +02:00
2026-07-04 11:39:33 +02:00
2026-07-27 00:16:17 +02:00
up
2026-06-15 23:45:14 +02:00
2026-06-07 01:11:37 +02:00
2026-07-21 21:48:23 +02:00
2026-06-11 21:54:35 +02:00
up
2026-06-15 23:45:14 +02:00
2026-07-09 17:32:13 +02:00
2026-07-26 16:57:19 +02:00
2026-07-26 16:57:19 +02:00
2026-07-26 16:57:19 +02:00