summaryrefslogtreecommitdiff
path: root/fw/hid-dials/tools/freq_meas_test_runner.py
diff options
context:
space:
mode:
authorjaseg <git@jaseg.de>2020-12-21 16:26:57 +0100
committerjaseg <git@jaseg.de>2020-12-21 16:26:57 +0100
commit7b85ba8d4fb34e76d34a2d581e89e856aa471cf5 (patch)
tree1d5b1817578a5e588469b2203ed394ac07f7b3bf /fw/hid-dials/tools/freq_meas_test_runner.py
parent7c0a0f40e98df545386e2620c5b08cff7c29141f (diff)
downloadminikbd-7b85ba8d4fb34e76d34a2d581e89e856aa471cf5.tar.gz
minikbd-7b85ba8d4fb34e76d34a2d581e89e856aa471cf5.tar.bz2
minikbd-7b85ba8d4fb34e76d34a2d581e89e856aa471cf5.zip
Move fw into direct subdir
Diffstat (limited to 'fw/hid-dials/tools/freq_meas_test_runner.py')
-rw-r--r--fw/hid-dials/tools/freq_meas_test_runner.py39
1 files changed, 0 insertions, 39 deletions
diff --git a/fw/hid-dials/tools/freq_meas_test_runner.py b/fw/hid-dials/tools/freq_meas_test_runner.py
deleted file mode 100644
index 779922a..0000000
--- a/fw/hid-dials/tools/freq_meas_test_runner.py
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/usr/bin/env python3
-
-import os
-from os import path
-import subprocess
-import json
-
-import numpy as np
-np.set_printoptions(linewidth=240)
-
-
-if __name__ == '__main__':
- import argparse
- parser = argparse.ArgumentParser()
- parser.add_argument(metavar='test_data_directory', dest='dir', help='Directory with test data .bin files')
- default_binary = path.abspath(path.join(path.dirname(__file__), '../build/tools/freq_meas_test'))
- parser.add_argument(metavar='test_binary', dest='binary', nargs='?', default=default_binary)
- parser.add_argument('-d', '--dump', help='Write raw measurements to JSON file')
- args = parser.parse_args()
-
- bin_files = [ path.join(args.dir, d) for d in os.listdir(args.dir) if d.lower().endswith('.bin') ]
-
- savedata = {}
- for p in bin_files:
- output = subprocess.check_output([args.binary, p], stderr=subprocess.DEVNULL)
- measurements = np.array([ float(value) for _offset, value in [ line.split() for line in output.splitlines() ] ])
- savedata[p] = list(measurements)
-
- # Cut off first and last sample for mean and RMS calculations as these show boundary effects.
- measurements = measurements[1:-1]
- mean = np.mean(measurements)
- rms = np.sqrt(np.mean(np.square(measurements - mean)))
-
- print(f'{path.basename(p):<60}: mean={mean:<8.4f}Hz rms={rms*1000:.3f}mHz')
-
- if args.dump:
- with open(args.dump, 'w') as f:
- json.dump(savedata, f)
-