Skip to content

Commit

Permalink
Dev202411-2: [important] Periodic States/Log will automatically be fi…
Browse files Browse the repository at this point in the history
…ltered in Template/DebugTools/Examples (#338)

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

* [important] Periodic States/Log will automatically be filtered in Template/DebugTools/Examples

* update CSM - Internal State Debug Log History.vi

* fix https://github.com/NEVSTOP-LAB/Communicable-State-Machine/actions/runs/11871387363

* update Periodic String Filter.vi

* add userlog for filter info

* update CNT State.vi

* 更新 CSM - Debug Console - DebugTool.vi

* 确保""被正确处理

* update tools

* update Example/

* CSM - Running Log - DebugTool.vi 添加按钮,可以清除已经不再重复的消息

* 更新 Periodic String Filter.vi 的行为

* 添加 <start filter> 和 <stop filter> 提示,更好的帮助阅读log信息

* #341

* update vipb #341

* update  csm-intro.png

* LogFilter.lvclass 修改,加入周期log自动过滤

* 更新 CSM-Logger-Thread.vi, 超时后自动产生一个 userlog,驱动更新<stop filter>信息

* 修改默认配置

* Change CSM DebugTool Dialog.vi to reentant

* update vipb

* change _xnode_csm_tool_support/Start CSM DebugTool Dialog.vi

* update description of vipb

* 移除一些无用的bookmark

* add PopupMenus/edit time panel and diagram/ CSM Execute - Upgrade Debug Log History Method.vi

* remove userlog in Periodic Message Filter in CSM Tool.vi

* 完善 Periodic String Filter.vi 功能

* [important] Change License to MIT, to enable more csm users
[update] Remove the localization process to speed up the installation. You can use the CSM Tool to change the description language.

---------

Co-authored-by: NEVSTOP <nevstop>
  • Loading branch information
nevstop authored Nov 25, 2024
1 parent bc5914f commit dc0a58e
Show file tree
Hide file tree
Showing 145 changed files with 362 additions and 242 deletions.
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

0 comments on commit dc0a58e

Please sign in to comment.