private static void parseVoltage(object sender, readArgs e) { VoltageChangedEventsArgs VoltArgs = new VoltageChangedEventsArgs(); try { ReadComplete -= parseVoltage; //expected result = :MEASUREMENT:MEAS1:VALUE 3.5414E0\n string rawResponse = RemoveCommonEscapeSequences(e.text); string[] response = rawResponse.Split(','); VoltArgs.Voltage = new double[response.Length]; for (int i = 0; i < response.Length; i++) { VoltArgs.Voltage[i] = double.Parse(response[i]); } VoltArgs.isValid = (response.Length > 0); // 9.9E37 is the scope return value for invalid measurement. } catch (Exception arg) { VoltArgs.isValid = false; } OnVoltageChanged?.Invoke(null, VoltArgs); }
protected void NotifyVoltageChanged() => OnVoltageChanged?.Invoke();