-
Notifications
You must be signed in to change notification settings - Fork 6
/
interface.py
44 lines (34 loc) · 1.08 KB
/
interface.py
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
from typing import Protocol, runtime_checkable, Generator
import numpy as np
import tkinter as Tk
@runtime_checkable
class QT3ScopeDAQControllerInterface(Protocol):
def __init__(self, logger_level):
pass
def configure(self, config_dict: dict) -> None:
"""
This method is used to configure the data controller.
"""
pass
def start(self) -> None:
pass
def stop(self) -> None:
pass
def close(self) -> None:
pass
def yield_count_rate(self) -> Generator[np.floating, None, None]:
"""
This method is used to yield data from the data controller.
This can either return a generator function or is a generator function itself.
"""
pass
def configure_view(self, gui_root: Tk.Toplevel) -> None:
"""
This method launches a GUI window to configure the data controller.
"""
pass
def print_config(self) -> None:
"""
This method prints the current configuration of the data controller to standard out.
"""
pass