Skip to main content

python implementation of X2Cscope

Project description

pyX2Cscope Logo

pyX2Cscope

The pyx2cscope Python package communicates with X2Cscope enabled firmwares running on microcontrollers. Focusing real time control applications like motor control and power conversion.

  • It allows user to:
    • Read - Write variables to the embedded target in runtime
    • Record and Plot fast, continuous signals from the target firmware
    • Implement Automated Unit Tests (TDD) and HIL tests for embedded development
    • Record data in run-time for AI models
    • Implement custom user interface, dashboards for embedded applications (QT, Tkinter, Web)

Detailed documentation is hosted at GitHub.io: https://x2cscope.github.io/pyx2cscope/

Install

Create a virtual environment and install pyx2cscope using the following commands (Windows):

python -m venv .venv
.venv\Scripts\activate
pip install pyx2cscope

Start GUI

To execute Qt version, type:

   pyx2cscope

To execute the Browser based version type:

   pyx2cscope -w

Basic scripting

from pyx2cscope.x2cscope import X2CScope

# initialize the X2CScope class with serial port, by default baud rate is 115200
x2c_scope = X2CScope(port="COM8")
# instead of loading directly the elf file, we can import it after instantiating the X2CScope class
x2c_scope.import_variables(r"..\..\tests\data\qspin_foc_same54.elf")

# Collect some variables.
speed_reference = x2c_scope.get_variable("motor.apiData.velocityReference")
speed_measured = x2c_scope.get_variable("motor.apiData.velocityMeasured")

# Read the value of the "motor.apiData.velocityMeasured" variable from the target
print(speed_measured.get_value())
# Write a new value to the "motor.apiData.velocityReference" variable on the target
speed_reference.set_value(1000)

Check Examples directory in the pyX2Cscope project to see common uses of this library.

Development

https://github.com/X2Cscope/pyx2cscope/tree/main/doc/development.md

Project details


Download files

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

Source Distribution

pyx2cscope-0.6.0.tar.gz (673.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyx2cscope-0.6.0-py3-none-any.whl (718.6 kB view details)

Uploaded Python 3

File details

Details for the file pyx2cscope-0.6.0.tar.gz.

File metadata

  • Download URL: pyx2cscope-0.6.0.tar.gz
  • Upload date:
  • Size: 673.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.10.19 Linux/6.14.0-1017-azure

File hashes

Hashes for pyx2cscope-0.6.0.tar.gz
Algorithm Hash digest
SHA256 ca589f218208e8e93374fb41960552312e489f3cbeaedc6fe92c1f8e54384ee7
MD5 7f9a98a5f780ef7644924d8212354953
BLAKE2b-256 d12b12d854f5996222407b7d793a26d65822caf89218906b97eb42cc7d4f8782

See more details on using hashes here.

File details

Details for the file pyx2cscope-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: pyx2cscope-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 718.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.10.19 Linux/6.14.0-1017-azure

File hashes

Hashes for pyx2cscope-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 112afca3be52749e463a1fb0a208e2e94a0625301679b50133f644a0d63fb69c
MD5 99413f0b908c5295472cfe5d8700ce6b
BLAKE2b-256 94d30078d77ae1b274060587ba2e8f26f7d7977c741226ec4b95c49a4fda995f

See more details on using hashes here.

Supported by

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