summaryrefslogtreecommitdiffstats
path: root/lab_control/oscilloscope.py
blob: 8b0c0ec44038348aa9b624664d6a7875c432f59b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
""" Interface definition for oscilloscope devices. """

class Oscilloscope:
    """
    This interface specifies the common API for all
    supported oscilloscope devices.
    """
    def measureAmplitude(self, channel: int) -> float:
        """ Return amplitude measurement on specific channel. """

    def measurePeakToPeak(self, channel: int) -> float:
        """ Return peak-to-peak measurement on specific channel. """

    def measureRMS(self, channel: int) -> float:
        """ Return RMS measurement on specific channel. """

    def measureFrequency(self, channel: int) -> float:
        """ Return frequency measurement on specific channel. """

    def setVoltsPerDivision(self, channel: int, volts: float) -> None:
        """ Sets the vertical scale of specific channel. """
    
    def getDivisionsDisplayed(self) -> int:
        """ Returns the number of vertical divisions on the device display. """