Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
4293520
[update] #337 Show Responses in "CSM - Run Script.vi"
nevstop Nov 16, 2024
8bfc2ec
[important] Periodic States/Log will automatically be filtered in Tem…
nevstop Nov 16, 2024
5974110
update CSM - Internal State Debug Log History.vi
nevstop Nov 16, 2024
ab18fcd
fix https://github.com/NEVSTOP-LAB/Communicable-State-Machine/actions…
nevstop Nov 16, 2024
c6e8186
update Periodic String Filter.vi
nevstop Nov 17, 2024
28d0ec9
add userlog for filter info
nevstop Nov 17, 2024
b665ef4
update CNT State.vi
nevstop Nov 17, 2024
4890b5c
更新 CSM - Debug Console - DebugTool.vi
nevstop Nov 17, 2024
3d8c1e8
确保""被正确处理
Nov 17, 2024
a5dd8ba
update tools
Nov 17, 2024
39ab65e
update Example/
Nov 17, 2024
abfa01a
CSM - Running Log - DebugTool.vi 添加按钮,可以清除已经不再重复的消息
Nov 18, 2024
b7d2a93
更新 Periodic String Filter.vi 的行为
Nov 18, 2024
aca2049
添加 <start filter> 和 <stop filter> 提示,更好的帮助阅读log信息
Nov 18, 2024
9ddaa0a
#341
nevstop Nov 18, 2024
e65df5e
update vipb #341
nevstop Nov 18, 2024
1d45184
update csm-intro.png
Nov 19, 2024
2626af2
LogFilter.lvclass 修改,加入周期log自动过滤
Nov 19, 2024
e1a3c85
更新 CSM-Logger-Thread.vi, 超时后自动产生一个 userlog,驱动更新<stop filter>信息
nevstop Nov 20, 2024
51c1a78
修改默认配置
nevstop Nov 20, 2024
7b4b025
Change CSM DebugTool Dialog.vi to reentant
Nov 21, 2024
c2e4ddb
update vipb
Nov 21, 2024
ba2e6c0
change _xnode_csm_tool_support/Start CSM DebugTool Dialog.vi
Nov 21, 2024
d3230e4
update description of vipb
Nov 22, 2024
094c1b4
移除一些无用的bookmark
Nov 22, 2024
810c6ea
add PopupMenus/edit time panel and diagram/ CSM Execute - Upgrade Deb…
Nov 22, 2024
37b52f7
remove userlog in Periodic Message Filter in CSM Tool.vi
Nov 22, 2024
785ff11
完善 Periodic String Filter.vi 功能
nevstop Nov 23, 2024
b5a5fbc
[important] Change License to MIT, to enable more csm users
nevstop Nov 25, 2024
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
Binary file modified .doc/_img/csm-intro.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
80 changes: 47 additions & 33 deletions Communicable State Machine(CSM).vipb
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<VI_Package_Builder_Settings Version="2020.1" Created_Date="2023-07-01 11:20:47" Modified_Date="2024-11-09 22:00:56" Creator="liyao" Comments="" ID="7872e04ce9ab4fa28390e6340a355d91">
<VI_Package_Builder_Settings Version="2020.1" Created_Date="2023-07-01 11:20:47" Modified_Date="2024-11-25 18:34:43" Creator="liyao" Comments="" ID="56662b33a87bbad7dae5bc80b1f65906">
<Library_General_Settings>
<Package_File_Name>NEVSTOP_lib_Communicable_State_Machine</Package_File_Name>
<Library_Version>2024.11.0.3</Library_Version>
Expand All @@ -7,7 +7,7 @@
<Library_Output_Folder>vip</Library_Output_Folder>
<Company_Name>NEVSTOP</Company_Name>
<Library_Summary/>
<Library_License>Apache-2.0</Library_License>
<Library_License>MIT</Library_License>
<Package_LabVIEW_Version>17.0</Package_LabVIEW_Version>
<Community_Edition>true</Community_Edition>
<Package_Icon>00000D7E002800000C9A00000400000200020022002200080000000000FFFFFF00FF80000000FFFFFFFFFFFF0000FFFFFFFFCCCC0000FFFFFFFF99990000FFFFFFFF66660000FFFFFFFF33330000FFFFFFFF00000000FFFFCCCCFFFF0000FFFFCCCCCCCC0000FFFFCCCC99990000FFFFCCCC66660000FFFFCCCC33330000FFFFCCCC00000000FFFF9999FFFF0000FFFF9999CCCC0000FFFF999999990000FFFF999966660000FFFF999933330000FFFF999900000000FFFF6666FFFF0000FFFF6666CCCC0000FFFF666699990000FFFF666666660000FFFF666633330000FFFF666600000000FFFF3333FFFF0000FFFF3333CCCC0000FFFF333399990000FFFF333366660000FFFF333333330000FFFF333300000000FFFF0000FFFF0000FFFF0000CCCC0000FFFF000099990000FFFF000066660000FFFF000033330000FFFF000000000000CCCCFFFFFFFF0000CCCCFFFFCCCC0000CCCCFFFF99990000CCCCFFFF66660000CCCCFFFF33330000CCCCFFFF00000000CCCCCCCCFFFF0000CCCCCCCCCCCC0000CCCCCCCC99990000CCCCCCCC66660000CCCCCCCC33330000CCCCCCCC00000000CCCC9999FFFF0000CCCC9999CCCC0000CCCC999999990000CCCC999966660000CCCC999933330000CCCC999900000000CCCC6666FFFF0000CCCC6666CCCC0000CCCC666699990000CCCC666666660000CCCC666633330000CCCC666600000000CCCC3333FFFF0000CCCC3333CCCC0000CCCC333399990000CCCC333366660000CCCC333333330000CCCC333300000000CCCC0000FFFF0000CCCC0000CCCC0000CCCC000099990000CCCC000066660000CCCC000033330000CCCC0000000000009999FFFFFFFF00009999FFFFCCCC00009999FFFF999900009999FFFF666600009999FFFF333300009999FFFF000000009999CCCCFFFF00009999CCCCCCCC00009999CCCC999900009999CCCC666600009999CCCC333300009999CCCC0000000099999999FFFF000099999999CCCC0000999999999999000099999999666600009999999933330000999999990000000099996666FFFF000099996666CCCC0000999966669999000099996666666600009999666633330000999966660000000099993333FFFF000099993333CCCC0000999933339999000099993333666600009999333333330000999933330000000099990000FFFF000099990000CCCC000099990000999900009999000066660000999900003333000099990000000000006666FFFFFFFF00006666FFFFCCCC00006666FFFF999900006666FFFF666600006666FFFF333300006666FFFF000000006666CCCCFFFF00006666CCCCCCCC00006666CCCC999900006666CCCC666600006666CCCC333300006666CCCC0000000066669999FFFF000066669999CCCC0000666699999999000066669999666600006666999933330000666699990000000066666666FFFF000066666666CCCC0000666666669999000066666666666600006666666633330000666666660000000066663333FFFF000066663333CCCC0000666633339999000066663333666600006666333333330000666633330000000066660000FFFF000066660000CCCC000066660000999900006666000066660000666600003333000066660000000000003333FFFFFFFF00003333FFFFCCCC00003333FFFF999900003333FFFF666600003333FFFF333300003333FFFF000000003333CCCCFFFF00003333CCCCCCCC00003333CCCC999900003333CCCC666600003333CCCC333300003333CCCC0000000033339999FFFF000033339999CCCC0000333399999999000033339999666600003333999933330000333399990000000033336666FFFF000033336666CCCC0000333366669999000033336666666600003333666633330000333366660000000033333333FFFF000033333333CCCC0000333333339999000033333333666600003333333333330000333333330000000033330000FFFF000033330000CCCC000033330000999900003333000066660000333300003333000033330000000000000000FFFFFFFF00000000FFFFCCCC00000000FFFF999900000000FFFF666600000000FFFF333300000000FFFF000000000000CCCCFFFF00000000CCCCCCCC00000000CCCC999900000000CCCC666600000000CCCC333300000000CCCC0000000000009999FFFF000000009999CCCC0000000099999999000000009999666600000000999933330000000099990000000000006666FFFF000000006666CCCC0000000066669999000000006666666600000000666633330000000066660000000000003333FFFF000000003333CCCC0000000033339999000000003333666600000000333333330000000033330000000000000000FFFF000000000000CCCC0000000000009999000000000000666600000000000033330000EEEE000000000000DDDD000000000000BBBB000000000000AAAA0000000000008888000000000000777700000000000055550000000000004444000000000000222200000000000011110000000000000000EEEE000000000000DDDD000000000000BBBB000000000000AAAA0000000000008888000000000000777700000000000055550000000000004444000000000000222200000000000011110000000000000000EEEE000000000000DDDD000000000000BBBB000000000000AAAA0000000000008888000000000000777700000000000055550000000000004444000000000000222200000000000011110000EEEEEEEEEEEE0000DDDDDDDDDDDD0000BBBBBBBBBBBB0000AAAAAAAAAAAA000088888888888800007777777777770000555555555555000044444444444400002222222222220000111111111111000000000000000000F681818181818181818181818181818181818181818181818181818181F600008181818181818181818181818181818181818181818181818181818181810000818100000000000000000000000000000000000000000000000000008181000081810000000000000000000000000000000000000000000000000000818100008181000000000000000000000000000000000000000000000000000081810075757575757575000000000000000000000000000000000000757575757575757500000000007500000000000000FF0000FF00000000000000750000000000757500757575007575007500750000FF0000FF000075007500757500007500007575000075000075007500750000FFFF00FFFF000000750075007500757575007575000000000075750075007500FF0000FF00000075007500757500000000007575757575757575000000000000FF0000FF000000000000000075757575757575008181000000000000000000000000000000000000000000000000000081810000818100000000000000000000000000000000000000D2D2000000000081810000818100000000000000000000000000000000000000D2D22B0000000081810000818100000000000000000000000000000000000000D2D22B0000000081810000818100000000000000000000000000000000D2D2D2D2D2D2D2D2000081810000818100000000000000000000000000000000D2D2D2D2D2D2D2D22B0081810000818100000000000000000000000000000000000000D2D22B2B2B2B0081810000818100000000000000000000000000000000000000D2D22B0000000081810000818100000000000000000000000000000000000000D2D22B0000000081810000818100000000000000000000000000000000000000002B2B0000000081810000818100007575000000757575007500000075000000000000000000008181000081810075000075007500000000757500757500000000000000000000818100008181007500000000007575000075007500750000000000000000000081810000818100750000750000000075007500000075000000000000000000008181000081810000757500007575750000750000007500000000000000000000F6F60000818100000000000000000000000000000000000000000000000081818181000081810000000000000000000000000000000000000000000000000081818100008181818181818181818181818181818181818181818181818181818181810000F6818181818181818181818181818181818181818181818181818181008100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007FFFFFFE7FFFFFFE7FFFFFFE7FFFFFFE7FFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFE7FFFFFFE7FFFFFFE7FFFFFFE7FFFFFFE7FFFFFFE7FFFFFFE7FFFFFFE7FFFFFFE7FFFFFFE7FFFFFFE7FFFFFFE7FFFFFFE7FFFFFFE7FFFFFFE7FFFFFFE7FFFFFFE7FFFFFFE7FFFFFFA0000000000000000002900000012000000020000000D01000000000100000000000A000000080000000000240024002900000012000000020000000D00B2B2B900010000000000100000001000000002002300000000000000000023002900000012000000020000000D00FCFCFD00010000000000100000001000000002002200010001000100010022002900000012000000020000000D00B2B2B900010000000000100000001000000002000000240024002400240000002900000012000000020000000D0080808A00010000000000100000001000000002000100230023002300230001</Package_Icon>
Expand All @@ -31,44 +31,59 @@
<VI_Package_Configuration_File>Communicable State Machine(CSM).vipc</VI_Package_Configuration_File>
<Description>
<One_Line_Description_Summary>LabVIEW Application Framework extended from JKI State Machine(JKISM)</One_Line_Description_Summary>
<Description>Communicable State Machine(CSM) is a LabVIEW application framework that builds upon JKI State Machine(JKISM). It follows the pattern of JKISM and extends the keywords to describe message communication between modules, including concepts such as Sync-Message, Async-Message, Subscription/Unsubscription of status - essential elements for creating reusable code modules. For more information, please visit the CSM wiki: https://nevstop-lab.github.io/CSM-Wiki/
<Description>Communicable State Machine(CSM) is a LabVIEW application framework that builds upon JKI State Machine(JKISM). It follows the pattern of JKISM and extends the keywords to describe message communication between modules, including concepts such as Sync-Message, Async-Message, Subscription/Unsubscription of status - essential elements for creating reusable code modules.

- For instructions on JKI State Machine(JKISM), visit: http://jki.net/state-machine
- For information on NEVSTOP-LAB, visit: https://github.com/NEVSTOP-LAB
&lt;b&gt;Grammar:&lt;/b&gt;

&lt;color=gray&gt;// Local Message Example&lt;/color&gt;
DoSth: DoA &gt;&gt; Arguments
&lt;color=gray&gt;// Sync Call Example&lt;/color&gt;
API: xxxx &gt;&gt; &lt;i&gt;Arguments&lt;/i&gt; &lt;color=red&gt;-@&lt;/color&gt; TargetModule
&lt;color=gray&gt;// Async Call Example&lt;/color&gt;
API: xxxx &gt;&gt; &lt;i&gt;Arguments&lt;/i&gt; &lt;color=red&gt;-&gt;&lt;/color&gt; TargetModule
&lt;color=gray&gt;// Async Call without Reply Example&lt;/color&gt;
API: xxxx &gt;&gt; &lt;i&gt;Arguments&lt;/i&gt; &lt;color=red&gt;-&gt;|&lt;/color&gt; TargetModule
&lt;color=gray&gt;// Broadcast normal status:&lt;/color&gt;
Status &gt;&gt; &lt;i&gt;StatusArguments&lt;/i&gt; &lt;color=red&gt;-&gt;&lt;status&gt;&lt;/color&gt;
&lt;color=gray&gt;// Broadcast Interrupt status:&lt;/color&gt;
Interrupt &gt;&gt; &lt;i&gt;StatusArguments&lt;/i&gt; &lt;color=red&gt;-&gt;&lt;interrupt&gt;&lt;/color&gt;
&lt;color=gray&gt;// Register Source Module's status to Handler Module&lt;/color&gt;
Status@Source Module &gt;&gt; API@Handler Module &lt;color=red&gt;-&gt;&lt;register&gt;&lt;/color&gt;
&lt;color=gray&gt;// Unregister Source Module's status&lt;/color&gt;
Status@Source Module &gt;&gt; API@Handler Module &lt;color=red&gt;-&gt;&lt;unregister&gt;&lt;/color&gt;

&lt;b&gt;Hightlights:&lt;/b&gt;

1. Template of CSM Module
- CSM Module Template
- CSM User Interface(UI) Module Template
- CSM Module Template(Tiny)
- CSM User Interface(UI) Module Template(Tiny)

2. Advance API for Module Managment
- List Modules
- Check if Module Exists
- Start Async/Sync Call

3. Examples
- Base Concepts
- Create a reuse Module
- Caller is CSM Scenario
- Caller is Other Framework Scenario
- Advance Examples
--- CSM with Side Loop as a Module
--- Action Workers Example
--- Responsibility Chain Example
--- Build-in Error Handler framework example
- Pure text process control makes documentation, scripting and testing easy.
- Easy to change program behavior even after application is built.
- Easy to build 1:1, 1:N and M:N communication.
- No need to directly invoke LabVIEW queues or user events.
- Parameters and data are passed through "encoding", "transmission" and "decoding" with arguments.
- User's code is highly concentrated; most visible code is user-generated.
- VIs serve as modules, and their Singleton/Cloneable behavior is defined by VI attributes.
- Detailed global log interface with multiple debugging tools built on it.
- Compatible with JKISM Editor.

4. Tools
- Localization API/Template Tool
- Debug Tool for monitoring system change
- Debug Tool for state dashboard
- Debug Tool for state table</Description>
For more information, please visit the CSM wiki: &lt;color=blue&gt;&lt;u&gt;&lt;i&gt;https://nevstop-lab.github.io/CSM-Wiki/&lt;/i&gt;&lt;/u&gt;&lt;/color&gt;
For instructions on JKI State Machine(JKISM), visit: &lt;color=blue&gt;&lt;u&gt;&lt;i&gt;http://jki.net/state-machine&lt;/i&gt;&lt;/u&gt;&lt;/color&gt;
For information on NEVSTOP-LAB, visit: &lt;color=blue&gt;&lt;u&gt;&lt;i&gt;https://github.com/NEVSTOP-LAB&lt;/i&gt;&lt;/u&gt;&lt;/color&gt;</Description>
<Copyright/>
<Packager>NEVSTOP</Packager>
<URL>https://github.com/NEVSTOP-LAB</URL>
<Release_Notes>#Tool
<Release_Notes>[important] Peroidic States/Log will automatically be filtered in Template/DebugTools/Examples
[important] Change License to MIT, to enable more csm users

#Core
[update] #337 Show Responses in "CSM - Run Script.vi"

#Template
[update] Update template to use new State Debug Log VI, which will automatically filter period States in log

#Installer
[update] Remove the localization process to speed up the installation. You can use the CSM Tool to change the description language.

#Tool
[update] #285 Peroidic States/Log will automatically be filtered in DebugTools
[fix] minor fix #327</Release_Notes>
</Description>
<Destinations>
Expand Down Expand Up @@ -243,7 +258,6 @@
<close_labview_before_install>true</close_labview_before_install>
<restart_labview_after_install>false</restart_labview_after_install>
<skip_mass_compile_after_install>false</skip_mass_compile_after_install>
<install_into_global_environment>false</install_into_global_environment>
</LabVIEW>
<VI_Docs>
<Edit_VI_Description>true</Edit_VI_Description>
Expand Down
Binary file modified src/API Tree.vi
Binary file not shown.
Binary file not shown.
Binary file modified src/Example/0. Base Concepts/CSM Data Type.vi
Binary file not shown.
Binary file modified src/Example/1. Create a reuse Module/CSM Reuse Module.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.
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 modified src/_TEST/_backup_example/CSM Example - Top Main.vi
Binary file not shown.
Binary file modified src/_TEST/_backup_example/CSM Example - Worker Module.vi
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file modified src/_TEST/_pipeline/#197-CSM-BUG/#197-Module.vi
Binary file not shown.
Binary file modified src/_TEST/_pipeline/#199/#199.vi
Binary file not shown.
Binary file modified src/_TEST/_pipeline/#242/master242.vi
Binary file not shown.
Binary file modified src/_TEST/_pipeline/#242/slave242.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.
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