¿ªÔÆÌåÓý

sbitx-main and modem code organization and arch questions


 

I am using VS Code on a windows pc to try to understand the moem code in SBITX-MAIN. I want to understand the code in modem.cw.c
I think modem.cw.c covers a lot of ground, so I'm thinking that it might be possible (and a great code example) to break up modem.cw.c into separate 'modem' pieces

modem.straight-key.cw -
modem.iambic.cw -
modem.keyboard.cw -
modem.decoder.cw -
???.cw

modem.straight-key.cw should just poll the state of the straight key (with software debouncing) and transmit when key is down
Transmitting should take care of the key-down and key-up waveform shaping.
And is that all this super simple modem needs to do?

As a first step, I thought I would take modems.cw.c and just start commenting out everything that wan't required for straight-key reception (I know, a lot of functionality would stop working like cw decoding and paddle keyer support).

Is modems.c supposed to start and support the modem files that do the real work? I'm guessing somewhere in modems.c all of the modems would be started and initialized if required? How would I tell modems.c about my new modem_straight-key.cw ?

Any comments? Encouragement? Warnings / "don't try it Mike!"?

--
Mike KB2ML

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