v2024.July: 枚举簇类型增强

【v2024.July 精简公告】CSM v2024.July 已发布并推送至 VIPM。本期 API String 插件迎来重要增强:枚举类型(#51)和 Cluster 类型(#55)的支持显著改进;核心库新增多状态广播输入(#282)和时间戳格式配置(#286)。MassData 插件也迎来多项修复和改进。

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

版本亮点

  • API String 枚举类型增强#51):枚举类型的编解码支持大幅提升,能够处理更多枚举场景;新增索引枚举与数字互转工具 VI。
  • API String Cluster 叶元素名称支持#55):Cluster 类型中,叶子元素的名称现在可以直接作为标签名使用,无需指定完整路径,简化了嵌套 Cluster 的 API String 书写方式。
  • 多状态广播输入#282):CSM - Broadcast Status Change.vi 现在支持同时输入多个状态,一次调用完成多状态广播。
  • 日志时间戳格式配置#286):日志系统新增时间戳格式输入参数,支持自定义日志时间显示格式。
  • MassData 状态显示修复#16):修复了 Start:0;Length:0 时状态显示异常的问题。

按仓库变更

1. Communicable-State-Machine

功能改动(重点)

  • 多状态广播#282):CSM - Broadcast Status Change.vi 新增多状态输入支持,可以在一次调用中同时广播多个状态变更,减少了多次调用的开销。
  • 日志时间戳格式#286):日志 VI 和 String History Cacher 均新增时间戳格式参数输入,支持按照用户指定的格式记录时间信息。
  • Error Handler 中连接响应#281):在 Error Handler Case 中,当前响应现在会自动连接到最后一条响应,确保错误处理时响应数据不丢失。
  • Set Enum String 大小写不敏感Set Enum String Value 工具 VI 现在忽略大小写,更加健壮。

文档与图标(简述)

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

2. CSM-API-String-Arguments-Support

功能改动(重点)

  • 枚举类型增强#51):枚举类型的支持从多方面进行了增强,包括边界值处理、字符串对应关系等。
  • Cluster 叶元素标签名支持#55):在 Cluster 类型的解析中,叶子元素的名称现在可以直接被用作标签名,无需逐级指定路径,大幅简化了嵌套结构的 API String 书写。
  • 新增广播工具 VICSM - Broadcast Data As API String.vim 加入工具面板,方便以 API String 格式广播数据。
  • 新增索引枚举工具 VI:新增索引枚举与数字之间互相转换的工具 VI。
  • 修复数字开头字符串解析 bug:修复了字符串以数字开头时无法正确解析的 bug。
  • 修复二进制数字转换 bug:修复了二进制数字未能正确转换为数值的 bug。

文档与图标(简述)

  • 更新了部分 VI 图标。

3. CSM-INI-Static-Variable-Support

功能改动(重点)

  • Cluster 读取 VI 区分 Session/Variable#39):CSM - Read Cluster Elements From Key.vim 现在能够正确区分 Session 和 Variable 两种读取模式,避免混淆。

文档与图标(简述)

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

4. CSM-MassData-Parameter-Support

功能改动(重点)

  • 改进数据损坏错误描述#17):数据损坏场景下的错误信息更加具体和可读,便于问题诊断。
  • 修复状态显示问题#16):修复了 Start:0;Length:0 参数下状态显示异常的 bug。
  • UI 控件更新#14):CSM - MassData Update Status Indicator.vi 包含 UI 控件的实现已合并进本版本。

文档与图标(简述)

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

5. 其他仓库

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

按功能变更

1. 功能新增

  • CSM - Broadcast Status Change.vi 支持多状态输入(#282)。
  • 日志 VI 和 String History Cacher 新增时间戳格式参数(#286)。
  • API String 插件新增 CSM - Broadcast Data As API String.vim 工具。
  • API String 插件新增索引枚举与数字互转工具 VI。
  • INI 插件 CSM - Read Cluster Elements From Key.vim 区分 Session/Variable 模式(#39)。

2. 改进优化

  • API String 枚举类型支持全面增强(#51)。
  • API String Cluster 叶元素名称可直接用作标签名(#55)。
  • Error Handler Case 自动连接最后响应(#281)。
  • Set Enum String 工具 VI 大小写不敏感。
  • MassData 数据损坏错误描述改进(#17)。

3. 问题修复

  • 修复 API String 字符串以数字开头无法正确解析的 bug。
  • 修复 API String 二进制数字未正确转换的 bug。
  • 修复 MassData Start:0;Length:0 时状态显示异常(#16)。

破坏性变更

本期无破坏性变更。

升级指引

  1. 通过 VIPM 更新到 v2024.July 版本。
  2. 若使用了 API String 的枚举类型或嵌套 Cluster,升级后可以利用新的叶元素标签名特性简化代码。
  3. 若在 INI 插件中使用了 CSM - Read Cluster Elements From Key.vim,请验证 Session/Variable 区分模式是否符合预期。

完整变更来源

Release

结尾

欢迎大家使用并提出反馈!本次 API String 对枚举和 Cluster 类型的改进使得复杂数据类型的参数传递更加简洁自然。欢迎在 GitHub 提交 Issue 或参与讨论!