CSM-TCP-Router is a reusable TCP communication layer for CSM applications.
It turns a local CSM program into a remotely controllable TCP server through the CSM invisible bus mechanism.
Excalidraw source files for the diagrams are in .doc/*.excalidraw.
- Any CSM message available locally can be forwarded through TCP in synchronous or asynchronous format.
- Based on JKI TCP Server, it supports multiple concurrent client connections.
- The repository includes a standard client for connection and command verification.
TCP packet format:
| Data Length (4B) | Version (1B) | TYPE (1B) | FLAG1 (1B) | FLAG2 (1B) | Text Data |
╰──────────────────────────── Header ────────────────────────────╯╰─ Data Length Range ─╯
Supported packet TYPE values:
info(0x00): sent on connect (welcome) and disconnect (goodbye)error(0x01)cmd(0x02)cmd-resp(0x03)resp(0x04)async-resp(0x05)status(0x06)interrupt(0x07)
See Protocol Design for full details.
Defined by existing CSM-based application code and forwarded through the router without intrusive changes.
Defined by CSM-TCP-Router for module management and runtime inspection.
Built into the bundled client and not available through secondary API development.
- Install this package and dependencies in VIPM.
- Open
CSM-TCP-Router.lvprojfrom CSM examples. - Run
CSM-TCP-Router(Server).vi. - Run
Client.vi, enter server IP/port, and connect. - Send commands and check returned messages in the client console.
- Check execution history in the server log panel.
- Enter
ByeinClient.vito disconnect. - Stop the server.
Search CSM TCP Router in VIPM and install.
- Communicable State Machine (CSM) - NEVSTOP
- JKI TCP Server - JKI
- Global Stop - NEVSTOP
- OpenG


