Sign Up

Communicable State Machine(CSM) by NEVSTOP - Toolkit for LabVIEW Download

LabVIEW Application Framework extended from JKI State Machine(JKISM)

D Discussion Watch * 5 ↓486
 screenshot
Version2024.3.29.140305
ReleasedMar 29, 2024
Publisher NEVSTOP
License Apache-2.0 license
LabVIEW VersionLabVIEW>=14.0
Operating System Windows, Mac, and Linux
Dependencies jki_lib_state_machine  
Used By nevstop_lib_csm_continuous_meausrement_and_logging_example   nevstop_lib_csm_api_string_arguments_support   nevstop_lib_csm_massdata_parameter_support   nevstop_lib_csm_ini_static_variable_support  
Project links Homepage   Documentation   Repository   Discussion

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/

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

Hightlights:

1. Template of CSM Module
- With Event Structure Template
- No-Event Strcture Template
- With Event Structure Template(Tiny)
- No-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 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

4. Tools
- Localization API/Template Tool
- Debug Tool for monitoring system change
- Debug Tool for state dashboard
- Debug Tool for state table

Release Notes

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


Download Package

Versions
All Contributors

  Post an Idea   Post a Resource

Recent Posts