[Elecraft] KX3 sluggish keyer
Sven Ladegast
sven at ladegast.info
Mon Jun 9 12:57:09 EDT 2014
Hello folks,
I am experiencing from time to time that the KX3 internal keyer is kinda
"sluggish" and misses here and there a dot or the timing is weird. This
mostly happens at the beginning of transmissions.
I have tried another key (Kent double paddle) with my KX3 and I can
exclude it is the stock paddle which has contact problems. The key is
working fine on another external keyer.
It is extremely irritating and on some transmissions the ATU starts a
new tuning cycle (maybe critical tuning on antenna) and exactly in these
moments the keyer misses dots or dashes, often more than one.
It seems whenever the MCU has too much to do (tuning cycle of ATU, some
other task) the interrupts for the keyer input get lost and the actual
character is malformed.
It happens with MCU firmware 1.87 and 1.94beta.
This is an extremely annoying "feature" which I really would like to go
away in one of the next firmware releases.
From an embedded developer's point of view I would say that there is
too much code executed in interrupt service routines that block the MCU
from executing the keyer timing correctly.
I have found that parts of the stock paddle have been swapped out to
reduce the problem but in my opinion this will not cure the problem.
Since contact problems are contributing to the problem one might
experience a better keyer timing with exchanged or filed contacts at the
paddle but the "sluggish" feeling is still there.
I know that this is hard to find in the MCU firmware but there is one
directive a firmware developer should follow:
When entering an interrupt service routine interrupts must be disabled.
*No* code should be executed within an interrupt service routine,
instead flags should be set which enables the main loop to execute code
depending to that interrupt. The interrupt service routine itself should
be left as fast as possible and interupts should be re-enabled as fast
as possible.
It could also be a problem with some software debouncing algorithm that
is used on the keyer input lines. Without seeing any source it is hard
to tell where the problem is.
I hope that I gave a hint to the developers to look for?
vy 73!
Sven
PS: Feel free to contact me if further information is needed.
More information about the Elecraft
mailing list