aboutsummaryrefslogtreecommitdiff
path: root/pyecsca/sca/scope/chipwhisperer.py
blob: 60fe7cff9026596e4f9157bed3803f25368e26ed (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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
from typing import Optional, Tuple, Sequence

import numpy as np
from chipwhisperer.capture.scopes.base import ScopeTemplate
from public import public

from .base import Scope

@public
class ChipWhispererScope(Scope):
    """A ChipWhisperer based scope."""

    def __init__(self, scope: ScopeTemplate):
        self.scope = scope

    def open(self) -> None:
        self.scope.con()

    @property
    def channels(self) -> Sequence[str]:
        return ["tio1", "tio2", "tio3", "tio4"]

    def setup_frequency(self, frequency: int, samples: int) -> Tuple[int, int]:
        pass

    def setup_channel(self, channel: str, coupling: str, range: float, enable: bool) -> None:
        pass

    def setup_trigger(self, channel: str, threshold: float, direction: str, delay: int,
                      timeout: int, enable: bool) -> None:
        pass

    def setup_capture(self, channel: str, enable: bool) -> None:
        pass

    def arm(self) -> None:
        pass

    def capture(self, channel: str, timeout: Optional[int] = None) -> Optional[np.ndarray]:
        pass

    def stop(self) -> None:
        pass

    def close(self) -> None:
        pass