Skip to main content

Command line tool to control and configure Capture Modules

Project description

Capture Module Configurator

You can think of this tool as ipconfig or ifconfig but for Capture Modules.

It allows to list, configure and flash connected devices from the command line.

Usage

Install using python package manager

pip install cmconfig

Depending on your Python installation

cmconfig --help

or

python3 -m cmconfig --help

Download Devices Configuration

This will download the configurations to the current directory

cmconfig pull

Upload Devices Configuration

This will look for all *.cfg files and upload them to their respective devices

cmconfig push

This will upload the file configuration_file.cfg to its device

cmconfig push configuration_file.cfg

Update Devices Firmware

This will look up all the CAN Combos connected in the system, and flash them with the provided firmware package

cmconfig flash CM_CAN_Combo_Evo_v020.007.030--revb51a51fb8.zip

List connected devices

cmconfig devices

Sample output

┌──────────────────┬──────────────┬───────────────────┬────────────┬────────────┬────────────┬──────────┐
│ name             │ ip           │ mac               │ sw_version │ hw_version │ product_id │ config   │
├──────────────────┼──────────────┼───────────────────┼────────────┼────────────┼────────────┼──────────┤
│ EES RJ45         │ 10.0.0.220   │ 38:2A:19:00:51:B2 │ 10.3       │ 2.0.0      │ 2002       │ factory  │
│ ILaS Sniffer     │ 10.104.3.122 │ 38:2A:19:80:71:46 │ 99.99      │ 3.1        │ 1180       │ factory  │
│ CM 100 High TC10 │ 10.104.3.97  │ 38:2A:19:80:6F:8A │ 5.15       │ 4.0        │ 1172       │ factory  │
│ CM MultiGigabit  │ 10.104.3.224 │ 38:2A:19:80:7E:F9 │ 9.4        │ 2.0        │ 1191       │ factory  │
│ CM CAN Combo     │ 10.104.3.64  │ 38:2A:19:00:48:01 │ 21.7.130   │ 3.3        │ 1171       │ Default  │
│ CM LIN Combo     │ 10.104.3.48  │ 38:2A:19:00:14:FD │ 30.8.40    │ 3.1        │ 1170       │ Default  │
│ CM Eth Combo     │ 10.104.3.128 │ 38:2A:19:00:37:3A │ 30.6.40    │ 3.1        │ 1175       │ Default  │
│ CM 100 High      │ 10.104.3.96  │ 38:2A:19:00:1C:CC │ 30.5.40    │ 3.1        │ 1173       │ Default  │
│ CM 1000 High     │ 10.104.3.144 │ 38:2A:19:80:8A:46 │ 30.2.40    │ 5.3        │ 1176       │ Default  │
└──────────────────┴──────────────┴───────────────────┴────────────┴────────────┴────────────┴──────────┘

List interfaces of connected devices

cmconfig interfaces

Sample output

┌────────┬──────┬─────────────────┬───────┬──────────┬────────┬──────────────┬──────────────┬──────────────┐
│ dev_id │ port │ name            │ label │   inf_id │ linkup │           rx │           tx │          err │
├────────┼──────┼─────────────────┼───────┼──────────┼────────┼──────────────┼──────────────┼──────────────┤
│ 64     │ HO   │ HOST            │       │          │ N      │   1208033313 │            0 │            0 │
│ 64     │ BT   │ 100BaseT1-A     │       │          │ N      │    473747792 │            0 │            0 │
│ 64     │ GA   │ GB-A            │       │          │ Y      │           64 │            0 │            0 │
│ 64     │ A    │ CAN-A           │       │          │        │            0 │            0 │            0 │
│ 64     │ B    │ CAN-B           │       │          │        │            0 │            0 │            0 │
│ 64     │ C    │ CAN-C           │       │          │        │            0 │            0 │            0 │
│ 64     │ D    │ CAN-D           │       │          │        │            0 │            0 │            0 │
│ 64     │ E    │ CAN-E           │       │          │        │            0 │            0 │            0 │
│ 64     │ F    │ CAN-F           │       │          │        │            0 │            0 │            0 │
│ 64     │ FR   │ FlexRay         │       │          │        │            0 │            0 │            0 │
│ 64     │ S2   │ RS 232-B        │       │          │        │            0 │            0 │            0 │
│ 64     │ S1   │ RS 232-A        │       │          │        │            0 │            0 │            0 │
└────────┴──────┴─────────────────┴───────┴──────────┴────────┴──────────────┴──────────────┴──────────────┘

Run command on specific devices

Multiple commmands accept the --device option, to limit the command to run on the specified device.

Examples

# List interfaces for specific device
cmconfig interfaces --device 10.104.3.48

# Pull configuration of specific device
cmconfig pull --device 10.104.3.128

# Flash specific device
cmconfig flash CM_CAN_Combo_Evo_v020.007.030--revb51a51fb8.zip --device 10.104.3.64

Patch device configuration

This command allows you to apply changes to device configuration, use cases include but not limited to

  • Enable/Disable filters
  • Enable/Disable interfaces

The command assumes you are familiar with the device JSON configuration format.

Example

# Format: --replace key=value
# Where key: JSON Pointer (RFC 6901)
#       value: new value of config

# Change interface id
cmconfig patch --replace /port/3/CAN-A/BusSpecPartId=1610 --device 10.104.3.64
# Change multiple properties at the same time
cmconfig patch --replace /port/3/CAN-A/canType=ISO_FD --replace /port/4/CAN-B/canType=CAN_ACTIVE --device 10.104.3.64

Integration with other tools

Previous commands output is designed for human friendly visualization You can use the below command to get a JSON machine friendly output Note that the output of this command is subject to change in the future.

# Generate JSON to standard output
cmconfig topology

# Run in the background a REST API server
# REST API documentation (in the format of Swagger Documentation) is available at the chosen server URL
cmconfig topology --server http://localhost:8080

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

cmconfig-1.9.0-py3-none-any.whl (53.9 MB view details)

Uploaded Python 3

File details

Details for the file cmconfig-1.9.0-py3-none-any.whl.

File metadata

  • Download URL: cmconfig-1.9.0-py3-none-any.whl
  • Upload date:
  • Size: 53.9 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.11.8

File hashes

Hashes for cmconfig-1.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 86ecb22514c9dfea508d2046b588990966cde5b33364e47d0e7b261a3f71f229
MD5 b6ac1924d71bd574e2bf8ffad8d2027e
BLAKE2b-256 beb6832c9f5e4ca237822ae0f754844a30abb4be87f804719c834af53b1e3a39

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page