Feature request: Interactive QSO Machine?
I just built my Morserino-32 last night, and I am absolutely impressed! I had a look at the Github sight and a bit surprised to see the code for the Morserino-32 in an Open Source availability.
So... I was wondering, how hard would it be to add a feature to the Morserino? I am not an avid programmer, and I’m not for sure if how much room is left in the ESP-32, or let alone what this would take. What I was wondering, is if there was a way to emulate the MFJ-493? Back in the early 90’s or so, MFJ made a keyer that you could call a standard 3 x 2 QSO, and the little box would answer right back with a random callsign, and somewhat of a standardized QSO.
I happen to have an MFJ-493, and had a look at some of the contents of the EPROM. Now, I’m not for sure what language the EPROM was programmed in (I assumed something like BASIC, with calls to ML, there is a lot of random characters and whatnot throughout the code), but in some parts of the EPROM, you can see strings of variables in plain English.
A typical QSO from the MFJ-493 can be seen here:
Would it be possible to implement something like this in the Morserino-32? I can tell you from personally working with the MFJ-493, it does what it does by key words. So for instance, if you simply call:
Of course, nothing will happen. But, if you call the “standard” CQ, like this:
CQ CQ CQ DE KD9MED KD9MED K
The MFJ-493 will answer back with a QSO with whatever callsign you keyed in.
From what I can tell, some of the key words are RST, SIGS, QTH, K, NAME, WX, and QRZ, etc... Each of these when sent from your input will cause the MFJ-493 to echo back a similar response. So, if in the QSO, you have:
=~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2019.06.02 10:00:57 =~=~=~=~=~=~=~=~=~=~=~=
QSO Example from MFJ-493
MFJ-493 MEMORY KEYER VERSION 1.1.3. COPYRIGHT MFJ ENTERPRISES, 1994.
TYPE "[help]" (USING BRACKETS AND LOWER CASE LETTERS) FOR ON LINE HELP INDEX.
CQ CQ CQ DE KD9MED KD9MED KD9MED K
KD9MED DE KB5JNY KB5JNY K
KB5JNY DE KD9MED = GM ES TNX FER CALL = UR RST 579 579 ES QTH ROCHELLE IL
ROCHELLE IL = NAME HR IS MIKE MIKE = SO HW NW? = KB5JNY DE KD9MED K
KD9MED DE KB5JNY GM ES NICE TO MEET U = UR RST 5NN 5NN ES QTH ALBANY NY ALBANY NY = NAME HR IS DANA DANA = SO HW NW? = KD9MED DE KB5JNY K
KB5JNY DE KD9MED R OK DANA RIG HR IS QRP LABS QCX RUNNING 5 WTS TO LONG WIRE = WX IS SUNNY ES WARM ES ITS ABT 70 DEG RITE NW = BK TO U DANA = KD9MED DE KB5JNY K
KD9MED DE KB5JNY OK MIKE SOLID CPY = RIG HR 75A4 RUNNING 75 WTS TO DELTA LOOP = WX IS SUNNY ES WARM ES ITS ABT 70 DEG RITE NW = BK TO U MIKE KB5JNY DE KD9MED K
KB5JNY DE KD9MED R FB DANA MUST QRT SO I CAN KEEP A SKED SO WL SAY 73 DANA = TNX FB QSO ES CUL KB5JNY DE KD9MED K
KD9MED DE KB5JNY OK MIKE TNX FER CHAT CU AGN 73 MIKE KD9MED DE KB5JNY K
Having looked through the EPROM, other canned responses are MUST QRT SO I...
MOW THE YARD
WORK ON CAR
GO TO WORK
ANSWER THE PHONE
KEEP A SKED
GO TO BED
FIX MY RIG
GO TO THE STORE
SPEND TIME WITH KIDS
WORK SOME DX
WRITE SOME QSLS
GET A DRINK
ANSWER THE DOOR
DIG A HOLE (yes, really... this is buried in the code HI HI!)
TAKE OUT GARBAGE
DO THE LAUNDRY
WATCH THE BABY
You get the point... its basically a canned response with some random scripting calling variable names, QRTs, WX, RSTs, QTH’s, Rigs, etc...
If this is possible to do with the Morserino, I would like to contribute what I can with what minimal programming skills I have. I did look at the 4900+ lines of code for the Morserino, and I must say, it is a bit overwhelming, but from what I can tell, it is well written and organized.
Any thoughts on this???