Releases: tektronix/tm_devices
Releases · tektronix/tm_devices
v2.5.0
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 ofTSPDevice
children.- Added USB Support for AFG31K and MDO3 models.
v2.4.0
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 intm_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 useSupportedModels
as keys instead of values to make the documentation clearer. - SEMI-BREAKING CHANGE: Changed the
DEVICE_DRIVER_MODEL_MAPPING
constant to useSupportedModels
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 thefile_path
parameter for the script content. - Verbosity with
PIDevice.write()
now handles multiline input printouts.
Deprecated
- Renamed
TSPDevice.write_buffers()
toTSPDevice.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
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
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
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 optionallan_device_name
field, which allows connecting to instruments through TCPIP on LAN device names other thaninst0
.
v2.2.0
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
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
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 ofsignal_source
.
- All uses of this term are changed. Import paths now use
- BREAKING CHANGE. Changed the function name of
generate_waveform()
togenerate_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()
andgenerate_burst()
instead.
- Any use of burst now must use
- Updated AWGs such that the
family_base_class
is at the series level.
v1.5.0
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
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.