[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