2024.9.28.204226 (Sep 28, 2024)
#Core
[update] Uncheck inline option in Parse State Queue++.vi.
[fix] minor fix #302 #304 #308 #309
#Tool
[important] #92 #287 Add Vi analyzer Support.
[update] #305 include *.vit files in Add "VI Reference" Tool.
yao
was a contributor to this release
2024.8.30.80458 (Aug 30, 2024)
#Core
[important] Reorganize all broadcast registry APIs to make them more user-friendly.
[important] #234 Add Global Event Filter System
[add] #289 Add two more api for Send/Post Message to CSM.
[add] add CSM - Run Script VI to execute multiple states once.
[fix] #291 The Registry of status should not be removed after CSM exit. It should be unregistered explicitly.
[fix] #295 Stand-Alone CSM module should be able to register other module's status change.
[fix] #299 CSM Module name should be case insensitive.
#CSMHelper
[important][add] Add CSM-Helper APIs for creating tools for CSM.
#Tool
[add] #300 add tool to fix "VI Reference" case in every CSM module VIs.
[add] Add Show FP/BD buttons in toolbars.
#Template
[important] #298 Add "VI Reference" case for template, to provide interface to get CSM VI Ref.
[remove] Remove 'More template' mnu. Use template VIs in ¡±File>>New..." instead.
#addon
[add] add CSM Watchdog to ensure all CSM modules exit after application is exited.
[update] #290 add appending or not optional input for "CSMLS - Append Continious State (CSM)"
[fix] #293 corner case in csm logger thread.
yao
was a contributor to this release
2024.7.30.93737 (Jul 30, 2024)
##Core
[update] #282 Multiple Status Input is supported in CSM - Broadcast Status Change.vi
##Addons
[update] #286 Add timestamp format input for logging.
##Template
[update] #281 Connect last Response to Response in Error Handler Case.
[update] Remove most error wires as it's not necessary for most cases.
[update] #235 Reorg Error code.
##Utility
[fix] Ignore case in Set Enum String Value Utility VI to improve user experience
[update] #286 Add timestamp format input for String History Cacher.
yao
was a contributor to this release
2024.6.30.230838 (Jul 01, 2024)
##Arguments
[update] #275 `,` and `;` are added to keyword list
##Tool
[update] #277 Response Timeout could be modified. The value is stored in LabVIEW.ini as "CSM.Tool.DebugPanel.Response Timeout"
[update] #278 More History for CSM-DebugConsole
[update] Create Tool Btn for CSM - Mermaid Tool
##Addon
[fix] #280 Loop Support: fix bug in CSMLS - Remove Loop Tag and previous State(s) to Break.vi
##Documentation
[update] minor update to examples #274
##Utility
[update] all embedded OpenG SubVI is marked as subroutine
yao
was a contributor to this release
2024.5.31.105713 (May 31, 2024)
#Core
[add] #269 Add APIs to check registration in BroadcastRegistry
[update] #272 csm name support utf-8 charactors
[fix] #239 The registration status of a module can now be linked to two messages from a single CSM module.
[fix] #268 Fix bug that CSM of chain type is not included in result of CSM - List Modules.vi
#Tool
[add] #270 Show status registration information in LogViewer
[add] Add "Highlight All CSM Scripts" in popup menu plugin
[update] improve tool launcher dialog
#Template
[update] Change templates names to make it more comprehensible
[update] Update descriptions in all templates
#Addon-Logger
[add] #271 logger file will be limited by file-size(10M as default) and file-num(2 as default) parameter.
[update] add handshake between thread and api
#Documentation
[update] Update library icon
yao
was a contributor to this release
2024.5.31.10439 (May 31, 2024)
#Core
[add] #269 Add APIs to check registration in BroadcastRegistry
[update] #272 csm name support utf-8 charactors
[fix] #239 The registration status of a module can now be linked to two messages from a single CSM module.
[fix] #268 Fix bug that CSM of chain type is not included in result of CSM - List Modules.vi
#Tool
[add] #270 Show status registration information in LogViewer
[add] Add "Highlight All CSM Scripts" in popup menu plugin
[update] improve tool launcher dialog
#Template
[update] Change templates names to make it more comprehensible
[update] Update descriptions in all templates
#Addon-Logger
[add] #271 logger file will be limited by file-size(10M as default) and file-num(2 as default) parameter.
[update] add handshake between thread and api
#Documentation
[update] Update library icon
yao
was a contributor to this release
2024.4.30.125849 (Apr 30, 2024)
#Core
[important] upgrade to LabVIEW 2017 for plugin and other features
#Side-Loop Support
[update] update palette
#Addon
[change] change csm log file extension to .csmlog
#DebugTool
[important] add pop-up menu plugin
[add] #167 pop-up menu for script constant string: Make Argument Safe/Revert Safe String
[add] pop-up menu for script constant string: Hightlight CSM Script
[add] add CSM - Remove all CSM Bookmarks tool to remove all comment bookmarks of CSM template
[update] add error log window in LogViewer to highlight error occurred
[update] some minor improvement
#Utility
[add] add CSM Data Type String.vi in palette
[add] add CSM Data Type String to Enum.vi in palette
#Documentation
[update] #256 update icons
yao
was a contributor to this release
2024.3.29.140305 (Mar 29, 2024)
#Core
[fix] #258 Terminated CSM will not be included in CSM - List Modules.vi any more.
[fix] #262 Advanced operation(register,unregister,status,interrupt..) will not be filtered by CSM - Filter Messages to Non-Existing Modules.vi any more.
[add] IMPORTANT: #259 User defined operation "->" is permitted. You can now assign a user-defined tag to a local CSM message, which offers greater flexibility for creating add-ons.
#Side-Loop Support
[add] Add option of immediately(F) option for CSM - Request CSM to Post Message.vi and CSM - Request CSM to Broadcast Status Change.vi
[add] Add CSM - Module Exit Event.vi for triggering Non-CSM side loop exit.
[add] #249 Add "CSM - Flood of Events Handler Side Loop" template
#DebugTool
[add] IMPORTANT: add a new tool: CSM Debug Console.
[improve] LogViewer: 1. Add Clear History Button; 2. Add History Length Entry; 3. Add Back to Top Button; 4. Add Log File Support
[improve] Improved names for built-in tools in the tool launcher.
[improve] all tool window will be open in the center the primitive screen.
#Addons
[add] LoopSupport: addon to define a loop in CSM, which is used in NEVSTOP-Lab project
[add] FileLoggerSupport: addon to log CSM activities to log file.
#documentation
[improve] #260 improve pre-build action script to fix palette VI names
#installer
[improve] #257 reduce installation time
[improve] Improvement according to vi-analyzer
yao
was a contributor to this release
2024.3.3.173442 (Mar 03, 2024)
#GlobalEvent
[improve] improve release logic. Use watchdog for background thread exit
[improve] minor fix #254
#Utility
[add] #251 add "CSM - Filter Messages to Non-Existing Modules.vi"
#Tool
[add] #252 add a toolbar entry to launcher CSM tools
#Documentation
[fix] #246 fix vipm.io links
[improve] #245 improve user experience
[improve] Update example VIs' icons/Palette icons
yao
was a contributor to this release
2024.1.31.114102 (Jan 31, 2024)
#Core
[update] #242 For async-message, if target turned invalid before response, no ¡°target error¡± throw out
[fix] Clear Last Message's Error before new remote message, to avoid some misinformation
#Arguments
[fix] Fix the error input of "CSM - Convert HexStr to Data.vi"
[fix] minor fix #237
#Global Event
[add] #240 add "Module Created" and "Module Destroyed" log to global log system
[fix] #238 Align global event ref lifecycle with a background thread, rather than the caller VI
#Utility
[add] Add "CSM - Remove Duplicated Following Messages.vi", to remove duplicated message
[add] Add "CSM - Replace Substitution Marks in Messages.vi", to help build multiple-line states easily
#Documentation
[add] Create web wiki for CSM: https://nevstop-lab.github.io/CSM-Wiki/
yao
was a contributor to this release
2023.12.25.111604 (Dec 25, 2023)
# Core
[Critical] #207 ¡°Target Busy Error¡± is absolete. Now a sync-call message will not generate "Target Busy Error" but waiting until timeout.
[fix] #219 #225 #226 fix bug that the cache system is ineffective when CSMs start/exit in the same microsecond
[fix] #197 fix the bug of timeout behavior of CSM - Send Message and Wait for Reply.vi
[fix] #196 fix the bug that status of agent(worker Mode) could not trigger registered action
[fix] #215 now CSM - Module Turns Invalid (CSM) support Agent & Chain
[fix] #217 fix the bug that Single Character could not be used as module name
#GlobalLog
[add] #214 add Error Handler which logs error in global log if any.
[update] #220 #221 Log Error Information in CSM - Generate User Global Log.vi
[fix] #212 Remove some meaningless items in log
#Utility
[add] #209 add Build Exit Messages of CSMs.vi
[add] #216 add two sync-up VI: CSM - Wait for All Modules to Exit.and CSM - Wait for All Modules to be Alive
[add] add Random Change Flag.vi for internal bug fix.
# Installer
[improvement] #203 Change post-install action window to JKISM
[update] #228 show relative path in post-install action window
# Template
[add] add CSM - No-Event Structure Template - Tiny.vi
[minor update] #211 #223
yao
was a contributor to this release
2023.11.29.94143 (Nov 29, 2023)
# Core
[add] #144 add build-in chain of responsibility mode "$" as key words in module name.
[add] add CSM - Break Down Multiple States String.vi
[add] #184 add CSM - Keywords.vi for exposing keywords of CSM
[add] #161 Response/Async Response carry the Error information from target CSM module
[add] Allowed Messages(Empty for all) terminal for Parse State Queue++.vi
[improve] make Parse State Queue++.vi block diagram clear
[imporve] #140 Improve CSM - Send Message and Wait for Reply.vi and CSM - Post Message.vi
[fix] #173 fix bug that sync message(-@) is blocking by mass of async message(->).
[fix] fix No source module name for "Macro: Exit"
[fix] show pre-state argument for Response(sync-call)
[fix] show pre-state/pre-argument for "Target Error","Target Timeout Error" or "Traget Busy Error"
# Arguments
[add] Convert Error with Argument API and example
# Template
[critical] Change Error Status Arguments to SafeString as Default in template
[add] add a stub string constant which is for exiting sub-modules
[update] #186 show "Init State("Macro: Initialize")" control for templates
[update] init error shift resgister in front of loop
[fix] #179 Show documentation case by default
# documentation
[fix] #180 Update description of quick-drop VIs in documentation palette
yao
was a contributor to this release
2023.10.29.195953 (Oct 29, 2023)
[critical]#169 show both source message and arguments for response/async response, which will broken old module but easy to fix.
[add] #158 Add State Table - DebugTool
[add] #156 Create CSM_Tool_Launcher entry in Tool Menu
[add] #154 Create stub folder [labview]\templates\Communicable State Machine(CSM) for template VIs
[add] Apache License 2.0 License
[add] update More template palette tool
[add] Example of demostration of build-in error handling framework
[improve] #160 improve debug tools of CSM
[improve] #174 Show all keyword in template
[improve] #168 template: add case in Response/Async Response
[fix] #153 Small fix and update to templates
[fix] #150 Fix description in pages of vipm.io
[fix] #157 Fix QD of CSM_Tool_Launcher
[fix] #164 fix // is not included in Make Argument Safe.vi
[fix] #171 register status@* should exclude itself from list, to prevent recursive call.
yao
was a contributor to this release
2023.10.2.123812 (Oct 03, 2023)
1. Template of JKISM++ Module
- With Event Structure Template
- No-Event Strcture Template
- With Event Structure 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 JKISM Scenario
- Caller is Other Framework Scenario
- Advance Examples
- JKISM with Side Loop as a Module
- Action Workers Example
4. Tools
- Localization API/Template Tool
- Debug Tool for monitoring system change
- Debug Tool for status dashboard
yao
was a contributor to this release