Skip to content

Commit

Permalink
Fix: Testpulse calculation failed if TP data is NaN
Browse files Browse the repository at this point in the history
In the case the test pulse data is completely NaN WaveStats can not
determine V_minRowLoc and V_maxRowLoc and returns a -1 in both.
This index was used unchecked and resulted in a RTE for invalid
wave index access.

This is now checked properly and NaN is returned for "instantaneous".

since
c5ed168 (TP_TSAnalysis: Change the way we calculate the instantaneous resistance, 2022-09-02)
  • Loading branch information
MichaelHuth committed Oct 21, 2023
1 parent a523d50 commit 24d2e84
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion Packages/MIES/MIES_TestPulse.ipf
Original file line number Diff line number Diff line change
Expand Up @@ -962,7 +962,12 @@ threadsafe Function/DF TP_TSAnalysis(dfrInp)
// as data is always too small for threaded execution, the values of V_minRowLoc/V_maxRowLoc are reproducible
WaveStats/P/Q/M=1/R=[refPoint, refPoint + 0.25 / sampleInt] data
instPoint = (clampAmp < 0) ? V_minRowLoc : V_maxRowLoc
instVal = data[instPoint]
if(instPoint == -1)
// all wave data is NaN
instVal = NaN
else
instVal = data[instPoint]
endif

#if defined(TP_ANALYSIS_DEBUGGING)
DEBUGPRINT_TS("instantaneous refPoint: ", var = instPoint)
Expand Down

0 comments on commit 24d2e84

Please sign in to comment.