Releases: NEVSTOP-LAB/Communicable-State-Machine
v2025.September lvlibp feature
v2025.August: Update Argument Palette
Show API String/MassData in Argument Palette.
v2025.July: Support State Registration as Status
Release Notes
##Core
[important] #236 #475 #481 #482 #487 #490 #491 CSM Framework now support register state.
[important] #488 After "Macro: Initialize" is complete, CSM start to process external message.
##API
[update] #485 Add "Recursive" option for "CSM - List Submodules.vi"
##CSMLoop
[fix] #479 fix bug that async-message could not get response until loop is stopped.
v2025.June Release: CSM Core/Tool Improvement
Release Notes:
#Core
[important] #437 #474 #472 #469 Align the life cycle of resources(Queue,User Event, DVR) of CSM to a background thread VI when CSM is started asynchronously.
#Arguments
[update] #466 Add "Argument Token" concept, if user add a new argument type, use as prefix to identify the argument type. Use "CSM - Argument Token.vi" to parse the argumen type.
#Tools
[update] #463 improve Debug Console, support operation of broadcasting status
[update] #467 Show speed of filtered log instead of counts
[update] minor update #465
#utility
[add] #195 Add a utility VI to identify the state triggered reason(local-call, remote-call, status-callback)
v2025.May: Global Log Improvement
Release Notes:
##Core
[update] #459 Default DequeueTMO is changed from 0ms to 1ms, which will improve debugging performance if any related errors. Thanks @ZhaoLi-an
##API
[update] #450 Enhance "CSM - List module" Behavior. Now system level module could be included.
[update] Add a "" prefix in "CSM - Convert Data to HexStr.vi" to identify the argument type.
[update] Add waiting time for CSM to be alive in CSM Status/Exit Event API
##GlobalLog
[add] #448 #453 #454 #455 #456 #457 Now global event support queue operation.
[add] #454 New snippet for using Global Event Queue.
[update] #455 use event source timestamp instead of handling timestamp.
##Example
[add] add a new example "4. Advance Examples\Global Log Handling Capability" to demostrate the improved global log handling capibility.
##Tools
[update] Debug Console add message handling speed indicator.
[update] #460 Debug Console use queue based global log API.
[update] #456 CSM File Logger use Queue based global log API.
v2025.April: Status Support of IDE feature
Release Notes:
#Core
[fix] #436 fix that for or Worker mode, when logviewer is open ,terminate workers' caller VI, flood of CSM module will be generated.
[fix] #423 Throw a CSM Missing Return State Error if the user clears the return state for a message(-&), as this action may potentially lead to an infinite loop issue.
#IDE
[update] Interface browser Update #430 #424 #425 #428
#Addon
[update]#435 Add option for front insert in CSMLS - Define Loop State(s).vi
#utility
[update] prompt user that CSM - Internal State Debug Log History.vi is disabled in runtime by default.
v2025.March: IDE feature for Message
Release Notes:
#important
[add] #399 add "Interface Browser Dialog", which is used for manage all your CSMs in project.
[add] #396 add "Script Editor" in RCM of string constant, it's useful and please try it.
#Core
[update] #413 If an error occurs during a message call, previously the response would be overwritten by the "Error Handler" response. Now, if you haven't specified any response in the "Error Handler", the caller will still receive the original message response.
[fix] #411 Fix sys-level module status-register issue
#API
[add] #406 add API to list submodule names
[add] #392 add API to set timeout of waiting reply for sync-message.
[add] #394 add a corner case API which could flush the CSM message queue
[update] VI Ref will be cached in "CSM - Module VI Reference.vi"
[update] #390 #391 Refactor palette and icon to make it more friendly to use. Thanks @ZhaoLi-an
[update] remove inline for non-CSM Support API to reduce loading time
[fix] fix message in queue number error of CSM - Module Status.vi when multiple Sync-Messages are in Queue.
#Template
[update] #389 select Case Insensitive Match in "UI: Front Panel State" case. Thanks @ZhaoLi-an
[update] tiny update to csm template(size...)
#Addon
[fix][CSMLS] #419 fix issue that macro message with loop support could not get resp/asyn-resp. Thanks @wulei2LabVIEW
[fix][CSM File Logger] Create every folders in log file path if needed.
#Tool
[add] #417 add an option to enable "retain wire value" option, which will help debugging a lot.
[add] #408 add RCM for jumping to CSM State of the log in Debug Consol and log viewer.
[update] debug-console provide option to convert safe string automatically
[update] #404 #403 #402 RCM entry update
[fix] #420 #421 minor bug fix. Thanks @wulei2LabVIEW
v2025.February: Maintenance Update
Release Notes:
#Core
[add] #379 Modules starting with '.' are recognized as system-level and excluded from "CSM - List Module.vi".
[update] Removed inline option for "Parse State Queue++.vi" to reduce CSM module loading time.
[update] #288 CSM now stops the loop before processing "Macro: Exit".
[fix] #387 "CSM - Forward States to CSM.vi" now generates a notify user-event to break event structure waiting.
#Template
[add] #386 Added a new DQMH-Style Template, moving UI handler out of the CSM-message loop.
#Tool
[add] #322 Added "Make Bent Wire Straight.vi" to CSMHelper.
[add] #381 Added tool to fix JKISM State Editor RCM entry for CSM.
[add] Added tool to create CSM palette in functions root palette.
[add] #374 Added "Go to State" RCM for String Constant.
[update] Added Exit toolbar button to post "Macro: Exit" to the selected CSM module.
[update] #384 Adapted to changes in jkism 2024, fixing State Editor RCM issues.
#Example
[fix] Minor documentation fixes (#380, #383).
#Installer
[update] Brought installing window to topmost (NI Knowledge Base: https://knowledge.ni.com/KnowledgeArticleDetails?id=kA03q000000YOu6CAG&l=en-US).
[update] Improved installing window.
[update] #382 Updated copyright year.
#CSM Loop Support
[update] Changed all APIs to subroutines.
[obsolete] #288 CSMLS - Add Exit State(s) with Loop Check.vi is no longer needed. "Parse State Queue++.vi" handles this automatically.
#Testcase
[add] #373 Added testcase to check dependencies; fails if unexpected dependencies are included.
[add] Added testcase to check for VI path length.
[add] Added testcase to validate CSM RCM dependencies.
v2025.January: Polish Installation Interface and Update Tools
Release Notes:
#Template
[update] #359 optimize template while loop size. thanks @casey502
#GlobalLog
[fix] #372 #371 Display precise logs for registration and unregistration actions.
#Tool
[add] #368 add .lvcsm file to store all configuration for csm tools
[update] The highlight tool will no longer use underlines in arguments, making it easier to distinguish the "_" symbol within them.
[update] #353 Improve CSM tool Launcher loading speed.
[update] Show help content of CSM debug tools in CSM tool Launcher
[update] add "API Only" option for listing CSM states in CSM debug console
[fix] #327 CSM tool launcher should function as a singleton.which should not be triggered repeatedly.
#CSMHelper
[add] #370 add "Jump to CSM State.vi", which will be used in CSM Tools and Plugins.
#Installer
[update] #342 Polish Installing dialog interface to show CSM introduction. Thanks @KivenJia
#Example
[update] minor fix/update #355 #357
[Fix] #365 fix data name error in "0. Base Concepts/CSM Data Type.vi". thanks @MapleBay
v2024.December: Simplified Template
Release Notes:
#Core
[fix] #323 fix grammar of unregister, to make it more friendly for new CSM user
[update] #297 Internal Status registration will be automatically removed after csm exits.
#API
[update] update ctrl palette for CSM
[fix] minor fix #347
#Template
[update] #349 make template looks simple. Thanks @drjdpowell
#Tool
[update] improve csm tools performance
#Documentation
[add] add a new example VI to compare the teamplates of JKISM and CSM
[fix] #348 fix unreadable description issue. Thanks @drjdpowell
[update] Update utility VI icons
#utility
[add] add Global Log History Cacher.vi and quick drop snippet of Global Log monitoring loop
[update] #344 show argument in filted periodic log in debug tools
[update] Add "Skip in Runtime(T)" option for CSM - Internal State Debug Log History.vi