[hpsdr] Change request for PowerSDR/OpenHPSDR mRX PS

Ton PA0TBR pa0tbr at mubo.nl
Tue May 19 09:29:14 PDT 2015


Hello Doug & Warren,

Would it be possible to include the patches below in a future release of
PowerSDR/OpenHPSDR mRX PS?

When using digital modes like JT65, it is possible to run multiple
instances of software, like for WSJT. In combination with an ANAN
transceiver this allows to monitor 2 different bands concurrently (and
hopefully more in future).
The CAT commands TX and FA are used by this software, independent of the
instance used. This is a bit of a pain and confusing.

I have connected the first instance to the CAT(1) and the 2nd instance to
CAT2 on HPSDR.
The patches will select the proper VFO for the instance (CAT port) for
frequency changes and also for transmit.
Instance #1, connected to CAT(1) controls VFOA and when the transmitter is
keyed, it selects VFOA for transmit. Likewise, instance #2, connected to
CAT2 controls VFOB and when the transmitter is keyed, it selects VFOB for
transmit.
When a VFO is adjusted in HPSDR, the corresponding instance of WSJT will
follow too.

I think that it is necessary to add a flag in the CAT instances to enable
of disable this patch.
When the number of receivers are increased, it would be very nice if there
is a corresponding CAT port for each receiver.


My changes are between:  // pa0tbr start  and  // pa0tbr end

Changes in public class SIOListenerII(Console c) are:

        private void SerialRXEventHandler(object source, SerialRXEvent e)
        {
            ...
            ...

            CommBuffer.Append(e.buffer);                                 //
put the data in the string
            if (parser != null) // is the parser instantiated
            {
                //bufferLen = CommBuffer.Length;
                try
                {
                    Regex rex = new Regex(".*?;"); //accept any string
ending in ;
                    string answer;
                    uint result;

                    for (Match m = rex.Match(CommBuffer.ToString());
m.Success; m = m.NextMatch()) //loop thru the buffer and find matches
                    {
                        //testTimer1.Start();
// pa0tbr start
                        if (m.Value.Equals("TX;")) answer =
parser.Get("ZZSW0;");             // Select VFO A for Transmit
// pa0tbr end
                        answer = parser.Get(m.Value);
            //send the match to the parser
                        ...
                        ...

and:
        private void SerialRX2EventHandler(object sender, SerialRXEvent e)
        {
            ...
            ...
            CommBuffer.Append(e.buffer);                                 //
put the data in the string
            if (parser != null) // is the parser instantiated
            {
                //bufferLen = CommBuffer.Length;
                try
                {
                    Regex rex = new Regex(".*?;"); //accept any string
ending in ;
                    string answer;
// pa0tbr start
                    string value;
                    bool atob = false;
// pa0tbr end
                    uint result;

                    for (Match m = rex.Match(CommBuffer.ToString());
m.Success; m = m.NextMatch()) //loop thru the buffer and find matches
                    {
                        //testTimer1.Start();
// pa0tbr start
                        value = m.Value;
                        if (value.Equals("TX;")) answer =
parser.Get("ZZSW1;");             // Select VFO B for Transmit

                        if (value.StartsWith("FA"))
                // If frequency change, change frequency of VFO B
                        {
                            atob = true;
                            value = value.Replace("FA", "FB");
                 // Translate request
                        }

                        //answer = parser.Get(m.Value);
                //send the match to the parser
                        answer = parser.Get(value);
                //send the match to the parser

                        if (atob)
                        {
                            answer = answer.Replace("FB", "FA");
                 // Translate reply
                        }
                        atob = false;
// pa0tbr end
                        //testTimer1.Stop();
                        ...
                        ...

Please do let me know if more info is needed.

73,
Ton PA0TBR
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openhpsdr.org/pipermail/hpsdr-openhpsdr.org/attachments/20150519/3cad5f9f/attachment-0002.htm>


More information about the Hpsdr mailing list