Commit b6177d97 authored by Ulrich Fröbe's avatar Ulrich Fröbe Committed by Alois SCHLOEGL
Browse files

push version number to v345

changes to simplify debugging.
parent e91f42e4
......@@ -258,7 +258,7 @@ Function fDsDlgHook( s )
// Detects and reacts on resizing the data sections panel
struct WMWinHookStruct &s
if ( s.eventCode != kWHK_mousemoved )
printf "\t\t\tfDsDlgHook()\t\tEvntCode:%2d\t%s\tmod:%2d\t'%s'\t ", s.eventCode, pd( s.eventName, 8 ), s.eventMod, s.winName // no CR here
//printf "\t\t\tfDsDlgHook()\t\tEvntCode:%2d\t%s\tmod:%2d\t'%s'\t ", s.eventCode, pd( s.eventName, 8 ), s.eventMod, s.winName // no CR here // 2021-09-29 removed
endif
if ( s.eventCode == kWHK_resize )
variable xWinWSize, xWinPixSize, yWinPixSize
......@@ -267,12 +267,12 @@ Function fDsDlgHook( s )
GetWindow $s.winName, wSizeDC
xWinPixSize = V_right - V_left
yWinPixSize = V_bottom - V_top
printf "\twidth( wSize):%4d\twidth( wSizeDC/pixel):%4d\theight:%4d\t ", xWinWSize, xWinPixSize, yWinPixSize // no CR here
// printf "\twidth( wSize):%4d\twidth( wSizeDC/pixel):%4d\theight:%4d\t ", xWinWSize, xWinPixSize, yWinPixSize // no CR here // 2021-09-29 removed
ListBox lbDataSections, win = $s.winName, size = { xWinPixSize, yWinPixSize - kLB_ADDY }
// ListBox lbDataSections, win = $sDSPanelNm, widths = { 16, 13, 13, 13, 13, 14 } // one could additionally adjust different column widths...
endif
if ( s.eventCode != kWHK_mousemoved )
printf "\t\t \r" // the final CR (2 tabs for print elimination in Release)
// printf "\t\t \r" // the final CR (2 tabs for print elimination in Release) // 2021-09-29 removed
endif
End
......
......@@ -44,7 +44,7 @@ Function InitPanelDSEvalDetails3( sF, sPnOptions )
string sF, sPnOptions
string sPanelWvNm = sF + sPnOptions
variable n = -1, nItems = 100
printf "\tInitPanelDSEvalDetails3( '%s', '%s' ) \r", sF, sPnOptions
//printf "\tInitPanelDSEvalDetails3( '%s', '%s' ) \r", sF, sPnOptions // 2021-09-29 removed
make /O /T /N=(nItems) $sPanelWvNm
wave /T tPn = $sPanelWvNm
// Cave / Flaw : No tabcontrol = empty 'Tabs' must have different number of spaces (no Tab, not the empty string ) to be recognised correctly
......
......@@ -2093,8 +2093,7 @@ End
wave wCRegion = root:uf:evo:evl:wCRegion
// 2009-12-10
string sFo = ksfEVO
wave Red = $"root:uf:" + sFo + ":misc:Red", Green = $"oot:uf:" + sFo + ":misc:Green", Blue = $"root:uf:" + sFo + ":misc:Blue"
// wave Red = root:uf:aco:misc:Red, Green = root:uf:aco:misc:Green, Blue = root:uf:aco:misc:Blue
wave Red = $"root:uf:" + sFo + ":misc:Red", Green = $"root:uf:" + sFo + ":misc:Green", Blue = $"root:uf:" + sFo + ":misc:Blue" // 2021-08-01 correct typo
// Build a unique cursor wave name
variable nCsr = BegEnd - CN_BEG
......
......@@ -1739,14 +1739,14 @@ Function SetPoints( sFolder, wG, CedMaxSmpPts, nPnts, nSmpInt , nDA, nAD, nTG,
variable CedMaxSmpPts, nPnts, nSmpInt, nDA, nAD, nTG, nSlices, nErrorBad, nErrorFatal
nvar gMaxReactnTime = $ksROOTUF_ + sFolder + ":dlg:gMaxReactnTime"
nvar gnProts = $ksROOTUF_ + sFolder + ":keep:gnProts"
nvar gnCompressTG = root:uf:aco:co:gnCompressTG
nvar gnCompressTG = root:uf:aco:co:gnCompressTG
nvar gMaxSmpPtspChan = root:uf:aco:co:gMaxSmpPtspChan
nvar gnReps = root:uf:aco:co:gnReps
nvar gChnkPerRep = root:uf:aco:co:gChnkPerRep
nvar gChnkPerRep = root:uf:aco:co:gChnkPerRep
nvar gPntPerChnk = root:uf:aco:co:gPntPerChnk
nvar gnOfsDA = root:uf:aco:co:gnOfsDA
nvar gSmpArOfsDA = root:uf:aco:co:gSmpArOfsDA
nvar gnOfsAD = root:uf:aco:co:gnOfsAD
nvar gnOfsAD = root:uf:aco:co:gnOfsAD
nvar gSmpArOfsAD = root:uf:aco:co:gSmpArOfsAD
nvar gnOfsDO = root:uf:aco:co:gnOfsDO
variable nDAMem, nADMem, SmpArEndDA, SmpArEndAD, nDigoutMem, nTrfAreaBytes, TAUsed = 0, MemUsed = 0, FoM = 0, BestFoM = 0, nChunkTimeMS
......@@ -1754,7 +1754,7 @@ Function SetPoints( sFolder, wG, CedMaxSmpPts, nPnts, nSmpInt , nDA, nAD, nTG,
variable bPrintIt = TRUE//FALSE
string bf
gnCompressTG = 255
gnCompressTG = 255
gMaxSmpPtspChan = 0
gnReps = 0
gChnkPerRep = 0
......@@ -1762,7 +1762,7 @@ Function SetPoints( sFolder, wG, CedMaxSmpPts, nPnts, nSmpInt , nDA, nAD, nTG,
nDigOutMem = nSlices * BYTES_PER_SLICE
gnOfsDO = floor( ( CedMaxSmpPts * 2 - nDigOutMem ) / BYTES_PER_SLICE ) * BYTES_PER_SLICE // 16 byte boundary is sufficient at the top end of the CED memory
CedMaxSmpPts = gnOfsDO / 2 // decrease sampling area by memory occupied by digout slices (=above gnOfsDO)
CedMaxSmpPts = gnOfsDO / 2 // decrease sampling area by memory occupied by digout slices (=above gnOfsDO)
string lstCompressFct
string lstPrimes
......@@ -1787,7 +1787,7 @@ Function SetPoints( sFolder, wG, CedMaxSmpPts, nPnts, nSmpInt , nDA, nAD, nTG,
EffChsM = 2 * nDA + 2 * nAD + nTG + nTG / nCompress // Determine the absolute minimum number of effective channels limited by the entire CED memory (= transfer area + sampling area )
PtpChkM = trunc( CedMaxSmpPts / EffChsM / 2 ) // Determine the absolute maximum PtsPerChk considering the entire Ced memory, 2 reserves space for the 2 swinging buffers
EffChsTA = nDA + nAD + nTG / nCompress // Determine the absolute minimum number of effective channels limited by the Transfer area
PtpChkTA = trunc( cMAX_TAREA_PTS / EffChsTA / 2 ) // Determine the absolute maximum PtsPerChk considering only the Transfer area , 2 reserves space for the 2 swinging buffers
PtpChkTA = trunc( cMAX_TAREA_PTS / EffChsTA / 2 ) // Determine the absolute maximum PtsPerChk considering only the Transfer area , 2 reserves space for the 2 swinging buffers
nPntPerChnk = min( PtpChkTA, PtpChkM ) // the lowest value of both and of the passed value is the new upper limit for PtsPerChk
MinNrChunks = ceil( nPnts / nPntPerChnk ) // e.g. maximum value for 1 DA, 2AD, 2TG/Compress: 1 MBYTE = appr. 80000 POINTSPerChunk * 3.1 Channels * 2 swap halfs
......@@ -1838,11 +1838,11 @@ Function SetPoints( sFolder, wG, CedMaxSmpPts, nPnts, nSmpInt , nDA, nAD, nTG,
endif
nPntPerChnk = nPnts / nChunks
nPntPerChnk = nPnts / nChunks
// printf "\t\t\t\tCed SetPoints(4) \tnCompTG:%3d , \tSum:%.3lf \tCmpPts:\t%7d\tnChunks: %.3lf \t\t -> %3d , \t==Quot:\t%6d\tReps:%3d/%d\tChnk/Reps:\t%4d\t PtpChk:%6d \r", nCompress, EffChsTA, nCompPts, nPnts/ nPntPerChnk, nChunks, nCompPts / nChunks, MinReps, nReps, nChunks / nReps, nPntPerChnk
nChunkTimeMS = nPntPerChnk * nSmpInt / 1000
MemUsed = stMemUse( nChnkPerRep, nPntPerChnk, gMaxSmpPtspChan )
nChunkTimeMS= nPntPerChnk * nSmpInt / 1000
MemUsed = stMemUse( nChnkPerRep, nPntPerChnk, gMaxSmpPtspChan )
TAused = stTAuse( nPntPerChnk, nDA, nAD, cMAX_TAREA_PTS )
// Even when optimizing the reaction time the FigureOfMerit depends only on the memory usage. The reaction time is introduced as an 'too long' - 'OK' condition
FoM = stFigureOfMerit( nChnkPerRep, nPntPerChnk, gMaxSmpPtspChan, nDA, nAD, nTG, nCompress, cMAX_TAREA_PTS )
......
......@@ -284,6 +284,8 @@ Function ConstructOrUpdateNotebook( bShow, sFolder, sSubFolder, sNoteBookWndNm,
Notebook $sNoteBookWndNm , text = sText // ...by the new file's extracted script text
Notebook $sNoteBookWndNm, selection={ (0,0) , (0,0 ) } // To set the cursor at the beginning of the text we must select the position...
Notebook $sNoteBookWndNm , text = "" // ..in front of the first character and insert nothing (dummy operation)
// 2021-08-01 reset old misleading script notebook window title (from last 'save') when a new scipt is loaded
DoWindow /T $sNoteBookWndNm ""
endif
End
......
......@@ -312,6 +312,8 @@ static Function stCFSInitWrFile( sFolder, wIO, wFix, nChans )
if ( strlen( sChanName ) == 0 ) // If channel name is missing...
sChanName = ioTNm( nIO ) + num2str( iov( wIO, nIO, c, cIOCHAN) ) // ..supply a default channel name because ReadCFS needs one
endif
//print "xCFSSetFileChan() params:", CFShnd, c, sChanName, ios( wIO, nIO, c, cIOUNIT ), gsXUnitsInCfs, INT2, kEQUALSPACED, 2, 0, ERRLINE
xCFSSetFileChan( CFShnd, c, sChanName, ios( wIO, nIO, c, cIOUNIT ), gsXUnitsInCfs, INT2, kEQUALSPACED, 2, 0, ERRLINE )
endfor
......@@ -1129,7 +1131,9 @@ static Function stComputePOverNCorrection( sFolder, wG, wIO, wFix, wE, wBFS, pr,
// print "ComputePOverNCorrection() Blank / segment", eTyp( wE, wBFS, c, bl, 0 ), eTyp( wE, wBFS, c, bl, 1 ) , mI( "Blank" ), mI( "Segment" )
// Use the first real segment for offset computation (one could also use a possible leading blank OR use a leading blank and the following segment)
// If the first element is blank then use the second element. It is the user's responsibility to ensure that it is segment (whose value is constant by definition).
variable nElement = eTyp( wE, wBFS, c, bl, 0 ) == mI( "Blank" ) ? 1 : 0
// 2021-04-08
// variable nElement = ( eTyp( wE, wBFS, c, bl, 0 ) == mI( "Blank" ) ? 1 : 0
variable nElement = eTyp( wE, wBFS, c, bl, 0 ) == mI( "Blank" ) ? 1 : 0
BAvgEndPt= BegPt + ( eVL( wE, wBFS, c, bl, 0, sw, nElement, cDUR ) / nSmpInt) // in points
//BaseSubtractOfs = mean( wPoN, BAvgBegPt , BAvgEndPt ) // !!! in this special case pnt2x has been omitted as the wave has x scaling = 1 : x = points (mean and faverage yield same result)
BaseSubtractOfs = faverage( wPoN, pnt2x( wPoN, BAvgBegPt ), pnt2x( wPoN, BAvgEndPt ) ) // !!! in this special case pnt2x could be omitted as the wave has x scaling = 1 : x = points (mean and faverage yield same result)
......
......@@ -746,7 +746,8 @@ static Function stPnSize( sF, sWin, wPn, width, height, lstCtrlBlkPosX, lstCtrlB
// printf "\t\t\tPnSize 1b lllstRowTi \t\t%s \r", lllstRowTi[0,220]
// printf "\t\t\tPnSize 1b lllstColTi \t\t%s \r", lllstColTi[0,220]
// printf "\t\t\tPnSize 1b lllstVisibility \t\t%s \r", lllstVisibility
printf "\t\t\tPnSize 1b sLongestControl: \t%s \r", sLongestControl
// printf "\t\t\tPnSize 1b sLongestControl: \t%s \r", sLongestControl // 2021-09-29 removed. Useful when panel width increases in an undesired fashion after new panel controls have been added
// Pass 2 : Copy the final blockheight (determined from the last control in blockgroup) to all previous controls in the same blockgroup.
......
......@@ -44,10 +44,11 @@ static strconstant ksfACO = "aco" // the one-and-only subfolder
static strconstant ksfEVO = "evo" // the one-and-only subfolder
strconstant ksFP3_APPNAME = "FPulse"
strconstant ksFP3_VERSION = "344" // Use 3 or 4 digits (and optionally 1 letter) . CONVENTION: Increment AFTER releasing.....
strconstant ksFP3_VERSION = "345" // Use 3 or 4 digits (and optionally 1 letter) . CONVENTION: Increment AFTER releasing.....
constant kbIS_RELEASE = 1 // Set to 1 only temporarily in a Release version. Is normally set to 0 during program development to facilitate debugging.
// For releasing execute 'PnRelease()'
// 345 2021-08-01 fixed bug reported by Peipeng. Bug occurred only for Protocols>1 and in this case for some combinations of script duration and sample interval, had nothing to do with number of DAC channels. Bug lead to scrambled/fragmented acquisition data.
// 344 2021-05-14 renamed function FPU_Title() to FPUL_Title() to avoid name conflict with FPulse5. FPulse5 requires the name to be FPU_Title().
// 343 2021-03-10 'FPulse' and 'FEval' still accessible in Main menu, but new-style Unloading reverted to old-style.
// 342 2021-03-10 Panel Test1401 converted to new-style (this was easy, but most other panels are beasts, so currently no attempt is made). 'FPulse' and 'FEval' still accessible in Main menu, but new-style Unloading reverted.
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment