I have decided to implement the main interface to the WSPR encoder such that you just pass in a single string containing the WSPR message you desire to encode. The object will return a pointer to a byte array containing the symbol set for that message. So the calling sequence will look like this:
WSPR : "ko7mWSPREncode"
Symbols := WSPR.encodeWSPR(string("KO7M CN87 27"))
I think this will be the most intuitive and least error prone. The returned value will point to an array of 162 bytes containing the symbol set.
repeat ich from 0 to 161
You can reference each byte with byte[Symbols][<index>] or you can treat the entire thing as a single string.
Things may change again, but I think this is the direction I am going. I plan to publish the final encoder in the Propeller Object Exchange at the Parallax site. I am investigating this opportunity now.