2 releases
0.1.1 | Oct 19, 2024 |
---|---|
0.1.0 | Sep 12, 2024 |
#849 in Network programming
525KB
11K
SLoC
CMRI Tools
A collection of tools I found useful for experimenting with CMRInet (as defined in NMRA Specification LCS-9.10.1).
The Binaries
hub
A CLI/GUI application which provids the means to interconnect devices/software which have differing connection requirements, anything received on a connection is written to all the others.
Use the --help command line flag for usage information.
monitor
A GUI application which interprets the packets on a C/MRI network and provides:
- The number of packets (in total and by type) seen.
- A list of seen nodes.
- For each node a detailed view including:
- The number of packets (in total and by type) seen.
- Type and configuration (if the initialization packet was seen).
- Their input states (from the last receive data packet seen).
- Their output states (from the last transmit data packet seen).
Use the --help command line flag for usage information.
If compiled with the experimenter feature then the packets over time plots also show unknown packets.
controller
A GUI application for controlling the nodes of a CMRInet. The user can view the inputs and set the outputs of each node.
Use the --help command line flag for usage information.
nodes
A GUI application for "simulating" the nodes of a CMRInet. The user can view the outputs set by the controller and set the inputs.
Use the --help command line flag for usage information.
node
A GUI application for "simulating" a single node on a CMRInet. The user can view the outputs set by the controller and set the inputs.
Use the --help command line flag for usage information.
Testing
Tested against all tier 1 targets (except Windows using GNU build) from https://doc.rust-lang.org/nightly/rustc/platform-support.html on nightly (at time of pushing to GitHub) rust.
Dependencies
~22–63MB
~1M SLoC