aboutsummaryrefslogtreecommitdiff
path: root/pyecsca/sca/target/chipwhisperer.py
diff options
context:
space:
mode:
Diffstat (limited to 'pyecsca/sca/target/chipwhisperer.py')
-rw-r--r--pyecsca/sca/target/chipwhisperer.py33
1 files changed, 33 insertions, 0 deletions
diff --git a/pyecsca/sca/target/chipwhisperer.py b/pyecsca/sca/target/chipwhisperer.py
new file mode 100644
index 0000000..1b03713
--- /dev/null
+++ b/pyecsca/sca/target/chipwhisperer.py
@@ -0,0 +1,33 @@
+from typing import Union
+
+from chipwhisperer.capture.scopes import OpenADC
+from chipwhisperer.capture.targets.simpleserial_readers.cw import SimpleSerial_ChipWhisperer
+from chipwhisperer.capture.targets.simpleserial_readers.cwlite import SimpleSerial_ChipWhispererLite
+from chipwhisperer.capture.targets.simpleserial_readers.sys_serial import SimpleSerial_serial
+from public import public
+
+from .serial import SerialTarget
+
+
+@public
+class SimpleSerialTarget(SerialTarget): # pragma: no cover
+
+ def __init__(self, ser: Union[
+ SimpleSerial_ChipWhisperer, SimpleSerial_ChipWhispererLite, SimpleSerial_serial],
+ scope: OpenADC):
+ super().__init__()
+ self.ser = ser
+ self.scope = scope
+
+ def connect(self):
+ self.ser.con(self.scope)
+
+ def write(self, data: bytes):
+ self.ser.write(data)
+ self.ser.flush()
+
+ def read(self, timeout: int) -> bytes:
+ return self.ser.read(0, timeout)
+
+ def disconnect(self):
+ self.ser.dis()