cmri_tools

Crates.iocmri_tools
lib.rscmri_tools
version0.1.2
created_at2024-09-12 10:33:10.084408+00
updated_at2025-03-11 16:15:44.803066+00
descriptionTools for experimenting with CMRInet
homepage
repositoryhttps://github.com/RobertGauld/cmri-rs/tree/main/cmri_tools
max_upload_size
id1372653
size360,950
Robert Gauld (RobertGauld)

documentation

README

CMRI Tools

Crates Checks

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.

Commit count: 27

cargo fmt