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.2.tar.gz (675.6 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.2-py3-none-any.whl (721.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pyx2cscope-0.6.2.tar.gz
  • Upload date:
  • Size: 675.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.10.20 Linux/6.17.0-1008-azure

File hashes

Hashes for pyx2cscope-0.6.2.tar.gz
Algorithm Hash digest
SHA256 54607dd64a17b98a1ca86176ecd597d04cb0bc9d3264a500fa463d5f2c218f46
MD5 0ddc12d4014c6057d6cf55f2494e6f1b
BLAKE2b-256 72e210ed66e993f56977f7c6cb98ebf4fe6ee396f24a3b4066182d0646e21697

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyx2cscope-0.6.2-py3-none-any.whl
  • Upload date:
  • Size: 721.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.10.20 Linux/6.17.0-1008-azure

File hashes

Hashes for pyx2cscope-0.6.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5f8a9cce30e673649afadd3426d6706829eee6109dbef1ed09edffaa2a141aee
MD5 c9f3edbb1ea6b57c54a69316f60edb42
BLAKE2b-256 2810af3407eea7de43c011991e76f4600dfec862a31d44a22f812c846f899e40

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