¿ªÔÆÌåÓý

Re: Sbitx #165 received today, thoughts.


Anthony Good
 

¿ªÔÆÌåÓý

Inter-process communications (IPC). ?There are several ways to do it in Unix. ?I don¡¯t have experience with it, but time to learn! ?:-)

Something to consider is that the lightweight process reading the I/O lines wouldn¡¯t be merely poking the main process when there is a paddle I/O line transition. ?That wouldn¡¯t really accomplish anything and would still be very time sensitive. ?If the lightweight process recorded I/O line transitions based on time and sent that information to the main process for processing, any latency or jitter in the IPC or execution of main process wouldn¡¯t be nearly as crucial. ?

For example, the lightweight process could send to the main process something like:

DIT_KEY_DOWN 0.000 mS
DIT_KEY_UP 1.500 mS
DIT_KEY_DOWN ?3.750 mS
DAH_KEY_DOWN 3.800 mS

etc.

Keep in mind DIT_KEY_DOWN, DIT_KEY_UP, etc. are just representing something like byte values that are sent, and the times would probably be in an integer. ?We wouldn¡¯t send big clunky ASCII strings down the IPC pipe.

I had some experience developing a protocol like this for my Arduino keyer, where you could connect two keyers via IP and have code sent on one keyer via any means (keyboard, paddle, straight key) come out the other keyer with exactly the same timing as the source. ?The protocol was rather simple, but very efficient and pretty much immune to high latency and jitter. ?(I never used it on the air and I doubt anyone has, but it was a good academic exercise.)

So, we¡¯re not sending specific CW element times, but I/O line transition times. ?The main process would translate these into CW, and in iambic paddle mode would interpret CW element insertion. ?For straight key operation, the I/O line transition times would correspond directly to key down and key up times.

But come to think of it, I could implement something like this within the paddle I/O line interrupt service routine right now, without all the trouble of another process, using an array to store the transitions¡­. hmmmm. ?I will explore this.

73
Goody
K3NG





On Oct 3, 2022, at 11:39, Bob Benedict, KD8CGH <rkayakr@...> wrote:

Anthony
If you spin off a thread that does a good job of monitoring events with low latency how do you get that info back to the main process in a timely way?
Have you just added another latency in the process chain?
Is it turtles all the way down?
Allison
I'm also used to the excellent QSK? performance of Elecraft rigs. I had a K2 and KX1 and now enjoy a vintage K3 and a KX3.
--
73
??? Bob? KD8CGH

Join [email protected] to automatically receive all group messages.