git range-diff 456d73447648cb6368c8090f91e59df59ec427d1...1e20aea938182218ccf8540a4f1a3eccf13771cf -: ---------- > 1: 3d1abca537 MEN_OpenAboutDialog: Add comment about screen resolution calculations -: ---------- > 2: ce3089ddb8 Force setting disabled checkboxes during control configuration -: ---------- > 3: 55f3cdbc93 DAP_ChangeHeadStageMode: Postpone PUB message -: ---------- > 4: 4d04bfb4d9 Packages/IPNWB: Update it -: ---------- > 5: 9088d99d4b MIES_ThreadsafeDataSharing.ipf: Move code for better organization -: ---------- > 6: cdbbfeeeea UTF_ThreadsafeDataSharing.ipf: Better test case naming -: ---------- > 7: d5893f5e10 UTF_ThreadsafeDataSharing.ipf: Rename test cases -: ---------- > 8: 7d8bdb3e85 TSDS_Create: Reorganize -: ---------- > 9: c1ca749646 MIES_ThreadsafeDataSharing.ipf: Move empty name assertion into TSDS_Read -: ---------- > 10: 3cf9301ece TSDS_WriteVar: Remove return value documentation -: ---------- > 11: 59ed2004d1 GetMiesVersion: Store the version in the cache as well -: ---------- > 12: 8d5ab66c4e IH_KillTemporaries: Add comment -: ---------- > 13: bded8ef8b5 DAP_GetNIDeviceListNoCache(): Factor it out -: ---------- > 14: 3e5dc2c9b7 DAP_GetITCDeviceListNoCache: Factor it out -: ---------- > 15: f3798f6fbf DAP_GetNIDeviceList/DAP_GetITCDeviceList: Cache the results in the cache as well -: ---------- > 16: fae09cb433 AI_FindConnectedAmpsNoCache: Factor it out and cache the result -: ---------- > 17: 6f6fd9c0a4 CONF_RestoreHeadstageAssociation: Don't scan the amplifier again -: ---------- > 18: afb47f50ff TSDS_ReadWave/TSDS_WriteWave: Add them -: ---------- > 19: d41107162d CA_FlushCache: Throw away the whole datafolder -: ---------- > 20: 8be5388114 NewExperiment: Keep the cache waves across NewExperiment calls -: ---------- > 21: 9a9b60cc4e Packages/ITCXOP2/tools: Sign the script -: ---------- > 22: fae9217d23 Packages/doc/installation.rst: Update it for running powershell scripts -: ---------- > 23: bce6271f95 .pre-commit-config.yaml: Ignore ASLR powershell script -: ---------- > 24: f08fd467ee TP FFI Code -: ---------- > 25: 4ccd224f40 UTF_ForeignFunctionInterfaceWithHardware.ipf: Add tests -: ---------- > 26: c4b6ba2b7c Tests/HardwareTestBeginCommon: Fix wave leak tracking errors -: ---------- > 27: cf0030f1b7 CONF_RestoreDAEphys: Don't output mixed forward and backward slashes -: ---------- > 28: 0423e648c6 Databrowser/SweepBrowser: Avoid assertions with no data or unlocked device -: ---------- > 29: 09db0dacf4 CONF_RestoreHeadstageAssociation: Drop MCC sync not being checked warning -: ---------- > 30: 29320a63d8 treewide: Provide an absolute path for cmd.exe -: ---------- > 31: 651bd8735c ExecuteGitForMIESVersion: Enhance the describe call -: ---------- > 32: d3b86713d9 DataBrowser: Fix help message for Passed/Failed checkboxes in Dashboard -: ---------- > 33: 1ac36a652b Databrowser: Check Passed in Dashboard tab by default -: ---------- > 34: 5bd62a2689 Databrowser: Handle enabling dashboard without bound device -: ---------- > 35: bc86b1ec3a Packages/ITCXOP2/tools/Disable-ASLR-for-Igor64.ps1: Drop the pointless subshell -: ---------- > 36: b80ffbd28e Packages/ITCXOP2/tools/Disable-ASLR-for-Igor64.ps1: Sign it -: ---------- > 37: 44f9f8aa4c AD_SelectResult: Do nothing without bound device -: ---------- > 38: f580844791 AD_SelectResult: Do nothing without bound device -: ---------- > 39: 4a5e6bced6 .pre-commit-config.yaml: Autoupdate -: ---------- > 40: 417a62d711 .pre-commit-config.yaml: Raise language_version for black to 3.13 -: ---------- > 41: 1ef0a75479 tools/check-code.sh: Prefer env shebang -: ---------- > 42: 649e7dd3d7 tools/pre-commit/Dockerfile: Install ripgrep -: ---------- > 43: 53e273c777 tools/pre-commit/Dockerfile: Update to trixie -: ---------- > 44: 1b93407437 tools/pre-commit/requirements.in: Update -: ---------- > 45: e0374e11be .pre-commit-config.yaml: Integrate IPT linting -: ---------- > 46: 316bc4c480 .pre-commit-config.yaml: Integrate check-code.sh -: ---------- > 47: 11ddbb2814 tools/ipt: Add Linux executable for IPT -: ---------- > 48: e9df7985ba .github/workflows: Rename Linting job to PreCommitLinting -: ---------- > 49: babec014d6 Packages/doc/developers.rst: Explain linting steps for development -: ---------- > 50: ac1d1b662e PUB_ClampModeChange: Add saveTP checkbox check and disabled state -: ---------- > 51: 056eace0e9 DeepCopyWaveRefWave: Work recursively on wave reference waves -: ---------- > 52: 514d68a5c0 RestoreCacheWaves: Call it earlier -: ---------- > 53: 4e03984caa BackupCacheWaves: Avoid ChangeFreeWaveName for wave reference waves -: ---------- > 54: 374fdb8b31 AI_GetMCCSerialNumbers: Rescan hardware -: ---------- > 55: 0476d60f46 CONF_RestoreWindow: Remove success messages -: ---------- > 56: 4448fcc721 DeepCopyWaveRefWave: Add support for multi dimensional waves -: ---------- > 57: 48cf4a1003 NewExperiment: Disable cache -: ---------- > 58: 512e8b07d3 NewExperiment/IVS_NewExperimentWithCacheAndAutoloader: Introduce new function for multiple calls -: ---------- > 59: de0d5f1de2 FFI_TestPulseMDSingleResult: Add workaround for acq4 not understanding MRS replies -: ---------- > 60: 3b0b2fe3a7 Tests: Add TestCacheBackupAndRestoreNoWaves() -: ---------- > 61: 9851355ac9 Packages/doc/developers.rst: Mention SafeNet download page -: ---------- > 62: 669ee5f149 Packages/doc/developers.rst: Mention to install the Windows SDK -: ---------- > 63: c4210ea49f tools/sign-installer.sh: Adapt path to the signtool -: ---------- > 64: b722dfd2af treewide: Require newer IP10 beta version -: ---------- > 65: 9a7e7522b1 .github/workflows/build-pr.yml: Adapt runner tags for TestITC18 -: ---------- > 66: 781010d199 .github/workflows/monthly-scheduled.yml: Adapt to new runner tags -: ---------- > 67: 7507753891 Packages/doc/developers.rst: Don't require ripgrep on the linux runner anymore -: ---------- > 68: ca5817e8f7 Packages/doc/developers.rst: Update information regarding CI servers -: ---------- > 69: d4ac7a0e51 .github/workflows/build-pr.yml: Fix cache key generation for PreCommitLinting -: ---------- > 70: ea75e8677b tools/pre-commit/run.sh: Use the correct path to the .cache folder -: ---------- > 71: 82f9a4937d tools/pre-commit/run.sh: Create the cache directory manually -: ---------- > 72: ccbd2b08a0 DAP_UpdateClampmodeTabs: Only switch tabs if required -: ---------- > 73: 159e1a7ba7 HW_NI_ReadDigital: Remove assertion -: ---------- > 74: 4f224b85a4 tests: Remove StopTPAfterFiveSeconds_IGNORE -: ---------- > 75: c64dfd015a SCOPE_UpdateOscilloscopeData: Ensure that testpulse timestamps are correct -: ---------- > 76: 8fd7cd366d AI_SendToAmp: Use correct scaling for published amplifier values -: ---------- > 77: ba8574aa1d .pre-commit-config.yaml: Don't pass the filenames for the custom-check-code hook -: ---------- > 78: e6a96b5e08 .pre-commit-config.yaml: Use inplace autofixing for IPT -: ---------- > 79: 5d9c619416 treewide: Fix formatting -: ---------- > 80: 311854e256 AI_GetFunctionConstantForClampMode: Handle I=0 gracefully -: ---------- > 81: fb2e15fe64 Installer: Disable trace dragging in Igor Pro on MIES installation -: ---------- > 82: c85395d5aa CONF_AutoLoader: Be more lenient with rig file naming -: ---------- > 83: 01dc6ced70 ZeroMQ-XOP: Update it -: ---------- > 84: 12adfc1f25 CHI_CheckInstallation: Add hash checking for ZeroMQ XOP -: ---------- > 85: df4c9e0661 ASSERT/ASSERT_TS: Show extended information when called from ZeroMQ XOP -: ---------- > 86: 1a5bd07280 CHI_CheckInstallation: Fix typo -: ---------- > 87: 644f1bc9f2 P_UpdateTPStorage: Ensure TPStorage is large enough -: ---------- > 88: 5f6100b6bc This reverts commit 514ef998c4 (Merge pull request #2553 from AllenInstitute/feature/2553-use-zeromq-interceptor-functions, 2025-11-11), reversing changes made to fde91b34ad (Merge pull request #2550 from AllenInstitute/bugfix/2550-IequalZero-assertion, 2025-11-05). -: ---------- > 89: f0458f8aac SF_FormulaPlotter: Avoid assertion when mixing colorgroup and non-colorgroup operations -: ---------- > 90: 9fb858aaad treewide: Don't treat abort codes like error codes -: ---------- > 91: f645d7bf08 SF: Remove scale copy for Min and Max -: ---------- > 92: 1c3edbc74b tools: Update ipt -: ---------- > 93: cf0f7bd7fd HW_NI_DIFFERENTIAL_SETUP: Add comment -: ---------- > 94: c7896ed46f HW_NI_PrepareAcq: Prefer constant and stringifier -: ---------- > 95: 4aa72e5244 HW_PrepareAcq: Add support for selecting a supported ADC configuration -: ---------- > 96: 3b38857d4b HW_NI_PrintPropertiesOfDevices: Include ADC configuration bits -: ---------- > 97: b674c02ef1 DA_Ephys: Support data acquisition with NI hardware without RSE support -: ---------- > 98: 549e030f60 README.md: Update regarding RSE/Diff for NI hardware -: ---------- > 99: f12ccd230d HW_NI_AnalogInputToString: Use correct string representations -: ---------- > 100: 61f7b546d8 .github/workflows/build-pr.yml: Remove CI testing with Igor Pro 10 -: ---------- > 101: d622d2eacd .github/workflows/build-pr.yml: Group matrix elements in array brackets -: ---------- > 102: cb77fb68a1 GUI util: Add RemoveAllColumnsFromTable -: ---------- > 103: 796fe94e48 Utils: Add HasDimLabels -: ---------- > 104: 74f1df80c5 SF: Add support to plotter to display data in tables -: ---------- > 105: d95c681299 SF: Add operation table -: ---------- > 106: 5480382c22 SF: Add tooltip information to table display -: ---------- > 107: 08669c625d SF: Use only label display in table view if the wave actually has labels -: ---------- > 108: 1930ed2b72 SF: In plotter add formulas for tables to userdata of window -: ---------- > 109: 7e2148188b SF: Add context menu option on SF table to copy formulas to clipboard -: ---------- > 110: 9a56263387 SF: Workaround for Igor not changing subwindow focus on right click -: ---------- > 111: af4dfb24ea SF: Add documentation for table operation to rst and ifn -: ---------- > 112: 1c6f1c4df9 Bugfix: GetAllWindows returned invalid window names for an empty string -: ---------- > 113: aeda0d8d1c SF: Remove unused argument opshort from SFH_GetArgumentSelect -: ---------- > 114: 0657bc0d38 SFH: Add optional doNotEnforce flag to SFH_GetArgumentSelect -: ---------- > 115: 5118d69c05 SFO: Move internal resolution from select to data in separate Function -: ---------- > 116: d95aa71655 SFO: operation avg - automatically convert first argument from selection to data -: ---------- > 117: 272c26b0c0 SF: operation avg add mode to average over groups of data -: ---------- > 118: 8d24f235b7 SF: Add operation extract to retrieve a single dataset from a multi ds result -: ---------- > 119: e929b54e30 SF: Add documentation for avg in group mode and extract operation -: ---------- > 120: 84ba40aa63 Fix infinite loop in P_CloseDevice and correct typos during pressure control. - Fixed a potential infinite loop in `P_CloseDevice` (MIES_PressureControl.ipf) where the loop condition could remain true indefinitely if no matching headstage was found. Replaced the unsafe `do-while` loop with a bounded `for` loop. - Corrected spelling of `OngoingPessurePulse` to `OngoingPressurePulse` in [MIES_PressureControl.ipf](cci:7://file:///Users/timjarsky/MIES/Packages/MIES/MIES_PressureControl.ipf:0:0-0:0) and [MIES_WaveDataFolderGetters.ipf](cci:7://file:///Users/timjarsky/MIES/Packages/MIES/MIES_WaveDataFolderGetters.ipf:0:0-0:0) to ensure consistency in dimension labels. -: ---------- > 121: ff842f8731 treewide: Mention Windows 11 instead of Windows 10 -: ---------- > 122: 7e01309e43 Packages/doc/installation.rst: Fix typo -: ---------- > 123: 9296e80acf ASSERT/ASSERT_TS: Add AssertOnAndClearRTError in fail case -: ---------- > 124: d4b1c4fe17 Catch lingering RTEs for labnotebook reading/writing -: ---------- > 125: 571887077e ASSERT/ASSERT_TS: Output time with milliseconds precision -: ---------- > 126: 74f47fc317 ASSERT: Output fifo position -: ---------- > 127: b1ecad9720 GetLastSetting: Pass settingCol into GetLastSettingNoCache -: ---------- > 128: 3004b22ed0 AFM_CallAnalysisFunctions: Distinguish between RTEs and Aborts in catch case -: ---------- > 129: 2607d77531 MIES_IVSCC.ipf: Disable cache across new experiments [1] -: ---------- > 130: 2faa473602 GetLBRowCache/GetLBIndexCache: Make them work across experiments -: ---------- > 131: f3db64029e IVS_NewExperimentWithCacheAndAutoloader: Enable cache across experiments again -: ---------- > 132: b6730ec674 UpgradeLabNotebook: Fix comment for setting column dimension labels -: ---------- > 133: b136fdeeed UpgradeLabNotebook: Set the row dimension labels for the key waves -: ---------- > 134: 7af2dc9050 UpgradeLabNotebook: Set the wave version in the end -: ---------- > 135: 7b4a1c5e2b UpgradeLabNotebook: Fix NOTE_INDEX calculation 1: baaa3b2445 ! 136: aff10b95cc LBN: Do labnotebook upgrade on most common MIES entry points @@ Packages/MIES/MIES_NeuroDataWithoutBorders.ipf: Function NWB_ExportAllData(varia ## Packages/MIES/MIES_WaveDataFolderGetters.ipf ## @@ Packages/MIES/MIES_WaveDataFolderGetters.ipf: Function/WAVE GetLBTextualValues(string device) /// - Making dimension labels valid liberal object names - /// - Extending the row dimension to 6 for the key waves - /// - Fixing empty column dimension labels in key waves + /// - Extending the row dimension to 6 for the key waves including setting the dimension labels + /// - Fixing empty column dimension labels in the columns of the value waves -static Function UpgradeLabNotebook(string device) +Function UpgradeLabNotebook(string device) -: ---------- > 137: 6adbf1deec Conversion/MIES_MassExperimentProcessing.ipf: Fix it -: ---------- > 138: d88b6d5700 Compilation Test: Add MIES_MassExperimentProcessing.ipf 2: c53ed013b5 ! 139: b13cb2eb54 DB: Optimize LBN Upgrade location @@ ## Metadata ## -Author: Michael Huth +Author: Thomas Braun ## Commit message ## - DB: Optimize LBN Upgrade location + Databrowser: Only upgrade the labnotebooks on locking - The LBN Upgrade location was moved in the DB code from - DB_UpdateSweepPlot to the device locking in DB_LockToDevice. - - This reduces overhead because the upgrade is not attempted on each - plot update. + The UpdateSweepPlot routine is called for every sweep change. But we only + need to do the labnotebook upgrade once. ## Packages/MIES/MIES_DataBrowser.ipf ## @@ Packages/MIES/MIES_DataBrowser.ipf: static Function/S DB_LockToDevice(string win, string device) - BSP_UnsetDynamicStartupSettings(win) - else - newWindow = "DB_" + device + for(i = first; i <= last; i += 1) + SplitAndUpgradeSweepGlobal(device, i) + endfor ++ + UpgradeLabNotebook(device) endif - DB_SetUserData(win, device) + UpdateSweepPlot(win) @@ Packages/MIES/MIES_DataBrowser.ipf: Function DB_UpdateSweepPlot(string win) return NaN endif -: ---------- > 140: 0440fd76f0 MIES_MassExperimentProcessing.ipf: Adapt debug constants -: ---------- > 141: 858706f856 GetLogbookSortedKeys: Add assertion -: ---------- > 142: 3a422c7ae2 Packages/IPNWB: Update it -: ---------- > 143: fd5ebcbec9 UpgradeLabNotebook: Handle very early labnotebooks -: ---------- > 144: c41460ee20 treewide: Avoid single letter function references -: ---------- > 145: b95d57813b GetAllDevices: Avoid RTE on bogus folder names -: ---------- > 146: 3f979ff396 DeviceHasUserComments: Prefer GetSetVariableString -: ---------- > 147: d0ec1df16f MIES_MassExperimentProcessing.ipf: Factor NextFile out -: ---------- > 148: c6ee5f363a PerformMiesTasks: Create one NWB file per device -: ---------- > 149: 7a38ada499 PerformMiesTasks: Prefer NWB_VERSION_LATEST -: ---------- > 150: a157e89212 MIES_MassExperimentProcessing.ipf: Add function to create empty files -: ---------- > 151: 22a11dc76f Labnotebook waves: Set the initial row dimension labels -: ---------- > 152: d50e6dafe7 ProcessCurrentExperiment: Prefer CaptureHistoryStart/CaptureHistory -: ---------- > 153: 8f7c37c295 ProcessCurrentExperiment: Factor out json path creation -: ---------- > 154: 3c1436f123 PerformMiesTasks: Enhance error handling -: ---------- > 155: 0d1365710b GetAllDevices: Upgrade folder path before using it -: ---------- > 156: a7a7709782 NWB_ExportAllData: Fix exporting data to multiple devices from old files -: ---------- > 157: 75c679184f NWB_ExportAllData: Check that we have data for the requested device -: ---------- > 158: a72b7158bf NWB_AppendSweepLowLevel: Add assertion if GetDAQDataSingleColumnWaveNG returns nothing -: ---------- > 159: 10c5f488c6 MIES_MassExperimentProcessing.ipf: Add comment regarding network share -: ---------- > 160: c0021a455c SF: Fix TestPlottingWithTablesSubWindows test, use WAVE/Z -: ---------- > 161: df8fbfd533 SF: Refactor plotter, move creation of traces in own function -: ---------- > 162: 92f2c04122 SF: Change plotMetaData from structure type to text wave type -: ---------- > 163: 5b56a49d17 SF: Change plotGraphs wave structure to waveRef with one row per display type -: ---------- > 164: 775e8bb00f SF: Create display windows in plotter in the plotting loop -: ---------- > 165: 790eff3c1e SF: Plotter: Move label setup for SF plots to separate function -: ---------- > 166: 2d81f518af SF: Plotter: Move Legend setup to separate function -: ---------- > 167: b50ac9d69a SF: Plotter: Move tick setup to separate function -: ---------- > 168: c1d7840d52 SF: Plotter: Move setup for trace style to separate function -: ---------- > 169: 01730e56e6 SF: Use i instead of j for indexing loop in plotter -: ---------- > 170: a4a9af39de SF: SF_AddPlotTraceStyle: Use i, j as loop indices instead of k, l -: ---------- > 171: 6bc8aa8f5e SF: Plotter: Reset formulasAreDifferent for each new graph window -: ---------- > 172: 978cd00268 SF: fix SFH_GetFormulaGraphForBrowser to properly handle table type windows -: ---------- > 173: 3f24022776 BackupCacheWaves: Throw away logbook cache waves -: ---------- > 174: 67c22d28a1 SF Tests: Use constant for future proof name generation of SF graph/table window -: ---------- > 175: ee3f891303 InvalidateLBIndexAndRowCache: Factor it out 3: ccecdf6bdc ! 176: 6f656a1594 ED: Add feature to ED_AddEntriesToLabnotebook for value insertion @@ Commit message Added tests for insertion in numerical and textual LNB. - Raise LABNOTEBOOK_VERSION to 82 - ## Packages/MIES/MIES_Constants.ipf ## @@ /// - New/Changed layers of entries /// ///@{ --Constant LABNOTEBOOK_VERSION = 81 -+Constant LABNOTEBOOK_VERSION = 82 +-Constant LABNOTEBOOK_VERSION = 82 ++Constant LABNOTEBOOK_VERSION = 83 Constant RESULTS_VERSION = 3 ///@} @@ Packages/MIES/MIES_ExperimentDocumentation.ipf: static Function ED_createTextNot ED_InitNewRow(values, rowIndex, sweepNo, entrySourceType, state) @@ Packages/MIES/MIES_ExperimentDocumentation.ipf: static Function ED_createTextNotes(WAVE/T incomingTextualValues, WAVE/T incoming - values[rowIndex][indizes[i]][0, lastValidIncomingLayer] = NormalizeToEOL(incomingTextualValues[0][i][r], "\n") + values[rowIndex][indizes[i]][0, lastValidIncomingLayer] = NormalizeToEOL(incomingTextualValues[0][i][r], "\n"); AbortOnRTE endfor - SetNumberInWaveNote(values, NOTE_INDEX, rowIndex + 1) @@ Packages/MIES/MIES_ExperimentDocumentation.ipf: static Function ED_createWaveNot ED_InitNewRow(values, rowIndex, sweepNo, entrySourceType, state) @@ Packages/MIES/MIES_ExperimentDocumentation.ipf: static Function ED_createWaveNotes(WAVE incomingNumericalValues, WAVE/T incoming - values[rowIndex][indizes[i]][0, lastValidIncomingLayer] = incomingNumericalValues[0][i][r] + values[rowIndex][indizes[i]][0, lastValidIncomingLayer] = incomingNumericalValues[0][i][r]; AbortOnRTE endfor - SetNumberInWaveNote(values, NOTE_INDEX, rowIndex + 1) @@ Packages/MIES/MIES_MiesUtilities_Logbook.ipf: threadsafe static Function Enforce variable numRows, i, j, sourceTypeCol, firstRow, lastRow, isNumeric, index, startRow, endRow -@@ Packages/MIES/MIES_MiesUtilities_Logbook.ipf: Function GetTotalOnsetDelayFromDevice(string device) - return DAG_GetNumericalValue(device, "setvar_DataAcq_OnsetDelayUser") + TPSettingsCalculated[%totalLengthMS] - End - -+/// @brief Invalidates the row and index cache for the given LBN -+Function InvalidateLBIndexAndRowCache(WAVE values) -+ -+ CA_DeleteCacheEntry(CA_CreateLBIndexCacheKey(values)) -+ CA_DeleteCacheEntry(CA_CreateLBRowCacheKey(values)) -+End -+ - /// @brief Retrieve the analysis function that was run for a given sweep / channelNumber / channelType - /// - /// @param numericalValues numerical labnotebook ## Packages/MIES/labnotebook_numerical_description.itx ## @@ IGOR --WAVES/T/N=(196,6) labnotebook_numerical_description -+WAVES/T/N=(197,6) labnotebook_numerical_description +-WAVES/T/N=(197,6) labnotebook_numerical_description ++WAVES/T/N=(198,6) labnotebook_numerical_description BEGIN "Name" "Unit" "Tolerance" "Description" "Headstage Contingency" "ClampMode" "SweepNum" "" "-" "Sweep number: Non-repeating non-negative numeric identifier for sweep time series. Increments in the order of acquisition. Starts at zero." "ALL" "" @@ Packages/MIES/labnotebook_numerical_description.itx: BEGIN - "Require amplifier" "On/Off" "-" "ON if data acquisition was done with an amplifier, OFF if not." "INDEP" "IC;VC;I=0" "Skip Ahead" "" "1" "Determines how many sweeps are skipped from the stimset whan starting data acquisition." "INDEP" "IC;VC;I=0" "Skip Sweeps source" "" "0.1" "Stores who is responsible for sweep skipping. Current values are 0x1 for the user and 0x2 for automatic/internal reasons." "INDEP" "IC;VC;I=0" + "ADC Configuration bits" "" "0.1" "Supported bits (1: RSE, 2: NRSE, 4: Diff, 8: Pseudo-Diff)" "INDEP" "IC;VC;I=0" + "PostProcessed" "On/Off" "-" "Information added at a later time through a post processing step. (e.g. recreated epoch information)" "ALL" "" END X SetScale/P x 0,1,"", labnotebook_numerical_description; SetScale/P y 0,1,"", labnotebook_numerical_description; SetScale d 0,0,"", labnotebook_numerical_description @@ Packages/tests/Basic/UTF_Labnotebook.ipf: Function EmptyLabnotebookWorks() CHECK_WAVE(entries, NULL_WAVE) End + -+// IUTF_TD_GENERATOR DataGenerators#InsertRowForProstProcessingSweepIndexerText -+static Function InsertRowForProstProcessingTextual([variable sweepNo]) ++// IUTF_TD_GENERATOR DataGenerators#InsertRowForPostProcessingSweepIndexerText ++static Function InsertRowForPostProcessingTextual([variable sweepNo]) + + variable sizeBefore, sizeAfter, row, col + string str @@ Packages/tests/Basic/UTF_Labnotebook.ipf: Function EmptyLabnotebookWorks() + CHECK_EQUAL_STR(str, "1") +End + -+// IUTF_TD_GENERATOR DataGenerators#InsertRowForProstProcessingSweepIndexerNum -+static Function InsertRowForProstProcessingNumerical([variable sweepNo]) ++// IUTF_TD_GENERATOR DataGenerators#InsertRowForPostProcessingSweepIndexerNum ++static Function InsertRowForPostProcessingNumerical([variable sweepNo]) + + variable sizeBefore, sizeAfter, row, col, val + @@ Packages/tests/Basic/UTF_Labnotebook.ipf: Function EmptyLabnotebookWorks() + CHECK_EQUAL_VAR(val, 1) +End + -+static Function InsertRowForProstProcessingTextualUnknownSweep() ++static Function InsertRowForPostProcessingTextualUnknownSweep() + + variable sweepNo = 1337 + @@ Packages/tests/Basic/UTF_Labnotebook.ipf: Function EmptyLabnotebookWorks() + endtry +End + -+static Function InsertRowForProstProcessingNumericalMultiple() ++static Function InsertRowForPostProcessingNumericalMultiple() + + variable sizeBefore, sizeAfter, sweepNo, index, beforeVal + @@ Packages/tests/UTF_DataGenerators.ipf: static Function/WAVE DG_SourceLocationsCo return wv End + -+static Function/WAVE InsertRowForProstProcessingSweepIndexerText() ++static Function/WAVE InsertRowForPostProcessingSweepIndexerText() + + Make/FREE wv = {0, 1} + + return wv +End + -+static Function/WAVE InsertRowForProstProcessingSweepIndexerNum() ++static Function/WAVE InsertRowForPostProcessingSweepIndexerNum() + + Make/FREE wv = {4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15} + 4: c6345aa2f4 ! 177: 17e5e8862f LBN: Store LBN capabilities on LBN Upgrade @@ Commit message This should improve performance because capabilities stay constant through the lifetime of the LBN. - Raise LBN version to 83 - Raise Results wave version to 4 - The information about the EntrySourceType support is required for LBN row insertion. The insertion is done for a specific EntrySourceType at the end of the block defined by sweepNumber/EntrySourceType in the LBN. @@ Packages/MIES/MIES_Constants.ipf /// - New/Changed layers of entries /// ///@{ --Constant LABNOTEBOOK_VERSION = 82 +-Constant LABNOTEBOOK_VERSION = 83 -Constant RESULTS_VERSION = 3 -+Constant LABNOTEBOOK_VERSION = 83 ++Constant LABNOTEBOOK_VERSION = 84 +Constant RESULTS_VERSION = 4 ///@} /// @name Analysis function versions @@ - Constant SF_STEP_EXECUTOR = 2 - Constant SF_STEP_OUTSIDE = 3 + Constant SF_DISPLAYTYPE_GRAPH = 0 + Constant SF_DISPLAYTYPE_TABLE = 1 ///@} + +/// Labnotebook capabilities are stored in the key wave note +/// @anchor LabnotebookCapabilityKeys +///@{ -+StrConstant LBN_CAP_SUPPORTS_ENTRYSOURCETYPE = "SupportsEntrySourceType" // since 81 ++StrConstant LBN_CAP_SUPPORTS_ENTRYSOURCETYPE = "SupportsEntrySourceType" +///@} ## Packages/MIES/MIES_ExperimentDocumentation.ipf ## @@ Packages/MIES/MIES_MiesUtilities_Logbook.ipf: threadsafe Function ReverseEntrySo ## Packages/MIES/MIES_WaveDataFolderGetters.ipf ## @@ Packages/MIES/MIES_WaveDataFolderGetters.ipf: Function/WAVE GetLBTextualValues(string device) /// - Making dimension labels valid liberal object names - /// - Extending the row dimension to 6 for the key waves - /// - Fixing empty column dimension labels in key waves -+/// - add capabilities to wavenote + /// - Extending the row dimension to 6 for the key waves including setting the dimension labels + /// - Fixing empty column dimension labels in the columns of the value waves ++/// - Add capabilities to wavenote Function UpgradeLabNotebook(string device) variable numCols, i, col, numEntries, sourceCol, timeStampColumn, nextFreeRow @@ Packages/MIES/MIES_WaveDataFolderGetters.ipf: Function/WAVE GetLBTextualValues(s // we only have to check the new place and name as we are called @@ Packages/MIES/MIES_WaveDataFolderGetters.ipf: Function UpgradeLabNotebook(string device) - endif endif - // END add note index -+ + // END add dimension labels for key waves + + // BEGIN add capability note for EntrySourceType -+ if(WaveVersionIsSmaller(numericalKeys, 83)) ++ if(WaveVersionIsSmaller(numericalKeys, 84)) + hasCapability = HasLBNEntrySourceTypeCapability(numericalValues) + SetNumberInWaveNote(numericalKeys, LBN_CAP_SUPPORTS_ENTRYSOURCETYPE, hasCapability) + endif + -+ if(WaveVersionIsSmaller(textualKeys, 83)) ++ if(WaveVersionIsSmaller(textualKeys, 84)) + hasCapability = HasLBNEntrySourceTypeCapability(textualValues) + SetNumberInWaveNote(textualKeys, LBN_CAP_SUPPORTS_ENTRYSOURCETYPE, hasCapability) + endif + // END add capability note for EntrySourceType ++ + SetWaveVersion(numericalKeys, LABNOTEBOOK_VERSION) + SetWaveVersion(textualkeys, LABNOTEBOOK_VERSION) End - - static Function/S FixInvalidLabnotebookKey(string name) @@ Packages/MIES/MIES_WaveDataFolderGetters.ipf: Function/WAVE GetLBTextualKeys(string device) return wv else 5: 70d5785196 ! 178: 5f9995ea8a NWB: Recreate Epochs on export and insert this info into LBN @@ Packages/MIES/MIES_Epochs.ipf: Function EP_GetEpochAmplitude(string epochTag) variable channelNr, plannedTime, acquiredTime, adSize, firstUnacquiredIndex ## Packages/MIES/MIES_MiesUtilities_Logbook.ipf ## -@@ Packages/MIES/MIES_MiesUtilities_Logbook.ipf: Function/S StringifyLogbookMode(variable mode) - break - endswitch +@@ Packages/MIES/MIES_MiesUtilities_Logbook.ipf: Function InvalidateLBIndexAndRowCache(WAVE values) + CA_DeleteCacheEntry(key) + endfor End + +Function InsertRecreatedEpochsIntoLBN(WAVE numericalValues, WAVE/T textualValues, string device, variable sweepNo) 6: 456d734476 = 179: 1e20aea938 LBN PostProc: Also add TTL epochs to postproc LBN insertion on NWB export