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 的开发中来。
- 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
版本亮点
- 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 书写。
- 新增广播工具 VI:
CSM - 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)。
破坏性变更
本期无破坏性变更。
升级指引
- 通过 VIPM 更新到 v2024.July 版本。
- 若使用了 API String 的枚举类型或嵌套 Cluster,升级后可以利用新的叶元素标签名特性简化代码。
- 若在 INI 插件中使用了
CSM - Read Cluster Elements From Key.vim,请验证 Session/Variable 区分模式是否符合预期。
完整变更来源
Release
- Communicable-State-Machine: https://github.com/NEVSTOP-LAB/Communicable-State-Machine/releases/tag/v2024.July
- CSM-API-String-Arguments-Support: https://github.com/NEVSTOP-LAB/CSM-API-String-Arguments-Support/releases/tag/v2024.July
- CSM-INI-Static-Variable-Support: https://github.com/NEVSTOP-LAB/CSM-INI-Static-Variable-Support/releases/tag/v2024.July
- CSM-MassData-Parameter-Support: https://github.com/NEVSTOP-LAB/CSM-MassData-Parameter-Support/releases/tag/v2024.July
结尾
欢迎大家使用并提出反馈!本次 API String 对枚举和 Cluster 类型的改进使得复杂数据类型的参数传递更加简洁自然。欢迎在 GitHub 提交 Issue 或参与讨论!