I have a client that's using FlexLib Version 2.5.1.
I keep seeing this in an execution trace:
ParseInterlockStatus: Error - Invalid PTT Source (HWCW)
The PTTSource should probably be PTTSource.SW, but it's only set internally by the library code, see ParseInterlockStatus(). Note that the radio is in the cw mode.
I'm also seeing a lot of these Debug items:
Radio::ParseInterlockStatus: Invalid key/value pair ()
Can anybody shed some light as to what might be going on here?
First the interlock status from the radio ends with a space which create a trailing empty array element when the string is split up. You can ignore the "Radio::ParseInterlockStatus: Invalid key/value pair ()" .
If you want to rebuild the SDK insert the following code to ignore the empty element.
Radio.cs, ParseInterlockStatus method, first new line in "foreach (string kv in words)" loop
if (string.IsNullOrEmpty(kv)) continue;
Code now looks like
--- start of snipit --
foreach (string kv in words)
-- end of snipit --
Second there is a interlock source status value of HWCW coming from the radio which is not currently part of the PTTSource enumeration which causes the emission of this Debug message. You can also ignore this or again modify the SDK code to ignore this value or add to the enumeration to accept this value. You will have to decide if this information is useful. I would lean towards adding it to the enumeration and update the ParsePTTSource method.
public enum PTTSource
SW, // SmartSDR, CAT, etc
private PTTSource ParsePTTSource(string s)
PTTSource source = PTTSource.None;
case "SW": source = PTTSource.SW; break;
case "MIC": source = PTTSource.Mic; break;
case "ACC": source = PTTSource.ACC; break;
case "RCA": source = PTTSource.RCA; break;
case "HWCW": source = PTTSource.HWCW; break;