v2024.June: 全局日志过滤与参数API增强

【v2024.June 精简公告】CSM v2024.June 已发布并推送至 VIPM。本期带来了响应超时时间可配置功能(#277)、Debug Console 历史记录增强(#278),以及 INI 插件的大规模功能扩充,包括变量操作符、Cluster 读取 API、调试工具等多项重要新增。

2024 年 6 月的 CSM v2024.June 更新已经推送到 VIPM。如果你觉得 CSM 对你有帮助,请在 GitHub/Gitee 上 star 对应的仓库!也欢迎有经验的 LabVIEW 高手参与到 CSM 的开发中来。

版本亮点

  • 响应超时可配置#277):同步消息响应超时时间现在可以通过 LabVIEW.ini 修改,满足不同部署环境的需求。
  • API String 布尔与浮点格式配置:新增独立的布尔字符串设置 API(#43)和浮点精度设置 API(#42),开发者可以按应用需求定制输出格式。
  • INI 插件重大扩充:新增变量操作符语法(#20)、Cluster 元素读取 API(#24)、临时变量永久化 API(#21)等多项重要功能。
  • API String 标签值对支持#48):Boolean、Integer、Float、Complex 类型现在支持 tag:value 对形式,提升可读性。
  • INI 插件调试工具#33):新增专属调试工具,可在运行时查看和管理所有 INI 变量。

按仓库变更

1. Communicable-State-Machine

功能改动(重点)

  • 响应超时可配置#277):同步消息的响应超时时间现在可通过 LabVIEW.ini 文件修改,无需修改代码即可适应不同的网络延迟或系统负载场景。
  • Debug Console 历史增强#278):Debug Console 历史记录条数大幅增加,更长时间的调试历史得以保留。
  • 新增关键字支持#275):,; 字符已加入关键字列表,增强脚本解析能力。
  • CSM - Mermaid Tool 工具按钮:新增工具按钮直接打开 CSM Mermaid 可视化工具。
  • 修复 LoopSupport bug#280):修复了 CSMLS - Remove Loop Tag and previous State(s) to Break.vi 中的 bug。

文档与图标(简述)

  • 示例更新(#274)。
  • 所有内嵌 OpenG 子 VI 标记为子程序(subroutine),减少不必要的执行开销。

2. CSM-API-String-Arguments-Support

功能改动(重点)

  • 布尔字符串设置 API#43):新增独立 API 用于设置 Boolean 类型的真/假字符串表示,支持自定义格式(如 true/falseyes/no1/0 等)。
  • 浮点精度设置 API#42):新增独立 API 用于配置浮点数的输出精度。
  • 标签值对支持#48):Boolean、Integer、Float 和 Complex 类型现在支持 tag:value 对形式,使 API String 内容更具可读性。
  • 浮点带单位字符串支持#41):浮点字符串现在支持携带物理单位后缀(如 10.5 mV)进行正确解析。
  • 修复 cluster 标签值对模式 bug#44):修复了 cluster 在 tag:value 模式下的多处解析问题。
  • 修复模板名称问题#46#47):修复了在 “File » New VI” 对话框中模板名称显示错误的问题。

文档与图标(简述)

  • 与核心库版本同步更新。

3. CSM-INI-Static-Variable-Support

功能改动(重点)

  • 变量操作符语法#20):CSM - Populate Configuration Variables.vi 支持 >> value -><variable> 操作符语法,可以将计算结果直接写入变量。
  • Cluster 元素读取 API#24):新增 CSM - Read Cluster Elements From Session.viCSM - Read Cluster Elements From Key.vi,简化从配置中读取 Cluster 数据的流程。
  • API String 转 Cluster 工具:新增 Convert API String to Cluster(Default in Session).vimConvert API String to Cluster(Default in Key).vim,提供更便捷的转换入口。
  • 临时变量永久化#21):CSM - Mark All Temp Variables as Permanent.vi 允许将所有临时变量一次性标记为永久变量。
  • 卸载配置文件 API#35):新增 CSM - Unload Configuration Variable File.vi,支持在运行时卸载已加载的配置文件。
  • INI 变量调试工具#33):新增专属调试工具,可在运行时查看和管理当前所有配置变量的值。
  • 仅列出永久变量选项#22):新增选项支持只列出永久变量,而不显示临时变量。
  • “All Temp Variable to Default Ini(F)” 选项:新增批量将临时变量写入默认 INI 文件的选项。
  • 配置文件路径终端:新增终端控件显示所有已加载配置文件的路径,便于调试。
  • 移除严格类型支持#29):去掉了”strict support types”选项,简化使用。
  • 修复多处问题:修复了默认 INI 不存在时的加载错误(#27)、# 注释未被跳过的问题(#38),以及多个边角和细节问题(#26#30#31#32#34)。

文档与图标(简述)

  • 与核心库版本同步更新。

4. 其他仓库

  • CSM-MassData-Parameter-Support:本期无该版本发布,已忽略。
  • CSM-TCP-Router:本期无该版本发布,已忽略。

按功能变更

1. 功能新增

  • 响应超时时间可通过 LabVIEW.ini 配置(#277)。
  • Debug Console 历史容量增加(#278)。
  • API String 新增布尔字符串设置 API(#43)和浮点精度设置 API(#42)。
  • API String 支持 Boolean/Integer/Float/Complex 的 tag:value 对格式(#48)。
  • API String 支持带物理单位的浮点字符串解析(#41)。
  • INI 插件新增变量操作符语法(#20)、Cluster 读取 API(#24)、临时变量永久化 API(#21)、卸载配置文件 API(#35)及 INI 变量调试工具(#33)。
  • CSM Mermaid Tool 工具按钮。
  • ,; 加入关键字列表(#275)。

2. 改进优化

  • INI 插件仅列出永久变量的选项(#22)。
  • 内嵌 OpenG 子 VI 标记为子程序,减少执行开销。
  • 配置文件路径终端控件,提升调试可见性。

3. 问题修复

  • 修复 LoopSupport 中的 break VI bug(#280)。
  • API String 修复 cluster tag:value 模式解析问题(#44)。
  • API String 修复模板名称在 New VI 对话框中显示错误(#46#47)。
  • INI 插件修复默认 INI 不存在时的加载错误(#27)。
  • INI 插件修复 # 注释字符被包含到读取结果的问题(#38)。
  • INI 插件修复多个边角和细节问题(#26#30#31#32#34)。

破坏性变更

  • INI 插件移除严格类型支持#29):如果代码依赖”strict support types”的行为,升级后需要相应调整。

升级指引

  1. 通过 VIPM 更新到 v2024.June 版本。
  2. 若需要调整同步消息超时时间,在 LabVIEW.ini 中添加对应配置键(参考 VI 描述中的说明)。
  3. 若在 INI 插件中依赖了”strict support types”,升级后请检查配置读取逻辑是否需要调整。

完整变更来源

Release

结尾

欢迎大家使用并提出反馈!本次 INI 插件的大规模扩充使得配置管理更加灵活强大。如果你有好的想法或发现了问题,欢迎在 GitHub 提交 Issue 参与讨论!