Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .github/workflows/Check_Broken_VIs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,4 +52,3 @@ jobs:
Parameter2: NOPASSWORD
Parameter3: YES
Parameter4: -placeContent
timeout-minutes: 5
5 changes: 5 additions & 0 deletions Communicable State Machine(CSM).lvproj
Original file line number Diff line number Diff line change
Expand Up @@ -589,6 +589,11 @@
<Item Name="Global_Interface.ctl" Type="VI" URL="/&lt;resource&gt;/Framework/Providers/API/Global_Interface.ctl"/>
<Item Name="Item_Interface.ctl" Type="VI" URL="/&lt;resource&gt;/Framework/Providers/API/Item_Interface.ctl"/>
<Item Name="provcom_StringGlobals.vi" Type="VI" URL="/&lt;resource&gt;/Framework/Providers/Common/provcom_StringGlobals.vi"/>
<Item Name="InitCSMs.vi" Type="VI" URL="../testcases/CSM/InitCSMs.vi"/>
<Item Name="StartCSMs.vi" Type="VI" URL="../testcases/CSM/StartCSMs.vi"/>
<Item Name="GetPathByPrototypeName.vi" Type="VI" URL="../testcases/CSM/GetPathByPrototypeName.vi"/>
<Item Name="Prototypes.vi" Type="VI" URL="../testcases/CSM/Prototypes.vi"/>
<Item Name="Build CSM to PPL.vi" Type="VI" URL="../testcases/CSM/Build CSM to PPL.vi"/>
</Item>
<Item Name="Build Specifications" Type="Build">
<Item Name="Communicable State Machine.lvlibp" Type="Packed Library">
Expand Down
475 changes: 228 additions & 247 deletions Communicable State Machine(CSM).vipb

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -140,12 +140,13 @@ API: Do Something Else -@ csm
-- <b>Controls</b> --
- <b>Current Module ("" to Generate an ID)</b>: Name of the current module. If empty, a temporary ID is generated for debugging purposes to identify the location.
- <b>CSM Scripts</b>: CSM commands to execute.
- <b>Sync Response Only (F)</b>: Whether <b>Response</b> should include only responses from synchronous messages. Disabled by default.
- <b>Continue If Error? (F)</b>: Whether to continue execution if an error occurs. The default is FALSE, which specifies to not continue.
- <b>Wait (5000 ms)</b>: Timeout duration for waiting module to be alive. The default is 5000 ms.
- <b>Response Timeout (-2 Using Global Settings)</b>: Timeout for synchronous calls. The default is -2, which uses the global setting. You can set the global timeout using the CSM - Set TMO of Sync-Reply VI.

-- <b>Indicators</b> --
- <b>Response</b>: Returned results from executing the script. Only synchronous messages carry returns. The corresponding column for other commands will be an empty string.
- <b>Response</b>: Results returned by the script. When <b>Sync Response Only (F)</b> is enabled, this output includes only responses from synchronous messages. Otherwise, each script line, including blank lines and comments, produces one result in order. Non-synchronous commands return an empty string.
- <b>Scripts Left</b>: Remaining unexecuted scripts.

## CSM - Broadcast Event.vi
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,17 @@ Starts the CSM Watchdog thread to monitor whether the main program has exited. I

> - Ref: CSM WatchDog Implementation Principle

-- <b>Controls</b> --
- <b>Wait(5000ms)</b>: The time the Watchdog thread waits for modules to process `Macro: Exit` and exit, in milliseconds (ms). The default value is 5000 ms.

### CSM Watchdog Thread.vi
The CSM Watchdog thread is used to ensure that all asynchronously started CSM modules can exit normally after the main program exits.

> - Ref: CSM WatchDog Implementation Principle

-- <b>Controls</b> --
- <b>Watchdog Queue</b>: Watchdog queue resource.
- <b>Wait(5000ms)</b>: The time the Watchdog thread waits for modules to process `Macro: Exit` and exit, in milliseconds (ms). The default value is 5000 ms.

## CSM File Logger Addon

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -141,12 +141,13 @@ API: Do Something Else -@ csm
-- <b>输入控件(Controls)</b> --
- <b>Current Module ("" to Generate an ID)</b>: 当前模块名称,当没有输入时,生成一个临时ID,便于调试判断位置。
- <b>CSM Scripts</b>: 待运行的CSM指令。
- <b>Sync Response Only (F)</b>: <b>Response</b>中是否仅包含同步消息的响应,默认不启用。
- <b>Continue If Error? (F)</b>: 发生错误时是否继续执行, 默认不继续执行。
- <b>Wait (5000 ms)</b>: 等待超时时间,默认为5000 ms。
- <b>Response Timeout (-2 Using Global Settings)</b>: 同步调用的超时时间,默认为-2,使用全局设置。你可以通过CSM - Set TMO of Sync-Reply VI设置全局超时时间。

-- <b>输出控件(Indicators)</b> --
- <b>Response</b>: 执行脚本的返回结果。只有同步消息才会携带返回,其他的指令对应列为空字符串
- <b>Response</b>: 执行脚本的返回结果。<b>Sync Response Only (F)</b>启用时仅包含同步消息的响应,否则每一行指令,包括空行和注释,都对应了一个返回结果,按照顺序排列,非同步消息的响应为空字符串
- <b>Scripts Left</b>: 剩余未执行的脚本。

## CSM - Broadcast Event.vi
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,17 @@

> - Ref: CSM WatchDog实现的原理

-- <b>输入控件(Controls)</b> --
- <b>Wait(5000ms)</b>: Watchdog线程等待模块处理"Macro: Exit"退出的时间,单位为毫秒(ms),默认值为5000ms。

### CSM Watchdog Thread.vi
CSM Watchdog线程,用于保证在主程序退出后,所有的异步启动的CSM模块都能正常退出。

> - Ref: CSM WatchDog实现的原理

-- <b>输入控件(Controls)</b> --
- <b>Watchdog Queue</b>: Watchdog队列资源。
- <b>Wait(5000ms)</b>: Watchdog线程等待模块处理"Macro: Exit"退出的时间,单位为毫秒(ms),默认值为5000ms。

## CSM File Logger Addon

Expand Down
Binary file not shown.
Binary file not shown.
Binary file not shown.
34 changes: 24 additions & 10 deletions testcases/CSM-New-Testcases.lvproj
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,15 @@
<Property Name="server.vi.callsEnabled" Type="Bool">true</Property>
<Property Name="server.vi.propertiesEnabled" Type="Bool">true</Property>
<Property Name="specify.custom.address" Type="Bool">false</Property>
<Item Name="CSM-Testcase.lvlib" Type="Library" URL="../CSM/CSM-Testcase.lvlib"/>
<Item Name="CSM" Type="Folder">
<Item Name="CSM-Testcase.lvlib" Type="Library" URL="../CSM/CSM-Testcase.lvlib"/>
<Item Name="Build CSM to PPL.vi" Type="VI" URL="../CSM/Build CSM to PPL.vi"/>
<Item Name="InitCSMs.vi" Type="VI" URL="../CSM/InitCSMs.vi"/>
<Item Name="Prototypes.vi" Type="VI" URL="../CSM/Prototypes.vi"/>
<Item Name="StartCSMs.vi" Type="VI" URL="../CSM/StartCSMs.vi"/>
<Item Name="GetPathByPrototypeName.vi" Type="VI" URL="../CSM/GetPathByPrototypeName.vi"/>
<Item Name="InitCSMs(backup).vi" Type="VI" URL="../CSM/InitCSMs(backup).vi"/>
</Item>
<Item Name="testcase-CSMSystemLevelModule.lvclass" Type="LVClass" URL="../testcase-CSMSystemLevelModule/testcase-CSMSystemLevelModule.lvclass"/>
<Item Name="testcase-CSMNonCSMCallerSupportAPI.lvclass" Type="LVClass" URL="../testcase-CSMNonCSMCallerSupportAPI/testcase-CSMNonCSMCallerSupportAPI.lvclass"/>
<Item Name="testcase-CSMManagementAPI.lvclass" Type="LVClass" URL="../testcase-CSMManagementAPI/testcase-CSMManagementAPI.lvclass"/>
Expand Down Expand Up @@ -361,19 +369,23 @@
<Item Name="NI_FileType.lvlib" Type="Library" URL="/&lt;vilib&gt;/Utility/lvfile.llb/NI_FileType.lvlib"/>
<Item Name="Check if File or Folder Exists.vi" Type="VI" URL="/&lt;vilib&gt;/Utility/libraryn.llb/Check if File or Folder Exists.vi"/>
<Item Name="NI_PackedLibraryUtility.lvlib" Type="Library" URL="/&lt;vilib&gt;/Utility/LVLibp/NI_PackedLibraryUtility.lvlib"/>
<Item Name="imagedata.ctl" Type="VI" URL="/&lt;vilib&gt;/picture/picture.llb/imagedata.ctl"/>
<Item Name="8.6CompatibleGlobalVar.vi" Type="VI" URL="/&lt;vilib&gt;/Utility/config.llb/8.6CompatibleGlobalVar.vi"/>
<Item Name="NI_LVConfig.lvlib" Type="Library" URL="/&lt;vilib&gt;/Utility/config.llb/NI_LVConfig.lvlib"/>
<Item Name="Space Constant.vi" Type="VI" URL="/&lt;vilib&gt;/dlg_ctls.llb/Space Constant.vi"/>
<Item Name="Parse State Queue__JKI_lib_State_Machine.vi" Type="VI" URL="/&lt;vilib&gt;/addons/_JKI Toolkits/State Machine/_JKI_lib_State_Machine.llb/Parse State Queue__JKI_lib_State_Machine.vi"/>
<Item Name="TRef TravTarget.ctl" Type="VI" URL="/&lt;vilib&gt;/Utility/traverseref.llb/TRef TravTarget.ctl"/>
<Item Name="VI Scripting - Traverse.lvlib" Type="Library" URL="/&lt;vilib&gt;/Utility/traverseref.llb/VI Scripting - Traverse.lvlib"/>
<Item Name="LVPositionTypeDef.ctl" Type="VI" URL="/&lt;vilib&gt;/Utility/miscctls.llb/LVPositionTypeDef.ctl"/>
<Item Name="LVDeltaXY32Cluster.ctl" Type="VI" URL="/&lt;vilib&gt;/Utility/miscctls.llb/LVDeltaXY32Cluster.ctl"/>
<Item Name="LVPointTypeDef.ctl" Type="VI" URL="/&lt;vilib&gt;/Utility/miscctls.llb/LVPointTypeDef.ctl"/>
<Item Name="NI_LVConfig.lvlib" Type="Library" URL="/&lt;vilib&gt;/Utility/config.llb/NI_LVConfig.lvlib"/>
<Item Name="Space Constant.vi" Type="VI" URL="/&lt;vilib&gt;/dlg_ctls.llb/Space Constant.vi"/>
<Item Name="8.6CompatibleGlobalVar.vi" Type="VI" URL="/&lt;vilib&gt;/Utility/config.llb/8.6CompatibleGlobalVar.vi"/>
<Item Name="Draw Flattened Pixmap.vi" Type="VI" URL="/&lt;vilib&gt;/picture/picture.llb/Draw Flattened Pixmap.vi"/>
<Item Name="imagedata.ctl" Type="VI" URL="/&lt;vilib&gt;/picture/picture.llb/imagedata.ctl"/>
<Item Name="FixBadRect.vi" Type="VI" URL="/&lt;vilib&gt;/picture/pictutil.llb/FixBadRect.vi"/>
<Item Name="RectSize.vi" Type="VI" URL="/&lt;vilib&gt;/picture/PictureSupport.llb/RectSize.vi"/>
<Item Name="Point2Rect.vi" Type="VI" URL="/&lt;vilib&gt;/picture/PictureSupport.llb/Point2Rect.vi"/>
<Item Name="PointInRect.vi" Type="VI" URL="/&lt;vilib&gt;/picture/PictureSupport.llb/PointInRect.vi"/>
<Item Name="InsetRect.vi" Type="VI" URL="/&lt;vilib&gt;/picture/PictureSupport.llb/InsetRect.vi"/>
<Item Name="RectCentroid.vi" Type="VI" URL="/&lt;vilib&gt;/picture/PictureSupport.llb/RectCentroid.vi"/>
<Item Name="Compare Two Paths.vi" Type="VI" URL="/&lt;vilib&gt;/Utility/libraryn.llb/Compare Two Paths.vi"/>
<Item Name="Simple Error Handler.vi" Type="VI" URL="/&lt;vilib&gt;/Utility/error.llb/Simple Error Handler.vi"/>
<Item Name="TRef Traverse.vi" Type="VI" URL="/&lt;vilib&gt;/Utility/traverseref.llb/TRef Traverse.vi"/>
Expand All @@ -382,9 +394,11 @@
<Item Name="Communicable State Machine.lvlib" Type="Library" URL="../../src/user.lib/_NEVSTOP/Communicable State Machine(CSM)/Communicable State Machine.lvlib"/>
<Item Name="CSM Shared.lvlib" Type="Library" URL="../../src/user.lib/_NEVSTOP/Communicable State Machine(CSM)/_Shared/CSM Shared.lvlib"/>
<Item Name="CSM Loop Support.lvlib" Type="Library" URL="../../src/user.lib/_NEVSTOP/Communicable State Machine(CSM)/addons/Loop-Support/CSM Loop Support.lvlib"/>
<Item Name="Generate testcase Started User Log.vi" Type="VI" URL="../_previous/_support/Generate testcase Started User Log.vi"/>
<Item Name="CSM Attributes API(VIM).lvlib" Type="Library" URL="../../src/user.lib/_NEVSTOP/Communicable State Machine(CSM)/addons/AttributesVIM/CSM Attributes API(VIM).lvlib"/>
<Item Name="CSM File Logger.lvlib" Type="Library" URL="../../src/user.lib/_NEVSTOP/Communicable State Machine(CSM)/addons/Logger/CSM File Logger.lvlib"/>
<Item Name="Generate testcase Started User Log.vi" Type="VI" URL="../_support/Generate testcase Started User Log.vi"/>
<Item Name="Check CSM Modules Exist Or Not.vi" Type="VI" URL="../_support/Check CSM Modules Exist Or Not.vi"/>
<Item Name="Package Error Info.vi" Type="VI" URL="../_support/Package Error Info.vi"/>
<Item Name="DebugConsole.lvlib" Type="Library" URL="../../src/user.lib/_NEVSTOP/Communicable State Machine(CSM)/_tool/_debugConsole/DebugConsole.lvlib"/>
<Item Name="_csmlite.lvlib" Type="Library" URL="../../src/user.lib/_NEVSTOP/Communicable State Machine(CSM)/_tool/_csmlite/_csmlite.lvlib"/>
<Item Name="CSM-Helper API with lvcsm Support.lvlib" Type="Library" URL="../../src/user.lib/_NEVSTOP/Communicable State Machine(CSM)/_csmHelper/API with lvcsm Support/CSM-Helper API with lvcsm Support.lvlib"/>
Expand Down Expand Up @@ -413,7 +427,7 @@
<Property Name="Bld_localDestDirType" Type="Str">relativeToProject</Property>
<Property Name="Bld_modifyLibraryFile" Type="Bool">true</Property>
<Property Name="Bld_previewCacheID" Type="Str">{A89D9A51-BD9C-4565-8F45-AD1D68D344FD}</Property>
<Property Name="Bld_version.build" Type="Int">346</Property>
<Property Name="Bld_version.build" Type="Int">349</Property>
<Property Name="Bld_version.major" Type="Int">1</Property>
<Property Name="Destination[0].destName" Type="Str">CSM-Testcase.lvlibp</Property>
<Property Name="Destination[0].path" Type="Path">../CSM/CSM-Testcase.lvlibp</Property>
Expand All @@ -428,7 +442,7 @@
<Property Name="Source[0].itemID" Type="Str">{8ACD2EE0-7F2A-4DDF-9C13-67BB3F9ECC94}</Property>
<Property Name="Source[0].type" Type="Str">Container</Property>
<Property Name="Source[1].destinationIndex" Type="Int">0</Property>
<Property Name="Source[1].itemID" Type="Ref">/My Computer/CSM-Testcase.lvlib</Property>
<Property Name="Source[1].itemID" Type="Ref">/My Computer/CSM/CSM-Testcase.lvlib</Property>
<Property Name="Source[1].Library.allowMissingMembers" Type="Bool">true</Property>
<Property Name="Source[1].Library.atomicCopy" Type="Bool">true</Property>
<Property Name="Source[1].Library.LVLIBPtopLevel" Type="Bool">true</Property>
Expand All @@ -454,7 +468,7 @@
<Property Name="Bld_localDestDirType" Type="Str">relativeToProject</Property>
<Property Name="Bld_modifyLibraryFile" Type="Bool">true</Property>
<Property Name="Bld_previewCacheID" Type="Str">{DF3A8CD5-4937-4FE8-B30A-163F6FCA54B2}</Property>
<Property Name="Bld_version.build" Type="Int">311</Property>
<Property Name="Bld_version.build" Type="Int">313</Property>
<Property Name="Bld_version.major" Type="Int">1</Property>
<Property Name="Destination[0].destName" Type="Str">CSM-Testcase2.lvlibp</Property>
<Property Name="Destination[0].path" Type="Path">../CSM/CSM-Testcase2.lvlibp</Property>
Expand All @@ -469,7 +483,7 @@
<Property Name="Source[0].itemID" Type="Str">{91CC6082-CCFF-40D6-836F-F2075D5067B7}</Property>
<Property Name="Source[0].type" Type="Str">Container</Property>
<Property Name="Source[1].destinationIndex" Type="Int">0</Property>
<Property Name="Source[1].itemID" Type="Ref">/My Computer/CSM-Testcase.lvlib</Property>
<Property Name="Source[1].itemID" Type="Ref">/My Computer/CSM/CSM-Testcase.lvlib</Property>
<Property Name="Source[1].Library.allowMissingMembers" Type="Bool">true</Property>
<Property Name="Source[1].Library.atomicCopy" Type="Bool">true</Property>
<Property Name="Source[1].Library.LVLIBPtopLevel" Type="Bool">true</Property>
Expand Down
Binary file added testcases/CSM/Build CSM to PPL.vi
Binary file not shown.
1 change: 0 additions & 1 deletion testcases/CSM/CSM-Testcase.lvlib
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,4 @@
<Item Name="Chain5.vi" Type="VI" URL="../Chain5.vi"/>
<Item Name="Chain6.vi" Type="VI" URL="../Chain6.vi"/>
<Item Name="Normal-CSM.vi" Type="VI" URL="../Normal-CSM.vi"/>
<Item Name="InitCSMs.vi" Type="VI" URL="../InitCSMs.vi"/>
</Library>
Binary file modified testcases/CSM/Chain4.vi
Binary file not shown.
Binary file modified testcases/CSM/Chain6.vi
Binary file not shown.
Binary file added testcases/CSM/GetPathByPrototypeName.vi
Binary file not shown.
Binary file added testcases/CSM/InitCSMs(backup).vi
Binary file not shown.
Binary file modified testcases/CSM/InitCSMs.vi
Binary file not shown.
Binary file modified testcases/CSM/Normal-CSM.vi
Binary file not shown.
Binary file added testcases/CSM/Prototypes.vi
Binary file not shown.
Binary file added testcases/CSM/StartCSMs.vi
Binary file not shown.
Binary file modified testcases/CSMTestSuite/New.vi
Binary file not shown.
Binary file modified testcases/CSMTestSuite/setUp.vi
Binary file not shown.
Binary file removed testcases/testcase-CSMBroadcast/InitCSMs.vi
Binary file not shown.
Binary file modified testcases/testcase-CSMBroadcast/globalSetUp.vi
Binary file not shown.
Binary file not shown.
Binary file modified testcases/testcase-CSMBroadcast/test19-1ToNInterruptStatus.vi
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading
Loading