|
8 | 8 | using System.Globalization; |
9 | 9 | using System.IO; |
10 | 10 | using System.Linq; |
| 11 | +using System.Text.RegularExpressions; |
11 | 12 | using System.Threading.Tasks; |
12 | 13 |
|
13 | 14 | namespace NSD.UI |
@@ -71,6 +72,9 @@ public async void btnRun_Click(object sender, RoutedEventArgs e) |
71 | 72 | "ms" => acquisitionTime / 1e3, |
72 | 73 | "μs" => acquisitionTime / 1e6, |
73 | 74 | "ns" => acquisitionTime / 1e9, |
| 75 | + "SPS" => 1.0 / acquisitionTime, |
| 76 | + "kSPS" => 1.0 / (acquisitionTime * 1000.0), |
| 77 | + "MSPS" => 1.0 / (acquisitionTime * 1000000.0), |
74 | 78 | _ => throw new ApplicationException("Acquisition time combobox value not handled") |
75 | 79 | }; |
76 | 80 | //if (!double.TryParse(viewModel.DataRate, out double dataRateTime)) |
@@ -189,14 +193,14 @@ await Task.Run(() => |
189 | 193 | var pointsPerDecadeScaling = double.Parse(viewModel.LogNsdPointsDecadeScaling); |
190 | 194 | var minAverages = int.Parse(viewModel.LogNsdMinAverages); |
191 | 195 | //var minLength = int.Parse(viewModel.LogNsdMinLength); |
192 | | - var minLength = int.Parse((string)viewModel.SelectedLogNsdMinLength.Content); |
| 196 | + var minLength = int.Parse((string)viewModel.SelectedLogNsdMinLength.Content); |
193 | 197 | var nsd = await Task.Factory.StartNew(() => NSD.Log( |
194 | 198 | input: records.ToArray(), |
195 | 199 | sampleRateHz: 1.0 / acquisitionTimeSeconds, |
196 | 200 | freqMin: viewModel.XMin, |
197 | | - freqMax: viewModel.XMax, |
198 | | - pointsPerDecade, |
199 | | - minAverages, |
| 201 | + freqMax: viewModel.XMax, |
| 202 | + pointsPerDecade, |
| 203 | + minAverages, |
200 | 204 | minLength, |
201 | 205 | pointsPerDecadeScaling)); |
202 | 206 | spectrum = nsd; |
@@ -253,45 +257,6 @@ await Task.Run(() => |
253 | 257 | } |
254 | 258 | } |
255 | 259 |
|
256 | | - public void btnRateToTime_Click(object sender, RoutedEventArgs e) |
257 | | - { |
258 | | - if (!double.TryParse(viewModel.DataRate, out double dataRateTime)) |
259 | | - { |
260 | | - viewModel.Status = "Error: Invalid data rate value"; |
261 | | - return; |
262 | | - } |
263 | | - double dataRateTimeSeconds = (string)viewModel.SelectedDataRateUnitItem.Content switch |
264 | | - { |
265 | | - "Samples per second" => 1.0 / dataRateTime, |
266 | | - "Seconds per sample" => dataRateTime, |
267 | | - _ => throw new ApplicationException("Data rate combobox value not handled") |
268 | | - }; |
269 | | - |
270 | | - viewModel.AcquisitionTime = dataRateTimeSeconds.ToString(); |
271 | | - cbTime.SelectedIndex = 2; |
272 | | - } |
273 | | - |
274 | | - public void btnTimeToRate_Click(object sender, RoutedEventArgs e) |
275 | | - { |
276 | | - if (!double.TryParse(viewModel.AcquisitionTime, out double acquisitionTime)) |
277 | | - { |
278 | | - viewModel.Status = "Error: Invalid acquisition time value"; |
279 | | - return; |
280 | | - } |
281 | | - double acquisitionTimeSeconds = (string)(viewModel.SelectedAcquisitionTimebaseItem).Content switch |
282 | | - { |
283 | | - "NPLC (50Hz)" => acquisitionTime * (1.0 / 50.0), |
284 | | - "NPLC (60Hz)" => acquisitionTime * (1.0 / 60.0), |
285 | | - "s" => acquisitionTime, |
286 | | - "ms" => acquisitionTime / 1e3, |
287 | | - "μs" => acquisitionTime / 1e6, |
288 | | - "ns" => acquisitionTime / 1e9, |
289 | | - _ => throw new ApplicationException("Acquisition time combobox value not handled") |
290 | | - }; |
291 | | - viewModel.DataRate = (1.0 / acquisitionTimeSeconds).ToString(); |
292 | | - cbRate.SelectedIndex = 0; |
293 | | - } |
294 | | - |
295 | 260 | public class NsdSample |
296 | 261 | { |
297 | 262 | public double Frequency { get; set; } |
|
0 commit comments