v2024.Mar: 调试控制台与插件生态
【v2024.Mar 精简公告】CSM v2024.Mar 已发布并推送至 VIPM。本期是 2024 年迄今最重要的更新:全新 CSM Debug Console 调试控制台正式上线,LoopSupport 和 FileLoggerSupport 两个内置 Addon 加入框架,用户自定义操作语法获得支持,Log Viewer 功能大幅增强。
2024 年 3 月的 CSM v2024.Mar 更新已经推送到 VIPM。如果你觉得 CSM 对你有帮助,请在 GitHub/Gitee 上 star 对应的仓库!也欢迎有经验的 LabVIEW 高手参与到 CSM 的开发中来。
- GitHub: https://github.com/NEVSTOP-LAB
- Gitee: https://gitee.com/NEVSTOP-LAB
- VIPM: Communicable State Machine Framework - Package List
- VIPM 打包好的 Release Package(VIPC) 合集(包含全部 Addon + Examples,可以离线安装): https://pan.baidu.com/s/10fsnFmJpn-P_HLbpH9IFLg 提取码: CSMF
版本亮点
- CSM Debug Console 上线:全新的交互式调试控制台,支持实时向运行中的 CSM 模块发送消息、观察状态,是 CSM 调试体验的重大飞跃。
- 用户自定义操作语法(#259):
-><user-defined>格式的用户自定义操作现在被允许,扩展了框架的表达能力。 - 两个新增内置 Addon:
LoopSupport支持在 CSM 中定义循环逻辑;FileLoggerSupport支持将 CSM 活动记录到日志文件,适用于需要持久化日志的场景。 - 新增模板(#249):
CSM - Flood of Events Handler Side Loop模板专为处理事件洪峰场景设计。 - API String 浮点格式增强:支持 SI 格式(#31)及
n,p,f,G,T等更多单位前缀,复数符号解析 bug 修复(#32)。
按仓库变更
1. Communicable-State-Machine
功能改动(重点)
- CSM Debug Console:全新调试工具,允许开发者在应用运行时实时发送调试消息到任意 CSM 模块,极大地简化了运行时调试流程。
- 用户自定义操作(#259):框架现在允许
-><user-defined>格式的用户自定义操作,开发者可以根据需要扩展框架行为。 - 新增
CSM - Module Exit Event.vi:用于触发非 CSM 侧的循环退出,方便协调多线程程序的生命周期管理。 - 新增内置 Addon - LoopSupport:提供在 CSM 中定义循环逻辑的能力,简化周期性任务的实现。
- 新增内置 Addon - FileLoggerSupport:支持将 CSM 的运行活动记录到本地日志文件,方便事后审查和问题诊断。
- 新增模板 - Flood of Events Handler Side Loop(#249):专为处理高频事件洪峰场景设计的侧循环模板。
- 立即选项(F):
CSM - Request CSM to Post Message.vi和CSM - Request CSM to Broadcast Status Change.vi新增immediately(F)选项,允许消息立即处理。 - 修复已终止模块仍出现在列表中的问题(#258):已终止的 CSM 模块不再出现在
CSM - List Modules.vi的结果中。 - 修复高级操作被过滤的问题(#262):
CSM - Filter Messages to Non-Existing Modules.vi现在不会过滤掉高级操作消息。
文档与图标(简述)
- Log Viewer 大幅增强:新增历史清除按钮、历史长度设置、回到顶部按钮及日志文件支持。
- 改进工具启动器中内置工具的显示名称,更加直观易懂。
- 所有工具窗口默认在主显示器中央打开。
- 改进预构建脚本,修复面板 VI 名称问题(#260)。
- 减少安装时间(#257)。
- 根据 VI Analyzer 建议进行了代码质量改进。
2. CSM-API-String-Arguments-Support
功能改动(重点)
- 浮点 SI 格式支持(#31):浮点数类型现在支持 SI 格式输出,可以使用
n,p,f,G,T,p等单位前缀,使数值表示更加直观。 - 修复复数符号解析问题(#32):修复了复数数字符号解析错误的 bug。
文档与图标(简述)
- 与核心库版本同步更新。
3. 其他仓库
- CSM-INI-Static-Variable-Support:本期无该版本发布,已忽略。
- CSM-MassData-Parameter-Support:本期无该版本发布,已忽略。
- CSM-TCP-Router:本期无该版本发布,已忽略。
按功能变更
1. 功能新增
- 全新 CSM Debug Console 调试工具。
- 新增内置 Addon:LoopSupport(循环状态支持)。
- 新增内置 Addon:FileLoggerSupport(文件日志支持)。
- 新增
CSM - Module Exit Event.vi,用于非 CSM 侧循环退出触发。 - 新增
CSM - Flood of Events Handler Side Loop模板(#249)。 - 支持用户自定义操作
-><user-defined>(#259)。 CSM - Request CSM to Post Message.vi和CSM - Request CSM to Broadcast Status Change.vi新增immediately(F)选项。
2. 改进优化
- Log Viewer 增强:历史清除、长度设置、回到顶部、日志文件支持。
- 工具启动器显示名称改进,更直观易读。
- 所有工具窗口在主显示器居中打开。
- API String 插件浮点支持 SI 格式及更多单位前缀(#31)。
- 预构建脚本改进,修复面板 VI 名称(#260)。
- 安装时间优化(#257)。
- VI Analyzer 代码质量改进。
3. 问题修复
破坏性变更
CSM - Filter Messages to Non-Existing Modules.vi的行为有所调整:高级操作消息不再被过滤。如果有代码依赖此前的行为,请检查是否需要调整逻辑。
升级指引
- 通过 VIPM 更新到 v2024.Mar 版本。
- 安装后可在工具栏找到新的 CSM 工具启动入口。
- 若需要使用 LoopSupport 或 FileLoggerSupport,在创建新的 CSM 模块时选择对应模板。
- 如果使用了
CSM - Filter Messages to Non-Existing Modules.vi,请验证高级操作消息是否仍按预期处理。
完整变更来源
Release
- Communicable-State-Machine: https://github.com/NEVSTOP-LAB/Communicable-State-Machine/releases/tag/v2024.Mar
- CSM-API-String-Arguments-Support: https://github.com/NEVSTOP-LAB/CSM-API-String-Arguments-Support/releases/tag/v2024.Mar
结尾
欢迎大家使用并提出反馈!CSM Debug Console 的加入标志着 CSM 调试体验进入了新的阶段。如果你有好的想法或发现了问题,欢迎在 GitHub 提交 Issue 或参与讨论!