Skip to content

Releases: X2Cscope/pyx2cscope

v0.6.2

30 Mar 16:01
4e80d47

Choose a tag to compare

What's Changed

Bugfix:

The default sample time on mchplnet was set to 1 instead of 0.
This affects the scope view sampling resolution and which sample will be stored on the internal buffer.

  • 0 means every single sample
  • 1 every 2nd sample
  • 2 every 3rd sample

The GUIs only allowed to set values starting from 1.
This was also fixed. In case where values < 0 are inserted, the value rounds to 0.

Full Changelog: v0.6.1...v0.6.2

v0.6.1

09 Mar 10:20
4371008

Choose a tag to compare

What's Changed

  • Bugfix v0.6.1 by @edras in #109

  • Bug fix 0.6.1 (#108)

  • build include gui.resources folder

  • fixed dashboard load/save url

  • fixed import/load/save dashboard

  • fixed script editing on QT

  • v0.6.1

  • fixed qr codes urls and included tests for it

  • added help card for web app

  • added tests for broken urls on links at Web App

  • added instructions for QR Codes, IP Addresses and connectivity

  • enhanced gitignore


Co-authored-by: X2Cscope 73351552+X2Cscope@users.noreply.github.com
Co-authored-by: Edras Pacola edras.pacola@microchip.com

Full Changelog: v0.6.0...v0.6.1

v0.6.0

06 Mar 01:09
3da3fce

Choose a tag to compare

What's Changed

  • Milestone v0.6.0 by @X2Cscope in #107

  • generic_gui moved to a structured Qt app, now called main_window.py under px2cscope.gui.qt

  • Web GUI enhanced with dashboard

  • both GUIs have a scripting tool

  • both GUIs are Thread Safe

  • fixed trigger level o scope functionality

  • x2cscope can now read SFRs

  • x2cscope implemented ethernet connectivity

  • x2cscope prepared for CAN connectivity

  • documentation enhanced

  • pyX2Cscope execute 119 tests across install, dependencies, Qt and WEB GUIs

Full Changelog: v0.5.1...v0.6.0

v0.5.1

24 Nov 15:52
407b003

Choose a tag to compare

What's Changed

Removing eventlet from webinterface

this package is deprecated and should not be used for new projects. socketio use only threading from python

Fix installer dependencies

pyinstaller needs to add the hidden dependencies of web interface

Automate artifacts generation for deployment

this script:

  • builds the exe
  • copy the .bat file to start web interface
  • zip the contents
  • download the wheel file from pypi
  • place everything under dist folder to upload to release page on github

enhance development documentation

bug fix on multidimensional array

Only the first indeces of multidimensional matrices were being addressed.

Added matrix example on example folder

  • version 0.5.1

Co-authored-by: Edras Pacola edras.pacola@microchip.com

Full Changelog: v0.5.0...v0.5.1

v0.5.0

19 Nov 16:25
2b70107

Choose a tag to compare

Release Notes: v0.5.0


🚀 Highlights

  1. Thread Safe
  • PyX2Cscope is thread safe
  1. Websockets Integration

    • Added websocket support for webx2c, watch-view, and scope-view. (#101)
  2. Bootstrap 5 Migration

    • Upgraded web UI components to Bootstrap 5 for improved styling and responsiveness.
  3. Enhanced Variable Handling

    • Added variable legends to charts: click legend items to show/hide chart lines.
    • Improved variable management in scope and watch views.
    • Bug fix: trigger_level now clamps to variable range (min/max).

🛠️ Fixes & Improvements

  • Fixed HTML file naming pattern for webx2cscope.
  • Updated mchplnet version to main@v0.2.2 and later to v0.3.0.
    • The latest version has complete documentation, test automation and some bugs are fixed.
  • Visual fixes for mobile view and table overlays.
  • Improved x-axis labels in webview.
  • Enhanced connection/disconnection views.
  • Default log level for x2cscope set to error.
  • Enhanced serial_stub.py for get_ram and put_ram.
  • Added thread safety tests.
  • Improved interface and examples for mchplnet.
  • Enhanced existing tests and documentation (github actions documentation.yml).
  • Defaulted to snake_case in mchplnet.
  • Improved docstrings and import formatting.
  • Enhanced enum variable support:
    • Added get_enum_list, set_enum_value, get_enum_value methods.
  • Imported eventlet for web interface compatibility.

🧹 Removals & Deprecations

  • Removed deprecated elf16_parser.py.
    • The current ELF parser now supports both 16 and 32-bit architectures via pyelftools.
  • Removed debug prints and unused code.
  • Included linter ignore for generic GUI (refactoring planned).

📝 Miscellaneous

  • Fixed documentation misspellings and improved example readability.
  • Added version check and auto-update for __init__.py on pre-commit.
  • Fixed mchplnet dependency issues.

👥 Contributors


v0.4.4

26 Jun 21:38
d20aa1c

Choose a tag to compare

What's Changed

  • Bugfix v0.4.3 -> v0.4.4 by @edras in #97

  • VariableInfo is a member of Variable class

    • variable.name is not accessible anymore, should be accessed through variable.info.name
    • fixed generic_gui
    • fixed web gui
    • fixed examples
  • fixed enum byte size

    • an enumeration has variable byte size, and depends on the mcu architecture. The byte size is read during parsing and available
      at variable.info.byte_size
  • fixed sample time window calculation on scope_view

    • renamed method from scope_sample_time to get_scope_sample_time
    • calculation is based on retrieved values and not on magic numbers
    • adapted generic_gui.py to correct function call on get_sample_time
  • fix web initial message error

  • formatting code

  • enhancing documentation

  • fixing documentation and image links

  • bump version 0.4.4

  • fix README.md with broken image link


Co-authored-by: Edras Pacola edras.pacola@microchip.com

v0.4.3

23 Jun 14:42
ab885e8

Choose a tag to compare

What's Changed

  • Milestone v0.4.3 - unions, bit size variables, and enhancements (#96)

  • union type fully implemented

  • reading bit-size variables under unions / structs regardless variable's byte size

  • writing bit-size variables under unions / structs regardless variable's byte size

  • removed arguments from class Variable

    • Class Variable needs VariableInfo parameter and LNet to get instantiated.
    • Instead of adding more parameters to the constructor, we store the VariableInfo as a member.
  • moved set_value to Variable class, added _set_value as abstract function

    • moved call to checking value_range to parent class
    • enables generic processing before moving to specific processing
  • increasing number of variables on generic_gui

  • changed default generic_gui logger level from warning to error

    • this avoids minor level messages showing up on terminal
  • fixed behavior when variable name is not found
    If the variable does not exist in elf file, we log message "Variable '{name} not found!" and return None
    If the variable is found, but an error occurred when parsing, we log the error message and return None

  • Changing prints over the code to logging.debug

  • Changed contact information

  • ruff check

  • bump version


Co-authored-by: Edras Pacola edras.pacola@microchip.com

v0.4.2

14 May 11:39
a37e7c2

Choose a tag to compare

What's Changed

  • Milestone 0.4.2 - elf parser supports structure, enums and unions

  • Fix struct enum (#92)

  • merged process_end_die

  • enum working with structs and arrays

  • general variable instantiation is now optimized.

  • Before creating VarInfo objects, a valid address is checked.

  • including tests for enum tests for 16 and 32 bit cores

  • optimize offset calculation on struct members

  • include test to check struct member address

  • union is partially available:
    if a union is multiple of bytes it is working.
    if a union contain elements that have size of some bits, the variable is detected and included, but read and write on these variables are unpredictable. Do not use.

Full Changelog: v0.4.1...v0.4.2

v0.4.1

21 Feb 08:31
380814d

Choose a tag to compare

  • Milestone 0.4 - minor update to 0.4.1

What's Changed

  • fix scope trigger and enumeration type (#87)

  • reinserting get_variable_raw

  • fix SFR example to import the right library

  • change get_device_id example

  • Fixed enum variable types (static only) inside structures still not working

  • Enhancing enum implementation with architecture considerations (data width)

  • fixed import error on LNet the code was importing the module and should import the class.

Full Changelog: v0.4.0...v0.4.1

v0.4.0

12 Dec 11:54
a34783a

Choose a tag to compare

What's Changed

  • Unified parser for 16bit, 32bit and dsPIC devices. (No xc16-elf.exe required anymore)
  • Import and Export list of variables (yml, pickle and elf)
  • Executable for Windows
  • Enhanced automated tests
  • Threadsafe on Web GUI
  • Minor bug fixes on GUI and Web GUI
  • Including more examples
  • Documentation improvements

Known bugs:

  • Triggering with positive trigger delays, the data is not syncronised and displayed correctly

Co-authored-by: Edras Pacola edras.pacola@microchip.com
Co-authored-by: Yash Agarwal yash.agarwal@microchip.com
Co-authored-by: Mark Wendler mark.wendler@microchip.com

Full Changelog: v0.3.3...v0.4.0