Skip to content

Commit

Permalink
try this
Browse files Browse the repository at this point in the history
  • Loading branch information
NEVSTOP committed Jan 3, 2025
1 parent 11ddeac commit c103b68
Show file tree
Hide file tree
Showing 6 changed files with 123 additions and 21 deletions.
Empty file added _notes/[![GitHub.md
Empty file.
73 changes: 63 additions & 10 deletions _notes/index.en.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,75 @@
---
layout: page
title: Home
title: Communicable State Machine(CSM)
id: home
lang: en
permalink: /
---

[![Image](https://www.vipm.io/package/nevstop_lib_communicable_state_machine/badge.svg?metric=installs)](https://www.vipm.io/package/nevstop_lib_communicable_state_machine/)[![Image](https://www.vipm.io/package/nevstop_lib_communicable_state_machine/badge.svg?metric=stars)](https://www.vipm.io/package/nevstop_lib_communicable_state_machine/)[![GitHub all releases](https://img.shields.io/github/downloads/NEVSTOP-LAB/Communicable-State-Machine/total)](https://github.com/NEVSTOP-LAB/Communicable-State-Machine/releases)[![Build_VIPM_Library](https://github.com/NEVSTOP-LAB/Communicable-State-Machine/actions/workflows/Build_VIPM_Library.yml/badge.svg?branch=main)](https://github.com/NEVSTOP-LAB/Communicable-State-Machine/actions/workflows/Build_VIPM_Library.yml)[![Check_Broken_VIs](https://github.com/NEVSTOP-LAB/Communicable-State-Machine/actions/workflows/Check_Broken_VIs.yml/badge.svg?branch=main)](https://github.com/NEVSTOP-LAB/Communicable-State-Machine/actions/workflows/Check_Broken_VIs.yml)

# Welcome! 🌱

<!-- <p style="padding: 3em 1em; background: #f5f7ff; border-radius: 4px;">
## Brief of Communicable State Machine(CSM)

Communicable State Machine(CSM) is a LabVIEW application framework that builds upon JKI State Machine(JKISM). It follows the pattern of JKISM and extends the keywords to describe message communication between modules, including concepts such as Sync-Message, Async-Message, Subscription/Unsubscription of status - essential elements for creating reusable code modules. For more information, please visit the CSM wiki: <https://nevstop-lab.github.io/CSM-Wiki/>

- For instructions on JKI State Machine(JKISM), visit: <http://jki.net/state-machine/>
- For information on Communicable State Machine(CSM), visit: <https://github.com/NEVSTOP-LAB>

![CSM Async Call](https://nevstop-lab.github.io/CSM-Wiki/assets/img/Homepage%20Image.png)

> 📓
> For more details, read the technical details section of the wiki.
>
## Features at a glance

- :anchor: Completely inherits the characteristics of JKISM, including extensibility, string-formatted messages, and state machines mechanism
- :anchor: Decouples modules through message communication, supporting both synchronous and asynchronous messages as well as state subscription/unsubscription
- :anchor: Both synchronous and asynchronous messages support responses and handle errors that occur during execution
- :anchor: CSM Modules actually are VIs, which can be called as sub-VIs
- :anchor: CSM Modules can be used not only within the CSM framework but also in non-CSM frameworks
- :anchor: Use plug-ins to enhance parameter passing capabilities beyond just carrying string data, which is a limitation of JKISM
- :anchor: Built-in Error Handling mechanism
- :anchor: Built-in worker mode for concurrency task implementation
- :anchor: Built-in responsibility of chain mode support
- :anchor: Debugging tools

>
> 📓 Note: There are numerous CSM debugging tools currently in development, so please stay tuned.
>
## Download

CSM is released as a VIPM Library, which you can download in the following ways:

- 🥇 **Recommended: Search for CSM through the VIPM and install**

<img src="assets/img/VIPM%20Search%20CSM.png" alt="vipm-search-csm" width="60%">

- **Download the package(.vip file) of CSM and click install**

- Download the latest release of CSM from <https://www.vipm.io/> and click install:<br/>
<https://www.vipm.io/package/nevstop_lib_communicable_state_machine/>
- Download the latest release of CSM from GitHub and click install:<br/>
<https://github.com/NEVSTOP-LAB/Communicable-State-Machine/releases>

> 📓
> For more information, please refer to the page [download](https://nevstop-lab.github.io/CSM-Wiki/release-of-csm).
>
## License

Communicable State Machine(CSM) is a LabVIEW application framework that builds upon JKI State Machine(JKISM). It follows the pattern of JKISM and extends the keywords to describe message communication between modules, including concepts such as Sync-Message, Async-Message, Subscription/Unsubscription of status - essential elements for creating reusable code modules.
</p> -->
This work is open sourced under the Apache License, Version 2.0. You can find the details of the Apache 2.0 open source agreement in the [LICENSE](https://github.com/NEVSTOP-LAB/Communicable-State-Machine/blob/main/LICENSE).

Communicable State Machine(CSM) is a LabVIEW application framework that builds upon JKI State Machine(JKISM). It follows the pattern of JKISM and extends the keywords to describe message communication between modules, including concepts such as Sync-Message, Async-Message, Subscription/Unsubscription of status - essential elements for creating reusable code modules.
_**The following open source projects or services are used in this wiki website**:_

<!-- <style>
.wrapper {
max-width: 46em;
}
</style> -->
- [visual-studio-code](https://code.visualstudio.com/) as an editor
- [copilot](https://copilot.github.com/) as a hinting tool and to supplement some content
- [markdownlint](https://github.com/markdownlint/markdownlint) for syntax checking of markdown files
- [GitHub Pages](https://pages.github.com/) as a service for publishing pages
- [Jekyll](https://jekyllrb.com/) as a static website generator
- [sighingnow/jekyll-gitbook](https://github.com/sighingnow/jekyll-gitbook) as a theme
- [untra/polyglot](https://github.com/untra/polyglot), a Jekyll plugin for multilingual support
- [gildesmarais/jekyll-loading-lazy](https://github.com/gildesmarais/jekyll-loading-lazy), a Jekyll plugin for lazy load support
69 changes: 59 additions & 10 deletions _notes/index.zh-cn.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,72 @@
---
layout: page
title: Home
title: 可通信状态机框架(CSM)
id: home
lang: zh-cn
permalink: /
---

<!-- [50%] HOME 页面(md-page[x]) - English[√] | Chinese [√]
- [x] CSM框架的介绍
- [x] CSM框架的特点
- [ ] CSM框架的应用场景
- [x] CSM框架的下载链接
- [x] 开源资源使用说明
-->

# 欢迎!🌱

<!-- <p style="padding: 3em 1em; background: #f5f7ff; border-radius: 4px;">
[![Image](https://www.vipm.io/package/nevstop_lib_communicable_state_machine/badge.svg?metric=installs)](https://www.vipm.io/package/nevstop_lib_communicable_state_machine/)[![Image](https://www.vipm.io/package/nevstop_lib_communicable_state_machine/badge.svg?metric=stars)](https://www.vipm.io/package/nevstop_lib_communicable_state_machine/)[![GitHub all releases](https://img.shields.io/github/downloads/NEVSTOP-LAB/Communicable-State-Machine/total)](https://github.com/NEVSTOP-LAB/Communicable-State-Machine/releases)[![Build_VIPM_Library](https://github.com/NEVSTOP-LAB/Communicable-State-Machine/actions/workflows/Build_VIPM_Library.yml/badge.svg?branch=main)](https://github.com/NEVSTOP-LAB/Communicable-State-Machine/actions/workflows/Build_VIPM_Library.yml)[![Check_Broken_VIs](https://github.com/NEVSTOP-LAB/Communicable-State-Machine/actions/workflows/Check_Broken_VIs.yml/badge.svg?branch=main)](https://github.com/NEVSTOP-LAB/Communicable-State-Machine/actions/workflows/Check_Broken_VIs.yml)

## 可通信状态机(CSM)简介

可通信状态机(CSM)是一个基于JKI状态机(JKISM)的LabVIEW应用框架。它遵循 JKISM 的模式,扩展了关键词以描述模块之间的消息通信,包括同步消息、异步消息、状态订阅/取消订阅等概念-这些是创建可重用代码模块所必需的要素。请访问CSM Wiki页面了解更多信息: <https://nevstop-lab.github.io/CSM-Wiki/>

- 关于 JKI State Machine(JKISM) 更多信息, 请访问: <http://jki.net/state-machine/>
- 关于 Communicable State Machine(CSM) 更多信息, 请访问: <https://github.com/NEVSTOP-LAB>

![CSM Async Call](https://nevstop-lab.github.io/CSM-Wiki/assets/img/Homepage%20Image.png)

> 📓
> 如果想了解更多详细信息,请阅读 wiki 的技术细节章节
>
## CSM 的特点

- :anchor: 完全继承了 JKISM 易扩展、字符串格式消息、状态机的特点
- :anchor: 通过消息通信实现模块间的解耦,支持同步消息、异步消息、状态订阅/取消订阅
- :anchor: 同步消息、异步消息均支持响应,并会返回执行时发生的错误
- :anchor: CSM 编写的模块就是 VI,VI 就是模块,以子 VI 的方式进行调用
- :anchor: CSM 编写的模块不仅可以在 CSM 框架中使用,也提供在非 CSM 框架中使用的方式
- :anchor: 通过插件,增加参数传递能够携带的数据,以减弱 JKISM 只能携带 string 类型数据的限制
- :anchor: 内置全局的错误处理机制
- :anchor: 内置的协作者模式(worker mode), 能够很简单的实现任务并发机制
- :anchor: 内置的责任链模式(chain mode), 能够很简单的实现责任链
- :anchor: 提供了丰富的调试工具和接口,能够很方便的进行调试*

>
> 📓 说明:CSM 的调试工具,还有很多在开发中,敬请期待
>
## 下载

CSM 通过 VIPM Library 的形式发布,您可以通过以下方式下载:

- 🥇 **推荐:通过 VIPM 应用搜索 CSM 获取 CSM 的最新发布版本,然后点击安装**

<img src="assets/img/VIPM%20Search%20CSM.png" alt="vipm-search-csm" width="60%">

- **下载安装包(.vip 文件),然后点击安装**

可通信状态机(CSM)是一个基于JKI状态机(JKISM)的LabVIEW应用框架。它遵循 JKISM 的模式,扩展了关键词以描述模块之间的消息通信,包括同步消息、异步消息、状态订阅/取消订阅等概念-这些是创建可重用代码模块所必需的要素。
- 通过 <https://www.vipm.io/> 下载 CSM 的最新发布版本,然后点击安装:<br/>
<https://www.vipm.io/package/nevstop_lib_communicable_state_machine/>
- 通过 GitHub 下载 CSM 的最新发布版本,然后点击安装:<br/>
<https://github.com/NEVSTOP-LAB/Communicable-State-Machine/releases>

</p> -->
> 📓
> 更多信息,请参考页面 [下载](https://nevstop-lab.github.io/CSM-Wiki/release-of-csm)
>
可通信状态机(CSM)是一个基于JKI状态机([[JKISM]])的 LabVIEW 应用框架。它遵循 [[JKISM]] 的模式,扩展了关键词以描述模块之间的消息通信,包括[[同步消息]][[异步消息]][[状态订阅/取消订阅]]等概念-这些是创建可重用代码模块所必需的要素。
## 开源协议

<!-- <style>
.wrapper {
max-width: 46em;
}
</style> -->
CSM 采用 MIT 开源协议,您可以在 [LICENSE](https://github.com/NEVSTOP-LAB/Communicable-State-Machine/blob/main/LICENSE) 中查看开源协议的详细信息。
2 changes: 1 addition & 1 deletion _notes/zh-cn/JKISM.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ lang: zh-cn
permalink: /JKISM
---

# JKISM 是 JKI 提供的一种 LabVIEW 应用框架。
JKISM 是 JKI 提供的一种 LabVIEW 应用框架。
Empty file.
Empty file added _notes/zh-cn/状态订阅.md
Empty file.

0 comments on commit c103b68

Please sign in to comment.