Skip to content

Releases: tektronix/tm_devices

v2.5.0

30 Oct 19:20
v2.5.0
1d2fac5
Compare
Choose a tag to compare

v2.5.0 (2024-10-30)

Merged Pull Requests

  • TekScope2K - turn on HEADER and VERBOSE options to query available data sources correctly (#327)
  • fix: line fix (#339)
  • ci: Skip updating the mdformat repo during the dependency updater workflow (#335)
  • gh-actions(deps): bump tektronix/python-package-ci-cd (#320)
  • TSP environment cleanup (#328)
  • feat: Added USB support for AFG31K and MDO3 models (#331)
  • ci: Remove pre-commit hook that no longer works on Python 3.8 and replace with one that does (#323)
  • python-deps(deps-dev): bump the python-dependencies group with 2 updates (#311)
  • python-deps(deps): bump the python-dependencies group with 3 updates (#318)
  • test: Ignore googletagmanager links during doctests (#312)
  • ci: Enable testing for Python 3.13 (#309)

Fixed

  • fix: TekScope2K active channel query needs HEADER options enabled to function properly

Added

  • collectgarbage() is now called during cleanup of TSPDevice children.
  • Added USB Support for AFG31K and MDO3 models.

v2.4.0

19 Sep 20:50
v2.4.0
7ffce5b
Compare
Choose a tag to compare

v2.4.0 (2024-09-19)

Merged Pull Requests

  • Update TSPDevice.load_script() to accept raw strings (#308)
  • fix: Update stub generation helper function to handle classes followed by dataclasses (#307)
  • Add function to register USBTMC connection information for devices that don't have native USBTMC connection support in tm_devices (#306)
  • python-deps(deps-dev): Bump the python-dependencies group with 2 updates (#304)
  • fix: Ensure that the default VISA timeout value is not overwritten if a new config is loaded that doesn't specify a default VISA timeout. (#303)
  • gh-actions(deps): Bump tektronix/python-package-ci-cd (#287)
  • chore: Bump the version of tektronix/python-package-ci-cd to v1.3.0 in workflows (#301)
  • build: Update license identifier (#299)
  • python-deps(deps): Bump the python-dependencies group with 3 updates (#300)
  • Enable customizing the default visa timeout (#293)
  • python-deps(deps-dev): Bump the python-dependencies group with 4 updates (#296)
  • Update python-pacage-ci-cd to v1.1.0 and use tokens to upload to PyPI (#291)
  • python-deps(deps): Bump the python-dependencies group across 1 directory with 2 updates (#288)
  • chore: Remove an unneeded development dependency (#286)
  • Convert to using reusable workflows from the tektronix/python-package-ci-cd repo (#284)

Added

  • Added a config option (default_visa_timeout) to specify the default VISA timeout for all initial VISA device connections.
  • Added a new function, register_additional_usbtmc_mapping(), to enable users to add USBTMC connection information for devices that don't have native support for USBTMC connections in tm_devices yet.
  • Added TSPDevice.export_buffers() to write tsp buffer data fields to file, default is comma separated values with buffer names header.

Changed

  • Switched all workflows to use the new tektronix/python-package-ci-cd reusable workflows.
  • Reduced the out-of-the box default_visa_timeout value from 30 seconds to 5 seconds.
  • SEMI-BREAKING CHANGE: Changed the USB_MODEL_ID_LOOKUP constant to use SupportedModels as keys instead of values to make the documentation clearer.
  • SEMI-BREAKING CHANGE: Changed the DEVICE_DRIVER_MODEL_MAPPING constant to use SupportedModels as keys instead of values to make the documentation clearer.
  • SEMI-BREAKING CHANGE: Changed the input parameter order in TSPDevice.load_script() and updated it to accept raw string input in addition to the file_path parameter for the script content.
  • Verbosity with PIDevice.write() now handles multiline input printouts.

Deprecated

  • Renamed TSPDevice.write_buffers() to TSPDevice.export_buffers() for clarity.

Fixed

  • Fixed a bug in the stubgen helper code responsible for adding dynamically added methods to stub files that caused invalid stub files to be created if a dataclass immediately followed a class that was being dynamically updated.

v2.3.0

23 Aug 18:08
v2.3.0
7e97cc3
Compare
Choose a tag to compare

v2.3.0 (2024-08-23)

Merged Pull Requests

  • feat: Added Full API support for TekscopePC. (#282)
  • feat: Add curve query support for MSO2KB series scopes (#269)
  • python-deps(deps-dev): bump the python-dependencies group with 2 updates (#279)
  • ci: Use nodeenv to install node during tox runs, and install node with nodeenv during initial contributor setup (#278)

Added

  • Added curve query support for the MSO2KB series scopes
  • Full Python API support for TekScopePC device.

v2.2.2

14 Aug 22:29
v2.2.2
a9eed0f
Compare
Choose a tag to compare

v2.2.2 (2024-08-14)

Merged Pull Requests

  • Fix the stubgen helper function to attach stubs to the correct class in modules with multiple classes (#276)
  • python-deps(deps-dev): bump the python-dependencies group with 2 updates (#273)
  • docs: Update the contribution guide to provide details on how to track the status of changes in the GitHub repo using issues (#271)

Fixed

  • Fixed the stubgen helper to properly attach stubs to the correct class in modules that have multiple classes.

v2.2.1

07 Aug 18:57
v2.2.1
1bfb5b2
Compare
Choose a tag to compare

v2.2.1 (2024-08-07)

Merged Pull Requests

  • feat: Custom LAN Device Name for TCPIP Connections (#267)
  • docs: Update links on the Readme to point to the full GitHub URL (#266)
  • ci: Update the script that updates the pre-commit dependencies to update them with frozen hashes (#265)
  • Convert test-docs.yml to a reusable workflow (#264)
  • python-deps(deps-dev): bump the python-dependencies group with 3 updates (#263)

Changed

  • Changed DeviceConfigEntry dataclass by adding an optional lan_device_name field, which allows connecting to instruments through TCPIP on LAN device names other than inst0.

v2.2.0

02 Aug 21:23
v2.2.0
ec14f89
Compare
Choose a tag to compare

v2.2.0 (2024-08-02)

Merged Pull Requests

  • Enable adding unsupported device types via the DeviceManager (#262)
  • test: Ignore http-rate-limited warnings to avoid failure due to the abundance of GitHub URLs in the Changelog (#261)

Added

  • Added a new method to the DeviceManager class, add_unsupported_device(), which enables adding an unsupported device type.

v2.1.0

31 Jul 14:36
v2.1.0
020e6f2
Compare
Choose a tag to compare

v2.1.0 (2024-07-31)

Merged Pull Requests

  • feat: Added SourceXpress API support and AWG defects fix (#260)
  • gh-actions(deps): bump hynek/build-and-inspect-python-package (#258)
  • python-deps(deps-dev): bump the python-dependencies group with 2 updates (#257)
  • Update jinja templates (#254)

Added

  • Full Python API support for SourceXpress to AWG70KA, AWG70KB and AWG7K models.

Fixed

  • Fixed APIs with writes and queries accepting arguments for AWG70KA and AWG70KB models drivers.

v2.0.0

24 Jul 21:03
v2.0.0
4485fae
Compare
Choose a tag to compare

v2.0.0 (2024-07-24)

Merged Pull Requests

  • Downgrade python-semantic-release to allow release workflow to run (#253)
  • docs: Updated the signal generation docs to fix some bugs that were found (#252)
  • Signal Generation Restructure and addition of high level methods (#246)
  • gh-actions(deps): bump the gh-actions-dependencies group with 2 updates (#250)
  • python-deps(deps-dev): bump the python-dependencies group with 3 updates (#242)
  • gh-actions(deps): bump anchore/scan-action (#248)
  • python-deps(deps-dev): bump the python-dependencies group with 2 updates (#238)
  • gh-actions(deps): bump python-semantic-release/python-semantic-release (#244)
  • ci: Add back file sorter hook to pre-commit (#243)
  • python-deps(deps): bump the python-dependencies group with 3 updates (#241)
  • gh-actions(deps): bump the gh-actions-dependencies group across 1 directory with 3 updates (#239)
  • refactor: Miscellaneous refactors to reduce technical debt in variable declarations and comparison operations (#236)

Added

  • Added the constraint ranges for all signal generators
  • Added drivers for AWG and AFG channels
  • Added a property named source_channel in AWG's and AFG's.
  • Added drivers for the internal AFG in TekScopes.
  • Added a property named internal_afg in TekScope.
  • Added implementation of generate_function for all AWG models.
  • Added two burst functions to SignalGeneratorMixin: one to set up burst and one to generate the burst by forcing trigger.
    • NOTE: Only the AFGs and Internal AFGs have these functions implemented.
  • Added OutputSignalPath enum attribute in AWGs representing output signal path options.
  • Added two functions for loading waveform set files in the AWG70k and AWG5200 drivers: one for loading a waveform set file and another for loading a specific waveform from a waveform set file.
  • Added sample_waveform_set_file attribute in the AWG70k and AWG5200 drivers to define the default waveform set file.

Changed

  • BREAKING CHANGE. Changed the term "signal source" to "signal generator".
    • All uses of this term are changed. Import paths now use signal_generator instead of signal_source.
  • BREAKING CHANGE. Changed the function name of generate_waveform() to generate_function().
    • generate_waveform() only exists on AWGs now, however the functionality is entirely changed.
  • BREAKING CHANGE. Changed the generate_function() function by removing burst functionality.
    • Any use of burst now must use setup_burst() and generate_burst() instead.
  • Updated AWGs such that the family_base_class is at the series level.

v1.5.0

10 Jun 22:06
v1.5.0
1bd76d6
Compare
Choose a tag to compare

v1.5.0 (2024-06-10)

Merged Pull Requests

  • fix: Update the commands to have uniform spacing of arguments. (#234)
  • ci: Update the updater workflow to skip running poetry-audit during the updater process (#235)
  • python-deps(deps-dev): bump the python-dependencies group with 3 updates (#233)
  • gh-actions(deps): bump the gh-actions-dependencies group with 2 updates (#218)
  • docs: Properly sort modules when building the API documentation (#231)
  • Enable Virtual GPIB connections to supported instruments (#230)
  • ci: Update build and release workflows to verify the package can be installed for all supported Python versions and Operating Systems (#229)
  • python-deps(deps-dev): bump the python-dependencies group with 2 updates (#225)
  • Add workflows to check for changes that break public APIs (#227)
  • gh-actions(deps): bump the gh-actions-dependencies group across 1 directory with 2 updates (#226)
  • docs: Update the trademark symbols (#223)
  • docs: Add analytics code for documentation (#222)
  • Sign all published files (#221)
  • Add attestations to artifacts (#220)
  • python-deps(deps-dev): update pylint requirement from 3.2.0 to 3.2.1 in the python-dependencies group (#219)
  • docs: Update wording of API package Modules section (#217)
  • Update api template usage (#216)
  • Cleanup init files and rename abstract classes (#215)
  • gh-actions(deps): bump python-semantic-release/python-semantic-release from 9.6.0 to 9.7.2 in the gh-actions-dependencies group (#213)
  • python-deps(deps-dev): update ruff requirement from 0.4.3 to 0.4.4 in the python-dependencies group (#214)
  • docs: Update copy code button to not show up on doc signatures in the API documentation (#212)

Added

  • Added a new section in the documentation of each package/subpackage that shows the submodules (files) of that package/subpackage.
  • Added signed build provenance attestations to workflow artifacts for the built package.
  • Added signed build provenance attestations to the generated SBOMs.
  • Documentation was added explaining how to verify the attestations on uploaded files.
  • Enabled support for Virtual GPIB connections to supported devices.

Removed

  • docs: Removed the copy code button from the Python API signatures in the documentation.

Changed

  • Updated most __init__.py files to not include __all__ variable definitions.
  • Renamed some of the abstract base classes to separate them from the actual device driver classes.
  • Updated the documentation templates to use the new jinja template style that mkdocstrings-python is switching to.

Fixed

  • Fixed the API documentation to properly sort all the modules so that the Table of Contents is readable.

v1.4.2

09 May 18:12
cecd41f
Compare
Choose a tag to compare

v1.4.2 (2024-05-09)

Merged Pull Requests

  • docs: Add a copy button to the code blocks in the documentation (#211)
  • docs: Update mkdocs-ezglossary-plugin version used for building docs (#210)
  • docs: Add styling for a new method label (#209)

Added

  • Added a click to copy button to all code blocks.

Fixed

  • Updated mkdocs-ezglossary-plugin to a version that allows linking to glossary entries from the
    home page of documentation that is hosted on ReadtheDocs.