[hpsdr] Signal level discrepancy RA Utility / Multimeter
Joe Martin
k5so at k5so.com
Fri Feb 12 14:17:00 PST 2016
George,
Okay, thanks for the detailed info. I suspected the desired result is more involved to implement than a simple “using” declaration and from your message I see that it is.
Thanks again. I’ll give it a try!
73, Joe K5SO
On Feb 12, 2016, at 2:54 PM, George Byrkit wrote:
> Joe,
> I don't think it involved System.Net.NetworkInformation at all.
>
> You can see in the Kiss Konsole code some of the following:
> 1) create a NumberFormatInfo variable, maybe named 'nfi':
> NumberFormatInfo nfi = NumberFormatInfo.InvariantInfo; // so we are region
> independent in terms of ',' and '.' for floats (form1.cs around line 571)
> This requires " using System.Globalization;" to resolve. Not sure how the tag got on the
> NetworkInformation line!
>
> 2) use a construct like: 'BlockNBThreshold.ToString(nfi)' to create a string version of a
> float or double to write out
> 3) examine 'kkcsv.cs' to see reading in such a value. I used an overloaded method
> LookupKKCSVValue (on the default value, which is of the type that we want, say double,
> that you can cast down to a float): rcvr.BlockNBThreshold =
> (float)LookupKKCSVValue("NB1 Threshold", rcvr.BlockNBThreshold, value);
> 4) here it uses ' Convert.ToDouble(stringValueThatIsADoubleOrFloat, nfi);', which creates
> a double.
>
> All that reference of ', nfi' causes the invariant culture to be applied.
>
> A note to others: you cannot overload a method/function on return datatype, only on input
> parameters (arguments). So when I have overloads of 'LookupKKCSVValue', that relies on
> the type of the default value matching the return value, which gives a valid overload. If
> the default value is a double, the return value should be a double...
>
> Then it's just a matter of using "Split()" to split the CSV file line on "," (commas), and
> processing each item on the line appropriately.
>
> 73,
> George K9TRV
>
> -----Original Message-----
> From: Joe Martin [mailto:k5so at k5so.com]
> Sent: Friday, February 12, 2016 8:58 AM
> To: George Byrkit
> Cc: 'DK4RW'; hpsdr at lists.openhpsdr.org
> Subject: Re: [hpsdr] Signal level discrepancy RA Utility / Multimeter
>
> George,
>
> Thanks, I did try that earlier but I'll take a look at it again. As I recall simply using
> a "using System.Net.NetworkInformation" declaration as is done in KK didn't solve the
> issue for me earlier. Maybe there is more that needs to be done to make it invariant?
>
> Joe K5SO
>
> On Feb 12, 2016, at 5:01 AM, George Byrkit wrote:
>
>> Joe,
>> Your better course of action is to write the file with commas "," separating fields, and
>> periods "." separating parts of a floating point value, and ensure that you write and
> read
>> them with 'invariant culture'. That is you ensure that all floating point numbers are
>> read and written as if they were in the US. This is what Kiss Konsole has done with
>> considerable success. It also allows the files to be interchanged freely among hams.
>>
>> George K9TRV
>>
>> -----Original Message-----
>> From: Hpsdr [mailto:hpsdr-bounces at lists.openhpsdr.org] On Behalf Of Joe Martin
>> Sent: Thursday, February 11, 2016 10:43 PM
>> To: DK4RW
>> Cc: hpsdr at lists.openhpsdr.org
>> Subject: Re: [hpsdr] Signal level discrepancy RA Utility / Multimeter
>>
>> ***** High Performance Software Defined Radio Discussion List *****
>>
>> RA utility users:
>>
>> It appears that semicolon is a standard column delimiter. I believe if I include the
>> statement "sep=;" in the first line of the .csv file and use a semicolon in each line of
>> the two-column data to deliniate the columns when the data are written to disk things
>> should work for both EU region and US region computer settings for the RA .csv files.
>>
>> We'll see.
>>
>> 73, Joe K5SO
>
>
More information about the Hpsdr
mailing list