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 的开发中来。

版本亮点

  • CSM Debug Console 上线:全新的交互式调试控制台,支持实时向运行中的 CSM 模块发送消息、观察状态,是 CSM 调试体验的重大飞跃。
  • 用户自定义操作语法#259):-><user-defined> 格式的用户自定义操作现在被允许,扩展了框架的表达能力。
  • 两个新增内置 AddonLoopSupport 支持在 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.viCSM - 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.viCSM - Request CSM to Broadcast Status Change.vi 新增 immediately(F) 选项。

2. 改进优化

  • Log Viewer 增强:历史清除、长度设置、回到顶部、日志文件支持。
  • 工具启动器显示名称改进,更直观易读。
  • 所有工具窗口在主显示器居中打开。
  • API String 插件浮点支持 SI 格式及更多单位前缀(#31)。
  • 预构建脚本改进,修复面板 VI 名称(#260)。
  • 安装时间优化(#257)。
  • VI Analyzer 代码质量改进。

3. 问题修复

  • 修复已终止 CSM 模块仍出现在模块列表中的问题(#258)。
  • 修复高级操作被消息过滤 VI 错误过滤的问题(#262)。
  • 修复 API String 插件中复数符号解析错误(#32)。

破坏性变更

  • CSM - Filter Messages to Non-Existing Modules.vi 的行为有所调整:高级操作消息不再被过滤。如果有代码依赖此前的行为,请检查是否需要调整逻辑。

升级指引

  1. 通过 VIPM 更新到 v2024.Mar 版本。
  2. 安装后可在工具栏找到新的 CSM 工具启动入口。
  3. 若需要使用 LoopSupport 或 FileLoggerSupport,在创建新的 CSM 模块时选择对应模板。
  4. 如果使用了 CSM - Filter Messages to Non-Existing Modules.vi,请验证高级操作消息是否仍按预期处理。

完整变更来源

Release

结尾

欢迎大家使用并提出反馈!CSM Debug Console 的加入标志着 CSM 调试体验进入了新的阶段。如果你有好的想法或发现了问题,欢迎在 GitHub 提交 Issue 或参与讨论!