Control the Stanford Research Systems CG635 Clock Generator

cg635-clock-generator is a Python package to control the Stanford Research Systems CG635 clock generator.

Image of the front of the SRS-CG635

(Source: user manual. Copyright © Stanford Research Systems, Inc., 2005)

Contents of this Documentation


Installation

$ pip install cg635-clock-generator

Supported Features

  • Frequency control

  • Phase control

  • CMOS output levels and standards control

  • Q/*Q outputs levels and standards control

  • RS-232 communication

Usage

from cg635_clock_generator import CG635ClockGenerator, CG635Communication

clock_generator = CG635ClockGenerator(
        communication_type=CG635Communication.RS232,
        serial_device='/dev/ttyUSB0',
)

print(clock_generator.get_identification())

FREQ = 10e6
PHASE = 90.0

clock_generator.set_frequency(FREQ)

frequency = clock_generator.get_frequency()
print(f"Frequency is {frequency} Hz")

clock_generator.set_phase(PHASE)

phase = clock_generator.get_phase()
print(f"Phase is {phase} degrees")

Running tests on hardware

During normal development and for the CI the unit test suite is executed on a mock device using pyvisa-mock. It is also possible to run tests on real hardware connected to your system. Just call:

$ uv run poe test_hil

By default it will try to connect to /dev/ttyUSB0, but you can specify a different device using the --hil_serial_device option:

$ uv run poe test_hil --hil_serial_device /dev/ttyUSB1

Status

Currently only the RS-232 communication has been tested on the device.

Documentation

For more details of the module API, check the online documentation.

Feeling like contributing?

Great! Check the Contributing Guide to get started.

Indices and tables