Metadata-Version: 2.4
Name: epicsdev_tektronix
Version: 1.0.2
Summary: EPICS PVAccess server for Tektronix MSO oscilloscopes
Home-page: https://github.com/ASukhanov/epicsdev_tektronix
Author: Andrey Sukhanov
Author-email: 
Project-URL: Bug Reports, https://github.com/ASukhanov/epicsdev_tektronix/issues
Project-URL: Source, https://github.com/ASukhanov/epicsdev_tektronix
Project-URL: Documentation, https://github.com/ASukhanov/epicsdev_tektronix/blob/main/README.md
Keywords: epics oscilloscope tektronix mso pvaccess scpi visa
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Topic :: Scientific/Engineering :: Physics
Classifier: Topic :: System :: Hardware :: Hardware Drivers
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: author
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: license-file
Dynamic: project-url
Dynamic: requires-python
Dynamic: summary

# epicsdev_tektronix
This version 1.0.1 is correction of an AI-generated code, 
[generated by Git copilot](fallback/__main__.py).<br> 
Python-based EPICS PVAccess server for Tektronix MSO oscilloscopes (4, 5, and 6 Series).

It is based on [p4p](https://epics-base.github.io/p4p/) and [epicsdev](https://github.com/ASukhanov/epicsdev) packages 
and it can run standalone on Linux, OSX, and Windows platforms.

This implementation is adapted from [epicsdev_rigol_scope](https://github.com/ASukhanov/epicsdev_rigol_scope) 
and supports Tektronix MSO series oscilloscopes using SCPI commands as documented in the 
[Tektronix 4-5-6 Series MSO Programmer Manual](https://download.tek.com/manual/4-5-6-Series-MSO-Programmer_077130524.pdf).

## Installation
```pip install epicsdev_tektronix```

For control GUI and plotting:
```pip install pypeto,pvplot```

Control GUI:
```python -m pypeto -c path_to_repository/config -f epicsdev_tektronix```

## Features
- Support for Tektronix MSO oscilloscopes (configurable)
- Real-time waveform acquisition via EPICS PVAccess
- SCPI command interface for scope control
- Support for multiple trigger modes (AUTO, NORMAL, SINGLE)
- Configurable horizontal and vertical scales
- Channel-specific controls (coupling, offset, termination)
- Performance timing diagnostics

## Command-line Options
- `-c, --channels`: Number of channels per device (default: 4)
- `-d, --device`: Device name for PV prefix (default: 'tektronix')
- `-i, --index`: Device index for PV prefix (default: '0')
- `-r, --resource`: VISA resource string (default: 'TCPIP::192.168.1.100::INSTR')
- `-v, --verbose`: Increase verbosity (-vv for debug output)

## Example Usage
```bash
python -m epicsdev_tektronix.mso -r'TCPIP::192.168.1.100::4000:SOCKET'
```
Control GUI:
```python -m pypeto -c path_to_repository/config -f epicsdev_tektronix```

## Supported Tektronix Models
- MSO44, MSO46, MSO48 (4 Series)
- MSO54, MSO56, MSO58 (5 Series)
- MSO64 (6 Series)
- Other MSO series models using compatible SCPI commands

## Performance
Acquisition time of 6 channels, each with 1M of floating point values is 2.0 s. Throughput maxes out at 12 MB/s.
