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
Serial communication with Media Converters
Open interactive shell
Example (replace COM5 with your actual device port name)
cmconfig serial --device COM5 shell
Run one command and return
cmconfig serial --device COM5 run tc10 status
TC10 Commands
TC10 commands are supported for below products
| Product Id | Product Name | Note |
|---|---|---|
| TE-1200 | NI 10BASE-T1S | Requires HW 3.1 and firmware R6.2 |
| TE-1405 | MC 1000BASE-T1 MATEnet TC10 | |
| TE-1406 | MC 1000BASE-T1 H-MTD TC10 | |
| TE-1415 | MC MultiGigabit | |
| TE-1416 | MC MultiGigabit |
Examples
# Trigger wakeup on specific port
cmconfig tc10 --port COM8/T1 wakeup
# See status of all ports
cmconfig tc10 status
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
Environment variables
HTTP Proxy
cmconfigdiscardshttp_proxyenvironment variable when communicating with the devices, this is by design as devices are typically directly connected to the system.https_proxyenvironment variable is used when downloading the firmware from the cloud usingcmconfig flash --online
CMCONFIG_ASKPASS
When using cmconfig push, cmconfig patch or cmconfig password, you may specify in the variable CMCONFIG_ASKPASS the path to a program that will provide the password, this is similar in semantics to SSH_ASKPASS and GIT_ASKPASS.
The program specified by the variable CMCONFIG_ASKPASS is invoked. A suitable prompt is provided to the program on the command line, and the password is read from its standard output.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cmconfig-1.14.2-py3-none-any.whl.
File metadata
- Download URL: cmconfig-1.14.2-py3-none-any.whl
- Upload date:
- Size: 42.7 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6ba5ff888b3e8e886fa27be7e872d359f9f8dc87204ad2f6f6be82981e66cc4f
|
|
| MD5 |
7b3911936540b43aeebec7fa93585721
|
|
| BLAKE2b-256 |
e2153446282201b0a7ed9c1743d37bfc9f97319cbc81bbb42a5dac5bfa45c637
|