@@ -3019,49 +3019,49 @@ End
3019
3019
/// - 1: Amplifier bias current (Current Clamp)
3020
3020
/// - 2: (Peak/Instantaneous) Resistance
3021
3021
/// - 3: (Steady State) Resistance
3022
- /// - 4: Time in s (arbitrary zero)
3023
- /// - 5: Delta time in s relative to the entry in the first row of layer 3
3024
- /// - 6: (Steady State) Resistance slope
3025
- /// - 7: Pressure in psi
3026
- /// - 8: Timestamp since igor epoch (*with* timezone offsets)
3027
- /// - 9: Timestamp in UTC since igor epoch
3028
- /// - 10: Pressure changed
3029
- /// - 11: Holding current (pA, Voltage Clamp)
3030
- /// - 12: Vrest (mV, Current Clamp)
3031
- /// - 13: AD channel
3032
- /// - 14: DA channel
3033
- /// - 15: Headstage
3034
- /// - 16: ClampMode
3035
- /// - 17: UserPressure
3036
- /// - 18: PressureMethod (see @ref PressureModeConstants)
3037
- /// - 19: ValidState (true if the entry is considered valid, false otherwise)
3038
- /// - 20: UserPressureType (see @ref PressureTypeConstants)
3039
- /// - 21: UserPressureTimeStampUTC timestamp since Igor Pro epoch in UTC where
3022
+ /// - 4: Delta time in s relative to the entry in the first row of layer 3
3023
+ /// - 5: (Steady State) Resistance slope
3024
+ /// - 6: Pressure in psi
3025
+ /// - 7: Timestamp since igor epoch (*with* timezone offsets)
3026
+ /// - 8: Timestamp in UTC since igor epoch
3027
+ /// - 9: Pressure changed
3028
+ /// - 10: Holding current (pA, Voltage Clamp)
3029
+ /// - 11: Vrest (mV, Current Clamp)
3030
+ /// - 12: AD channel
3031
+ /// - 13: DA channel
3032
+ /// - 14: Headstage
3033
+ /// - 15: ClampMode
3034
+ /// - 16: UserPressure
3035
+ /// - 17: PressureMethod (see @ref PressureModeConstants)
3036
+ /// - 18: ValidState (true if the entry is considered valid, false otherwise)
3037
+ /// - 19: UserPressureType (see @ref PressureTypeConstants)
3038
+ /// - 20: UserPressureTimeStampUTC timestamp since Igor Pro epoch in UTC where
3040
3039
/// the user pressure was acquired
3041
- /// - 22 : TPMarker unique number identifying this set of TPs
3042
- /// - 23 : Cell state: Pressure control values defining the cell state, one of @ref CellStateValues
3043
- /// - 24 : Testpulse Cycle Id (changes whenever TP is started, allows to group TPs together)
3044
- /// - 25 : Auto TP Amplitude: success/fail state
3045
- /// - 26 : Auto TP Baseline: success/fail state
3046
- /// - 27 : Auto TP Baseline Range Exceeded: True/False
3047
- /// - 28 : Auto TP Cycle ID: Unique number which is constant until the "Auto TP"
3040
+ /// - 21 : TPMarker unique number identifying this set of TPs
3041
+ /// - 22 : Cell state: Pressure control values defining the cell state, one of @ref CellStateValues
3042
+ /// - 23 : Testpulse Cycle Id (changes whenever TP is started, allows to group TPs together)
3043
+ /// - 24 : Auto TP Amplitude: success/fail state
3044
+ /// - 25 : Auto TP Baseline: success/fail state
3045
+ /// - 26 : Auto TP Baseline Range Exceeded: True/False
3046
+ /// - 27 : Auto TP Cycle ID: Unique number which is constant until the "Auto TP"
3048
3047
/// state is switched (aka on->off or off->on)
3049
- /// - 29 : Auto TP Baseline Fit result: One of @ref TPBaselineFitResults
3050
- /// - 30 : Auto TP Delta V [mV]
3051
- /// - 31 : Clamp Amplitude [mV] or [pA] depending on Clamp Mode
3052
- /// - 32 : Testpulse full length in points for AD channel [points]
3053
- /// - 33 : Testpulse pulse length in points for AD channel [points]
3054
- /// - 34 : Point index of pulse start for AD channel [point]
3055
- /// - 35 : Sampling interval for AD channel [ms]
3056
- /// - 36 : Testpulse full length in points for DA channel [points]
3057
- /// - 37 : Testpulse pulse length in points for DA channel [points]
3058
- /// - 38 : Point index of pulse start for DA channel [point]
3059
- /// - 39 : Sampling interval for DA channel [ms]
3048
+ /// - 28 : Auto TP Baseline Fit result: One of @ref TPBaselineFitResults
3049
+ /// - 29 : Auto TP Delta V [mV]
3050
+ /// - 30 : Clamp Amplitude [mV] or [pA] depending on Clamp Mode
3051
+ /// - 31 : Testpulse full length in points for AD channel [points]
3052
+ /// - 32 : Testpulse pulse length in points for AD channel [points]
3053
+ /// - 33 : Point index of pulse start for AD channel [point]
3054
+ /// - 34 : Sampling interval for AD channel [ms]
3055
+ /// - 35 : Testpulse full length in points for DA channel [points]
3056
+ /// - 36 : Testpulse pulse length in points for DA channel [points]
3057
+ /// - 37 : Point index of pulse start for DA channel [point]
3058
+ /// - 38 : Sampling interval for DA channel [ms]
3060
3059
Function /WAVE GetTPStorage ( string device)
3061
3060
3062
3061
DFREF dfr = GetDeviceTestPulse ( device)
3063
- variable versionOfNewWave = 16
3064
- variable numLayers = 40
3062
+ variable versionOfNewWave = 17
3063
+ variable numLayersV16 = 40
3064
+ variable numLayers = 39
3065
3065
3066
3066
WAVE /Z/ D/ SDFR= dfr wv = TPStorage
3067
3067
@@ -3070,7 +3070,7 @@ Function/WAVE GetTPStorage(string device)
3070
3070
endif
3071
3071
3072
3072
if ( WaveExists ( wv))
3073
- Redimension / N= ( -1, NUM_HEADSTAGES, numLayers ) / D wv
3073
+ Redimension / N= ( -1, NUM_HEADSTAGES, numLayersV 16 ) / D wv
3074
3074
3075
3075
if ( WaveVersionIsSmaller ( wv, 10 ))
3076
3076
wv[][][ 17 ] = NaN
@@ -3092,6 +3092,11 @@ Function/WAVE GetTPStorage(string device)
3092
3092
if ( WaveVersionIsSmaller ( wv, 16 ))
3093
3093
wv[][][ 31, numLayers - 1 ] = NaN
3094
3094
endif
3095
+ if ( WaveVersionIsSmaller ( wv, 17 ))
3096
+ // Delete the former layer for %TimeInSeconds that was layer 4
3097
+ // The functionality is replaced by a precise %TimeStamp
3098
+ DeletePoints / M= ( LAYERS) 4, 1, wv
3099
+ endif
3095
3100
else
3096
3101
Make / N= ( MINIMUM_WAVE_SIZE_LARGE, NUM_HEADSTAGES, numLayers) / D dfr: TPStorage/WAVE = wv
3097
3102
@@ -3106,45 +3111,44 @@ Function/WAVE GetTPStorage(string device)
3106
3111
SetDimLabel LAYERS, 1, HoldingCmd_IC, wv
3107
3112
SetDimLabel LAYERS, 2, PeakResistance, wv
3108
3113
SetDimLabel LAYERS, 3, SteadyStateResistance, wv
3109
- SetDimLabel LAYERS, 4, TimeInSeconds, wv
3110
- SetDimLabel LAYERS, 5, DeltaTimeInSeconds, wv
3111
- SetDimLabel LAYERS, 6, Rss_Slope, wv
3112
- SetDimLabel LAYERS, 7, Pressure, wv
3113
- SetDimLabel LAYERS, 8, TimeStamp, wv
3114
- SetDimLabel LAYERS, 9, TimeStampSinceIgorEpochUTC, wv
3115
- SetDimLabel LAYERS, 10, PressureChange, wv
3116
- SetDimLabel LAYERS, 11, Baseline_VC, wv
3117
- SetDimLabel LAYERS, 12, Baseline_IC, wv
3118
- SetDimLabel LAYERS, 13, ADC, wv
3119
- SetDimLabel LAYERS, 14, DAC, wv
3120
- SetDimLabel LAYERS, 15, Headstage, wv
3121
- SetDimLabel LAYERS, 16, ClampMode, wv
3122
- SetDimLabel LAYERS, 17, UserPressure, wv
3123
- SetDimLabel LAYERS, 18, PressureMethod, wv
3124
- SetDimLabel LAYERS, 19, ValidState, wv
3125
- SetDimLabel LAYERS, 20, UserPressureType, wv
3126
- SetDimLabel LAYERS, 21, UserPressureTimeStampUTC, wv
3127
- SetDimLabel LAYERS, 22, TPMarker, wv
3128
- SetDimLabel LAYERS, 23, CellState, wv
3129
- SetDimLabel LAYERS, 24, TPCycleID, wv
3130
- SetDimLabel LAYERS, 25, AutoTPAmplitude, wv
3131
- SetDimLabel LAYERS, 26, AutoTPBaseline, wv
3132
- SetDimLabel LAYERS, 27, AutoTPBaselineRangeExceeded, wv
3133
- SetDimLabel LAYERS, 28, AutoTPCycleID, wv
3134
- SetDimLabel LAYERS, 29, AutoTPBaselineFitResult, wv
3135
- SetDimLabel LAYERS, 30, AutoTPDeltaV, wv
3114
+ SetDimLabel LAYERS, 4, DeltaTimeInSeconds, wv
3115
+ SetDimLabel LAYERS, 5, Rss_Slope, wv
3116
+ SetDimLabel LAYERS, 6, Pressure, wv
3117
+ SetDimLabel LAYERS, 7, TimeStamp, wv
3118
+ SetDimLabel LAYERS, 8, TimeStampSinceIgorEpochUTC, wv
3119
+ SetDimLabel LAYERS, 9, PressureChange, wv
3120
+ SetDimLabel LAYERS, 10, Baseline_VC, wv
3121
+ SetDimLabel LAYERS, 11, Baseline_IC, wv
3122
+ SetDimLabel LAYERS, 12, ADC, wv
3123
+ SetDimLabel LAYERS, 13, DAC, wv
3124
+ SetDimLabel LAYERS, 14, Headstage, wv
3125
+ SetDimLabel LAYERS, 15, ClampMode, wv
3126
+ SetDimLabel LAYERS, 16, UserPressure, wv
3127
+ SetDimLabel LAYERS, 17, PressureMethod, wv
3128
+ SetDimLabel LAYERS, 18, ValidState, wv
3129
+ SetDimLabel LAYERS, 19, UserPressureType, wv
3130
+ SetDimLabel LAYERS, 20, UserPressureTimeStampUTC, wv
3131
+ SetDimLabel LAYERS, 21, TPMarker, wv
3132
+ SetDimLabel LAYERS, 22, CellState, wv
3133
+ SetDimLabel LAYERS, 23, TPCycleID, wv
3134
+ SetDimLabel LAYERS, 24, AutoTPAmplitude, wv
3135
+ SetDimLabel LAYERS, 25, AutoTPBaseline, wv
3136
+ SetDimLabel LAYERS, 26, AutoTPBaselineRangeExceeded, wv
3137
+ SetDimLabel LAYERS, 27, AutoTPCycleID, wv
3138
+ SetDimLabel LAYERS, 28, AutoTPBaselineFitResult, wv
3139
+ SetDimLabel LAYERS, 29, AutoTPDeltaV, wv
3136
3140
// Dimlabels starting from here are taken from TP_ANALYSIS_DATA_LABELS
3137
3141
// This is not required but convenient because in @ref TP_RecordTP data from TPResults (@ref GetTPResults)
3138
3142
// is transferred to tpStorage and TPResults also uses dimlabels from TP_ANALYSIS_DATA_LABELS partially.
3139
- SetDimLabel LAYERS, 31 , CLAMPAMP, wv
3140
- SetDimLabel LAYERS, 32 , TPLENGTHPOINTSADC, wv
3141
- SetDimLabel LAYERS, 33 , PULSELENGTHPOINTSADC, wv
3142
- SetDimLabel LAYERS, 34 , PULSESTARTPOINTSADC, wv
3143
- SetDimLabel LAYERS, 35 , SAMPLINGINTERVALADC, wv
3144
- SetDimLabel LAYERS, 36 , TPLENGTHPOINTSDAC, wv
3145
- SetDimLabel LAYERS, 37 , PULSELENGTHPOINTSDAC, wv
3146
- SetDimLabel LAYERS, 38 , PULSESTARTPOINTSDAC, wv
3147
- SetDimLabel LAYERS, 39 , SAMPLINGINTERVALDAC, wv
3143
+ SetDimLabel LAYERS, 30 , CLAMPAMP, wv
3144
+ SetDimLabel LAYERS, 31 , TPLENGTHPOINTSADC, wv
3145
+ SetDimLabel LAYERS, 32 , PULSELENGTHPOINTSADC, wv
3146
+ SetDimLabel LAYERS, 33 , PULSESTARTPOINTSADC, wv
3147
+ SetDimLabel LAYERS, 34 , SAMPLINGINTERVALADC, wv
3148
+ SetDimLabel LAYERS, 35 , TPLENGTHPOINTSDAC, wv
3149
+ SetDimLabel LAYERS, 36 , PULSELENGTHPOINTSDAC, wv
3150
+ SetDimLabel LAYERS, 37 , PULSESTARTPOINTSDAC, wv
3151
+ SetDimLabel LAYERS, 38 , SAMPLINGINTERVALDAC, wv
3148
3152
3149
3153
SetNumberInWaveNote ( wv, AUTOBIAS_LAST_INVOCATION_KEY, 0 )
3150
3154
SetNumberInWaveNote ( wv, DIMENSION_SCALING_LAST_INVOC, 0 )
0 commit comments