tillitis-key/hw/production_test/touch_stability_test/touch_recorder.py
Matthew Mets 072b204d3d
Add (hardware) production tests for the TK-1 and TP-1 (#69)
* ch552 firmware: add ch55x support files directly

* Add sdcc compiler to docker image, for building CH552 firmware

* Rework production test script

* Add menu-based test runner
* Rewrite production test flows as lists of individual tests
* Add both production flows and manual tests to menu

* Switch to using included binaries

* production test: Update message format
* test_txrx_touchpad: Retry if device communications fail
* production test: put all binaries in binaries/ folder
* binaries/top.bin: replace broken binary

* flash_check: Check for explicit flash IDs

* Document most test procedures

* Test plan documentation

* Sample udev rules

* Production test: allow external references to be overridden

* Remove outdated descriptions

* Correct shebang

* Update shebangs to comply with PEP 394

Change the python scripts to call python instead of python3, as this
works cross platform. See:
https://peps.python.org/pep-0394/#for-python-script-publishers

* Move production test to higher-level directory

* Clarify production test setup

* Move USB C connector test to separate directory

Co-authored-by: Michael Cardell Widerkrantz <mc@tillitis.se>
2023-01-11 16:33:01 +01:00

22 lines
492 B
Python

#!/usr/bin/python3
import serial
import struct
import argparse
import time
parser = argparse.ArgumentParser()
parser.add_argument("port")
args = parser.parse_args()
s = serial.Serial(args.port, 9600)
while True:
[report_count, touch_count] = struct.unpack('<BB', s.read(2))
data = ','.join([str(x) for x in (int(time.time()), report_count, touch_count)])
print(data)
with open(args.port.replace('/','-'),'a') as f:
f.write(data)
f.write('\n')