How long does a particular bit of Morse code take to transmit at a certain speed? This is a simple question, but when sitting down trying to design schemes for 10-minute-window QRSS, it doesn’t always have a quick and simple answer. Yeah, you could sit down and draw the pattern on paper and add-up the dots and dashes, but why do on paper what you can do in code? The following speaks for itself. I made the top line say my call sign in Morse code (AJ4VD), and the program does the rest. I now see that it takes 570 seconds to transmit AJ4VD at QRSS 10 speed (ten second dots), giving me 30 seconds of free time to kill.
Here’s the Python code I whipped-up to generate the results:
xmit=" .- .--- ....- ...- -.. " #callsign dot,dash,space,seq="_-","_---","_","" for c in xmit: if c==" ": seq+=space elif c==".": seq+=dot elif c=="-": seq+=dash print "QRSS sequence:\n",seq,"\n" for sec in [1,3,5,10,20,30,60]: tot=len(seq)*sec print "QRSS %02d: %d sec (%.01f min)"%(sec,tot,tot/60.0)
How ready am I to implement this in the microchip? Pretty darn close. I’ve got a surprisingly stable software-based time keeping solution running continuously executing a “tick()” function thanks to hardware interrupts. It was made easy thanks to Frank Zhao’s AVR Timer Calculator. I could get it more exact by using a /1 prescaler instead of a /64, but this well within the range of acceptability so I’m calling it quits!