-
Notifications
You must be signed in to change notification settings - Fork 0
FAQ and Troubleshooting
pip install silabs-pycommander. That meta-package gives you the pycommander command and the CLI flavor of Simplicity Commander. Add the GUI with pip install silabs-pycommander[gui]. The -core, -cli and -gui packages are building blocks — see Installation.
No. The PyCommander wheels bundle a platform-appropriate Commander executable and extract it to a per-user cache on first use. See Architecture-and-Packages.
Yes — the SEGGER J-Link drivers. Simplicity Commander uses them to talk to the adapter. Commands that touch hardware will fail without them.
No, it coexists. But note that all Commander instances on a machine share the same commander.ini configuration file, so a setting like command logging applies to all of them.
Python 3.10+, on macOS (arm64), Windows (x86), and Linux (x86_64 / aarch64 / aarch32).
All three forward to Simplicity Commander. pycommander uses the GUI flavor if it's installed, otherwise the CLI flavor. pycommander-cli/pycommander-gui force a specific flavor. pycommander-gui (no args) launches the graphical app. See Command-Line-Interface.
Import from the flavor package directly: from pycommander_cli import Commander or from pycommander_gui import Commander. The classes are otherwise identical. from pycommander import Commander prefers GUI when present.
Not necessarily. For Adapter-Class/Target-Class look-ups, None means Commander ran but reported no usable result. Actions return True/False. Genuine command failures raise exceptions — see Error-Handling.
Pass exactly one of serial_number, ip_address, or serial_port to the constructor. Passing more than one raises ValueError. You can also override per-call via **kwargs. See Python-API-Overview.
Two options: use commander.runCommand("<cmd>", "<args>", json_formatted_output=False) for an ad-hoc call (see Commander-Class), or check whether it's an interactive-only suite (vuart, rtt, swo) that is intentionally excluded.
The Commander-level aem.dump is stricter than the interactive CLI and requires both. For open-ended capture, use the AemStream class instead.
Adapter, aem and vcom features (info, voltage, VCOM, energy) require a Silicon Labs adapter. They are not available on generic J-Link adapters. Target/device/flash work with any supported debug adapter.
Synchronous commands time out after 300 seconds (CommanderBase.default_timeout_s). TimeoutError is distinct from PyCommanderError; catch it separately. See Error-Handling.
Enable logging by passing log_file_path=Path("pycommander.log") to the Commander constructor. Every invocation, timeout and failure is appended with a timestamp.
pycommander --version from the shell, or Commander().getVersion() in Python (returns a CommanderVersionInfo with Simplicity Commander, J-Link, EMDLL, mbed TLS and Qt versions).
Commander().listAvailableAdapters(list_usb_adapters=True) (or list_network_adapters=True). It performs an unintrusive scan and returns BasicAdapterInfo objects.
Pass Commander(executable_path=Path(".../commander-cli")) to bypass the bundled executable.
- Getting-Started — first commands and scripts.
- Python-API-Overview — the API design and shared options.
- Command-Reference — every command suite.
- Contributing-and-Development — working on PyCommander itself.
PyCommander · GitHub · Simplicity Commander docs · Licensed under the Silicon Labs MSLA
Getting started
Using PyCommander
Topics
Command reference
- Overview
- adapter · aem · vcom · ctune
- device · flash · verify · readmem · extflash
- security
- tokens · nvm3 · littlefs
- convert · ebl · gbl3 · gbl4 · ota · rps · postbuild
- util · serial · mfg917
Contributing